Pular para o conteúdo

Lista os tickets da empresa da chave

GET
/v1/tickets
Code sample: Shell / cURL
curl --request GET \
--url 'https://public-api.mspdesk.com.br/v1/tickets?filter%5Bid%5D%5Bin%5D=1%2C2%2C3&filter%5Bcode%5D%5Bin%5D=1%2C2%2C3&filter%5Bpriority%5D%5Beq%5D=PLANNED&filter%5Bpriority%5D%5Bin%5D=PLANNED%2CLOW%2CMEDIUM%2CHIGH%2CCRITICAL&filter%5Bpriority%5D%5Bnin%5D=PLANNED%2CLOW%2CMEDIUM%2CHIGH%2CCRITICAL&filter%5Bstatus%5D%5Beq%5D=TO_DO&filter%5Bstatus%5D%5Bin%5D=TO_DO%2CIN_PROGRESS%2CPENDING%2CCOMPLETED%2CCLOSED%2CDELETED&filter%5Bstatus%5D%5Bnin%5D=TO_DO%2CIN_PROGRESS%2CPENDING%2CCOMPLETED%2CCLOSED%2CDELETED&filter%5Borigin%5D%5Beq%5D=EMAIL&filter%5Borigin%5D%5Bin%5D=EMAIL%2CRMM%2CMSP_TALKS%2CINTERNAL%2CPORTAL%2CEXTERNAL_FORM%2CAPI&filter%5Borigin%5D%5Bnin%5D=EMAIL%2CRMM%2CMSP_TALKS%2CINTERNAL%2CPORTAL%2CEXTERNAL_FORM%2CAPI&filter%5BserviceType%5D%5Beq%5D=INTERNAL&filter%5BserviceType%5D%5Bin%5D=INTERNAL%2CEXTERNAL&filter%5BserviceType%5D%5Bnin%5D=INTERNAL%2CEXTERNAL&filter%5BcustomerId%5D%5Bin%5D=1%2C2%2C3&filter%5BcustomerId%5D%5Bnin%5D=1%2C2%2C3&filter%5BbusinessUnitId%5D%5Bin%5D=1%2C2%2C3&filter%5BbusinessUnitId%5D%5Bnin%5D=1%2C2%2C3&filter%5BserviceCatalogId%5D%5Bin%5D=1%2C2%2C3&filter%5BserviceCatalogId%5D%5Bnin%5D=1%2C2%2C3&filter%5BcategoryId%5D%5Bin%5D=1%2C2%2C3&filter%5BcategoryId%5D%5Bnin%5D=1%2C2%2C3&filter%5BsubcategoryId%5D%5Bin%5D=1%2C2%2C3&filter%5BsubcategoryId%5D%5Bnin%5D=1%2C2%2C3&filter%5BagentId%5D%5Bin%5D=1%2C2%2C3&filter%5BagentId%5D%5Bnin%5D=1%2C2%2C3&filter%5BserviceGroupId%5D%5Bin%5D=1%2C2%2C3&filter%5BserviceGroupId%5D%5Bnin%5D=1%2C2%2C3&filter%5BcontactId%5D%5Bin%5D=1%2C2%2C3&filter%5BcontactId%5D%5Bnin%5D=1%2C2%2C3&filter%5BticketTypeId%5D%5Bin%5D=1%2C2%2C3&filter%5BticketTypeId%5D%5Bnin%5D=1%2C2%2C3&filter%5BtagId%5D%5Bin%5D=1%2C2%2C3&filter%5BtagId%5D%5Bnin%5D=1%2C2%2C3&filter%5BslaResponseStatus%5D%5Beq%5D=WITHOUT&filter%5BslaResponseStatus%5D%5Bin%5D=WITHOUT%2CWITHIN%2CAPPROACHING_BREACH%2CBREACHED%2CFULLFILLED%2CPAUSED&filter%5BslaSolutionStatus%5D%5Beq%5D=WITHOUT&filter%5BslaSolutionStatus%5D%5Bin%5D=WITHOUT%2CWITHIN%2CAPPROACHING_BREACH%2CBREACHED%2CFULLFILLED%2CPAUSED&filter%5BslaStatusAny%5D%5Beq%5D=WITHOUT&filter%5BslaStatusAny%5D%5Bin%5D=WITHOUT%2CWITHIN%2CAPPROACHING_BREACH%2CBREACHED%2CFULLFILLED%2CPAUSED&filter%5BstageId%5D%5Bin%5D=1%2C2%2C3&filter%5BworkflowId%5D%5Bin%5D=1%2C2%2C3&limit=25&sort=-createdAt&fields=id%2Ccode%2Csubject&expand=customer%2Cagent' \
--header 'Authorization: Bearer <token>'

