Busca um ticket pelo id
curl --request GET \ --url 'https://public-api.mspdesk.com.br/v1/tickets/1?fields=id%2Ccode%2Csubject&expand=customer%2Cagent' \ --header 'Authorization: Bearer <token>'Escopo exigido: tickets:read. Devolve 404 not_found para ticket inexistente ou de outra empresa. Ticket excluído não é escondido: volta com deleted: true, para que uma integração de sincronização também enxergue exclusões.
Autorizações
Seção intitulada “Authorizations”Parâmetros
Seção intitulada “Parameters”Parâmetros de caminho
Seção intitulada “Path Parameters”ID do ticket
Exemplo
1Parâmetros de consulta
Seção intitulada “Query Parameters”Campos de primeiro nível a retornar, separados por vírgula (id sempre volta): id, code, subject, description, status, priority, origin, answered, reopened, deleted, createdAt, updatedAt, lastActivityAt, respondedAt, solvedAt, closedAt, deletedAt, slaResponseStatus, slaSolutionStatus, slaResponseDueAt, slaSolutionDueAt, customerId, businessUnitId, contactId, agentId, serviceGroupId, serviceCatalogId, categoryId, subcategoryId, ticketTypeId, assetId, workflowId, stageId, createdById, followUpOfId, mergedIntoId, tagIds, customFields.
Exemplo
id,code,subjectObjetos a acrescentar à resposta, separados por vírgula, até 3 por requisição: customer (escopo customers:read), contact (escopo contacts:read), agent (escopo agents:read), serviceGroup (escopo settings:read). Sem o escopo exigido de algum item pedido: 403 insufficient_scope.
Exemplo
customer,agentRespostas
Seção intitulada “Responses”O ticket
object
ID do agente responsável pelo ticket; null se não atribuído.
Indica se o ticket já foi respondido ao menos uma vez.
ID do ativo vinculado ao ticket; null se não vinculado a um ativo.
ID da unidade de negócio do cliente; null se o ticket não está vinculado a uma unidade.
ID da categoria do ticket; null se não categorizado.
Data e hora do fechamento do ticket, em UTC; null se ainda não fechado.
Número do ticket, visível ao agente e ao cliente (diferente do id).
ID do contato que abriu ou representa o ticket; null se não houver contato.
Data e hora de criação do ticket, em UTC.
ID do usuário que criou o ticket; null se criado sem um usuário (ex.: por e-mail).
Valores dos campos personalizados do ticket. Só entra um item por campo com valor preenchido; campo sem valor não aparece na lista.
Valor de um campo personalizado do ticket.
object
ID do campo personalizado.
Nome do campo personalizado.
Tipo do campo personalizado — governa o formato de value.
Valor do campo, no formato do tipo (type):
| Tipo | Formato de value |
|---|---|
TEXT, TEXT_AREA |
string |
INTEGER |
integer |
DECIMAL |
number |
DATETIME |
string date-time, com o offset da empresa no instante do valor |
CHECKBOX |
boolean |
DROPDOWN |
objeto {id, label} da opção selecionada; {id: null, label: <valor gravado>} quando a opção não existe mais |
object
ID do cliente do ticket; null se não vinculado a um cliente.
Indica se o ticket foi excluído. Sem filter[deleted][eq], a listagem só traz false; GET /v1/tickets/{id} devolve também o excluído, com deleted: true.
Data e hora da exclusão do ticket, em UTC; null se não excluído.
Descrição da abertura do ticket.
ID do ticket original, quando este é um desdobramento (follow-up); null caso contrário.
Identificador interno do ticket.
Última atividade no ticket: mudança na linha do ticket ou escrita em nota, resposta, encaminhamento, apontamento, tarefa, item faturável, anexo, seguidor, conversa do MSP Talks, pausa de SLA, campo personalizado ou tags. Precisão de segundo. Pode vir nulo por alguns milissegundos logo após a criação do ticket.
ID do ticket no qual este foi mesclado; null se não foi mesclado.
Canal de origem do ticket (e-mail, portal, telefone etc.).
Prioridade do ticket.
Indica se o ticket já foi reaberto.
Data e hora da primeira resposta ao ticket, em UTC; null se ainda não respondido.
ID do serviço do catálogo vinculado ao ticket; null se não vinculado.
ID do grupo de atendimento do ticket; null se não vinculado a um grupo.
Prazo do SLA de resposta, em UTC; null se o ticket não tem SLA de resposta.
Status do SLA de resposta; null se o ticket não tem SLA de resposta.
Prazo do SLA de solução, em UTC; null se o ticket não tem SLA de solução.
Status do SLA de solução; null se o ticket não tem SLA de solução.
Data e hora da solução do ticket, em UTC; null se ainda não solucionado.
ID da etapa atual do ticket dentro do fluxo; null se o ticket não estiver em um fluxo.
Status atual do ticket.
ID da subcategoria do ticket; null se não vinculado a uma subcategoria.
Assunto do ticket.
IDs das tags aplicadas ao ticket.
ID do tipo do ticket; null se não definido.
Data e hora da última atualização da linha do ticket, em UTC.
ID do fluxo de trabalho aplicado ao ticket; null se nenhum fluxo estiver aplicado.
object
E-mail do agente.
ID do agente.
Nome e sobrenome do agente.
object
E-mail do contato; null se não cadastrado.
ID do contato.
Nome do contato.
object
Nome fantasia do cliente; null se não cadastrado.
ID do cliente.
Razão social do cliente.
object
ID do grupo de serviço.
Nome do grupo de serviço.
Exemplo
{ "agent": { "email": "ana.souza@exemplo.com.br", "id": 42, "name": "Ana Souza" }, "agentId": 42, "answered": true, "assetId": 310, "businessUnitId": 3, "categoryId": 6, "closedAt": null, "code": 18342, "contact": { "email": "beatriz.lima@acme.com.br", "id": 88, "name": "Beatriz Lima" }, "contactId": 88, "createdAt": "2026-01-10T12:00:00Z", "createdById": null, "customFields": [ { "id": 12, "name": "Patrimônio", "type": "TEXT", "value": "PAT-00731" } ], "customer": { "fantasyName": "Acme", "id": 15, "name": "Acme Indústria e Comércio Ltda." }, "customerId": 15, "deleted": false, "deletedAt": null, "description": "<p>A impressora do financeiro não aparece na rede desde a troca do roteador.</p>", "followUpOfId": null, "id": 1042, "lastActivityAt": "2026-01-10T14:05:00Z", "mergedIntoId": null, "origin": "EMAIL", "priority": "HIGH", "reopened": false, "respondedAt": "2026-01-10T12:40:00Z", "serviceCatalogId": 9, "serviceGroupId": 4, "slaResponseDueAt": "2026-01-10T13:00:00Z", "slaResponseStatus": "FULLFILLED", "slaSolutionDueAt": "2026-01-10T20:00:00Z", "slaSolutionStatus": "WITHIN", "solvedAt": null, "stageId": 12, "status": "IN_PROGRESS", "subcategoryId": 21, "subject": "Impressora sem conexão", "tagIds": [ 1 ], "ticketTypeId": 2, "updatedAt": "2026-01-10T14:05:00Z", "workflowId": 5}Cabeçalhos
Seção intitulada “Headers”Capacidade do balde mais restritivo consumido nesta requisição
Requisições restantes nesse balde
Segundos até o balde encher de novo
Requisição malformada ou parâmetros de consulta inválidos
Erro no formato RFC 9457 (application/problem+json).
object
Código estável do erro, para tratamento programático.
Explicação legível deste erro específico.
Erros de campo — presente quando a falha vem de validação de campo.
object
Código estável do erro de campo.
Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.
Mensagem traduzida no locale da requisição.
Presente só no 429
Presente só quando layer=operation
Identificador da requisição — informe-o ao suporte ao reportar um erro.
Presente só no 403 insufficient_scope
Status HTTP da resposta.
Título curto e legível do erro.
URI que identifica o tipo do erro.
Exemplo
{ "code": "not_found", "detail": "O recurso solicitado não foi encontrado.", "errors": [ { "code": "required" } ], "layer": "ip", "operation": "report", "requestId": "7f3a9c2e-4b1d-4f7a-9e0c-2b8d6a1f3c55", "status": 404, "title": "Recurso não encontrado", "type": "https://developers.mspdesk.com.br/erros/#not_found"}Cabeçalhos
Seção intitulada “Headers”Capacidade do balde mais restritivo consumido nesta requisição
Requisições restantes nesse balde
Segundos até o balde encher de novo
Chave de API ausente, inválida, revogada ou expirada
Erro no formato RFC 9457 (application/problem+json).
object
Código estável do erro, para tratamento programático.
Explicação legível deste erro específico.
Erros de campo — presente quando a falha vem de validação de campo.
object
Código estável do erro de campo.
Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.
Mensagem traduzida no locale da requisição.
Presente só no 429
Presente só quando layer=operation
Identificador da requisição — informe-o ao suporte ao reportar um erro.
Presente só no 403 insufficient_scope
Status HTTP da resposta.
Título curto e legível do erro.
URI que identifica o tipo do erro.
Exemplo
{ "code": "not_found", "detail": "O recurso solicitado não foi encontrado.", "errors": [ { "code": "required" } ], "layer": "ip", "operation": "report", "requestId": "7f3a9c2e-4b1d-4f7a-9e0c-2b8d6a1f3c55", "status": 404, "title": "Recurso não encontrado", "type": "https://developers.mspdesk.com.br/erros/#not_found"}Acesso negado: empresa inativa (account_inactive), API pública desabilitada para a empresa (public_api_disabled), escopo liberado só com a API pública (scope_requires_public_api) ou escopo insuficiente (insufficient_scope)
Erro no formato RFC 9457 (application/problem+json).
object
Código estável do erro, para tratamento programático.
Explicação legível deste erro específico.
Erros de campo — presente quando a falha vem de validação de campo.
object
Código estável do erro de campo.
Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.
Mensagem traduzida no locale da requisição.
Presente só no 429
Presente só quando layer=operation
Identificador da requisição — informe-o ao suporte ao reportar um erro.
Presente só no 403 insufficient_scope
Status HTTP da resposta.
Título curto e legível do erro.
URI que identifica o tipo do erro.
Exemplo
{ "code": "not_found", "detail": "O recurso solicitado não foi encontrado.", "errors": [ { "code": "required" } ], "layer": "ip", "operation": "report", "requestId": "7f3a9c2e-4b1d-4f7a-9e0c-2b8d6a1f3c55", "status": 404, "title": "Recurso não encontrado", "type": "https://developers.mspdesk.com.br/erros/#not_found"}Cabeçalhos
Seção intitulada “Headers”Capacidade do balde mais restritivo consumido nesta requisição
Requisições restantes nesse balde
Segundos até o balde encher de novo
Recurso inexistente, de outra empresa, ou rota inexistente
Erro no formato RFC 9457 (application/problem+json).
object
Código estável do erro, para tratamento programático.
Explicação legível deste erro específico.
Erros de campo — presente quando a falha vem de validação de campo.
object
Código estável do erro de campo.
Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.
Mensagem traduzida no locale da requisição.
Presente só no 429
Presente só quando layer=operation
Identificador da requisição — informe-o ao suporte ao reportar um erro.
Presente só no 403 insufficient_scope
Status HTTP da resposta.
Título curto e legível do erro.
URI que identifica o tipo do erro.
Exemplo
{ "code": "not_found", "detail": "O recurso solicitado não foi encontrado.", "errors": [ { "code": "required" } ], "layer": "ip", "operation": "report", "requestId": "7f3a9c2e-4b1d-4f7a-9e0c-2b8d6a1f3c55", "status": 404, "title": "Recurso não encontrado", "type": "https://developers.mspdesk.com.br/erros/#not_found"}Cabeçalhos
Seção intitulada “Headers”Capacidade do balde mais restritivo consumido nesta requisição
Requisições restantes nesse balde
Segundos até o balde encher de novo
Limite de uso atingido (rate_limited); o campo layer indica a camada: ip, company, key, operation ou concurrency
Erro no formato RFC 9457 (application/problem+json).
object
Código estável do erro, para tratamento programático.
Explicação legível deste erro específico.
Erros de campo — presente quando a falha vem de validação de campo.
object
Código estável do erro de campo.
Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.
Mensagem traduzida no locale da requisição.
Presente só no 429
Presente só quando layer=operation
Identificador da requisição — informe-o ao suporte ao reportar um erro.
Presente só no 403 insufficient_scope
Status HTTP da resposta.
Título curto e legível do erro.
URI que identifica o tipo do erro.
Exemplo
{ "code": "not_found", "detail": "O recurso solicitado não foi encontrado.", "errors": [ { "code": "required" } ], "layer": "ip", "operation": "report", "requestId": "7f3a9c2e-4b1d-4f7a-9e0c-2b8d6a1f3c55", "status": 404, "title": "Recurso não encontrado", "type": "https://developers.mspdesk.com.br/erros/#not_found"}Cabeçalhos
Seção intitulada “Headers”Capacidade do balde mais restritivo consumido nesta requisição
Requisições restantes nesse balde
Segundos até o balde encher de novo
Segundos até poder repetir
Erro interno inesperado
Erro no formato RFC 9457 (application/problem+json).
object
Código estável do erro, para tratamento programático.
Explicação legível deste erro específico.
Erros de campo — presente quando a falha vem de validação de campo.
object
Código estável do erro de campo.
Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.
Mensagem traduzida no locale da requisição.
Presente só no 429
Presente só quando layer=operation
Identificador da requisição — informe-o ao suporte ao reportar um erro.
Presente só no 403 insufficient_scope
Status HTTP da resposta.
Título curto e legível do erro.
URI que identifica o tipo do erro.
Exemplo
{ "code": "not_found", "detail": "O recurso solicitado não foi encontrado.", "errors": [ { "code": "required" } ], "layer": "ip", "operation": "report", "requestId": "7f3a9c2e-4b1d-4f7a-9e0c-2b8d6a1f3c55", "status": 404, "title": "Recurso não encontrado", "type": "https://developers.mspdesk.com.br/erros/#not_found"}Cabeçalhos
Seção intitulada “Headers”Capacidade do balde mais restritivo consumido nesta requisição
Requisições restantes nesse balde
Segundos até o balde encher de novo