---
title: "Envia (ou troca) o certificado digital A1 da empresa"
method: POST
path: "/v1/companies/{id}/certificate"
tags: ["Empresas"]
---

# Envia (ou troca) o certificado digital A1 da empresa

`POST /v1/companies/{id}/certificate`

## Request

- Base URL: `https://api.sudrel.com.br/api`
- URL: `https://api.sudrel.com.br/api/v1/companies/{id}/certificate`
- Auth: HTTP bearer

Multipart/form-data com o arquivo `.pfx`/`.p12` no campo
`certificado` e a senha no campo `senha`. O certificado precisa ser
o e-CNPJ da própria empresa cadastrada — certificados de outro CNPJ
são rejeitados. A chave de teste de emissão não envia certificado (403).

Se a empresa já estiver ativa e monitorando (certificado vencendo
ou revogado), enviar um novo aqui só troca o material — o
monitoramento continua de onde parou, sem reiniciar a análise de
histórico.

## Path parameters

- `id` string, required

## Response `201`

Certificado aceito

- Empresa
  - `id` string
  - `cnpj` string
  - `ambiente` 'SANDBOX' | 'PRODUCAO'
  - `ambienteAdn` 'HOMOLOGACAO' | 'PRODUCAO': Qual Ambiente de Dados Nacional (da Receita Federal) é consultado. HOMOLOGACAO nunca gera cobrança.
  - `escopoMonitoramento` 'RECEBIDAS' | 'EMITIDAS' | 'AMBAS': O que conta como visível/cobrável para esta empresa — todas as notas são sempre consultadas e guardadas, isso só afeta exibição e franquia.
  - `nomeExibicao` string, nullable
  - `razaoSocial` string, nullable
  - `estado` 'DRAFT' | 'VALIDATING' | 'ANALISANDO_HISTORICO' | 'INITIAL_SYNC' | 'ACTIVE' | 'PAUSED_BY_USER' | 'PAUSED_CERTIFICATE' | 'PAUSED_BILLING' | 'ERROR' | 'REMOVAL_PENDING' | 'REMOVED'
  - `nsuInicial` string
  - `nsuUltimoConfirmado` string, nullable
  - `ultimaConsultaEm` string, date-time, nullable
  - `monitorarDesde` string, date-time, nullable: Só notas emitidas a partir desta data aparecem e são cobradas. Ausência (null) = sem corte, todo o histórico aparece.
  - `certificadoValidoAte` string, date-time, nullable
  - `criadaEm` string, date-time
  - `atualizadaEm` string, date-time

## Other responses

- `400`: Corpo ou parâmetros inválidos.
- `401`: Chave de API ausente, inválida ou revogada.
- `403`: A chave de teste (`sdr_test_`) não faz esta operação: ela emite NFS-e e NF-e na homologação e lê empresas. Use uma chave de produção (`sdr_live_`).
- `404`: Recurso não encontrado nesta conta.
- `429`: 120 requisições por minuto por chave excedidas (janela fixa de 60 s, alinhada ao relógio). Sem cabeçalho `Retry-After`: espere a virada do minuto. Nas rotas de conta, empresas e documentos o corpo é este; nas de emissão, lote, webhooks e eventos é problem+json `limite_de_requisicoes`.

---

[API](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e.md) · [All operations](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e/llms.txt) · [OpenAPI document](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e/revisions/efd7baba9e37?raw)