Escopo exigido: tickets:read. Paginação por cursor opaco (?cursor=), nunca por página/offset — use nextCursor da resposta anterior. Sem filter[deleted][eq], a listagem só traz tickets não excluídos (deleted=false); com o filtro, vale o valor pedido.

filter[customerId][..] casa todos os tickets do cliente informado, com ou sem unidade de negócio — diferente da tela do produto, que ali entende “cliente” como “deste cliente e sem unidade”. Quem quer só os sem unidade soma filter[businessUnitId][isNull]=true. O mesmo vale para serviceGroupId: aqui o filtro olha só a coluna, sem a regra de “do usuário ou sem grupo” que a tela aplica.

ne e nin incluem os registros sem valor — filter[agentId][nin]=5 também traz os tickets sem agente. Quem quer só os preenchidos soma filter[<campo>][isNull]=false.

Campo personalizado: filter[customFields.<id>][<operador>], com o operador de acordo com o tipo do campo:

Tipo do campo Operadores Exemplo
Texto / Área de texto contains, eq, isNull filter[customFields.12][contains]=urgente
Número inteiro eq, gt, gte, lt, lte, isNull filter[customFields.12][gte]=10
Número decimal eq, gt, gte, lt, lte, isNull filter[customFields.12][lte]=9.5
Data/hora gte, lte, isNull filter[customFields.12][gte]=2026-01-01T00:00:00-03:00
Lista suspensa (id da opção) eq, in filter[customFields.12][in]=3,4
Caixa de seleção eq filter[customFields.12][eq]=true

O campo personalizado de data/hora é gravado na hora local da empresa: o filtro converte o instante ISO-8601 informado (sempre com fuso) para o fuso da empresa antes de comparar, e a representação devolve o valor com o offset da empresa naquele instante.

Para sincronizar “o que mudou desde a última consulta”, use sort=lastActivityAt com filter[lastActivityAt][gte]=<último valor visto menos 5 minutos>, e deduplique pelo par id + lastActivityAt — um ticket relido com o mesmo par já foi processado. A margem de 5 minutos é necessária porque o carimbo é gravado de forma assíncrona, pouco depois da confirmação da escrita: sem ela, um ticket cujo carimbo demore mais para ser gravado pode nunca aparecer numa consulta seguinte. A precisão é de segundo, então mais de um ticket pode compartilhar o mesmo instante.

filter[id][eq]
integer format: int64

Filtra por id igual ao valor informado.

filter[id][in]
string
Exemplo
1,2,3

Filtra por id igual a um dos valores informados, separados por vírgula (até 100).

filter[code][eq]
integer format: int64

Filtra por code igual ao valor informado.

filter[code][in]
string
Exemplo
1,2,3

Filtra por code igual a um dos valores informados, separados por vírgula (até 100).

filter[subject][contains]
string

Filtra por subject contendo o texto informado (sem diferenciar maiúsculas de minúsculas, conforme a colação do banco).

filter[priority][eq]
string
Allowed values: PLANNED LOW MEDIUM HIGH CRITICAL

Filtra por priority igual ao valor informado.

filter[priority][in]
string
Exemplo
PLANNED,LOW,MEDIUM,HIGH,CRITICAL

Filtra por priority igual a um dos valores informados, separados por vírgula (até 100).

filter[priority][nin]
string
Exemplo
PLANNED,LOW,MEDIUM,HIGH,CRITICAL

Filtra por priority diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[status][eq]
string
Allowed values: TO_DO IN_PROGRESS PENDING COMPLETED CLOSED DELETED

Filtra por status igual ao valor informado.

filter[status][in]
string
Exemplo
TO_DO,IN_PROGRESS,PENDING,COMPLETED,CLOSED,DELETED

Filtra por status igual a um dos valores informados, separados por vírgula (até 100).

filter[status][nin]
string
Exemplo
TO_DO,IN_PROGRESS,PENDING,COMPLETED,CLOSED,DELETED

Filtra por status diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[origin][eq]
string
Allowed values: EMAIL RMM MSP_TALKS INTERNAL PORTAL EXTERNAL_FORM API

Filtra por origin igual ao valor informado.

filter[origin][in]
string
Exemplo
EMAIL,RMM,MSP_TALKS,INTERNAL,PORTAL,EXTERNAL_FORM,API

Filtra por origin igual a um dos valores informados, separados por vírgula (até 100).

filter[origin][nin]
string
Exemplo
EMAIL,RMM,MSP_TALKS,INTERNAL,PORTAL,EXTERNAL_FORM,API

Filtra por origin diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[serviceType][eq]
string
Allowed values: INTERNAL EXTERNAL

Filtra por serviceType igual ao valor informado.

filter[serviceType][in]
string
Exemplo
INTERNAL,EXTERNAL

Filtra por serviceType igual a um dos valores informados, separados por vírgula (até 100).

