Pular para o conteúdo

Referência da API

Gerada a partir do mesmo contrato que o openapi.json(OpenAPI 3.1). Versão 2026-10-01.Toda resposta vem em { data }; os erros, em { error, code, request_id, doc_url }.

Conta

GET/api/v1/me

Organização e escopo da chavescope: read

curl https://cordhq.app/api/v1/me \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
orgobjectOrganização dona da chave.
scopestringread ou write: o que a chave pode fazer.
mode"live" | "test"live ou test: com test, tudo acontece no ambiente de teste e não toca em dados reais.

Orçamentos

GET/api/v1/cotizaciones

Listar orçamentosscope: readPaginação por offset

Parâmetros: limit, offset, cursor, status, folio, cliente_id

curl https://cordhq.app/api/v1/cotizaciones \
  -H "Authorization: Bearer sk_test_..."
Resposta: data[]
idstringIdentificador (UUID).
foliostringNúmero legível atribuído pelo Cord, por exemplo COT-0042.
clientestring | nullCliente a quem o documento se destina: nome da empresa, ou os dados para cadastrá-lo se ainda não existir.
statusstringStatus do orçamento: draft, sent, viewed, approved, rejected, expired, paid ou invoiced.
totalnumberValor na moeda indicada por `moneda`.
monedastring | nullMoeda ISO 4217.
terminosstring | nullRótulo legível do prazo no idioma da conta (“À vista”, “Net 45”); para comparar, use terminos_codigo.
terminos_codigostring | nullCódigo estável do prazo: contado ou net<N> (net7, net15, net30, net45, net60, net90).
vigenciastring | nullData ISO 8601.
creadastring | nullData ISO 8601.
link_publicostringLink público absoluto do orçamento.
language"es" | "en" | "pt" | "fr" | "de" | nullSomente leitura. Idioma em que foi enviado: es, en, pt, fr ou de. null enquanto for rascunho, que segue o idioma do cliente.

POST/api/v1/cotizaciones

Criar um orçamentoAceita pk_scope: write

CampoTipoDescrição
items obrigatórioobject[]Itens.
cliente_idstringID de um cliente do cadastro.
clienteobjectCliente a quem o documento se destina: nome da empresa, ou os dados para cadastrá-lo se ainda não existir.
terminos"contado" | "net7" | "net15" | "net30" | "net45" | "net60" | "net90"Condições de pagamento: contado ou net<N> (N dias de prazo: 7, 15, 30, 45, 60 ou 90).
vigencia_diasintegerDias de validade do orçamento a partir do envio.
notasstringNotas internas; o cliente não as vê.
base_currencystringMoeda de venda ISO 4217: aquela em que os preços são informados, o pagamento é recebido e a fatura é emitida. Padrão: a do negócio.
fiscal_currencystringMoeda contábil ISO 4217; se for diferente da moeda de venda, a fatura declara a taxa de câmbio.
iva_incluidobooleantrue se os preços informados já incluem o imposto.
descuentoobject | nullDesconto no documento antes dos impostos, distribuído entre os itens na proporção do valor de cada um. O Cord calcula o valor; null o remove.
cuponstringCódigo de um cupom do negócio. O Cord valida a validade, a moeda e os usos; se for enviado, prevalece sobre descuento. É o único desconto aceito com uma chave publicável.
sendbooleanSomente com Secret Key.
curl -X POST https://cordhq.app/api/v1/cotizaciones \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"cliente":{"empresa":"Acme"},"items":[{"descripcion":"Instalación","cantidad":1,"precio_unitario":12500,"tax_rate":0.16}],"base_currency":"MXN"}'
Resposta: data
idstringIdentificador (UUID).
tokenstringToken do link público. É uma credencial: não o publique.
foliostringNúmero legível atribuído pelo Cord, por exemplo COT-0042.
link_publicostringLink público absoluto compartilhado com o cliente.
needs_approvalbooleantrue se ficou retido aguardando aprovação interna antes de ser enviado.
motivostring | nullMotivo, escrito por uma pessoa.
emailobjectE-mail.

GET/api/v1/cotizaciones/{id}

Consultar um orçamentoscope: read

