Start free

API reference

CRM and sales pipelines

Companies, pipelines, stages and cards: bulk import, move cards between stages, mark them won or lost and log each card's activities, fields and files.

  • 35 operations
  • Base URLhttps://api.messages.ccxcompany.co
  • AuthenticationBearer with your API key

The technical text below comes from the public contract, openapi.json, in the language the contract was written in.

Lista as empresas

GET/v2/companies

Em ordem de nome, com total e paginação por limit (1–100, padrão 25) e skip. q procura pelo nome (parcial, sem diferenciar maiúsculas); se o texto for um CNPJ válido (dígito verificador conferido), com ou sem máscara, procura pelo CNPJ; um CNPJ com o dígito errado é procurado como nome. responsavelId filtra pela pessoa responsável.

Cada item traz contagens: contatos, negociosAbertos, valorAberto (soma dos negócios abertos, sem converter a moeda de cada negócio — a mesma regra do resumo do funil) e ultimaInteracao (a mais recente entre os contatos da empresa, ou null).

Permissão: crm:read.

Parameters

FieldInTypeDescription
qoptionalquerystring
responsavelIdoptionalquerystring
limitoptionalqueryintegerDefault:25
skipoptionalqueryintegerDefault:0

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    itemsrequiredobject[]
    items[].idrequiredstring
    items[].organizationIdrequiredstring
    items[].nomerequiredstring
    items[].cnpjoptionalstring
    items[].segmentooptionalstring
    items[].siteoptionalstring · uri
    items[].enderecooptionalstring
    items[].responsavelIdoptionalstring
    items[].contatoPrincipalIdoptionalstring
    items[].atributosoptionalobjectAtributos livres da empresa (texto, número, sim/não, nulo ou lista curta de textos).
    items[].createdByIdrequiredstring
    items[].createdAtrequiredstring · date-time
    items[].updatedAtrequiredstring · date-time
    items[].contagensrequiredobject
    items[].contagens.contatosrequiredinteger
    items[].contagens.negociosAbertosrequiredinteger
    items[].contagens.valorAbertorequirednumber
    items[].contagens.ultimaInteracaorequiredstring | null · date-time
    totalrequiredinteger
    JSON
    {  "items": [    {      "id": "string",      "organizationId": "string",      "nome": "string",      "cnpj": "string",      "segmento": "string",      "site": "https://example.com",      "endereco": "string",      "responsavelId": "string",      "contatoPrincipalId": "string",      "atributos": {},      "createdById": "string",      "createdAt": "2026-10-16T12:00:00.000Z",      "updatedAt": "2026-10-16T12:00:00.000Z",      "contagens": {        "contatos": 0,        "negociosAbertos": 0,        "valorAberto": 0,        "ultimaInteracao": "2026-10-16T12:00:00.000Z"      }    }  ],  "total": 0}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/v2/companies' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Cria uma empresa

POST/v2/companies

Cadastra a conta B2B a que contatos e negócios apontam. cnpj aceita com ou sem máscara (numérico ou alfanumérico, no formato da Receita) e é guardado normalizado, em maiúsculas e sem máscara; o dígito verificador é conferido.

Um CNPJ já cadastrado na organização é 409 com meta.code = CNPJ_JA_CADASTRADO — também quando dois cadastros do mesmo CNPJ chegam juntos. Empresa sem CNPJ pode repetir à vontade. contatoPrincipalId tem de ser um contato desta organização e responsavelId, um membro ativo dela (membro suspenso ou convidado que ainda não aceitou não vale): senão 422 VINCULO_INVALIDO.

atributos são conferidos contra as definições da organização (GET /v2/organizations/me/company-attribute-defs): tipo errado ou atributo obrigatório ausente é 422.

Permissão: crm:write.

Request bodyapplication/json

FieldTypeDescription
nomerequiredstring
cnpjoptionalstring
segmentooptionalstring
siteoptionalstring · uri
enderecooptionalstring
responsavelIdoptionalstring
contatoPrincipalIdoptionalstring
atributosoptionalobjectAtributos livres da empresa (texto, número, sim/não, nulo ou lista curta de textos).
Full body example
JSON
{  "nome": "string",  "cnpj": "string",  "segmento": "string",  "site": "https://example.com",  "endereco": "string",  "responsavelId": "string",  "contatoPrincipalId": "string",  "atributos": {}}