filter[serviceType][nin]
string
Exemplo
INTERNAL,EXTERNAL

Filtra por serviceType diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[customerId][eq]
integer format: int64

Filtra por customerId igual ao valor informado.

filter[customerId][in]
string
Exemplo
1,2,3

Filtra por customerId igual a um dos valores informados, separados por vírgula (até 100).

filter[customerId][nin]
string
Exemplo
1,2,3

Filtra por customerId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[customerId][isNull]
boolean

Filtra por customerId ter ou não valor: true sem valor; false com valor.

filter[businessUnitId][eq]
integer format: int64

Filtra por businessUnitId igual ao valor informado.

filter[businessUnitId][in]
string
Exemplo
1,2,3

Filtra por businessUnitId igual a um dos valores informados, separados por vírgula (até 100).

filter[businessUnitId][nin]
string
Exemplo
1,2,3

Filtra por businessUnitId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[businessUnitId][isNull]
boolean

Filtra por businessUnitId ter ou não valor: true sem valor; false com valor.

filter[serviceCatalogId][eq]
integer format: int64

Filtra por serviceCatalogId igual ao valor informado.

filter[serviceCatalogId][in]
string
Exemplo
1,2,3

Filtra por serviceCatalogId igual a um dos valores informados, separados por vírgula (até 100).

filter[serviceCatalogId][nin]
string
Exemplo
1,2,3

Filtra por serviceCatalogId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[serviceCatalogId][isNull]
boolean

Filtra por serviceCatalogId ter ou não valor: true sem valor; false com valor.

filter[categoryId][eq]
integer format: int64

Filtra por categoryId igual ao valor informado.

filter[categoryId][in]
string
Exemplo
1,2,3

Filtra por categoryId igual a um dos valores informados, separados por vírgula (até 100).

filter[categoryId][nin]
string
Exemplo
1,2,3

Filtra por categoryId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[categoryId][isNull]
boolean

Filtra por categoryId ter ou não valor: true sem valor; false com valor.

filter[subcategoryId][eq]
integer format: int64

Filtra por subcategoryId igual ao valor informado.

filter[subcategoryId][in]
string
Exemplo
1,2,3

Filtra por subcategoryId igual a um dos valores informados, separados por vírgula (até 100).

filter[subcategoryId][nin]
string
Exemplo
1,2,3

Filtra por subcategoryId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[subcategoryId][isNull]
boolean

Filtra por subcategoryId ter ou não valor: true sem valor; false com valor.

filter[agentId][eq]
integer format: int64

Filtra por agentId igual ao valor informado.

filter[agentId][in]
string
Exemplo
1,2,3

Filtra por agentId igual a um dos valores informados, separados por vírgula (até 100).

filter[agentId][nin]
string
Exemplo
1,2,3

Filtra por agentId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[agentId][isNull]
boolean

Filtra por agentId ter ou não valor: true sem valor; false com valor.

filter[serviceGroupId][eq]
integer format: int64

Filtra por serviceGroupId igual ao valor informado.

filter[serviceGroupId][in]
string
Exemplo
1,2,3

Filtra por serviceGroupId igual a um dos valores informados, separados por vírgula (até 100).

filter[serviceGroupId][nin]
string
Exemplo
1,2,3

Filtra por serviceGroupId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[serviceGroupId][isNull]
boolean

Filtra por serviceGroupId ter ou não valor: true sem valor; false com valor.

filter[contactId][eq]
integer format: int64

Filtra por contactId igual ao valor informado.

filter[contactId][in]
string
Exemplo
1,2,3

Filtra por contactId igual a um dos valores informados, separados por vírgula (até 100).

filter[contactId][nin]
string
Exemplo
1,2,3

Filtra por contactId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[contactId][isNull]
boolean

Filtra por contactId ter ou não valor: true sem valor; false com valor.

filter[ticketTypeId][eq]
integer format: int64

Filtra por ticketTypeId igual ao valor informado.

filter[ticketTypeId][in]
string
Exemplo
1,2,3

Filtra por ticketTypeId igual a um dos valores informados, separados por vírgula (até 100).

filter[ticketTypeId][nin]
string
Exemplo
1,2,3

Filtra por ticketTypeId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[ticketTypeId][isNull]
boolean

Filtra por ticketTypeId ter ou não valor: true sem valor; false com valor.

filter[tagId][eq]
integer format: int64

Filtra por tagId igual ao valor informado.

filter[tagId][in]
string
Exemplo
1,2,3

Filtra por tagId igual a um dos valores informados, separados por vírgula (até 100).

filter[tagId][nin]
string
Exemplo
1,2,3

Filtra por tagId diferente de todos os valores informados, separados por vírgula (até 100; inclui registros sem valor).

filter[tagId][isNull]
boolean

Filtra por tagId ter ou não valor: true sem valor; false com valor.

