Loading documentation

Access required

Your account doesn't have access to the documentation. Contact your administrator.

Sign out
Skip to main content

Regulations Get

Status: stable Category: lookup Added: 2026-07-01 Last reviewed: 2026-10-14

Summary​

Returns one item's complete text from the Code of Federal Regulations corpus or the OSHA recordkeeping guidance corpus. Look up a regulation by the numeric id from a search result or directly by section number (?section=1904.5&title=29); guidance items are fetched by id only. The response carries the full section text plus the official source_url citation, and the code and label pair a search hit carries.

Endpoint​

FieldValue
MethodGET
Path/api/lookup/regulations/get
Full URLhttps://engine.tripod-health.com/api/lookup/regulations/get
AuthenticationAPI key (required)
Request bodynone
Response bodyapplication/json
IdempotentYes
Rate-limitedYes

Authentication​

Send a valid API key in the apikey header. See authentication.md.

Request​

Headers​

HeaderRequiredDescription
apikeyYesConsumer API key.

Path parameters​

None.

Query parameters​

ParameterTypeRequiredDefaultDescription
idintOne of id/section—Numeric ID from a search result.
sectionstringOne of id/section—CFR section number, e.g. 1904.5. Paragraph references like 1904.7(b)(5) resolve to the containing section; a leading § and spaces are tolerated. Regulation lookup only.
titleintSometimes—CFR title number, 1–50. Required when the requested section number exists in more than one CFR title — the 400 response lists the candidate titles.
typestringNoregulationOne of regulation, guidance. Guidance items are fetched by id only.

Provide exactly one of id and section — neither, or both, is a 400.

Body​

None.

Response​

Success — 200 OK​

The response to GET /api/lookup/regulations/get?section=1904.5&title=29. The full_text below is truncated for readability; the API returns the complete section text.

{
"type": "regulation",
"code": "1904.5",
"label": "Determination of work-relatedness.",
"id": 102442,
"cfr_title": 29,
"part": "1904",
"subpart": "C",
"section": "1904.5",
"heading": "Determination of work-relatedness.",
"full_text": "(a) Basic requirement. You must consider an injury or illness to be work-related if an event or exposure in the work environment either caused or contributed to the resulting condition or significantly aggravated a pre-existing injury or illness. Work-relatedness is presumed for injuries and illnesses resulting from events or exposures occurring in the work environment, unless an exception in § 1904.5(b)(2) specifically applies.\n(b) Implementation. (1) What is the “work environment”? OSHA defines the work environment as “the establishment and other locations where one or more employees are working or are present as a condition of their employment. The work environment includes not only physical locations, but also the equipment or materials used by the employee during the course of his or her work.”\n(2) Are there situations where an injury or illness occurs in the work environment and is not considered work-related? [remainder of section text omitted from this example]",
"content_type": "regulation",
"source_url": "https://www.ecfr.gov/current/title-29/section-1904.5",
"effective_date": "2026-06-30",
"request_id": "468c2394-bf8e-4c9c-9bf8-99fc71e4b078",
"timestamp": "2026-10-14T00:17:28.859Z"
}

Response fields​

FieldTypeAlways presentDescription
typestringYesregulation or guidance, matching the requested ?type=.
codestring | nullYesThe lookup-family code: the same value as section, so null in the same cases.
labelstringYesThe lookup-family label: the same value as heading.
idintegerYesStable numeric ID for this item. Usable in later ?id= lookups.
cfr_titleintegerYesCFR title number, 1–50.
partstringYesCFR part (e.g. "1904"). Treat as opaque text — some parts carry a letter suffix.
subpartstring | nullYesSubpart letter (e.g. "C"), or null for items outside a subpart.
sectionstring | nullYesSection number (e.g. "1904.5"), or the full appendix designation for appendix items. null only when an ?id= fetch lands on a part or subpart heading entry (content_type part or subpart).
headingstringYesOfficial section heading.
full_textstringYesThe complete section text, with \n line breaks. Can run to many thousands of characters.
content_typestringYesregulation for section text, appendix for appendix material. An ?id= fetch can also return a part or subpart heading entry; a ?section= fetch never does.
source_urlstringYesOfficial citation URL for this section. Quote it alongside any displayed text.
effective_datestring (ISO 8601 date)YesDate of the CFR edition the text reflects.
request_idstringYesCorrelation ID. Quote in support tickets.
timestampstring (ISO 8601 UTC)YesServer time when the response was emitted.

A guidance fetch (?type=guidance&id=...) returns the guidance shape instead: type, code (the same value as identifier), label (the same value as subject), id, source_type (faq | interpretation | preamble), sections, identifier, subject, full_text, issue_date, and source_url, plus request_id and timestamp.

The content is public-domain U.S. federal text served as an unofficial compilation — the official text lives at the source_url. This endpoint is a reference lookup, not legal advice.

Status codes​

CodeMeaningWhen
200OKItem found.
400ValidationErrorNeither or both of id and section provided, a malformed id/section/title, a guidance fetch without id, or a section number that exists in more than one CFR title (add ?title=).
401UnauthenticatedMissing or invalid API key.
404NotFoundNo item matches the requested id or section.
429RateLimitedPer-consumer rate limit exceeded.
500InternalErrorUnexpected failure. Quote request_id in the ticket.

Examples​

curl — by section​

