Skip to main content

Contractor worker accreditation

Event: contractor_worker.accreditation.

One notice is sent per contractor worker and work center when the worker changes between accredited and not accredited in that work center. The new state is in accreditation.status: approved or revoked.

Accredited​

A contractor worker is accredited in a work center when:

  • the contractor is enabled and the worker is active,
  • the contractor has a worker certificate assigned, and
  • every required document is uploaded, validated for that work center and not expired:
    • the documents of the contractor's worker certificate (the worker's own documents),
    • the documents of the contractor's own certificate,
    • for each active contract of the worker that includes the work center, what the contract requires from its workers, from the worker's position and from the contractor.

Supply and machinery documents don't count.

When it is sent​

Tazki reviews the worker whenever something that affects the result changes: a document is validated, rejected, deleted or expires, a requirement is added or removed, a contract starts, ends or changes, the worker is activated, deactivated or changes position, the contractor is disabled, and so on. A notice is sent only when the result of that review differs from the last state notified for that worker and work center.

  • First review. The first time Tazki reviews a worker in a work center, it only records the state and sends nothing, even if the worker is accredited. Notices start with the next change.
  • New work center. A worker that Tazki already knows and that joins another work center gets an approved notice if they are accredited there right away. If they are not, nothing is sent (they were never accredited there).
  • Expirations are checked daily, shortly after midnight (Chile time): a worker whose document expired the day before gets a revoked notice.
  • Validating one document doesn't send anything while other required documents are still missing.

Example: approved​

{
"event": "contractor_worker.accreditation",
"worker": {
"user_id": 1001,
"name": "Example Worker",
"rut": "11.111.111-1",
"email": "worker@example.com",
"position": "Example Position",
"contractor": { "name": "Example Contractor", "rut": "99.999.999-9" },
"branch_id": 10,
"branch": "Example Work Center"
},
"accreditation": {
"status": "approved",
"changed_at": "2026-11-05T10:12:00-03:00",
"next_expiration": {
"document": "Example Document",
"owner": "worker",
"contract": null,
"expires_on": "2027-01-15"
},
"cause": null
}
}

Example: revoked​

{
"event": "contractor_worker.accreditation",
"worker": {
"user_id": 1001,
"name": "Example Worker",
"rut": "11.111.111-1",
"email": "worker@example.com",
"position": "Example Position",
"contractor": { "name": "Example Contractor", "rut": "99.999.999-9" },
"branch_id": 10,
"branch": "Example Work Center"
},
"accreditation": {
"status": "revoked",
"changed_at": "2027-01-16T00:05:00-03:00",
"next_expiration": null,
"cause": {
"reason": "expired",
"document": "Example Document",
"owner": "worker",
"contract": null
}
}
}

Fields​

FieldDescription
eventcontractor_worker.accreditation
worker.user_idTazki user id of the worker
worker.name, worker.rut, worker.emailWorker data; email can be null
worker.positionPosition name, or null
worker.contractorContractor name and rut
worker.branch_id, worker.branchWork center the notice is about
accreditation.statusapproved or revoked
accreditation.changed_atWhen the change that caused the notice happened in Tazki
accreditation.next_expirationOnly with approved: the required document that expires first (document, owner, contract, expires_on), or null if none of them expires
accreditation.causeOnly with revoked: why the worker stopped being accredited (see Causes); null with approved

owner is worker (a document of the worker) or contractor (a document of the contractor). contract is { "code", "name" } when the document is required by a contract, otherwise null.

Causes​

cause.reasonMeaningdocument
expiredA required document expiredThe document
rejectedA required document was rejectedThe document
deletedA required document was deletedThe document
requiredA required document is missing, for example because a new requirement was added or a contract startedThe document
deactivatedThe worker was deactivatednull
contractor_disabledThe contractor was disablednull
no_certificateThe contractor has no worker certificate assignednull

Handling duplicates​

worker.user_id, worker.branch_id, accreditation.status and accreditation.changed_at together identify a notice. If notices arrive out of order, the one with the latest changed_at is the current state.