filter[slaResponseStatus][eq]
string
Allowed values: WITHOUT WITHIN APPROACHING_BREACH BREACHED FULLFILLED PAUSED

Filtra por slaResponseStatus igual ao valor informado.

filter[slaResponseStatus][in]
string
Exemplo
WITHOUT,WITHIN,APPROACHING_BREACH,BREACHED,FULLFILLED,PAUSED

Filtra por slaResponseStatus igual a um dos valores informados, separados por vírgula (até 100).

filter[slaSolutionStatus][eq]
string
Allowed values: WITHOUT WITHIN APPROACHING_BREACH BREACHED FULLFILLED PAUSED

Filtra por slaSolutionStatus igual ao valor informado.

filter[slaSolutionStatus][in]
string
Exemplo
WITHOUT,WITHIN,APPROACHING_BREACH,BREACHED,FULLFILLED,PAUSED

Filtra por slaSolutionStatus igual a um dos valores informados, separados por vírgula (até 100).

filter[slaStatusAny][eq]
string
Allowed values: WITHOUT WITHIN APPROACHING_BREACH BREACHED FULLFILLED PAUSED

Filtra por slaStatusAny igual ao valor informado.

filter[slaStatusAny][in]
string
Exemplo
WITHOUT,WITHIN,APPROACHING_BREACH,BREACHED,FULLFILLED,PAUSED

Filtra por slaStatusAny igual a um dos valores informados, separados por vírgula (até 100).

filter[createdById][eq]
integer format: int64

Filtra por createdById igual ao valor informado.

filter[followerId][eq]
integer format: int64

Filtra por followerId igual ao valor informado.

filter[answered][eq]
boolean

Filtra por answered igual ao valor informado.

filter[deleted][eq]
boolean

Filtra por deleted igual ao valor informado.

filter[createdAt][gte]
string format: date-time

Filtra por createdAt maior ou igual ao valor informado.

filter[createdAt][lte]
string format: date-time

Filtra por createdAt menor ou igual ao valor informado.

filter[solvedAt][gte]
string format: date-time

Filtra por solvedAt maior ou igual ao valor informado.

filter[solvedAt][lte]
string format: date-time

Filtra por solvedAt menor ou igual ao valor informado.

filter[updatedAt][gte]
string format: date-time

Filtra por updatedAt maior ou igual ao valor informado.

filter[updatedAt][lte]
string format: date-time

Filtra por updatedAt menor ou igual ao valor informado.

filter[lastActivityAt][gte]
string format: date-time

Filtra por lastActivityAt maior ou igual ao valor informado.

filter[lastActivityAt][lte]
string format: date-time

Filtra por lastActivityAt menor ou igual ao valor informado.

filter[stageId][eq]
integer format: int64

Filtra por stageId igual ao valor informado.

filter[stageId][in]
string
Exemplo
1,2,3

Filtra por stageId igual a um dos valores informados, separados por vírgula (até 100).

filter[stageId][isNull]
boolean

Filtra por stageId ter ou não valor: true sem valor; false com valor.

filter[workflowId][eq]
integer format: int64

Filtra por workflowId igual ao valor informado.

filter[workflowId][in]
string
Exemplo
1,2,3

Filtra por workflowId igual a um dos valores informados, separados por vírgula (até 100).

filter[workflowId][isNull]
boolean

Filtra por workflowId ter ou não valor: true sem valor; false com valor.

limit
integer format: int32
default: 25 >= 1 <= 100

Itens por página. 1 a 100; padrão 25.

cursor
string

Cursor opaco da próxima página, devolvido em nextCursor da resposta anterior. Omita na primeira página.

sort
string

Campo de ordenação: id, code, createdAt, updatedAt, lastActivityAt (padrão id). Prefixe com - para descendente (ex.: sort=-createdAt); sempre desempatado por id na mesma direção. Tickets cujo lastActivityAt ainda não foi preenchido não aparecem em listagens ordenadas ou filtradas por lastActivityAt; a contagem (GET /v1/tickets/count) sem esse filtro os inclui normalmente, então as duas podem divergir por alguns instantes.

Exemplo
-createdAt
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

Página de tickets

Media typeapplication/json
object
data
Array<object>
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
nextCursor

Cursor opaco da próxima página; null quando não há mais páginas.

string
nullable
Exemplo
{
"data": [
{
"agentId": 42,
"answered": true,
"assetId": 310,
"businessUnitId": 3,
"categoryId": 6,
"closedAt": null,
"code": 18342,
"contactId": 88,
"createdAt": "2026-01-10T12:00:00Z",
"createdById": null,
"customFields": [
{
"id": 12,
"name": "Patrimônio",
"type": "TEXT",
"value": "PAT-00731"
}
],
"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
}
],
"nextCursor": "eyJpZCI6MTA0Mn0"
}
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

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