curl https://cordhq.app/api/v1/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).
foliostringNúmero legível atribuído pelo Cord, por exemplo COT-0042.
clientestring | nullCliente a quem o documento se destina: nome da empresa, ou os dados para cadastrá-lo se ainda não existir.
statusstringStatus do orçamento: draft, sent, viewed, approved, rejected, expired, paid ou invoiced.
totalnumberValor na moeda indicada por `moneda`.
monedastring | nullMoeda ISO 4217.
terminosstring | nullRótulo legível do prazo no idioma da conta (“À vista”, “Net 45”); para comparar, use terminos_codigo.
terminos_codigostring | nullCódigo estável do prazo: contado ou net<N> (net7, net15, net30, net45, net60, net90).
vigenciastring | nullData ISO 8601.
creadastring | nullData ISO 8601.
link_publicostringLink público absoluto do orçamento.
language"es" | "en" | "pt" | "fr" | "de" | nullSomente leitura. Idioma em que foi enviado: es, en, pt, fr ou de. null enquanto for rascunho, que segue o idioma do cliente.
notasstring | nullNotas internas; o cliente não as vê.
aprobacionobject | nullAprovação interna exigida por uma regra do negócio; null se não se aplicar.
itemsobject[]Itens.
descuentoobject | nullDesconto no documento, aplicado antes dos impostos e distribuído entre os itens; null se não houver. subtotal já é líquido.
eventosobject[]Lista de eventos ou tipos de evento. Vazia = todos.

POST/api/v1/cotizaciones/{id}

Enviar, reenviar, aprovar, recusar ou marcar como pagoscope: write

CampoTipoDescrição
action obrigatório"send" | "resend" | "approve" | "reject" | "mark_paid"Ação a executar; cada uma exige o status anterior correto e é idempotente com Idempotency-Key.
payment_methodstringMétodo de pagamento ao marcar como pago: transferencia, efectivo, tarjeta…
curl -X POST https://cordhq.app/api/v1/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"action":"send"}'
Resposta: data
idstringIdentificador (UUID).

DELETE/api/v1/cotizaciones/{id}

Excluir um rascunhoscope: write

curl -X DELETE https://cordhq.app/api/v1/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).

POST/api/v1/cotizaciones/ia

Sugerir itens a partir do texto de um pedidoscope: write

CampoTipoDescrição
texto obrigatóriostringTexto livre do pedido.
curl -X POST https://cordhq.app/api/v1/cotizaciones/ia \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"texto":"…"}'
Resposta: data
itemsany[]Itens.
monedastringMoeda ISO 4217 dos valores.

Clientes

GET/api/v1/clientes

Listar clientesscope: readPaginação por offset

Parâmetros: limit, offset, cursor, q, email

curl https://cordhq.app/api/v1/clientes \
  -H "Authorization: Bearer sk_test_..."
Resposta: data[]
idstringIdentificador (UUID).
empresastringNome da empresa ou pessoa.
contactostringNome da pessoa de contato.
emailstringE-mail.
telefonostringTelefone com código internacional (DDI).
rfcstringIdentificação fiscal: RFC, NIF, EIN…
terminosstringRótulo legível das condições de pagamento.
terminosCodestringCódigo das condições de pagamento: contado ou net<N> (net7, net15, net30, net45, net60, net90).
limitenumberLimite de crédito do cliente, na moeda do negócio.
nivelstringNível ou segmento do cliente.
descuentoPctnumberDesconto padrão do cliente, em porcentagem.
regimenFiscalstringCódigo de regime fiscal do SAT (México).
usoCfdistringCódigo de uso do CFDI (México).
cpFiscalstringCódigo postal do domicílio fiscal (México).
countryCodestringPaís ISO 3166-1 alfa-2.
language"es" | "en" | "pt" | "fr" | "de" | nullIdioma dos documentos que o cliente recebe: es, en, pt, fr ou de; null = o da organização. Orçamentos e faturas guardam o idioma em que foram enviados ou emitidos; alterá-lo não reescreve o que já foi enviado. Outro valor responde 400 com field: language.

POST/api/v1/clientes

Criar um clientescope: write