Responses

  • 201Default Response

    Response fields and example
    FieldTypeDescription
    idrequiredstring
    organizationIdrequiredstring
    nomerequiredstring
    cnpjoptionalstring
    segmentooptionalstring
    siteoptionalstring · uri
    enderecooptionalstring
    responsavelIdoptionalstring
    contatoPrincipalIdoptionalstring
    atributosoptionalobjectAtributos livres da empresa (texto, número, sim/não, nulo ou lista curta de textos).
    createdByIdrequiredstring
    createdAtrequiredstring · date-time
    updatedAtrequiredstring · date-time
    contagensrequiredobject
    contagens.contatosrequiredinteger
    contagens.negociosAbertosrequiredinteger
    contagens.valorAbertorequirednumber
    contagens.ultimaInteracaorequiredstring | null · date-time
    JSON
    {  "id": "string",  "organizationId": "string",  "nome": "string",  "cnpj": "string",  "segmento": "string",  "site": "https://example.com",  "endereco": "string",  "responsavelId": "string",  "contatoPrincipalId": "string",  "atributos": {},  "createdById": "string",  "createdAt": "2026-10-16T12:00:00.000Z",  "updatedAt": "2026-10-16T12:00:00.000Z",  "contagens": {    "contatos": 0,    "negociosAbertos": 0,    "valorAberto": 0,    "ultimaInteracao": "2026-10-16T12:00:00.000Z"  }}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/v2/companies' \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "nome": "string"  }'
Required fields only. Swap the sample values for your own.

Importa empresas em lote

POST/v2/companies/import

Até 500 empresas por chamada em empresas, cada uma no formato do cadastro. Atualiza a que já existe — pelo CNPJ e, na linha sem CNPJ, pelo nome exato (diferencia maiúsculas) — e cria as outras. Uma linha que atualiza só muda os campos que ela traz; atributos só substitui os de antes quando a linha tem a chave.

Responde { criadas, atualizadas, erros }. Cada erro traz o número da linha (a posição na lista enviada, a partir de 1) e uma mensagem que diz o campo e o problema, sem repetir o valor enviado. As linhas boas entram mesmo quando outras falham.

Linha sem CNPJ cujo nome existe mais de uma vez na organização não é adivinhada: vira erro.

Permissão: crm:write.

Request bodyapplication/json

FieldTypeDescription
empresasrequiredany[]
Full body example
JSON
{  "empresas": []}

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    criadasrequiredinteger
    atualizadasrequiredinteger
    errosrequiredobject[]
    erros[].linharequiredinteger
    erros[].mensagemrequiredstring
    JSON
    {  "criadas": 0,  "atualizadas": 0,  "erros": [    {      "linha": 1,      "mensagem": "string"    }  ]}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/v2/companies/import' \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "empresas": []  }'
Required fields only. Swap the sample values for your own.

Lê uma empresa

GET/v2/companies/{id}

A empresa com as contagens da ficha: contatos, negócios abertos, valor em aberto, última interação e os GANHOS — valorGanho (a soma do valor dos negócios ganhos, sem converter a moeda de cada negócio, a mesma regra do resumo do funil, em reais arredondados em centavos) e negociosGanhos.

Permissão: crm:read.

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    idrequiredstring
    organizationIdrequiredstring
    nomerequiredstring
    cnpjoptionalstring
    segmentooptionalstring
    siteoptionalstring · uri
    enderecooptionalstring
    responsavelIdoptionalstring
    contatoPrincipalIdoptionalstring
    atributosoptionalobjectAtributos livres da empresa (texto, número, sim/não, nulo ou lista curta de textos).
    createdByIdrequiredstring
    createdAtrequiredstring · date-time
    updatedAtrequiredstring · date-time
    contagensrequiredobject
    contagens.contatosrequiredinteger
    contagens.negociosAbertosrequiredinteger
    contagens.valorAbertorequirednumber
    contagens.ultimaInteracaorequiredstring | null · date-time
    contagens.valorGanhorequirednumber
    contagens.negociosGanhosrequiredinteger
    JSON
    {  "id": "string",  "organizationId": "string",  "nome": "string",  "cnpj": "string",  "segmento": "string",  "site": "https://example.com",  "endereco": "string",  "responsavelId": "string",  "contatoPrincipalId": "string",  "atributos": {},  "createdById": "string",  "createdAt": "2026-10-16T12:00:00.000Z",  "updatedAt": "2026-10-16T12:00:00.000Z",  "contagens": {    "contatos": 0,    "negociosAbertos": 0,    "valorAberto": 0,    "ultimaInteracao": "2026-10-16T12:00:00.000Z",    "valorGanho": 0,    "negociosGanhos": 0  }}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/v2/companies/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Edita uma empresa

