Pular para o conteúdo

Busca um ticket pelo id

GET
/v1/tickets/{id}
Code sample: Shell / cURL
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.

id
required
integer format: int64

ID do ticket

Exemplo
1
fields
string

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,subject
expand
string

Objetos 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,agent

O ticket

Media typeapplication/json
object
agentId

ID do agente responsável pelo ticket; null se não atribuído.

integer format: int64
nullable
answered

Indica se o ticket já foi respondido ao menos uma vez.

boolean
nullable
assetId

ID do ativo vinculado ao ticket; null se não vinculado a um ativo.

integer format: int64
nullable
businessUnitId

ID da unidade de negócio do cliente; null se o ticket não está vinculado a uma unidade.

integer format: int64
nullable
categoryId

ID da categoria do ticket; null se não categorizado.

integer format: int64
nullable
closedAt

Data e hora do fechamento do ticket, em UTC; null se ainda não fechado.

string format: date-time
nullable
code

Número do ticket, visível ao agente e ao cliente (diferente do id).

integer format: int64
nullable
contactId

ID do contato que abriu ou representa o ticket; null se não houver contato.

integer format: int64
nullable
createdAt

Data e hora de criação do ticket, em UTC.

string format: date-time
nullable
createdById

ID do usuário que criou o ticket; null se criado sem um usuário (ex.: por e-mail).

integer format: int64
nullable
customFields

Valores dos campos personalizados do ticket. Só entra um item por campo com valor preenchido; campo sem valor não aparece na lista.

Array<object>
nullable

Valor de um campo personalizado do ticket.

object
id

ID do campo personalizado.

integer format: int64
name

Nome do campo personalizado.

string
nullable
type

Tipo do campo personalizado — governa o formato de value.

string
nullable
Allowed values: TEXT INTEGER DECIMAL TEXT_AREA CHECKBOX DROPDOWN DATETIME
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
customerId

ID do cliente do ticket; null se não vinculado a um cliente.

integer format: int64
nullable
deleted

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.

boolean
nullable
deletedAt

Data e hora da exclusão do ticket, em UTC; null se não excluído.

string format: date-time
nullable
description

Descrição da abertura do ticket.

string
nullable
followUpOfId

ID do ticket original, quando este é um desdobramento (follow-up); null caso contrário.

integer format: int64
nullable
id

Identificador interno do ticket.

integer format: int64
lastActivityAt

Ú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.

string format: date-time
nullable
mergedIntoId

ID do ticket no qual este foi mesclado; null se não foi mesclado.

integer format: int64
nullable
origin

Canal de origem do ticket (e-mail, portal, telefone etc.).

string
nullable
Allowed values: EMAIL RMM MSP_TALKS INTERNAL PORTAL EXTERNAL_FORM API
priority

Prioridade do ticket.

string
nullable
Allowed values: PLANNED LOW MEDIUM HIGH CRITICAL
reopened

Indica se o ticket já foi reaberto.

boolean
nullable
respondedAt

Data e hora da primeira resposta ao ticket, em UTC; null se ainda não respondido.

string format: date-time
nullable
serviceCatalogId

ID do serviço do catálogo vinculado ao ticket; null se não vinculado.

integer format: int64
nullable
serviceGroupId

ID do grupo de atendimento do ticket; null se não vinculado a um grupo.

integer format: int64
nullable
slaResponseDueAt

Prazo do SLA de resposta, em UTC; null se o ticket não tem SLA de resposta.

string format: date-time
nullable
slaResponseStatus

Status do SLA de resposta; null se o ticket não tem SLA de resposta.

string
nullable
Allowed values: WITHOUT WITHIN APPROACHING_BREACH BREACHED FULLFILLED PAUSED
slaSolutionDueAt

Prazo do SLA de solução, em UTC; null se o ticket não tem SLA de solução.

string format: date-time
nullable
slaSolutionStatus

Status do SLA de solução; null se o ticket não tem SLA de solução.

string
nullable
Allowed values: WITHOUT WITHIN APPROACHING_BREACH BREACHED FULLFILLED PAUSED
solvedAt

Data e hora da solução do ticket, em UTC; null se ainda não solucionado.

string format: date-time
nullable
stageId

ID da etapa atual do ticket dentro do fluxo; null se o ticket não estiver em um fluxo.

integer format: int64
nullable
status

Status atual do ticket.

string
nullable
Allowed values: TO_DO IN_PROGRESS PENDING COMPLETED CLOSED DELETED
subcategoryId

ID da subcategoria do ticket; null se não vinculado a uma subcategoria.

integer format: int64
nullable
subject

Assunto do ticket.

