iopoint
Referência

Ausências

Tipos de ausência, listagem por período, anexos e criação.

URL Base
https://api.iopoint.com.br/api

Listar tipos de ausência

GET/customer/v2/absence/types

Retorna os tipos de ausência disponíveis (tanto os globais quanto os personalizados da empresa), com flags de comportamento.

Query parameters

NomeTipoObrig.Descrição
include_branchesbooleannãoQuando `1`, agrega a matriz e todas as filiais do grupo econômico na resposta. Só leitura.
company_national_registrystringnãoCNPJ (apenas dígitos) de uma empresa do grupo para restringir o escopo a ela. Use os CNPJs retornados em `GET /economic-group`. Fora do grupo acessível retorna `company_not_found` (404).

Exemplos

Request
curl -X GET "https://api.iopoint.com.br/api/customer/v2/absence/types" \
  -H "apiIopointToken: SEU_TOKEN_AQUI"
Response200
{
  "data": [
    {
      "id": 1,
      "description": "Atestado médico",
      "paid_leave": true,
      "comp_time": false,
      "compensation": false,
      "can_request_app": true
    },
    {
      "id": 2,
      "description": "Férias",
      "paid_leave": true,
      "comp_time": false,
      "compensation": false,
      "can_request_app": false
    }
  ]
}

Respostas

200
{
  "data": [
    {
      "id": 1,
      "description": "Atestado médico",
      "paid_leave": true,
      "comp_time": false,
      "compensation": false,
      "can_request_app": true
    },
    {
      "id": 2,
      "description": "Férias",
      "paid_leave": true,
      "comp_time": false,
      "compensation": false,
      "can_request_app": false
    }
  ]
}

Ausências do período

GET/customer/v2/absence/getFromPeriod

Lista ausências/férias aprovadas que se sobrepõem ao período informado. Estrutura é ausência-cêntrica: cada item traz o tipo, datas, detalhes médicos e os colaboradores envolvidos.

Query parameters

NomeTipoObrig.Descrição
begin_datedatetimesimInício do período (YYYY-MM-DD HH:MM:SS).
end_datedatetimesimFim do período (YYYY-MM-DD HH:MM:SS).
include_branchesbooleannãoQuando `1`, agrega a matriz e todas as filiais do grupo econômico na resposta. Só leitura.
company_national_registrystringnãoCNPJ (apenas dígitos) de uma empresa do grupo para restringir o escopo a ela. Use os CNPJs retornados em `GET /economic-group`. Fora do grupo acessível retorna `company_not_found` (404).

Exemplos

Request
curl -X GET "https://api.iopoint.com.br/api/customer/v2/absence/getFromPeriod?begin_date=2026-05-01%2000%3A00%3A00&end_date=2026-05-31%2023%3A59%3A59" \
  -H "apiIopointToken: SEU_TOKEN_AQUI"
Response200
{
  "data": [
    {
      "absence_id": 4521,
      "absence_type_id": 1,
      "type": "Atestado médico",
      "description": "Atestado de 3 dias",
      "begin_date": "2026-05-12 00:00:00",
      "end_date": "2026-05-14 23:59:59",
      "days": 3,
      "reference_date": "2026-05-12",
      "details": "Repouso domiciliar",
      "comp_time": false,
      "paid_leave": true,
      "full_day": true,
      "sum_on_work_time": false,
      "sum_total_on_work_time": false,
      "cr_register": "CRM/SP 123456",
      "professional_name": "Dr. Carlos Mendes",
      "health_unit": "Hospital Exemplo",
      "cid_description": "Infecção respiratória aguda",
      "cid": [
        "J06.9"
      ],
      "has_attachment": true,
      "collaborators": [
        {
          "national_registry": "12345678900",
          "registration_number": "0042",
          "email": "[email protected]",
          "name": "João da Silva",
          "occupation": "Analista de RH",
          "department": "Recursos Humanos",
          "team": null,
          "business_unit": "Matriz",
          "admission_date": "2022-03-15",
          "pis": "12345678901",
          "company": {
            "name": "Filial São Paulo LTDA",
            "trading_name": "Filial SP",
            "national_registry": "12345678000288"
          }
        }
      ]
    }
  ],
  "meta": {
    "begin_date": "2026-05-01 00:00:00",
    "end_date": "2026-05-31 23:59:59"
  }
}

Respostas

