Create company accreditation (Pessoa Jurídica)
Create company accreditation (Pessoa Jurídica)
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Headers
Optional client-generated idempotency token (recommended for safe retries).
Request
Holder/company address. cityIbgeCode is the 7-digit IBGE municipality code.
Optional. Where to send the account holder back to when the step is finished (facial capture, terms acceptance or portability authorization). Without it the holder ends on a CorpX completion page, as before.
The URI must be registered for your tenant by CorpX support before the
first use, and the match is exact — no wildcards, no prefix
matching. An unregistered URI is rejected at creation time with
400 invalid_callback_uri.
Accepted: https:// and your application’s own scheme (deeplink).
Rejected: http://, javascript:, data:, file:, credentials in the
URI, fragments (#), localhost, private/link-local IP ranges and
internal suffixes (.local, .internal).
On return, CorpX appends accreditationId, outcome, personId (for
per-person steps) and remainingPeople (when the accreditation has more
than one person). These parameters are not proof of anything: they
travel in the address bar and the holder can edit them. Any decision
with an effect must rely on the webhook or on
GET /v1/accreditations/{accreditationId}.
Response
Accreditation created; per-partner links are being issued.
Account id — usable in all banking endpoints once status is ACTIVE.
unico = CorpX-managed facial biometrics (default); external = provider enabled by CorpX on request.
PJ only — corporate form from create.
PJ only — uploaded company PDFs.
PJ only — kinds required for this legalForm (operator approve gate).
PJ only — required kinds not yet uploaded.
Optional. Where to send the account holder back to when the step is finished (facial capture, terms acceptance or portability authorization). Without it the holder ends on a CorpX completion page, as before.
The URI must be registered for your tenant by CorpX support before the
first use, and the match is exact — no wildcards, no prefix
matching. An unregistered URI is rejected at creation time with
400 invalid_callback_uri.
Accepted: https:// and your application’s own scheme (deeplink).
Rejected: http://, javascript:, data:, file:, credentials in the
URI, fragments (#), localhost, private/link-local IP ranges and
internal suffixes (.local, .internal).
On return, CorpX appends accreditationId, outcome, personId (for
per-person steps) and remainingPeople (when the accreditation has more
than one person). These parameters are not proof of anything: they
travel in the address bar and the holder can edit them. Any decision
with an effect must rely on the webhook or on
GET /v1/accreditations/{accreditationId}.
Raw refusal from the banking provider, present only when a FAILED
accreditation was refused by it. It is the same block delivered in
the accreditation.failed webhook — the query never shows less
than the webhook. All three keys are optional: the block mirrors
what the provider sent, and some refusals carry message only.
Informative — branch your code on errorReason, not on this.