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: regulations Added: 2026-07-01 Last reviewed: 2026-07-01

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); guidance items are fetched by id only. The response carries the full section text plus the official source_url citation.

Endpoint

FieldValue
MethodGET
Path/api/regulations/get
Full URLhttps://engine.tripod-health.com/api/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.
X-Request-IDNoOptional correlation ID, up to 128 characters. Echoed in the response body's request_id and the X-Request-ID response header.

Path parameters

None.

Query parameters

ParameterTypeRequiredDefaultDescription
idintOne of id/sectionNumeric ID from a search result.
sectionstringOne of id/sectionCFR 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.
titleintSometimesCFR title number, 150. 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 full_text below is truncated for readability; the API returns the complete section text.

{
"type": "regulation",
"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": "d9a02f99-fb73-413e-be12-9da281fd4e0a",
"timestamp": "2026-07-02T00:42:48.555Z"
}

Response fields

FieldTypeAlways presentDescription
typestringYesregulation or guidance, matching the requested ?type=.
idintegerYesStable numeric ID for this item. Usable in later ?id= lookups.
cfr_titleintegerYesCFR title number, 150.
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 an appendix label for appendix items.
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.
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, 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/regulations/get?section=1904.5" \
-H "apikey: $ENGINE_API_KEY"

curl — by id

curl -sS "https://engine.tripod-health.com/api/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/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/regulations/get?section=1904.5")
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/regulations/get?section=1904.5");
console.log(`${item.section} ${item.heading}`);
console.log(`Cite: ${item.source_url} (effective ${item.effective_date})`);

TypeScript

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

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

Error scenarios

Ambiguous section number

Section 1904.7 exists in title 29 (OSHA recordkeeping) and title 48 (Federal Acquisition Regulations System), so the lookup needs ?title=.

Send:

curl -sS "https://engine.tripod-health.com/api/regulations/get?section=1904.7" \
-H "apikey: $ENGINE_API_KEY" \
-H "X-Request-ID: docs-regulations-get-ambiguous" \
-w "\nHTTP %{http_code}\n"

Receive (400):

{
"timestamp": "2026-07-01T17:32:10.812Z",
"error": "ValidationError",
"message": "Section '1904.7' exists in CFR titles 29, 48 -- scope the lookup with ?title=",
"request_id": "docs-regulations-get-ambiguous",
"field": "title"
}

Retry with ?section=1904.7&title=29.

Unknown section

Send:

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

Receive (404):

{
"timestamp": "2026-07-01T17:32:10.812Z",
"error": "NotFound",
"message": "No regulation found for section '1904.99'",
"request_id": "docs-regulations-get-unknown"
}

Both id and section

Send:

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

Receive (400):

{
"timestamp": "2026-07-01T17:32:10.812Z",
"error": "ValidationError",
"message": "Provide 'id' or 'section', not both",
"request_id": "docs-regulations-get-both",
"field": "id"
}

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/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/regulations/search — ranked matches with snippets, across regulation text or guidance.
  • Do not fetch section-by-section to render a whole part. Use /api/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. Present in every response body and in 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.