200
{
  "data": [
    {
      "absence_id": 4521,
      "absence_type_id": 1,
      "type": "Atestado médico",
      "description": "Atestado de 3 dias",
      "begin_date": "2026-05-12 00:00:00",
      "end_date": "2026-05-14 23:59:59",
      "days": 3,
      "reference_date": "2026-05-12",
      "details": "Repouso domiciliar",
      "comp_time": false,
      "paid_leave": true,
      "full_day": true,
      "sum_on_work_time": false,
      "sum_total_on_work_time": false,
      "cr_register": "CRM/SP 123456",
      "professional_name": "Dr. Carlos Mendes",
      "health_unit": "Hospital Exemplo",
      "cid_description": "Infecção respiratória aguda",
      "cid": [
        "J06.9"
      ],
      "has_attachment": true,
      "collaborators": [
        {
          "national_registry": "12345678900",
          "registration_number": "0042",
          "email": "[email protected]",
          "name": "João da Silva",
          "occupation": "Analista de RH",
          "department": "Recursos Humanos",
          "team": null,
          "business_unit": "Matriz",
          "admission_date": "2022-03-15",
          "pis": "12345678901",
          "company": {
            "name": "Filial São Paulo LTDA",
            "trading_name": "Filial SP",
            "national_registry": "12345678000288"
          }
        }
      ]
    }
  ],
  "meta": {
    "begin_date": "2026-05-01 00:00:00",
    "end_date": "2026-05-31 23:59:59"
  }
}

Anexos da ausência

GET/customer/v2/absence/attachment

Retorna os anexos (atestados, comprovantes) de uma ausência em base64. Devolve `data: []` quando não há anexos.

Query parameters

NomeTipoObrig.Descrição
absence_idintegersimID da ausência.
include_branchesbooleannãoQuando `1`, agrega a matriz e todas as filiais do grupo econômico na resposta. Só leitura.
company_national_registrystringnãoCNPJ (apenas dígitos) de uma empresa do grupo para restringir o escopo a ela. Use os CNPJs retornados em `GET /economic-group`. Fora do grupo acessível retorna `company_not_found` (404).

Erros possíveis

StatusCódigoQuando ocorre
404not_foundAusência inexistente ou de outra empresa.

Exemplos

Request
curl -X GET "https://api.iopoint.com.br/api/customer/v2/absence/attachment?absence_id=4521" \
  -H "apiIopointToken: SEU_TOKEN_AQUI"
Response200
{
  "data": [
    {
      "filename": "atestado-2026-05-12.pdf",
      "mime_type": "application/pdf",
      "base64": "JVBERi0xLjQKJcfsj6IK..."
    }
  ],
  "meta": {
    "absence_id": 4521
  }
}

Respostas

200
{
  "data": [
    {
      "filename": "atestado-2026-05-12.pdf",
      "mime_type": "application/pdf",
      "base64": "JVBERi0xLjQKJcfsj6IK..."
    }
  ],
  "meta": {
    "absence_id": 4521
  }
}

Criar ausência

POST/customer/v2/absence

Cria uma nova ausência para um ou mais colaboradores (identificados pelo CPF). Aceita anexos via `multipart/form-data`.

Body (multipart/form-data)

NomeTipoObrig.Descrição
national_registry[]array<string>simCPFs dos colaboradores ausentes (somente dígitos). Repita a chave para cada CPF: `national_registry[]=12345678900&national_registry[]=98765432100`. Os colchetes `[]` no nome são obrigatórios mesmo para um único CPF.
absence_type_idintegersimID do tipo de ausência (ver `GET /absence/types`).
descriptionstringsimDescrição curta.
detailsstringsimDetalhamento/observações.
begin_datedatesimInício (YYYY-MM-DD).
end_datedatesimFim (YYYY-MM-DD).
paidbooleansim`1` para ausência remunerada, `0` caso contrário.
full_daybooleansim`1` para dia inteiro, `0` para parcial.
sum_on_work_timebooleansimSomar no tempo trabalhado diário.
sum_total_on_work_timebooleansimSomar no total trabalhado do período.
attachment[]filenãoArquivos anexos (atestado, comprovantes). Opcional.

Erros possíveis

StatusCódigoQuando ocorre
404absence_type_not_foundabsence_type_id inválido.

Exemplos

Request
curl -X POST "https://api.iopoint.com.br/api/customer/v2/absence" \
  -H "apiIopointToken: SEU_TOKEN_AQUI" \
  -F "national_registry[]=12345678900" \
  -F "absence_type_id=1" \
  -F "description=Atestado de 2 dias" \
  -F "details=Apresentou atestado médico" \
  -F "begin_date=2026-05-26" \
  -F "end_date=2026-05-27" \
  -F "paid=1" \
  -F "full_day=1" \
  -F "sum_on_work_time=1" \
  -F "sum_total_on_work_time=1"
Response201
{
  "data": {
    "absence_id": 4522
  }
}

Respostas

201
{
  "data": {
    "absence_id": 4522
  }
}