PATCH/v2/companies/{id}

Só muda o que vem no corpo; null limpa um campo opcional (cnpj, segmento, site, endereco, responsavelId, contatoPrincipalId). atributos, quando vem, substitui os de antes por inteiro — um PATCH só do nome não toca nos atributos.

Trocar o cnpj para o de outra empresa da organização é 409 CNPJ_JA_CADASTRADO. Responde a empresa com as contagens da ficha (as do GET).

responsavelId e contatoPrincipalId só são conferidos quando MUDAM: reenviar o mesmo de sempre passa mesmo que a pessoa tenha saído da organização. O novo responsavelId tem de ser membro ativo da organização (422 VINCULO_INVALIDO).

atributos são conferidos contra as definições da organização (GET /v2/organizations/me/company-attribute-defs): tipo errado ou atributo obrigatório ausente é 422.

Permissão: crm:write.

Parameters

FieldInTypeDescription
idrequiredpathstring

Request bodyapplication/json

FieldTypeDescription
nomeoptionalstring
cnpjoptionalstring | null
segmentooptionalstring | null
siteoptionalstring | null · uri
enderecooptionalstring | null
responsavelIdoptionalstring | null
contatoPrincipalIdoptionalstring | null
atributosoptionalobjectAtributos livres da empresa (texto, número, sim/não, nulo ou lista curta de textos).
Full body example
JSON
{  "nome": "string",  "cnpj": "string",  "segmento": "string",  "site": "https://example.com",  "endereco": "string",  "responsavelId": "string",  "contatoPrincipalId": "string",  "atributos": {}}

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    idrequiredstring
    organizationIdrequiredstring
    nomerequiredstring
    cnpjoptionalstring
    segmentooptionalstring
    siteoptionalstring · uri
    enderecooptionalstring
    responsavelIdoptionalstring
    contatoPrincipalIdoptionalstring
    atributosoptionalobjectAtributos livres da empresa (texto, número, sim/não, nulo ou lista curta de textos).
    createdByIdrequiredstring
    createdAtrequiredstring · date-time
    updatedAtrequiredstring · date-time
    contagensrequiredobject
    contagens.contatosrequiredinteger
    contagens.negociosAbertosrequiredinteger
    contagens.valorAbertorequirednumber
    contagens.ultimaInteracaorequiredstring | null · date-time
    contagens.valorGanhorequirednumber
    contagens.negociosGanhosrequiredinteger
    JSON
    {  "id": "string",  "organizationId": "string",  "nome": "string",  "cnpj": "string",  "segmento": "string",  "site": "https://example.com",  "endereco": "string",  "responsavelId": "string",  "contatoPrincipalId": "string",  "atributos": {},  "createdById": "string",  "createdAt": "2026-10-16T12:00:00.000Z",  "updatedAt": "2026-10-16T12:00:00.000Z",  "contagens": {    "contatos": 0,    "negociosAbertos": 0,    "valorAberto": 0,    "ultimaInteracao": "2026-10-16T12:00:00.000Z",    "valorGanho": 0,    "negociosGanhos": 0  }}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X PATCH 'https://api.messages.ccxcompany.co/v2/companies/<id>' \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Content-Type: application/json" \  -d '{}'
Required fields only. Swap the sample values for your own.

Apaga uma empresa

DELETE/v2/companies/{id}

Apaga a empresa. Os contatos e os negócios que apontavam para ela ficam, sem a empresa (e o contato, sem o papel nela). Tudo acontece numa transação: se algo falhar, nada é desfeito. Não dá para desfazer.

Fica no log de auditoria como company.deleted (quem apagou e quantos contatos e negócios foram desvinculados; nunca o nome, o CNPJ nem o endereço).

Permissão: crm:delete.

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 204Default Response

  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X DELETE 'https://api.messages.ccxcompany.co/v2/companies/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Lista as definições de atributos das empresas

GET/v2/organizations/me/company-attribute-defs

O dicionário que confere Company.atributos: chave, tipo (string, number, boolean ou date), rótulo e se é obrigatório. { defs: [] } para a organização que ainda não definiu nenhum — aí todo atributo é livre. É separado dos atributos do contato.

