> This page is for BaaS.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.api.corpx.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.api.corpx.com/_mcp/server.

# Biometria Dracma na abertura

Use este fluxo quando a verificação facial já aconteceu na **Dracma**. Você manda o id da verificação junto com o titular (PF) ou com cada sócio (PJ). A API lê essa verificação com a credencial Dracma do seu tenant e encerra a biometria nessa chamada.

Não há link de captura, página de aceite nem upload de selfie. O id precisa estar `approved` e com o mesmo CPF da pessoa. Cada id aprova uma abertura.

O tenant precisa de uma credencial Dracma ativa. Sem ela a criação responde `422 dracma_not_configured`.

## Fluxo

```mermaid
sequenceDiagram
  participant Voce as Seu sistema
  participant API as CorpX API
  participant Dracma as Dracma

  Voce->>API: POST /v1/accreditations/pf ou /pj com biometry
  API->>Dracma: GET /v1/verifications/{id}
  alt approved e CPF igual
    API-->>Voce: 201 sem link
  else recusada, pendente ou CPF diferente
    API-->>Voce: 422 e a abertura não nasce
  end
  Note over Voce,API: PF segue para a abertura. PJ fica em PENDING_REVIEW
  Voce->>API: POST .../documents kind=account_opening_terms (opcional)
```

## O objeto `biometry`

No `person` (PF) ou em **cada** item de `partners` (PJ). Todos no mesmo modo: Dracma não mistura com o fluxo padrão nem com outro provedor (`422 mixed_biometry_mode`).

```json
"biometry": {
  "provider": "dracma",
  "evidenceId": "ver_01h..."
}
```

`evidenceId` é o id da verificação na Dracma, não um arquivo. `provider` aceito neste guia é só `dracma`.

**`PF`**

```bash title="PF"
curl -X POST "https://api.corpx.com/v1/accreditations/pf" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Tenant-Id: $TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "person": {
      "name": "Ana Silva",
      "cpf": "12345678909",
      "birthDate": "1990-01-15",
      "email": "ana@example.com",
      "phone": "+5511999998888",
      "biometry": { "provider": "dracma", "evidenceId": "ver_01hxyz" }
    },
    "address": {
      "zipCode": "01310100",
      "street": "Avenida Paulista",
      "number": "1000",
      "neighborhood": "Bela Vista",
      "city": "São Paulo",
      "state": "SP",
      "cityIbgeCode": "3550308"
    }
  }'
```

**`PJ`**

```bash title="PJ"
curl -X POST "https://api.corpx.com/v1/accreditations/pj" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Tenant-Id: $TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "company": {
      "legalName": "Acme Ltda",
      "tradeName": "Acme",
      "cnpj": "12345678000199",
      "email": "financeiro@acme.example",
      "phone": "+5511333334444",
      "legalForm": "ltda"
    },
    "partners": [
      {
        "name": "Ana Silva",
        "cpf": "12345678909",
        "birthDate": "1990-01-15",
        "email": "ana@example.com",
        "phone": "+5511999998888",
        "isAdministrator": true,
        "ownershipPercent": 100,
        "biometry": { "provider": "dracma", "evidenceId": "ver_01hxyz" }
      }
    ],
    "address": {
      "zipCode": "01310100",
      "street": "Avenida Paulista",
      "number": "1000",
      "neighborhood": "Bela Vista",
      "city": "São Paulo",
      "state": "SP",
      "cityIbgeCode": "3550308"
    }
  }'
```

A resposta `201` não traz `biometryLink` nem `acceptanceLink`. A pessoa já sai com a biometria aprovada.

* **PF** abre como no fluxo padrão: sem mesa, salvo a política de autoaprovação que o tenant já tiver.
* **PJ** fica em `PENDING_REVIEW`. Os PDFs societários obrigatórios continuam os de sempre.

A verificação só vale quando as três condições fecham:

* status `approved` (`pending` e `review_required` não aprovam);
* `subject.cpf` com os mesmos 11 dígitos da pessoa;
* esse id ainda não está preso a outra abertura que não tenha falhado.

Falha de rede na Dracma não aprova. A criação responde `503 dracma_unavailable` e a abertura não fica viva.

## Termo de abertura (opcional)

O PDF do termo não segura a conta. Envie quando quiser, em PF ou PJ, enquanto o status não for `ACTIVE` nem `FAILED` — inclusive depois da biometria, em `INTEGRATING`.

```bash
curl -X POST "https://api.corpx.com/v1/accreditations/$ACR_ID/documents" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Tenant-Id: $TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "account_opening_terms",
    "contentType": "application/pdf",
    "sizeBytes": 120034
  }'
```

Faça o `PUT` do PDF na `uploadUrl` que voltar. Esse kind não aparece em `missingDocumentKinds`.

## Erros

| HTTP | `errorCode`                 | Quando                                                         |
| ---- | --------------------------- | -------------------------------------------------------------- |
| 422  | `dracma_not_configured`     | O tenant não tem credencial Dracma ativa                       |
| 422  | `verification_not_approved` | A verificação não está `approved`, ou a Dracma não a encontrou |
| 422  | `verification_cpf_mismatch` | O CPF da verificação não é o da pessoa, ou não veio CPF        |
| 409  | `verification_already_used` | Esse id já aprova outra abertura que não falhou                |
| 422  | `mixed_biometry_mode`       | PJ misturou Dracma com outro modo                              |
| 503  | `dracma_unavailable`        | A Dracma não respondeu. Tente de novo; nada foi aprovado       |