string
nullable
tagIds

IDs das tags aplicadas ao ticket.

Array<integer>
nullable
ticketTypeId

ID do tipo do ticket; null se não definido.

integer format: int64
nullable
updatedAt

Data e hora da última atualização da linha do ticket, em UTC.

string format: date-time
nullable
workflowId

ID do fluxo de trabalho aplicado ao ticket; null se nenhum fluxo estiver aplicado.

integer format: int64
nullable
agent
object
email

E-mail do agente.

string
nullable
id

ID do agente.

integer format: int64
name

Nome e sobrenome do agente.

string
nullable
contact
object
email

E-mail do contato; null se não cadastrado.

string
nullable
id

ID do contato.

integer format: int64
name

Nome do contato.

string
nullable
customer
object
fantasyName

Nome fantasia do cliente; null se não cadastrado.

string
nullable
id

ID do cliente.

integer format: int64
name

Razão social do cliente.

string
nullable
serviceGroup
object
id

ID do grupo de serviço.

integer format: int64
name

Nome do grupo de serviço.

string
nullable
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
}
RateLimit-Limit
integer format: int32

Capacidade do balde mais restritivo consumido nesta requisição

RateLimit-Remaining
integer format: int32

Requisições restantes nesse balde

RateLimit-Reset
integer format: int32

Segundos até o balde encher de novo

Requisição malformada ou parâmetros de consulta inválidos

Media typeapplication/problem+json

Erro no formato RFC 9457 (application/problem+json).

object
code
required

Código estável do erro, para tratamento programático.

string
detail
required

Explicação legível deste erro específico.

string
errors

Erros de campo — presente quando a falha vem de validação de campo.

Array<object>
object
code

Código estável do erro de campo.

string
Allowed values: required too_long too_short invalid_value invalid_format unknown_field unsupported_operator unsupported_field out_of_range not_found inactive inconsistent_reference not_applicable
field

Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.

string
nullable
message

Mensagem traduzida no locale da requisição.

string
layer

Presente só no 429

string
Allowed values: ip company key operation concurrency
operation

Presente só quando layer=operation

string
Allowed values: report pdf upload
requestId

Identificador da requisição — informe-o ao suporte ao reportar um erro.

string
requiredScope

Presente só no 403 insufficient_scope

string
status
required

Status HTTP da resposta.

integer format: int32
title
required

Título curto e legível do erro.

string
type
required

URI que identifica o tipo do erro.

string
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"
}
RateLimit-Limit
integer format: int32

Capacidade do balde mais restritivo consumido nesta requisição

RateLimit-Remaining
integer format: int32

Requisições restantes nesse balde

RateLimit-Reset
integer format: int32

Segundos até o balde encher de novo

Chave de API ausente, inválida, revogada ou expirada

Media typeapplication/problem+json

Erro no formato RFC 9457 (application/problem+json).

object
code
required

Código estável do erro, para tratamento programático.

string
detail
required

Explicação legível deste erro específico.

string
errors

Erros de campo — presente quando a falha vem de validação de campo.

Array<object>
object
code

Código estável do erro de campo.

string
Allowed values: required too_long too_short invalid_value invalid_format unknown_field unsupported_operator unsupported_field out_of_range not_found inactive inconsistent_reference not_applicable
field

Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.

string
nullable
message

Mensagem traduzida no locale da requisição.

string
layer

Presente só no 429

string
Allowed values: ip company key operation concurrency
operation

Presente só quando layer=operation

string
Allowed values: report pdf upload
requestId

Identificador da requisição — informe-o ao suporte ao reportar um erro.

string
requiredScope

Presente só no 403 insufficient_scope

string
status
required

Status HTTP da resposta.

integer format: int32
title
required

Título curto e legível do erro.

string
type
required

URI que identifica o tipo do erro.

string
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)

Media typeapplication/problem+json

Erro no formato RFC 9457 (application/problem+json).

object
code
required

Código estável do erro, para tratamento programático.

string
detail
required

Explicação legível deste erro específico.

string
errors

Erros de campo — presente quando a falha vem de validação de campo.

Array<object>
object
code

Código estável do erro de campo.

string
Allowed values: required too_long too_short invalid_value invalid_format unknown_field unsupported_operator unsupported_field out_of_range not_found inactive inconsistent_reference not_applicable
field

Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.

string
nullable
message

Mensagem traduzida no locale da requisição.

string
layer

Presente só no 429

string
Allowed values: ip company key operation concurrency
operation

Presente só quando layer=operation

string
Allowed values: report pdf upload
requestId

Identificador da requisição — informe-o ao suporte ao reportar um erro.