Permissão: crm:read.

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    defsrequiredobject[]
    defs[].keyrequiredstring
    defs[].typerequiredstringValues:stringnumberbooleandate
    defs[].labeloptionalstring
    defs[].requiredoptionalbooleanDefault:false
    JSON
    {  "defs": [    {      "key": "string",      "type": "string",      "label": "string",      "required": false    }  ]}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/v2/organizations/me/company-attribute-defs' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Substitui as definições de atributos das empresas

PUT/v2/organizations/me/company-attribute-defs

Substituição completa: manda a lista inteira em defs (até 50) e some a chave que ficar de fora. Chave repetida é 409. As empresas que já existem não são alteradas; a regra vale nas próximas gravações.

A propriedade que parece documento, senha, cartão ou token (pela chave OU pelo rótulo) e ainda guarda valores nas empresas não sai da lista nem muda de rótulo: 409 com meta.code = PROPRIEDADE_SENSIVEL_EM_USO (tire os valores antes). Se a conferência não couber em 5 s, 503.

Permissão: crm:write.

Request bodyapplication/json

FieldTypeDescription
defsrequiredobject[]
defs[].keyrequiredstring
defs[].typerequiredstringValues:stringnumberbooleandate
defs[].labeloptionalstring
defs[].requiredoptionalbooleanDefault:false
Full body example
JSON
{  "defs": [    {      "key": "string",      "type": "string",      "label": "string",      "required": false    }  ]}

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    defsrequiredobject[]
    defs[].keyrequiredstring
    defs[].typerequiredstringValues:stringnumberbooleandate
    defs[].labeloptionalstring
    defs[].requiredoptionalbooleanDefault:false
    JSON
    {  "defs": [    {      "key": "string",      "type": "string",      "label": "string",      "required": false    }  ]}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X PUT 'https://api.messages.ccxcompany.co/v2/organizations/me/company-attribute-defs' \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "defs": [      {        "key": "string",        "type": "string"      }    ]  }'
Required fields only. Swap the sample values for your own.

List pipelines

GET/pipelines

contagem=true adds cardCounts (pipeline id → number of cards) and openStageCounts (pipeline id → number of stages that are neither won nor lost), archived pipelines included when includeArchived=true.

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/pipelines' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Create a pipeline

POST/pipelines

tipo defaults to vendas; cobranca and onboarding are not available yet: 422 with meta.code = TIPO_AINDA_NAO_DISPONIVEL. The type never changes afterwards. Each seeded stage may carry probabilidade (0–100), tempoMaximoDias (1–365) and camposObrigatorios — only the standard keys valor, dataPrevista, contato, responsavel here (422 CAMPO_DESCONHECIDO otherwise).

motivos (lost reasons) require a lost stage among stages: 409 with meta.code = MOTIVOS_SEM_ETAPA_DE_PERDA; a blank reason is 422 MOTIVO_VAZIO.

Responses

  • 201Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/pipelines' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Get a pipeline board

GET/pipelines/{id}

Stages, the first page of cards per stage and the board summary, all under the same filters. stageWeightedTotals is, per stage, the sum of value × win probability (the card's own, else the stage's; won stages count 100 %, lost stages 0 %).

metrics adds the current month (America/Sao_Paulo calendar): previstoPonderadoMes (open cards with dataPrevista in the month, weighted), ganhosNoMesValor/ganhosNoMesQtd (won cards closed in the month) and cicloMedioDias (average days from creation to win; absent when there is no win).

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/pipelines/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Update a pipeline

PATCH/pipelines/{id}

The pipeline type never changes: tipo in the body is 409 with meta.code = TIPO_IMUTAVEL. motivos (lost reasons; []/null clears) require a lost stage: 409 MOTIVOS_SEM_ETAPA_DE_PERDA. An archived pipeline only accepts status: active (restore); anything else is 404.

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X PATCH 'https://api.messages.ccxcompany.co/pipelines/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Archive a pipeline

DELETE/pipelines/{id}

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 204Default Response

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X DELETE 'https://api.messages.ccxcompany.co/pipelines/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Create a stage

POST/pipelines/{id}/stages

camposObrigatorios (what a card needs to ENTER the stage) takes the standard keys valor, dataPrevista, contato, responsavel or ids of the pipeline's fields; anything else is 422 with meta.code = CAMPO_DESCONHECIDO (meta.chaves).

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 201Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/pipelines/<id>/stages' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