CampoTipoDescrição
empresa obrigatóriostringNome da empresa ou pessoa.
language"es" | "en" | "pt" | "fr" | "de" | nullIdioma dos documentos que o cliente recebe: es, en, pt, fr ou de; null = o da organização. Orçamentos e faturas guardam o idioma em que foram enviados ou emitidos; alterá-lo não reescreve o que já foi enviado. Outro valor responde 400 com field: language.
curl -X POST https://cordhq.app/api/v1/clientes \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"empresa":"…"}'
Resposta: data
idstringIdentificador (UUID).

GET/api/v1/clientes/{id}

Consultar um clientescope: read

curl https://cordhq.app/api/v1/clientes/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).
empresastringNome da empresa ou pessoa.
contactostringNome da pessoa de contato.
emailstringE-mail.
telefonostringTelefone com código internacional (DDI).
rfcstringIdentificação fiscal: RFC, NIF, EIN…
terminosstringRótulo legível das condições de pagamento.
terminosCodestringCódigo das condições de pagamento: contado ou net<N> (net7, net15, net30, net45, net60, net90).
limitenumberLimite de crédito do cliente, na moeda do negócio.
nivelstringNível ou segmento do cliente.
descuentoPctnumberDesconto padrão do cliente, em porcentagem.
regimenFiscalstringCódigo de regime fiscal do SAT (México).
usoCfdistringCódigo de uso do CFDI (México).
cpFiscalstringCódigo postal do domicílio fiscal (México).
countryCodestringPaís ISO 3166-1 alfa-2.
language"es" | "en" | "pt" | "fr" | "de" | nullIdioma dos documentos que o cliente recebe: es, en, pt, fr ou de; null = o da organização. Orçamentos e faturas guardam o idioma em que foram enviados ou emitidos; alterá-lo não reescreve o que já foi enviado. Outro valor responde 400 com field: language.

PATCH/api/v1/clientes/{id}

Atualizar os dados de contatoscope: write

CampoTipoDescrição
language"es" | "en" | "pt" | "fr" | "de" | nullIdioma dos documentos que o cliente recebe: es, en, pt, fr ou de; null = o da organização. Orçamentos e faturas guardam o idioma em que foram enviados ou emitidos; alterá-lo não reescreve o que já foi enviado. Outro valor responde 400 com field: language.
curl -X PATCH https://cordhq.app/api/v1/clientes/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{}'
Resposta: data
idstringIdentificador (UUID).

Produtos

GET/api/v1/productos

Listar produtosAceita pk_scope: readPaginação por offset

Parâmetros: limit, offset, cursor

curl https://cordhq.app/api/v1/productos \
  -H "Authorization: Bearer sk_test_..."
Resposta: data[]
idstringIdentificador (UUID).
skustringCódigo interno do produto.
nombrestringNome.
unidadstringUnidade de medida: peça, kg, hora…
descripcionstringDescrição como o cliente a vê.
precionumberValor na moeda indicada por `moneda`.
costonumberNunca é exposto a uma chave publicável.
activobooleanfalse se estiver desativado: é mantido, mas não é usado.
createdAtstring | nullData ISO 8601.
preciosVolumenobject[]Preços escalonados por quantidade.
existenciasnumber | nullUnidades disponíveis; null se o estoque não é controlado.
taxRatenumber | nullImposto sugerido ao adicionar o produto a um item, como fração de 0 a 1; null = o padrão da organização.
claveSatstring | nullCódigo de produto ou serviço do SAT (c_ClaveProdServ, 8 dígitos) para o CFDI no México; null se não foi classificado.
claveUnidadSatstring | nullCódigo de unidade do SAT (c_ClaveUnidad, como H87 ou E48) para o CFDI no México; null = deduzido da unidade.

POST/api/v1/productos

Criar um produtoscope: write

CampoTipoDescrição
nombre obrigatóriostringNome.
curl -X POST https://cordhq.app/api/v1/productos \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"nombre":"…"}'
Resposta: data
idstringIdentificador (UUID).

Faturas

GET/api/v1/facturas

Listar faturasscope: readPaginação por cursor

Parâmetros: limit, cursor, estado, cliente, desde, hasta, q

curl https://cordhq.app/api/v1/facturas \
  -H "Authorization: Bearer sk_test_..."
