GET/api/budgets

Listar Orçamentos

Lista todos os orçamentos com suporte a filtros avançados e paginação. Permite filtrar por usuário criador, busca por nome/CPF/email/telefone do paciente, intervalo de datas e controle de envio para fila. Retorna os orçamentos com informações completas incluindo procedimentos, descontos e status.

Access Token

Para realizar requisições GET, POST, PUT, DELETE e PATCH nos endpoints da API você precisa de uma chave de autorização. Chamamos essa chave de accessToken.

Para ter acesso ao accessToken, é necessário que o usuário master da licença efetue a liberação deste pela interface do ImageMais Clinic. O accessToken tem validade de 1 hora.

Headers

AuthorizationOBRIGATÓRIO
Tipo:string
Token de autenticação no formato Bearer {accessToken}

Parâmetros

limitOPCIONAL
Tipo:number
Limite de orçamentos a serem retornados
createUserIdOPCIONAL
Tipo:number
ID do usuário que criou o orçamento

Este parâmetro permite filtrar os orçamentos pelo ID do usuário que os criou. Use este parâmetro quando quiser visualizar apenas os orçamentos criados por um usuário específico.

Exemplo:

?createUserId=4
Para acessar os valores do CreateUserId aperte aqui :
searchOPCIONAL
Tipo:string
Busca por nome, cpf, email ou telefone do paciente

Este parâmetro permite buscar orçamentos por nome, CPF, email ou telefone do paciente. A busca é realizada em todos esses campos simultaneamente.

Exemplos:

Buscar por CPF:

?search=000.000.000-00

O parâmetro de CPF pode ser inscrito com caracteres especiais (pontos e traço) ou sem eles. Ambos os formatos retornarão o mesmo resultado.

Buscar por nome:

?search=João Silva

O parâmetro de nome pode ser inscrito com caracteres especiais (pontos e traço) ou sem eles. Ambos os formatos retornarão o mesmo resultado.

Buscar por telefone:

?search=81993178680

O parâmetro de telefone deve ser inscrito com o prefixo da região (pontos e traço) ou sem eles. Ambos os formatos retornarão o mesmo resultado.

dateInitialOPCIONAL
Tipo:string
Data inicial da busca (formato: YYYY-MM-DD)

Este parâmetro define o intervalo de datas para a busca de orçamentos. Especifica a data inicial do período.

Formato:

?dateInitial=2025-12-01

Atenção: Se a data inicial ou a data final não estiverem no sistema, forem inválidas ou não condizentes (por exemplo, datas futuras muito distantes ou períodos sem orçamentos), a API retornará count: 0. Certifique-se de usar datas válidas no formato YYYY-MM-DD e que correspondam a períodos onde existam orçamentos cadastrados.

dateFinalOPCIONAL
Tipo:string
Filtro de data (formato: YYYY-MM-DD)

Este parâmetro define o intervalo de datas para a busca de orçamentos. Especifica a data final do período.

Formato:

?dateFinal=2025-12-01

Atenção: Se a data inicial ou a data final não estiverem no sistema, forem inválidas ou não condizentes (por exemplo, datas futuras muito distantes ou períodos sem orçamentos), a API retornará count: 0. Certifique-se de usar datas válidas no formato YYYY-MM-DD e que correspondam a períodos onde existam orçamentos cadastrados.

sendToQueueOBRIGATÓRIO
Tipo:string
Envia o orçamento para a fila de envio

Este parâmetro é obrigatório e controla se o orçamento deve ser enviado para a fila de envio. Deve ser uma string booleana ("0" ou "1").

Valores aceitos:

Não enviar para fila (0):

?sendToQueue=0

Enviar para fila (1):

?sendToQueue=1

Atenção: Se o valor não for uma string booleana válida, você receberá um erro 400 com a mensagem: "sendToQueue must be a boolean string"

cursorOPCIONAL
Tipo:string
Cursor de paginação