curl -sS "https://engine.tripod-health.com/api/lookup/regulations/get?section=1904.5&title=29" \
-H "apikey: $ENGINE_API_KEY"

curl — by id​

curl -sS "https://engine.tripod-health.com/api/lookup/regulations/get?id=102442" \
-H "apikey: $ENGINE_API_KEY"

curl — paragraph reference​

Resolves to the containing section — 1904.7(b)(5) returns all of 1904.7.

curl -sS "https://engine.tripod-health.com/api/lookup/regulations/get?section=1904.7(b)(5)&title=29" \
-H "apikey: $ENGINE_API_KEY"

Python (requests)​

# Uses the call() helper from quickstart.md.
item = call("GET", "/api/lookup/regulations/get?section=1904.5&title=29")
print(f"{item['section']} {item['heading']}")
print(f"Cite: {item['source_url']} (effective {item['effective_date']})")

Node.js (native fetch)​

// Uses the call() helper from quickstart.md.
const item = await call("GET", "/api/lookup/regulations/get?section=1904.5&title=29");
console.log(`${item.section} ${item.heading}`);
console.log(`Cite: ${item.source_url} (effective ${item.effective_date})`);

TypeScript​

interface RegulationItem {
type: "regulation";
code: string | null;
label: string;
id: number;
cfr_title: number;
part: string;
subpart: string | null;
section: string | null;
heading: string;
full_text: string;
content_type: "regulation" | "appendix" | "part" | "subpart";
source_url: string;
effective_date: string;
request_id: string;
timestamp: string;
}

const item = await call<RegulationItem>(
"GET",
"/api/lookup/regulations/get?section=1904.5&title=29",
);

Error scenarios​

Ambiguous section number​

Section 1904.5 exists in title 29 (OSHA recordkeeping) and title 32 (National Defense), so the lookup needs ?title=.

Send:

curl -sS "https://engine.tripod-health.com/api/lookup/regulations/get?section=1904.5" \
-H "apikey: $ENGINE_API_KEY" \
-w "\nHTTP %{http_code}\n"

Receive (400):

{
"timestamp": "2026-10-14T00:17:29.563Z",
"error": "ValidationError",
"message": "Section '1904.5' exists in CFR titles 29, 32 -- scope the lookup with ?title=",
"field": "title",
"request_id": "2b77112c-ed7b-46c8-ab29-e1fecd5c9559"
}

Retry with ?section=1904.5&title=29.

Unknown section​

Send:

curl -sS "https://engine.tripod-health.com/api/lookup/regulations/get?section=1904.99&title=29" \
-H "apikey: $ENGINE_API_KEY" \
-w "\nHTTP %{http_code}\n"

Receive (404):

{
"timestamp": "2026-10-14T00:16:22.149Z",
"error": "NotFound",
"message": "No regulation found for section '1904.99'",
"request_id": "43142ce1-3bcc-4ae7-a800-3164b4c15a20"
}

Both id and section​

Send:

curl -sS "https://engine.tripod-health.com/api/lookup/regulations/get?id=102442&section=1904.5" \
-H "apikey: $ENGINE_API_KEY" \
-w "\nHTTP %{http_code}\n"

Receive (400):

{
"timestamp": "2026-10-14T00:16:22.391Z",
"error": "ValidationError",
"message": "Provide 'id' or 'section', not both",
"field": "id",
"request_id": "5ec280cd-acf9-4398-b1f7-b86dd25a504e"
}

Intended use​

  • Pulling authoritative regulation text to display or quote, with its source_url citation and effective_date alongside.
  • Following up a search hit. Take the id from a /api/lookup/regulations/search result and fetch the complete text — including guidance items via ?type=guidance.
  • Resolving a paragraph citation to its section. Pass ?section=1904.7(b)(5) and receive all of 1904.7, which contains the cited paragraph.

Mistaken use​

  • Do not use this endpoint for discovery. Use /api/lookup/regulations/search — ranked matches with snippets, across regulation text or guidance.
  • Do not fetch section-by-section to render a whole part. Use /api/lookup/regulations/tree — one call returns the part's nested subpart/section outline with the id of each leaf.
  • Do not fetch guidance by section number. Guidance items are fetched by id only; find the id with a ?type=guidance search (optionally filtered by section=).
  • Do not treat the response as the official publication. It is an unofficial compilation of public-domain federal text; the official text lives at the source_url. Nothing returned is legal advice.

Debugging​

  1. Capture request_id from the response body (or, if the response has no body from the engine, the X-Request-ID response header).
  2. 400 ValidationError with field: "title". The section number exists in more than one CFR title; the message lists the candidate titles. Add ?title= and retry.
  3. 404 NotFound for a section you are sure exists. Check the formatting — the section number belongs in ?section= (1904.5), not split across ?part=-style parameters. Paragraph markers are fine; a title prefix (29 CFR 1904.5) is not.
  4. 400 on a guidance fetch by section. Expected — guidance has no section-number lookup. Search with ?type=guidance to get the id.

Rate limits​

See rate-limits.md for the current per-consumer limits.

Change history​

DateChange
2026-07-01Initial publication.
2026-10-14Moved from /api/regulations/get to /api/lookup/regulations/get. Responses add code and label beside the existing fields. Section 1904.5 now also exists in title 32, so the examples scope it with &title=29. Examples recaptured.
2026-10-14The X-Request-ID response header is the gateway's trace ID for the request and does not match request_id; quote request_id to support.