Resposta: data[]
idstringIdentificador (UUID).
numerostring | nullNúmero da fatura na sua série.
folio_fiscalstring | nullIdentificador perante a autoridade fiscal (UUID do CFDI no México); null se não se aplicar.
clientestring | nullCliente a quem o documento se destina: nome da empresa, ou os dados para cadastrá-lo se ainda não existir.
estadostringdraft, open, paid, void ou uncollectible.
estado_fiscalstringStatus da emissão: pending, issued, cancelled ou error.
paisstringPaís ISO 3166-1 alfa-2.
tipostringTipo de documento: cfdi_40, cfdi_egreso, proforma, commercial_invoice, commercial_credit_note, verifactu_invoice ou verifactu_credit_note.
documento"factura" | "factura_proforma" | "nota_credito" | "nota_debito"Como o documento é intitulado. factura_proforma é uma fatura pró-forma: não é uma fatura e não tem validade fiscal. Cobre o tipo proforma e, na Espanha, todo documento sem registro no Verifactu.
monedastring | nullMoeda ISO 4217.
totalnumberValor na moeda indicada por `moneda`.
pagadonumberValor na moeda indicada por `moneda`.
saldonumberValor na moeda indicada por `moneda`.
vencestring | nullData ISO 8601.
vencidabooleantrue se a data de vencimento passou com saldo pendente.
cotizacion_idstring | nullID do orçamento relacionado.
creadastring | nullData ISO 8601.
language"es" | "en" | "pt" | "fr" | "de" | nullSomente leitura. Idioma em que foi emitida: es, en, pt, fr ou de. null enquanto for rascunho.

POST/api/v1/facturas

Criar uma fatura em rascunhoscope: write

CampoTipoDescrição
cliente_id obrigatóriostringID de um cliente do cadastro.
items obrigatórioobject[]Itens.
currencystringMoeda ISO 4217.
due_datestringData de vencimento, YYYY-MM-DD.
service_datestringData da prestação do serviço ou da entrega (Leistungsdatum), YYYY-MM-DD. Sem ela, a fatura indica que coincide com a data de emissão.
service_date_endstringFim do período de prestação, YYYY-MM-DD. Exige service_date e não pode ser anterior.
notasstringNotas internas; o cliente não as vê.
iva_incluidobooleantrue se os preços informados já incluem o imposto.
document_mode"commercial" | "fiscal"commercial ou fiscal. Sem ele, fiscal se o plano incluir e estiver habilitado no país; fiscal sem isso responde 400.
fx_buffer_pctnumberMargem de proteção em pontos percentuais sobre a taxa de câmbio de referência (2 = +2%); limitada a 25. Padrão 0.
descuentoobject | nullDesconto no documento antes dos impostos, distribuído entre os itens na proporção do valor de cada um. O Cord calcula o valor; null o remove.
cuponstringCódigo de um cupom do negócio. O Cord valida a validade, a moeda e os usos; se for enviado, prevalece sobre descuento. É o único desconto aceito com uma chave publicável.
buyer_referencestringReferência do comprador para suas contas a pagar (na Alemanha, o Leitweg-ID da administração pública). Vai na fatura eletrônica europeia (BT-10) e é exigida pela XRechnung. Sem ela, usa-se a do cliente. Se o endereço eletrônico do cliente for um Leitweg-ID (esquema 0204), seus dígitos de controle são verificados (ISO/IEC 7064 MOD 97-10) e um que não passe responde 400.
purchase_orderstringNúmero do pedido de compra do cliente (BT-13 da fatura eletrônica europeia).
curl -X POST https://cordhq.app/api/v1/facturas \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"cliente_id":"…","items":[{"descripcion":"…","cantidad":1,"precio_unitario":1}]}'
Resposta: data
idstringIdentificador (UUID).

GET/api/v1/facturas/{id}

Consultar uma faturascope: read

