Workers compliance feed
LiveServed by the v1 API in development with the same checks as production; production opens on the same contract. The capabilities from before v1 keep running in production at the path your account team gives you.
Incremental feed of every worker you sent us. Call it with updated_since to sync only what changed.
Needs the workers:read scope.
oauth2 workers:readAuthorizationBearer <token>OAuth 2.0 client credentials. Exchange your client_id and client_secret at /oauth/token of the environment for a bearer token valid for one hour. The playground of every operation asks for your own client and keeps it in your browser tab only.
Scope: workers:read
updated_since?stringISO timestamp. Returns workers updated after it.
cursor?stringFrom next_cursor of the previous page.
limit?integer1 to 500.
100OK
application/json- response
data*array<>next_cursor*|nullcurl -X GET 'https://api.dev.b2b.heru.app/v1/workers/report'{ "data": [ { "id": "wrk_01m3xy60bsf1ea5hkeg9tgrqf8", "external_id": "DRV-000088107", "status": "blocked", "curp": "SACL900105HNLNRS05", "rfc": "SACL900105T28", "name": "LUIS FERNANDO SANCHEZ CRUZ", "postal_code": "64000", "regimes": [ { "code": "612", "description": "Personas Físicas con Actividades Empresariales y Profesionales" } ], "services": [ "fiscal_validation", "efirma", "csd", "invoicing" ], "efirma": { "active": false, "valid_from": "2019-02-01", "valid_to": "2023-02-01" }, "csd": { "active": false, "valid_from": null, "valid_to": null }, "open_actions": [ "renew_efirma", "confirm_regime" ], "enrollment": { "status": "completed", "url": null, "expires_at": null, "completed_at": "2026-10-02T09:18:51.002Z" }, "consent_at": "2026-10-02T09:18:51.002Z", "compliant_at": null, "created_at": "2026-10-02T09:12:33.401Z", "updated_at": "2026-10-14T06:00:03.077Z", "removed_at": null }, { "id": "wrk_01m4ra8w0he5esnnsew0v9ffkv", "external_id": "DRV-000088213", "status": "ready", "curp": "HEGL900101HDFRRS06", "rfc": "HEGL900101K44", "name": "JOSE LUIS HERNANDEZ GARCIA", "postal_code": "06600", "regimes": [ { "code": "625", "description": "Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas" } ], "services": [ "fiscal_validation", "efirma", "invoicing" ], "efirma": { "active": true, "valid_from": "2024-03-02", "valid_to": "2028-03-02" }, "csd": { "active": true, "valid_from": "2025-01-15", "valid_to": "2029-01-15" }, "open_actions": [], "enrollment": { "status": "completed", "url": null, "expires_at": null, "completed_at": "2026-10-09T14:29:40.118Z" }, "consent_at": "2026-10-09T14:29:40.118Z", "compliant_at": "2026-10-09T14:38:02.940Z", "created_at": "2026-10-09T14:22:51.604Z", "updated_at": "2026-10-09T14:38:02.940Z", "removed_at": null } ], "next_cursor": null}Get a workerGET
Current compliance status of one worker. Needs the `workers:read` scope.
Request the worker's CSDPOST
Requests the worker's Certificado de Sello Digital from the SAT using their e.firma, so they can issue invoices directly. Needs consent and an active e.firma. Asynchronous; `worker.updated` fires when it is ready. Never call it twice for the same worker: the SAT issues a new certificate each time. Needs the `workers:csd` scope.