Request URL

https://api-dev.imagemais.com/api/budgets?limit=5&offset=1&createUserId=4&search=000.000.000-00&dateInitial=2025-11-13&dateFinal=2025-12-02&sendToQueue=0

Respostas

{
  "data": [
    {
  ...
{
  "data": [
    {
      "id": 10675,
      "discountId": null,
      "createdAt": "2025-11-18T18:56:19.013Z",
      "updatedAt": "2025-11-18T18:58:40.305Z",
      "deletedAt": null,
      "user": {
        "name": "Asta"
      },
      "patient": {
        "name": "Teste",
        "contact": {
          "id": 9255,
          "phone": "81999999999",
          "secondary_phone": null,
          "email": null
        },
        "cpf": "99999999999"
      },
      "budgetsProcedures": [
        {
          "id": 106699,
          "price": "8",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "UREIA",
            "discounts": []
          }
        },
        {
          "id": 106700,
          "price": "18",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "TSH - HORMONIO TIREOESTIMULANTE",
            "discounts": []
          }
        },
        {
          "id": 106701,
          "price": "7",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "TS - TEMPO DE SANGRAMENTO",
            "discounts": []
          }
        }
      ],
      "status": {
        "name": "SEND"
      },
      "discount": null
    }
  ],
  "pagination": {
    "nextCursor": 10675
  }
}
{
  "data": [
    {
  ...
{
  "data": [
    {
      "id": 10676,
      "discountId": null,
      "createdAt": "2025-12-03T13:41:45.440Z",
      "updatedAt": "2025-12-03T13:41:46.217Z",
      "deletedAt": null,
      "user": {
        "name": "Douglas"
      },
      "patient": {
        "name": "DR. ROBERTO ",
        "contact": {
          "id": 9266,
          "phone": "00000000001",
          "secondary_phone": null,
          "email": null
        },
        "cpf": "96362351234"
      },
      "budgetsProcedures": [
        {
          "id": 106709,
          "price": "100",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "Ultrassom: Tireoide",
            "discounts": []
          }
        },
        {
          "id": 106710,
          "price": "100",
          "discountBudgetsProcedures": [
            {
              "discount": {
                "id": 2,
                "name": "Agendamento"
              },
              "value": "10"
            }
          ],
          "procedure": {
            "name": "Ultrassom: Parede Abdominal",
            "discounts": [
              {
                "id": 2,
                "name": "Agendamento",
                "percentage": null,
                "fixed": "10"
              }
            ]
          }
        },
        {
          "id": 106711,
          "price": "7",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "TC - TEMPO DE COAGULACAO",
            "discounts": []
          }
        },
        {
          "id": 106712,
          "price": "6",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "SODIO",
            "discounts": []
          }
        },
        {
          "id": 106713,
          "price": "20",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "FERRITINA",
            "discounts": []
          }
        },
        {
          "id": 106714,
          "price": "8",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "CREATININA",
            "discounts": []
          }
        },
        {
          "id": 106715,
          "price": "11",
          "discountBudgetsProcedures": [],
          "procedure": {
            "name": "CALCIO",
            "discounts": []
          }
        }
      ],
      "status": {
        "name": "SEND"
      },
      "discount": null
    }
  ],
  "pagination": {
    "nextCursor": 10676
  }
}
{
  "message": [
    "sendToQueue must be a boolean string"
  ...
{
  "message": [
    "sendToQueue must be a boolean string"
  ],
  "error": "Bad Request",
  "statusCode": 400
}
{
  "statusCode": 401,
  "message": "invalid token"
  ...
{
  "statusCode": 401,
  "message": "invalid token"
}
{
  "statusCode": 401,
  "message": "jwt expired"
  ...
{
  "statusCode": 401,
  "message": "jwt expired"
}
{
  "statusCode": 500,
  "message": "Internal server error"
  ...
{
  "statusCode": 500,
  "message": "Internal server error"
}