Extraction creation now reports an extraction already in progress as a conflict instead of a rate-limit error.
Extraction creation
Affected endpoints:POST /extractions, POST /extractions/batch- When an equivalent extraction is already in progress, both endpoints now return
409 Conflictinstead of429 Too Many Requests. - Handle
409as an extraction conflict.429continues to indicate request rate limiting. - Conflict responses now include
conflictingExtractors, an array of extractor identifiers that are already in progress. Remove those extractors before retrying the request.
You can now add or remove tags on up to 100 invoices in a single request, instead of tagging invoices one at a time.
Batch invoice tagging
Affected endpoints:POST /invoices/batch/tags, POST /invoices/batch/tags/removePOST /invoices/batch/tagsadds one or more tags to every invoice in the request.POST /invoices/batch/tags/removeremoves one or more tags from every invoice in the request.- Both endpoints accept up to 100 resource IRIs (
resources, invoice IRIs on these endpoints) and 50 tag IRIs per request and respond with the IDs of the affected resources and tags. - Both operations are atomic: if any invoice or tag in the request cannot be found, no invoice is modified.
- Both operations are idempotent: adding a tag an invoice already has, or removing a tag it does not have, succeeds without changes, so requests can be retried safely.
Resource tags and entity tags now accept an optional display color, so you can render each tag with a consistent color in your integration.
Tag color
Affected endpoints:POST /tags, PATCH /tags/{id}, POST /entities/{entityId}/tags, PATCH /entity-tags/{id}TagCreateInput,TagUpdateInput,EntityTagCreateInput, andEntityTagUpdateInputnow accept an optionalcolorfield.- Send a 7-character hexadecimal color in the form
#RRGGBB. Values are validated and stored in lowercase. - Omit the field or send
nullto fall back to the default color (#a3aab5). - The
TagandEntityTagresponse schemas now include thecolorfield.
The Summary insight now returns the entity’s fiscal address as structured components in addition to the existing flattened string.
Summary insight
Affected endpoints:GET /entities/{entityId}/insights/summary, GET /entities/{entityId}/insights/summary/export- Added an
addressobject with the individual fiscal address components:streetType,streetName,streetNumber,buildingNumber,streetReferences,neighborhood,locality,municipality,postalCode, andstate. Values come from the entity’s latest Tax Status (Constancia de Situación Fiscal). addressisnullwhen the entity has no Tax Status yet.- The existing
fiscalAddressstring is unchanged, so no action is required for current integrations. - In CSV and XLSX exports, the components appear as
address.<component>columns.
This update documents the normalized Shareholders insight endpoint and clarifies that the older RPC Shareholders insight should no longer be used for new integrations.
Shareholders insight
Affected endpoint:GET /entities/{entityId}/insights/shareholders- Added API reference documentation for the Shareholders insight.
- The endpoint returns shareholder relations for an entity and supports
relations.relationType=shareholdersandrelations.relationType=shareholder_of. - The Shareholders insight is exportable through
GET /entities/{entityId}/insights/{insight}/exportusingshareholdersas the insight name.
RPC Shareholders insight
Affected endpoint:GET /entities/{entityId}/insights/rpc-shareholders- Marked the RPC Shareholders insight documentation as deprecated in favor of the Shareholders insight.
- No API response behavior changed in this documentation update.
June 23, 2026
DocumentationWebhooksInsightsSATRPCRUGBuró de CréditoCompany VerificationSyntage ScoreBreaking change
API reference documentation and Shareholder insight updates
This update expands API reference sections with resource overviews, clearer endpoint descriptions, and more complete response field descriptions. It also changes how the RPC Shareholders insight selects sources and computes ownership percentages.
Company Verification resources
Affected endpoints:GET /datasources/mx/company-verification/reports/{reportId}/found-entities, GET /datasources/mx/company-verification/reports/{reportId}/found-entities/{id}, GET /datasources/mx/company-verification/reports/{reportId}/found-entities/{foundEntityId}/powers-timeline, GET /datasources/mx/company-verification/reports/{reportId}/cap-table-timeline- Added documentation for listing found entities in a Company Verification report.
- Added documentation for retrieving a specific found entity with cap-table holdings and powers.
- Added documentation for a found entity’s powers timeline.
- Added documentation for a report’s cap-table timeline.
RPC Shareholders insight
Affected endpoint:GET /entities/{entityId}/insights/rpc-shareholders (also reflected in CSV and XLSX exports)- When the entity has at least one shareholder ingested from a Company Verification report, the response now returns only the Company Verification-sourced shareholders. Previously, RPC-sourced rows for the same cap table were returned side-by-side and could conflict with the verification snapshot.
- When Company Verification data is present, ownership percentages now reflect the values recorded on the verification report. Previously, the response always returned a synthetic
shares / sum(shares) * 100value, which produced incorrect percentages forpartes socialesstructures where share counts are zero. - When the entity has no Company Verification-sourced shareholders, behavior is unchanged: RPC-sourced rows are returned and percentages are computed from share counts.
- Action required: integrations that display the
sourcesfield should be ready to rendercompany_verificationin addition torpc_socioandmanual. Integrations that recompute percentages fromsharesshould switch to thepercentagefield returned by the API.
Webhooks
Affected endpoints:GET /webhook-endpoints, POST /webhook-endpoints, GET /webhook-endpoints/{id}, PUT /webhook-endpoints/{id}, DELETE /webhook-endpoints/{id}, GET /webhook-requests, GET /webhook-requests/{id}- The API reference now includes a Webhooks overview that explains webhook endpoints, webhook requests, delivery status, and signature verification.
- Webhook endpoint documentation now describes endpoint URL requirements, subscribed events, enabled state, content type, and signing secrets.
- Webhook request documentation now describes delivery attempts, response status codes, response time, endpoint references, and event filters.
Insights
Affected endpoints:GET /entities/{entityId}/insights/{insight}/export, GET /insights/metrics/scores/syntage/distribution, GET /entities/{entityId}/insights/metrics/buro-de-credito/summary, GET /entities/{entityId}/insights/metrics/buro-de-credito/summary/export- The API reference now includes an Insights overview that explains how insight endpoints are organized and how
options[...]query parameters are used. - The API reference now documents the entity-based insight export endpoint for downloading supported insights as CSV or XLSX files.
- The API reference now includes Syntage Score distribution and Buró de Crédito summary insight endpoints.
Syntage Score
Affected endpoint:POST /entities/{entityId}/datasources/syntage/score/calculate- The API reference now explains the annual tax return and tax compliance data required before calculating Syntage Score for an entity.
- The calculate endpoint documentation now makes clear that the endpoint starts score generation and returns
201 Createdwhen the calculation is queued.
Buró de Crédito resources
Affected endpoints:GET /entities/{entityId}/datasources/mx/buro-de-credito/reports, GET /datasources/mx/buro-de-credito/reports/{id}, GET /datasources/mx/buro-de-credito/authorizations, GET /entities/{entityId}/datasources/mx/buro-de-credito/authorizations, POST /entities/{entityId}/datasources/mx/buro-de-credito/authorizations, GET /datasources/mx/buro-de-credito/authorizations/{id}, DELETE /datasources/mx/buro-de-credito/authorizations/{id}- The API reference now explains how Buró de Crédito reports are created with the
buro_de_credito_reportextractor. - Buró de Crédito report documentation now describes the main response fields, including the provider, product type, provider report ID, parsed report data, score, generated files, and timestamps.
- The API reference now includes the organization-level endpoint for listing Buró de Crédito authorizations.
- Buró de Crédito authorization documentation now describes the consent, RFC, address, validity, origin, and entity identity fields returned by the API.
- The create authorization endpoint now documents the person and company request bodies in more detail.
RPC resources
Affected endpoints:GET /entities/{entityId}/datasources/mx/rpc/entidades, GET /datasources/mx/rpc/entidades/{id}, GET /entities/{entityId}/datasources/mx/rpc/actos, GET /rpc/actos/{id}, GET /datasources/rpc/socios/{id}- Added an RPC overview page that explains how RPC records relate to entities, extractions, actos, socios, and file downloads.
- Added overview pages for RPC entidades, actos, and socios.
- Added documentation for listing RPC actos extracted for an entity.
- Added documentation for retrieving an RPC acto by ID.
- Added documentation for retrieving an RPC socio by ID.
- Updated RPC entidade endpoint documentation to use the current
/datasources/mx/rpc/entidadesand/entities/{entityId}/datasources/mx/rpc/entidadespaths. - Expanded RPC entidade, acto, and socio response field descriptions.
RUG resources
Affected endpoints:GET /entities/{entityId}/datasources/rug/operaciones, GET /datasources/rug/operaciones/{id}, GET /entities/{entityId}/datasources/rug/garantias, GET /datasources/rug/garantias/{id}- Added a RUG overview page that explains how RUG guarantees, operations, extractions, and file downloads fit together.
- Added overview pages for RUG operations and RUG guarantees.
- Expanded RUG operation and guarantee endpoint descriptions.
- Expanded RUG operation and guarantee response field descriptions.
SAT resources
Affected endpoints:GET /credentials, POST /credentials, GET /credentials/{id}, DELETE /credentials/{id}, POST /credentials/{id}/revalidate, GET /entities/{entityId}/invoices, GET /invoices/{id}, POST /invoices/{id}/tags, DELETE /invoices/{invoiceId}/tags/{tagId}, GET /invoices/{id}/cfdi, GET /datasources/mx/sat/cfdis/{uuid}, GET /invoices/payments, GET /invoices/payments/{id}, GET /entities/{entityId}/invoices/payments, GET /invoices/{id}/payments, GET /invoices/batch-payments, GET /invoices/batch-payments/{id}, GET /invoices/{id}/batch-payments, GET /entities/{entityId}/invoices/line-items, GET /invoices/{invoiceId}/line-items, GET /invoices/line-items/{id}, GET /invoices/relations/{id}, GET /invoices/{invoiceId}/relations, GET /entities/{entityId}/invoices/{invoiceId}/relations, GET /invoices/credit-notes, GET /entities/{entityId}/invoices/credit-notes, GET /invoices/credit-notes/{id}, GET /invoices/{invoiceId}/issued-credit-notes, GET /invoices/{invoiceId}/applied-credit-notes, GET /entities/{entityId}/tax-retentions, GET /tax-retentions/{id}, GET /tax-retentions/{id}/cfdi, GET /entities/{entityId}/tax-returns, GET /tax-returns/{id}, GET /tax-returns/{id}/pdf, GET /tax-returns/{id}/data, GET /tax-status, GET /entities/{entityId}/tax-status, GET /tax-status/{id}, GET /entities/{entityId}/tax-compliance-checks, GET /tax-compliance-checks/{id}, GET /entities/{entityId}/electronic-accounting-records, GET /electronic-accounting-records/{id}, GET /entities/{entityId}/datasources/mx/sat/certificados, GET /datasources/mx/sat/certificados/{id}- Added a SAT overview page that explains how SAT resources relate to entities, extractions, and file downloads.
- Added overview pages for credentials, invoice line items, invoice relations, credit notes, tax retentions, tax returns, tax status, electronic accounting records, and SAT certificates.
- Added extraction guidance to SAT resource overviews so each extraction-backed resource explains the extractor to use and where to read the extracted records.
- Updated the Extractions overview to focus on the extraction workflow instead of duplicating extractor-specific option lists.
- Expanded the existing invoice, invoice payment, invoice batch payment, and tax compliance check overviews with clearer resource descriptions.
- Updated endpoint summaries and descriptions to consistently use
ListandRetrievewording and entity-based language. - Added documentation for listing credit notes extracted for an entity.
- Added documentation for invoice relations, tax return PDF downloads, parsed SAT CFDI retrieval, and the top-level tax status list.
- Corrected the documented credit-note retrieve path to use
/invoices/credit-notes/{id}. - Corrected the documented invoice line item retrieve path to use
/invoices/line-items/{id}. - Added field descriptions for SAT certificate, credential, invoice payment, invoice batch payment, invoice line item, tax retention, tax return, tax compliance check, tax status, and tax regime response fields.
- Renamed the SAT certificate documentation pages from
getslugs tolistandretrieveslugs, with redirects from the previous documentation URLs.
Income Statement profit/loss grouping
This update changes the Income Statement insight response shape.Affected endpoint:GET /entities/{entityId}/insights/metrics/income-statement- In the 2022 format and the audited income-statement formats, each matched
Utilidad(profit) andPérdida(loss) pair is now returned under a single grouping parent row instead of as two top-level rows. The pair appears as two entries inside the parent’schildrenarray, and the parent’s per-yearTotalreflects the populated side. - The four pairs that are grouped match the long-standing 2014 format behavior:
bruta,de operación,antes de impuestos, andneta. Theoperaciones continuaspair is intentionally left flat. - Breaking change for consumers of JSON, CSV, and XLSX exports of the 2022 and audited formats. Integrations that read profit/loss rows by category name at the top level must now read them from the grouping parent’s
childrenarray, or sum the parent’sTotaldirectly. The 2014 format response is unchanged. - The grouping parent itself has no underlying SAT concept path. Its
Totalis computed from its children, and child rows keep their original categories and totals.
Income Statement outflow sign convention
This update changes the sign convention of the Income Statement insight values.Affected endpoints:GET /entities/{entityId}/insights/metrics/income-statement (2022 and audited-financial-statements formats; also reflected in the CSV and XLSX exports)- Cost, expense, loss, tax, and financial-charge lines are now returned as negative values, matching the long-standing
2014format. Previously these outflow lines were returned positive in the2022andaudited-financial-statementsformats. - Revenue, profit, and other inflow lines remain positive. Net or mixed sections keep their natural sign.
- Action required: integrations that consumed these formats as positive magnitudes and applied their own sign must stop negating outflows themselves. The values already carry the correct sign. The absolute magnitude of every line is unchanged.
This documentation update improves the API reference section for specialized ownership, background screening, company verification, and address lookup workflows.
Other Resources
Affected endpoint:GET /datasources/mx/addresses/{postalCode}- Mexico address lookup has moved from Miscellaneous into Other Resources.
- Shareholders, background checks, and company verification reports now include overview pages that explain the purpose of each resource group.
- Shareholders, background checks, and company verification report endpoint titles now use consistent
List,Retrieve, andDownloadwording, with expanded endpoint and field descriptions. - Mexico address lookup documentation now explains that Buró de Crédito and Buró Empresas addresses must match the postal-code address catalog, that a postal code can return multiple neighborhoods, and describes the address fields returned by the endpoint.
This update adds the Moratory Interest insight endpoint and updates supported options for existing insight endpoints.
Moratory Interest insight
Affected endpoint:GET /entities/{entityId}/insights/moratory-interest- Added the Moratory Interest Insight endpoint.
- The endpoint returns moratory interest charges for an entity, including summary KPIs, monthly totals, monthly totals by financial institution, and institution-level totals.
- The Summary insight risk indicators can include
moratoryInterestwhen the Moratory Interest insight is enabled.
Expenditures and Sales Revenue insights
Affected endpoints:GET /entities/{entityId}/insights/expenditures, GET /entities/{entityId}/insights/sales-revenue- The
productsvalue has been removed from the allowed values of theoptions[type]query parameter on both endpoints. Requests that previously sentoptions[type]=productswere already returning the same response asoptions[type]=total, so existing integrations that rely on that response continue to work without changes. - For product-level breakdowns, use the Products and Services insight endpoints (
GET /entities/{entityId}/insights/products-and-services-boughtandGET /entities/{entityId}/insights/products-and-services-sold). - The
dimensionandlabelfield descriptions in the response schemas have been updated to reflect thatproductsis no longer a supported grouping.
This documentation update expands the API reference and guides for entity-based integrations, core resources, and BIL reports. Existing RFC-based endpoints remain available where they were already supported. New API features are documented with entity-based URLs and require entity IDs.
BIL reports
Affected endpoints:GET /entities/{entityId}/datasources/bil/reports, GET /datasources/bil/reports/{id}- The API reference now includes the endpoint for listing BIL reports generated for an entity.
- The API reference now includes the endpoint for retrieving a single BIL report by report ID.
- BIL report documentation now describes the main response fields, including the report folio, searched name, maximum grade, parsed vendor response, XML file, and PDF file.
Entities, identifiers, tags, and events
Affected endpoints:GET /entities, POST /entities, GET /entities/{entityId}, PATCH /entities/{entityId}, DELETE /entities/{entityId}, GET /entities/{entityId}/events, GET /entities/{entityId}/identifiers, POST /entities/{entityId}/identifiers, GET /entities/{entityId}/tags, POST /entity-tags, GET /entity-tags/{id}, PATCH /entity-tags/{id}, DELETE /entity-tags/{id}, GET /tags, POST /tags, PATCH /tags/{id}, DELETE /tags/{id}- The API reference now includes entity overview and endpoint pages that explain how entities are created, retrieved, updated, deleted, and used as the parent resource for datasource records.
- Entity identifier documentation now explains how RFC and CURP identifiers can be supplied when creating an entity or added later.
- Entity tag and tag documentation now explain how tags can be used for segmentation, extraction scheduler targeting, monitoring, and filtering entities in your own product.
- Entity event documentation now explains how to retrieve events for a specific entity in addition to using webhook delivery.
Files and exports
Affected endpoints:GET /files/{id}, GET /files/{id}/download, POST /exports, GET /exports/{id}- File documentation now explains file metadata, file types, filenames, MIME types, and when to use the download endpoint for file content.
- Export documentation now explains the asynchronous export workflow from creation through terminal statuses.
- Export documentation now shows that completed exports return a file reference that can be downloaded through the file download endpoint.
Extractions, schedulers, and scheduler rules
Affected endpoints:GET /extractions, GET /extractions/{id}, POST /extractions/{id}/stop, GET /schedulers, POST /schedulers, GET /schedulers/{id}, PATCH /schedulers/{id}, DELETE /schedulers/{id}, POST /schedulers/rules, GET /schedulers/rules/{id}, PATCH /schedulers/rules/{id}, DELETE /schedulers/rules/{id}- Extraction documentation now covers the extraction lifecycle, statuses, retry behavior, duplicate extraction behavior, and datasource-specific extractor descriptions.
- BIL is now included in the documented extractor list.
- Scheduler and scheduler rule documentation now explains recurring extraction behavior in more detail.
Guides
Affected area: Guides navigation and conceptual documentation- The guides now include entity-based URL guidance that explains entity IDs and legacy RFC-based URL compatibility.
- The environments guide now describes Sandbox and Production behavior across Syntage datasources.
- Request ID and rate limiting guides now include response header examples and troubleshooting use cases.
- Property filtering guidance now includes syntax examples for selecting fields from resources and related objects.
- SAT catalog documentation now includes the catalog areas covered by the API and examples of common CFDI catalog values.
- Webhook validation guidance now includes PHP, JavaScript/TypeScript, and Python examples for verifying request signatures.
- Updated the integration flow guide to explain credential validation, extraction creation, extraction status tracking, webhook delivery, and file retrieval as a connected workflow.
- Clarified that embedded entity onboarding is for integrations that need the onboarding experience inside their own site instead of redirecting to Syntage.
- Kept deprecated widget documentation available for existing widget users while pointing new integrations to embedded entity onboarding.
- Updated introductory documentation to describe Syntage’s API across SAT, RUG, RPC, BIL, Buró de Crédito, Buró Empresas, Infonavit, and more.
This version removes deprecated response fields and updates several resource identifiers to use stable API IDs.
Invoice
Affected endpoints:GET /invoices/{id}, GET /taxpayers/{taxpayerId}/invoices- The
amountproperty has been removed from API responses. Use thetotalproperty instead. - Retrieval by invoice’s
uuidat/invoices/{id}is now removed. To retrieve an invoice, use the invoice’sidat the specified endpoint. To find an invoice using itsuuid, filter the invoice collection at/taxpayers/{taxpayerId}/invoices?uuid[]={uuid}. - Previously, the
@iriproperty for an invoice pointed to the resource usinguuid, like/invoices/{uuid}. Now, it points using itsid, like/invoices/{id}.
Link
Affected endpoint:GET /links- Filtering links by
statusis removed. Usecredential.statusinstead. For example, useGET /links?credential.status[]=activeinstead ofGET /links?status[]=active.
Tax Return
Affected endpoints:GET /tax-returns/{id}, GET /taxpayers/{taxpayerId}/tax-returns- Retrieval by tax return’s
operationNumberat/tax-returns/{id}is removed. To retrieve a tax return, use the tax return’sidat the specified endpoint. To find a tax return using itsoperationNumber, filter the collection at/taxpayers/{taxpayerId}/tax-returns?operationNumber[]={operationNumber}. - Previously, the
@iriproperty for a tax return pointed to the resource usingoperationNumber, like/tax-returns/{operationNumber}. Now, it points to itsid, like/tax-returns/{id}.
Event
Affected endpoints:GET /events, GET /events/{id}- For events associated to a
tax-return, the@iriproperty now points to/tax-returns/{id}instead of the previous/tax-returns/{operationNumber}. - For events associated to an
invoice, the@iriproperty now points to/invoices/{id}instead of the previous/invoices/{uuid}.
Extraction
Affected endpoints:GET /extractions, GET /extractions/{id}- The
periodFromproperty has been removed. Useoptions.period.frominstead. - The
periodToproperty has been removed. Useoptions.period.toinstead.
File
Affected endpoint:GET /file/{id}- For files associated to a
tax-return, the@iriproperty now points to/tax-returns/{id}instead of the previous/tax-returns/{operationNumber}. - For files associated to an
invoice, the@iriproperty now points to/invoices/{id}instead of the previous/invoices/{uuid}.
Test this version
Send theAccept-Version header with any request to test this API version: