Skip to main content
POST
Attach the signed CCB for an accepted averbação

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Headers

X-Idempotency
string
required

Required idempotency key of the documentation, its own and not the averbação's. Absent is 422, never a generated default.

Example:

"idem-ccb-1"

Path Parameters

numero_contrato
string
required

The contract whose accepted averbação this documentation is for.

Example:

"99999999999AN1"

Body

application/json
artifacts
object
required
data_hora_assinatura
string<date-time>
required

Instant the worker signed the CCB, RFC 3339 UTC (Manual 004 §2.1.2, Obrigatório S, error GA). It may be days after the averbação. With the averbação's booking block, an instant after its formalization_deadline is refused 422 FORMALIZATION_DEADLINE_EXCEEDED and one more than five minutes ahead of the gateway's clock 422 DECLARED_DATES_OUT_OF_ORDER, compared to the second, before Dataprev is called. Rendered to the rail's ddMMyyyyHHmmss by the adapter.

Example:

"2026-07-30T12:00:00Z"

indicador_analfabetismo
boolean
required

Whether the worker is illiterate (Obrigatório S, error GA). true is the second §2.1.1 biometric exemption.

Example:

false

indicador_assinatura_cert_digital_icp_brasil
boolean
required

Whether the CCB was signed with a qualified ICP-Brasil certificate (Obrigatório S, error GA). true is one of the three §2.1.1 biometric EXEMPTIONS — §6.5 states the qualified signature "substitui a necessidade de biometria facial" — so the biometric fields below may then be omitted.

Example:

true

ip
string
required

The IP the worker signed from, IPv4 or IPv6 (Manual 004 §2.1.2, Obrigatório S, errors GA/GB). The example uses the RFC 5737 documentation range.

Example:

"203.0.113.7"

base_biometrica
string

Identifier of the government biometric base the facial record was matched against. Required together with score when indicador_validacao_com_doc_oficial is false (§2.1.1, error BK). Manual 004 publishes no enumeration for it, so the value is relayed verbatim.

Example:

"SERPRO"

dados_cadastrais
object

Optional cadastro block, in the averbação's shape and under its cross-field rules against the averbação's cpf and employer. When sent it replaces the averbação's block WHOLE: a field left out is gone, and an omitted numero_ccb means numero_contrato. nome_trabalhador is not part of it and stays the averbação's, as Dataprev received it with the M003. It belongs to this documentation package and its digest; without it the averbação's cadastro stands. The resulting cadastro is what the dados-cadastrais route serves and what contract.registered names by SHA-256 once the contract confirms. Never sent to Dataprev.

dispositivo
string

Free-text description of the signing device, Texto 1..100 since Manual 004 v1.4 (§2.1.2, Obrigatório N).

Example:

"iPhone 15 Pro; iOS 18.4"

documento_oficial_com_foto_frente_b64
string

Front face of the official photo ID, base64 JPEG. Required together with the verso when indicador_validacao_com_doc_oficial is true; each must decode to a JPEG of at least 250×250 px (§2.1.1, error PY). THE EXAMPLE IS TRUNCATED.

Example:

"/9j/4AAQSkZJRgABAQAAAQABAAD/2Q=="

documento_oficial_com_foto_verso_b64
string

Back face of the official photo ID, base64 JPEG. Same requiredness and same 250×250 px floor as the frente (error PY). THE EXAMPLE IS TRUNCATED.

Example:

"/9j/4AAQSkZJRgABAQAAAQABAAD/2Q=="

indicador_validacao_com_doc_oficial
boolean

Selects which §2.1.1 evidence branch applies: false demands the base_biometrica + score pair, true demands both photo-ID faces. false is a DECISION the rail must see and is distinguishable from absent, so send it explicitly rather than omitting it.

Example:

false

latitude
string

Signing latitude as an exact decimal string (§2.1.2, Obrigatório N). Crosses the rail as an unquoted Numérico and never passes through a float.

Example:

"-23.5505"

longitude
string

Signing longitude as an exact decimal string (§2.1.2, Obrigatório N).

Example:

"-46.6333"

nsu_contrato
string

Número Sequencial Único of a contract closed through the IF's own attendance network (Manual 004 §2.1.2: Numérico, Tamanho 18, Obrigatório N, error OT). Up to 18 digits — the column is a maximum, and the manual's own example for this field is 98765. Kept as digits end to end. PRESENT means biometrics are exempt AND tipo_autenticacao becomes mandatory (error NS).

Pattern: ^([0-9]{1,18})?$
Example:

"1234567890"

registro_biometrico_facial_b64
string

The 2D facial-biometric record, base64 (Obrigatório N at the rail, but demanded by §2.1.1 for every flow that is NOT biometrics-exempt). THE EXAMPLE IS TRUNCATED — it shows a JPEG's base64 encoding, not a usable record.

Example:

"/9j/4AAQSkZJRgABAQAAAQABAAD/2Q=="

score
string

The biometric match score as an EXACT decimal string, required together with base_biometrica (§2.1.1, error BK). It crosses the rail as an unquoted Numérico published to seven decimals and never passes through a float.

Example:

"0.9999986"

signature_evidence_ref
string

Opaque provider evidence reference for the worker signature. Required when the averbação was sent with the booking block, refused 422 when it was sent without it.

Maximum string length: 128
Example:

"signature-evidence-1"

tipo_autenticacao
string

Authentication channel used, one of the published codes 1..6 (Manual 004 §2.1.2, error GE). Mandatory whenever nsu_contrato is informed; omit it, or send an empty string, when it is not.

Pattern: ^([1-6])?$
Example:

"1"

Response

OK

contractId
string
required

The client's own contract identity, echoed.

Example:

"contract-1"

numeroContrato
string
required

The contract number the operation was addressed to.

Example:

"99999999999AN1"

status
enum<string>
required

Durable operation status. attachment_pending means the averbação was accepted by Dataprev and the contract is waiting for its documentation, sent through POST .../ccb-attachment, also after an earlier one failed at Dataprev; this is a deliberate wait, not a failure. averbacao_unknown means the averbação's outcome at the rail is ambiguous and the operation needs reconciliation — it is not a failure to retry blindly. attachment_unknown is no longer produced.

Available options:
claimed,
averbacao_invoking,
averbacao_unknown,
attachment_pending,
attachment_invoking,
attachment_unknown,
confirmed,
rejected
Example:

"confirmed"

attachmentAt
string<date-time>

Instant the CCB attachment was recorded, RFC 3339 UTC. ABSENT until the attachment was recorded.

Example:

"2026-07-30T12:00:09Z"

averbacaoAt
string<date-time>

Instant the rail's averbação response was recorded, RFC 3339 UTC. ABSENT until the rail has answered — absence is a state, not a zero timestamp.

Example:

"2026-07-30T12:00:04Z"

hashOperacao
string

The rail's identity for the accepted CCB attachment (hashOperacao, Manual 004 §2.1). Durable, so a replay returns it without touching the rail.

Example:

"HASH-1"

message
string

The rail's own response message.

Example:

"averbado"

responseCode
string

The rail's own response code for the averbação.

Example:

"AV"