string
requiredScope

Presente só no 403 insufficient_scope

string
status
required

Status HTTP da resposta.

integer format: int32
title
required

Título curto e legível do erro.

string
type
required

URI que identifica o tipo do erro.

string
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"
}
RateLimit-Limit
integer format: int32

Capacidade do balde mais restritivo consumido nesta requisição

RateLimit-Remaining
integer format: int32

Requisições restantes nesse balde

RateLimit-Reset
integer format: int32

Segundos até o balde encher de novo

Recurso inexistente, de outra empresa, ou rota inexistente

Media typeapplication/problem+json

Erro no formato RFC 9457 (application/problem+json).

object
code
required

Código estável do erro, para tratamento programático.

string
detail
required

Explicação legível deste erro específico.

string
errors

Erros de campo — presente quando a falha vem de validação de campo.

Array<object>
object
code

Código estável do erro de campo.

string
Allowed values: required too_long too_short invalid_value invalid_format unknown_field unsupported_operator unsupported_field out_of_range not_found inactive inconsistent_reference not_applicable
field

Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.

string
nullable
message

Mensagem traduzida no locale da requisição.

string
layer

Presente só no 429

string
Allowed values: ip company key operation concurrency
operation

Presente só quando layer=operation

string
Allowed values: report pdf upload
requestId

Identificador da requisição — informe-o ao suporte ao reportar um erro.

string
requiredScope

Presente só no 403 insufficient_scope

string
status
required

Status HTTP da resposta.

integer format: int32
title
required

Título curto e legível do erro.

string
type
required

URI que identifica o tipo do erro.

string
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"
}
RateLimit-Limit
integer format: int32

Capacidade do balde mais restritivo consumido nesta requisição

RateLimit-Remaining
integer format: int32

Requisições restantes nesse balde

RateLimit-Reset
integer format: int32

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

Media typeapplication/problem+json

Erro no formato RFC 9457 (application/problem+json).

object
code
required

Código estável do erro, para tratamento programático.

string
detail
required

Explicação legível deste erro específico.

string
errors

Erros de campo — presente quando a falha vem de validação de campo.

Array<object>
object
code

Código estável do erro de campo.

string
Allowed values: required too_long too_short invalid_value invalid_format unknown_field unsupported_operator unsupported_field out_of_range not_found inactive inconsistent_reference not_applicable
field

Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.

string
nullable
message

Mensagem traduzida no locale da requisição.

string
layer

Presente só no 429

string
Allowed values: ip company key operation concurrency
operation

Presente só quando layer=operation

string
Allowed values: report pdf upload
requestId

Identificador da requisição — informe-o ao suporte ao reportar um erro.

string
requiredScope

Presente só no 403 insufficient_scope

string
status
required

Status HTTP da resposta.

integer format: int32
title
required

Título curto e legível do erro.

string
type
required

URI que identifica o tipo do erro.

string
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"
}
RateLimit-Limit
integer format: int32

Capacidade do balde mais restritivo consumido nesta requisição

RateLimit-Remaining
integer format: int32

Requisições restantes nesse balde

RateLimit-Reset
integer format: int32

Segundos até o balde encher de novo

Retry-After
integer format: int32

Segundos até poder repetir

Erro interno inesperado

Media typeapplication/problem+json

Erro no formato RFC 9457 (application/problem+json).

object
code
required

Código estável do erro, para tratamento programático.

string
detail
required

Explicação legível deste erro específico.

string
errors

Erros de campo — presente quando a falha vem de validação de campo.

Array<object>
object
code

Código estável do erro de campo.

string
Allowed values: required too_long too_short invalid_value invalid_format unknown_field unsupported_operator unsupported_field out_of_range not_found inactive inconsistent_reference not_applicable
field

Campo com erro, em notação de ponto/colchete. Ausente quando o erro não é de um campo específico.

string
nullable
message

Mensagem traduzida no locale da requisição.

string
layer

Presente só no 429

string
Allowed values: ip company key operation concurrency
operation

Presente só quando layer=operation

string
Allowed values: report pdf upload
requestId

Identificador da requisição — informe-o ao suporte ao reportar um erro.

string
requiredScope

Presente só no 403 insufficient_scope

string
status
required

Status HTTP da resposta.

integer format: int32
title
required

Título curto e legível do erro.

string
type
required

URI que identifica o tipo do erro.

string
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"
}
RateLimit-Limit
integer format: int32

Capacidade do balde mais restritivo consumido nesta requisição

RateLimit-Remaining
integer format: int32

Requisições restantes nesse balde

RateLimit-Reset
integer format: int32

Segundos até o balde encher de novo