POST /api/sae/standards
Price: 1 credit
Get one SAE International standard by document number or standards URL. Returns the catalogue record — title, abstract, rationale, issuing committee, industry sectors, topic and taxonomy classification, revision status and origin date — together with the commerce record: DOI, page count, publication date, list and member price per purchasable format in US dollars, the ready-made Chicago citation, the figure and dataset assets published alongside the document, the complete revision ladder with dates and formats, and the sister-platform URLs the same document is served from.
A document number resolves in either form: the full revision code ('J824_202206', 'AS9015A') or the root number ('J824'), and a root number answers with the current revision. Superseded revisions come back inside `revisions` as full records and inside `revision_history` as the complete ladder including work-in-progress revisions that have no published text yet — read `revision_status` before treating a record as current. `prices` carries one row per purchasable format with both the list and the SAE member price, and `is_sellable` false means the document is not on sale at all rather than free. `doi` is absent on documents SAE never registered one for; the source writes a placeholder there, which this endpoint removes rather than passing on. The document text itself is paywalled and is not returned — `documents` lists the assets by name and size only. Search by subject with /sae/standards/search.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)standard string required — SAE document number, the root number without its revision suffix, or a www.sae.org/standards/ URL or path (examples: "AS9015A", "J824_202206", "J824", "https://www.sae.org/standards/j824_202206-engine-rotation-cylinder-numbering", "/standards/as9015a-supplier-self-verification-process-delegation-programs"; minLength: 1)@type string (default: "SaeStandard")product_code string requiredroot_product_code string nullablepublication_id string nullablecontent_id string nullabledocument_title string nullableabstract string nullableurl string nullableseo_uri string nullablecommittees array (default: [])industries array (default: [])topics array (default: [])taxonomy array (default: [])taxonomy_level_1 array (default: [])taxonomy_level_2 array (default: [])taxonomy_level_3 array (default: [])taxonomy_level_4 array (default: [])taxonomy_level_5 array (default: [])taxonomy_level_6 array (default: [])revision_status string nullableorigin_date string nullabledocument_group string nullabledocument_sub_group string nullablelanguage string nullablefull_text_formats array (default: [])is_featured boolean nullabledoi string nullabledoi_issue_number string nullablerationale string nullablecitation string nullablepage_count integer nullablepublication_date string nullableproduct_status string nullableextended_code string nullablecommittee_code string nullablecontent_type string nullablecontent_root_type string nullableofficial_content_type string nullablelanguage_code string nullablecanonical_url string nullablesource_system string nullableis_sellable boolean nullableis_available boolean nullableprices array (default: [])@type string (default: "SaePrice")sku string nullablepurchase_format string nullableamount number nullablemember_amount number nullablecurrency string nullableis_available boolean nullablerevisions array (default: [])@type string (default: "SaeStandardCard")product_code string requiredroot_product_code string nullablepublication_id string nullablecontent_id string nullabledocument_title string nullableabstract string nullableurl string nullableseo_uri string nullablecommittees array (default: [])industries array (default: [])topics array (default: [])taxonomy array (default: [])taxonomy_level_1 array (default: [])taxonomy_level_2 array (default: [])taxonomy_level_3 array (default: [])taxonomy_level_4 array (default: [])taxonomy_level_5 array (default: [])taxonomy_level_6 array (default: [])revision_status string nullableorigin_date string nullabledocument_group string nullabledocument_sub_group string nullablelanguage string nullablefull_text_formats array (default: [])is_featured boolean nullablerevisions array (default: [])revision_history array (default: [])@type string (default: "SaeRevision")product_code string nullableseo_uri string nullableurl string nullablepublication_date string nullablerevision_status string nullablestatus string nullableavailable_formats array (default: [])documents array (default: [])@type string (default: "SaeDocumentAsset")asset_id string nullablefile_name string nullableasset_title string nullabledescription string nullablemime_type string nullablesearch_type string nullablepage_count integer nullablesize integer nullablefile_date string nullablepublishers array (default: [])@type string (default: "SaePublisher")name string nullablepublisher_id string nullablelocation string nullablecity string nullablestate string nullablecountry string nullableplatform_urls array (default: [])@type string (default: "SaePlatformUrl")platform string nullableurl string nullable422 — The input is not a document number or a www.sae.org/standards/ URL Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No SAE standard carries that document number Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.