curl https://cordhq.app/api/v1/facturas/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).
numerostring | nullNúmero da fatura na sua série.
folio_fiscalstring | nullIdentificador perante a autoridade fiscal (UUID do CFDI no México); null se não se aplicar.
clientestring | nullCliente a quem o documento se destina: nome da empresa, ou os dados para cadastrá-lo se ainda não existir.
estadostringdraft, open, paid, void ou uncollectible.
estado_fiscalstringStatus da emissão: pending, issued, cancelled ou error.
paisstringPaís ISO 3166-1 alfa-2.
tipostringTipo de documento: cfdi_40, cfdi_egreso, proforma, commercial_invoice, commercial_credit_note, verifactu_invoice ou verifactu_credit_note.
documento"factura" | "factura_proforma" | "nota_credito" | "nota_debito"Como o documento é intitulado. factura_proforma é uma fatura pró-forma: não é uma fatura e não tem validade fiscal. Cobre o tipo proforma e, na Espanha, todo documento sem registro no Verifactu.
monedastring | nullMoeda ISO 4217.
totalnumberValor na moeda indicada por `moneda`.
pagadonumberValor na moeda indicada por `moneda`.
saldonumberValor na moeda indicada por `moneda`.
vencestring | nullData ISO 8601.
vencidabooleantrue se a data de vencimento passou com saldo pendente.
cotizacion_idstring | nullID do orçamento relacionado.
creadastring | nullData ISO 8601.
language"es" | "en" | "pt" | "fr" | "de" | nullSomente leitura. Idioma em que foi emitida: es, en, pt, fr ou de. null enquanto for rascunho.
subtotalnumberValor na moeda indicada por `moneda`.
impuestosnumberValor na moeda indicada por `moneda`.
moneda_contablestring | nullMoeda ISO 4217.
tipo_cambionumber | nullTaxa de câmbio declarada da moeda de venda para a contábil; null se forem a mesma.
total_contablenumber | nullTotal convertido para a moeda contábil.
notasstring | nullNotas internas; o cliente não as vê.
nota_credito_destring | nullID da fatura que esta nota de crédito corrige.
emisoranyDados fiscais do emissor.
receptoranyDados fiscais do cliente que recebe a fatura.
descuentoobject | nullDesconto no documento, aplicado antes dos impostos e distribuído entre os itens; null se não houver. subtotal já é líquido.
conceptosobject[]Itens da fatura com seu imposto.
pagosobject[]Pagamentos recebidos.

POST/api/v1/facturas/{id}

Emitir, enviar, cancelar, registrar um pagamento ou uma nota de créditoscope: write

CampoTipoDescrição
action obrigatório"finalize" | "send" | "void" | "payment" | "credit_note"Ação a executar; cada uma exige o status anterior correto e é idempotente com Idempotency-Key.
montonumberValor na moeda indicada por moneda.
monedastringMoeda ISO 4217 dos valores.
metodostringMétodo de pagamento: transferencia, efectivo, tarjeta…
referenciastringReferência do pagamento ou do provedor.
motivostringMotivo, escrito por uma pessoa.
sin_comercio_exteriorbooleanMéxico, ao emitir (finalize): true confirma que um CFDI com mercadorias para um cliente no exterior não é uma exportação definitiva. Sem ele, essa emissão responde 409 com o código comercio_exterior, porque o Cord não gera o complemento de comércio exterior.
curl -X POST https://cordhq.app/api/v1/facturas/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"action":"finalize"}'
Resposta: data
idstringIdentificador (UUID).

Cobrança

GET/api/v1/cobranza

Contas a receberscope: read

curl https://cordhq.app/api/v1/cobranza \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
resumenanyTotais em resumo.
aginganyContas a receber por antiguidade em quatro faixas fixas: vigente (a vencer), d30 (1–30 dias de atraso), d60 (31–60) e d60p (mais de 60). Cada uma traz key, label, monto e n.
itemsany[]Itens.
clientesanySaldo agrupado por cliente.

Eventos

GET/api/v1/events

Histórico de eventosscope: readPaginação por cursor

Parâmetros: limit, cursor, type, object_id

curl https://cordhq.app/api/v1/events \
  -H "Authorization: Bearer sk_test_..."
Resposta: data[]
idstringIdentificador (UUID).
typestringTipo de evento, por exemplo quote.approved.
objectstringTipo de objeto: quote, invoice, client, product, task, promise…
object_idstring | nullID do objeto a que se refere.
dataobjectConteúdo da resposta ou do evento.
actorstring | nullQuem fez: user, api, mcp, client (o destinatário do link público) ou system.
created_atstringData de criação, ISO 8601.