List a stage's cards (paginated)

GET/pipelines/{id}/stages/{stageId}/cards

Parameters

FieldInTypeDescription
idrequiredpathstring
stageIdrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/pipelines/<id>/stages/<stageId>/cards' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Update a stage

PATCH/pipelines/{id}/stages/{stageId}

probabilidade (0–100) and tempoMaximoDias (1–365) accept null to clear; camposObrigatorios takes the standard keys or the pipeline's field ids ([] clears; unknown keys are 422 CAMPO_DESCONHECIDO). The last lost stage of a pipeline with motivos cannot stop being a lost stage: 409 with meta.code = ETAPA_DE_PERDA_COM_MOTIVOS.

Parameters

FieldInTypeDescription
idrequiredpathstring
stageIdrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X PATCH 'https://api.messages.ccxcompany.co/pipelines/<id>/stages/<stageId>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Delete a stage

DELETE/pipelines/{id}/stages/{stageId}

Only an empty stage can be deleted: 409 with meta.code = ETAPA_COM_CARDS. The last lost stage of a pipeline with motivos stays: 409 ETAPA_DE_PERDA_COM_MOTIVOS.

Parameters

FieldInTypeDescription
idrequiredpathstring
stageIdrequiredpathstring

Responses

  • 204Default Response

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X DELETE 'https://api.messages.ccxcompany.co/pipelines/<id>/stages/<stageId>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Reorder stages

POST/pipelines/{id}/stages/reorder

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    [  {}]
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/pipelines/<id>/stages/reorder' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

List the cards of a contact or of a company

GET/cards

Exactly one of contactId or companyId (none or both is 422 with meta.code = CONTATO_OU_EMPRESA). contactId matches the card's main contact OR any of its outrosContatos. Optional pipelineId and status narrow the list. Newest first (createdAt), up to limit (1–50, default 50); temMais: true means there are more cards than returned.

Each card carries pipelineName and stageName (absent when the pipeline or stage no longer exists). A contact or company of another organization simply returns an empty list.

Permissão: crm:read.

Parameters

FieldInTypeDescription
contactIdoptionalquerystring
companyIdoptionalquerystring
pipelineIdoptionalquerystring
statusoptionalquerystringValues:openwonlost
limitoptionalqueryinteger

Responses

  • 200Default Response

    Response fields and example
    FieldTypeDescription
    itemsrequiredobject[]
    items[].idrequiredstring
    items[].organizationIdrequiredstring
    items[].pipelineIdrequiredstring
    items[].stageIdrequiredstring
    items[].orderrequiredinteger
    items[].titlerequiredstring
    items[].descriptionoptionalstring
    items[].valueoptionalnumber
    items[].currencyoptionalstring
    items[].contactIdoptionalstring
    items[].conversationIdoptionalstring
    items[].origemoptionalobject
    items[].origem.canaloptionalstring
    items[].origem.regraIdoptionalstring
    items[].origem.viaoptionalstringValues:linkanuncio_metacodigo_fixo
    items[].origem.fonteoptionalstringValues:googlemetatiktokoutra
    items[].origem.fonteRotulooptionalstring
    items[].origem.campanhaoptionalstring
    items[].origem.grupooptionalstring
    items[].origem.anunciooptionalstring
    items[].origem.palavraChaveoptionalstring
    items[].origem.toqueIdoptionalstring
    items[].origem.emoptionalstring · date-time
    items[].companyIdoptionalstring
    items[].outrosContatosoptionalstring[]
    items[].assigneeIdoptionalstring
    items[].tagsoptionalstring[]Default:[]
    items[].dueDateoptionalstring · date-time
    items[].dataPrevistaoptionalstring · date-time
    items[].probabilidadeoptionalinteger
    items[].fechadoEmoptionalstring · date-time
    items[].motivoDesfechooptionalstring
    items[].customFieldsoptionalobjectDefault:{}
    items[].fieldValuesoptionalobject
    items[].filesoptionalobject[]
    items[].files[].idrequiredstring
    items[].files[].namerequiredstring
    items[].files[].sizerequiredinteger
    items[].files[].contentTyperequiredstring
    items[].files[].uploadedByIdoptionalstring
    items[].files[].uploadedAtrequiredstring · date-time
    items[].statusrequiredstringValues:openwonlost
    items[].stageEnteredAtrequiredstring · date-time
    items[].createdByIdrequiredstring
    items[].createdAtrequiredstring · date-time
    items[].updatedAtrequiredstring · date-time
    items[].pipelineNameoptionalstring
    items[].stageNameoptionalstring
    temMaisrequiredboolean
    JSON
    {  "items": [    {      "id": "string",      "organizationId": "string",      "pipelineId": "string",      "stageId": "string",      "order": 0,      "title": "string",      "description": "string",      "value": 0,      "currency": "string",      "contactId": "string",      "conversationId": "string",      "origem": {        "canal": "string",        "regraId": "string",        "via": "link",        "fonte": "google",        "fonteRotulo": "string",        "campanha": "string",        "grupo": "string",        "anuncio": "string",        "palavraChave": "string",        "toqueId": "string",        "em": "2026-10-16T12:00:00.000Z"      },      "companyId": "string",      "outrosContatos": [        "string"      ],      "assigneeId": "string",      "tags": [],      "dueDate": "2026-10-16T12:00:00.000Z",      "dataPrevista": "2026-10-16T12:00:00.000Z",      "probabilidade": 0,      "fechadoEm": "2026-10-16T12:00:00.000Z",      "motivoDesfecho": "string",      "customFields": {},      "fieldValues": {},      "files": [        {          "id": "string",          "name": "string",          "size": 0,          "contentType": "string",          "uploadedById": "string",          "uploadedAt": "2026-10-16T12:00:00.000Z"        }      ],      "status": "open",      "stageEnteredAt": "2026-10-16T12:00:00.000Z",      "createdById": "string",      "createdAt": "2026-10-16T12:00:00.000Z",      "updatedAt": "2026-10-16T12:00:00.000Z",      "pipelineName": "string",      "stageName": "string"    }  ],  "temMais": true}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/cards' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Create a card

