Skip to main content
POST
Submit holder verification
This submits your workspace’s real identity verification. Send only the account holder’s true data and document.

Authorizations

x-api-key
string
header
required

Your ps_ API key

Headers

Idempotency-Key
string
required

Required. Any string up to 255 characters with no control characters — a UUID per submission. Missing or blank → 400 IDEMPOTENCY_KEY_REQUIRED; longer, or with a control character → 400 IDEMPOTENCY_KEY_INVALID. Remembered for 24 hours per workspace: the same key sent by two workspaces never collides.

Maximum string length: 255

Body

application/json
documentType
enum<string>
required

"CNPJ" or "CPF".

Available options:
CNPJ,
CPF
Example:

"CNPJ"

documentNumber
string
required

The CNPJ or CPF, with or without punctuation (11.222.333/0001-81 or 11222333000181). Alphanumeric CNPJs are accepted.

Example:

"11.222.333/0001-81"

contactEmail
string<email>
required

The account holder's contact e-mail, up to 254 characters. It always receives a code.

Maximum string length: 254
Example:

"ana@example.com"

contactWhatsapp
string
required

The account holder's WhatsApp number in international format — country code, area code and number, e.g. +55 11 90000-0000; punctuation is ignored. It receives a code when WHATSAPP is required.

Example:

"+55 11 90000-0000"

document
string
required

The document file as a base64 data URI: data:<type>;base64,<content>, encoded without line breaks. Types: application/pdf, image/jpeg, image/png, image/webp; at most 10 MB of file (about 14 MB once encoded). For a CNPJ: the CNPJ card (Cartão CNPJ), the articles of incorporation or the registration proof. For a CPF: an ID card (RG), a driver license (CNH) or the CPF registration proof, with the number readable.

Example:

"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg=="

Response

Idempotent replay: the same Idempotency-Key and the same request already finished. The workspace's current state; nothing was started or sent again.

status
enum<string>

NONE (never started), PENDING_CONTACT (waiting for the contact codes and, if document.status says so, a better document), IN_REVIEW (finished, waiting for a person — purchase allowed), APPROVED (verified — purchase allowed), NEEDS_DOCUMENT (the reviewer asked for another document) or REJECTED (final — talk to support). The phone_line.verification_updated webhook uses the same values for the last four.

Available options:
NONE,
PENDING_CONTACT,
IN_REVIEW,
APPROVED,
NEEDS_DOCUMENT,
REJECTED
canPurchase
boolean

Whether POST /v1/phone-lines is allowed now: true for APPROVED and IN_REVIEW.

verification
object | null

null for NONE.