Tarefas

POST/api/v1/tareas

Criar uma tarefascope: write

CampoTipoDescrição
titulo obrigatóriostringO que precisa ser feito.
due_datestringData de vencimento, YYYY-MM-DD.
cotizacion_idstringID do orçamento relacionado.
factura_idstringID da fatura relacionada (o `id` de /facturas).
curl -X POST https://cordhq.app/api/v1/tareas \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"titulo":"…"}'
Resposta: data
idstringIdentificador (UUID).

Workflows

POST/api/v1/workflows/{id}/invoke

Executar um workflow “Você executa” em orçamentos ou faturasscope: write

CampoTipoDescrição
objeto obrigatório"quote" | "invoice"Tipo de documento: quote (orçamento) ou invoice (fatura); deve coincidir com o gatilho do workflow.
ids obrigatóriostring[]Identificadores (UUID) dos documentos, de 1 a 50.
curl -X POST https://cordhq.app/api/v1/workflows/ID/invoke \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"objeto":"quote","ids":["…"]}'
Resposta: data
documentosnumberQuantos dos documentos enviados existem na organização.
corridasnumberQuantas execuções começaram: um documento que não cumpre o filtro do workflow ou que já entrou antes não conta.

Webhooks

GET/api/v1/webhooks

Endpoints criados por esta chavescope: read

curl https://cordhq.app/api/v1/webhooks \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).
urlstringURL HTTPS que recebe os eventos.
eventosstring[]Lista de eventos ou tipos de evento. Vazia = todos.
activobooleanfalse se estiver desativado: é mantido, mas não é usado.
created_atstringData de criação, ISO 8601.

POST/api/v1/webhooks

Criar um endpoint (o segredo é retornado uma única vez)scope: write

CampoTipoDescrição
url obrigatóriostringURL HTTPS que recebe os eventos.
eventosstring[]Lista de eventos ou tipos de evento. Vazia = todos.
curl -X POST https://cordhq.app/api/v1/webhooks \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"url":"…"}'
Resposta: data
idstringIdentificador (UUID).
urlstringURL HTTPS que recebe os eventos.
eventosstring[]Lista de eventos ou tipos de evento. Vazia = todos.
activobooleanfalse se estiver desativado: é mantido, mas não é usado.
created_atstringData de criação, ISO 8601.
secretstringSegredo para verificar a assinatura. É exibido uma única vez.

DELETE/api/v1/webhooks/{id}

Excluir um endpointscope: write

curl -X DELETE https://cordhq.app/api/v1/webhooks/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).

Elements

GET/api/v1/elements/config

Configuração que o Cord Elements exibeAceita pk_scope: read

curl https://cordhq.app/api/v1/elements/config \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
object"elements_config"Tipo de objeto: quote, invoice, client, product, task, promise…
orgobjectOrganização dona da chave.
monedasstring[]Moedas que o negócio oferece nos orçamentos.
impuestosobjectImpostos do documento ou catálogo de impostos.
terminos"contado" | "net7" | "net15" | "net30" | "net45" | "net60" | "net90"[]Condições de pagamento: contado ou net<N> (N dias de prazo: 7, 15, 30, 45, 60 ou 90).
terminos_default"contado" | "net7" | "net15" | "net30" | "net45" | "net60" | "net90"Condições de pagamento padrão.
vigencia_dias_defaultnumberValidade padrão, em dias.
fiscalobjectDados fiscais.

POST/api/v1/elements/ai-draft

Itens gerados por IA em streaming (text/event-stream)Aceita pk_scope: write

CampoTipoDescrição
textostringTexto livre do pedido.
archivostringJPG, PNG ou PDF, até 4 MB.
curl -X POST https://cordhq.app/api/v1/elements/ai-draft \
  -H "Authorization: Bearer sk_test_..." \
  -F "texto=5 sacos de cemento y 2 de arena"

Responde text/event-stream com os eventos item, done e error.

Modo de teste

POST/api/v1/test_helpers/fiscal

Forçar o resultado da próxima emissãoSomente sk_test_scope: write