POST/cards

The initial stage's required fields apply: 409 with meta.code = CAMPOS_OBRIGATORIOS (meta.campos lists the missing field labels). fieldValues keys must be fields of the pipeline: 422 with meta.code = CAMPO_DESCONHECIDO (meta.chaves lists the unknown keys).

companyId (the company of the deal), contactId (the main contact) and outrosContatos (up to 20 more contacts, never repeating each other nor contactId) must belong to this organization: 422 with meta.code = VINCULO_INVALIDO otherwise.

When conversationId is given and that conversation (of this organization) came in through an ad or a WhatsApp link, the card is born with origem (via, fonte, campanha, grupo, anuncio, palavraChave, toqueId, em), a copy of the conversation's last origin; it never changes afterwards and is not accepted in the body of POST/PATCH.

The card keeps origem when the conversation is deleted.

Responses

  • 201Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/cards' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Bulk-import cards into a pipeline

POST/cards/import

Imports up to 500 cards per request into an existing pipeline. Each card is a contact in a stage; contactPhone (E.164) links to the migrated contact, stageId must belong to the pipeline. Writes directly — no `card.created` event is emitted (migration load; the board refreshes on its own). Idempotency is the caller's responsibility (dedup by source id).

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/cards/import' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Get a card

GET/cards/{id}

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/cards/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Update a card

PATCH/cards/{id}

status: won|lost marks the outcome. When the pipeline has a won/lost stage, the card moves to the first one, with the same rules as POST /cards/{id}/desfecho (without motivo); when it has none, the status changes in place (legacy pipelines). status: open on a card marked won/lost in an open stage reopens it and clears fechadoEm/motivoDesfecho.