CampoTipoDescrição
siguiente_resultado obrigatório"exito" | "pac_caido" | "receptor_invalido" | "certificado_vencido" | "timbre_duplicado"Resultado da próxima emissão fiscal no ambiente de teste.
curl -X POST https://cordhq.app/api/v1/test_helpers/fiscal \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"siguiente_resultado":"exito"}'
Resposta: data
siguiente_resultadostringResultado da próxima emissão fiscal no ambiente de teste.

POST/api/v1/test_helpers/cotizaciones/{id}

Simular uma visualização ou o vencimentoSomente sk_test_scope: write

CampoTipoDescrição
accion obrigatório"vista" | "vencer"O que simular: vista (o cliente abre o link) ou vencer (o orçamento expira).
curl -X POST https://cordhq.app/api/v1/test_helpers/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"accion":"vista"}'
Resposta: data
idstringIdentificador (UUID).

POST/api/v1/test_helpers/webhooks

Disparar um webhookSomente sk_test_scope: write

CampoTipoDescrição
evento obrigatóriostringTipo de evento, por exemplo quote.approved.
objeto_idstringID de um orçamento ou fatura do ambiente de teste; sem ele, são usados dados de exemplo.
curl -X POST https://cordhq.app/api/v1/test_helpers/webhooks \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"evento":"…"}'
Resposta: data
eventostringTipo de evento, por exemplo quote.approved.
datos"real" | "ejemplo"real se foram usados os dados do objeto indicado; ejemplo se foram gerados dados fictícios.

POST/api/v1/test_helpers/listen

Abrir uma sessão do cord listenSomente sk_test_scope: write

CampoTipoDescrição
eventosstring[]Lista de eventos ou tipos de evento. Vazia = todos.
curl -X POST https://cordhq.app/api/v1/test_helpers/listen \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{}'
Resposta: data
idstringIdentificador (UUID).
secretstringSegredo para verificar a assinatura. É exibido uma única vez.
eventosstring[]Lista de eventos ou tipos de evento. Vazia = todos.
expirastringData de expiração, ISO 8601.

GET/api/v1/test_helpers/listen/{id}

Coletar os eventos da sessãoSomente sk_test_scope: write

curl https://cordhq.app/api/v1/test_helpers/listen/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
event_idstringID do evento; use-o para deduplicar.
eventostringTipo de evento, por exemplo quote.approved.
bodystringCorpo bruto do evento; encaminhe-o sem alterações para que a assinatura seja validada.
headersobjectHeaders para encaminhar sem alterações, incluindo a assinatura X-Cord-Signature-V1.

DELETE/api/v1/test_helpers/listen/{id}

Encerrar uma sessão do cord listenSomente sk_test_scope: write

curl -X DELETE https://cordhq.app/api/v1/test_helpers/listen/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
idstringIdentificador (UUID).

Configuração

POST/api/v1/setup/plans

Propor uma configuração da conta (uma pessoa a aprova em review_url)scope: write

CampoTipoDescrição
sitiostringSite do negócio, por exemplo seunegocio.com.
descripcionstringDescrição do negócio: ramo de atividade, prazos de pagamento, impostos que cobra ou retém.
archivoobjectLista de preços (Excel, CSV, PDF ou foto) em base64, até 3 MB.
curl -X POST https://cordhq.app/api/v1/setup/plans \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{}'
Resposta: data
object"setup_plan"Tipo de objeto: quote, invoice, client, product, task, promise…
idstringIdentificador (UUID).
estado"generando" | "propuesto" | "aplicado" | "descartado" | "fallido"propuesto aguarda a aprovação de uma pessoa em review_url.
review_urlstringPágina em que uma pessoa com sessão iniciada revisa e aplica a proposta. A API nunca a aplica.

GET/api/v1/setup/plans/{id}

Status de uma proposta de configuraçãoscope: read

curl https://cordhq.app/api/v1/setup/plans/ID \
  -H "Authorization: Bearer sk_test_..."
Resposta: data
object"setup_plan"Tipo de objeto: quote, invoice, client, product, task, promise…
idstringIdentificador (UUID).
estado"generando" | "propuesto" | "aplicado" | "descartado" | "fallido"propuesto aguarda a aprovação de uma pessoa em review_url.
review_urlstringPágina em que uma pessoa com sessão iniciada revisa e aplica a proposta. A API nunca a aplica.