409 with meta.code = CAMPOS_OBRIGATORIOS (the won/lost stage's required fields; meta.campos lists them), MOTIVO_OBRIGATORIO (lost in a pipeline with motivos: use POST /cards/{id}/desfecho), SEM_ETAPA_DE_DESFECHO (the card sits in a stage of the other outcome and the pipeline has no stage for this one) or USE_REABRIR (status: open on a card in a won/lost stage: move it to an open stage instead).

companyId: null unlinks the company; outrosContatos replaces the list ([] clears). A new companyId/contactId/outrosContatos entry must belong to this organization, and the main contact never repeats in outrosContatos — checked against the STORED card on a partial PATCH: 422 with meta.code = VINCULO_INVALIDO. To promote one of outrosContatos to main contact, send both fields in the same PATCH.

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X PATCH 'https://api.messages.ccxcompany.co/cards/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Delete a card

DELETE/cards/{id}

Hard-delete. Removes the card together with its activity history and its attached files (the bytes in the media store). Not reversible. Recorded in the audit log as card.deleted (who, and how many activities and files went with it; never the title).

A file whose bytes cannot be removed from the store does not keep the card alive: the card is deleted and the audit entry counts it in arquivosComFalha.

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 204Default Response

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X DELETE 'https://api.messages.ccxcompany.co/cards/<id>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Move a card to another stage or position

POST/cards/{id}/move

Entering a stage enforces its rules. 409 with meta.code = CAMPOS_OBRIGATORIOS (meta.campos lists the missing field labels) or MOTIVO_OBRIGATORIO (a lost stage of a pipeline that defines motivos requires motivo).

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/cards/<id>/move' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Mark a card as won or lost

POST/cards/{id}/desfecho

Moves the card to the pipeline's first won (ganho) or lost (perdido) stage, with the same rules as a move. 409 with meta.code = SEM_ETAPA_DE_DESFECHO (no such stage), CAMPOS_OBRIGATORIOS or MOTIVO_OBRIGATORIO.

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 409RFC 7807 problem details for CONFLICT (409).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/cards/<id>/desfecho' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

List a card's activity history

GET/cards/{id}/activities

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/cards/<id>/activities' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Log a manual activity on a card

POST/cards/{id}/activities

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 201Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/cards/<id>/activities' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Add a custom activity type to a pipeline

POST/pipelines/{id}/activity-types

"Sistema" and "Arquivo" (case- and accent-insensitive) are reserved for platform events and return 422 with meta.code = "TIPO_DE_ATIVIDADE_RESERVADO".

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/pipelines/<id>/activity-types' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Add a typed field to a pipeline

POST/pipelines/{id}/fields

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/pipelines/<id>/fields' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Remove a field from a pipeline

DELETE/pipelines/{id}/fields/{fieldId}

Parameters

FieldInTypeDescription
idrequiredpathstring
fieldIdrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X DELETE 'https://api.messages.ccxcompany.co/pipelines/<id>/fields/<fieldId>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Set a card's field value

PUT/cards/{id}/fields/{fieldId}

Parameters

FieldInTypeDescription
idrequiredpathstring
fieldIdrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    {}
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X PUT 'https://api.messages.ccxcompany.co/cards/<id>/fields/<fieldId>' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Attach a file to a card

POST/cards/{id}/files

Parameters

FieldInTypeDescription
idrequiredpathstring

Responses

  • 201Default Response

    Response fields and example
    JSON
    {}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/cards/<id>/files' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Download a card file

GET/cards/{id}/files/{fileId}/content

Imagem (png, jpeg, gif, webp) e PDF abrem como estão, desde que a extensão do nome combine com o tipo; qualquer outro tipo vem como application/octet-stream com Content-Disposition: attachment, e o tipo gravado no upload fica em card.files[].contentType.

Files outside that list — including HTML, SVG and XML — are never served inline. A type inside the list is served normalized (image/jpg becomes image/jpeg). Every response carries X-Content-Type-Options: nosniff and a restrictive Content-Security-Policy.

Parameters

FieldInTypeDescription
idrequiredpathstring
fileIdrequiredpathstring

Responses

  • 200O arquivo. Imagem (png, jpeg, gif, webp) e PDF com a extensão do nome certa saem com o tipo próprio; qualquer outro tipo sai como application/octet-stream com Content-Disposition: attachment. O tipo gravado no upload fica em card.files[].contentType.

    Response fields and example
    JSON
    null
  • 404Arquivo ou card não encontrado.

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl 'https://api.messages.ccxcompany.co/cards/<id>/files/<fileId>/content' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Reorder cards within a stage

POST/stages/{stageId}/cards/reorder

Parameters

FieldInTypeDescription
stageIdrequiredpathstring

Responses

  • 200Default Response

    Response fields and example
    JSON
    [  {}]
  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 404RFC 7807 problem details for NOT_FOUND (404).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes

curl example

cURL
curl -X POST 'https://api.messages.ccxcompany.co/stages/<stageId>/cards/reorder' \  -H "Authorization: Bearer $CCX_API_KEY"
Required fields only. Swap the sample values for your own.

Stuck on a route? Talk to the people who run the API.

Sign up through the site and get a US$5 test credit.