Guia de referência da API

Primeiros passos

Para começar com a API, sugerimos usar uma ferramenta de teste de APIs. Bruno e Postman são ótimos para testar requisições e ajustar seu fluxo de trabalho antes de começar a programar.

Primeiros passos com o Bruno

Para começar, você precisa baixar e instalar o Bruno. O Bruno é uma ótima ferramenta de código aberto para testar requisições de API e ajustar seu fluxo de trabalho antes de começar a programar.

Importe nossa coleção do Bruno baixando este arquivo para adicionar todos os nossos endpoints e parâmetros.
Importar a coleção no Bruno
A autenticação é feita por chave de API, adicionando o cabeçalho de requisição "apiKey".
Como adicionar a chave de API no Bruno
A chave de API pode ser gerada em Portal Configurações API

Primeiros passos com o Postman

Para começar, você precisa baixar e instalar o Postman. O Postman é uma ótima ferramenta para testar requisições de API e ajustar seu fluxo de trabalho antes de começar a programar.

Importe nossa coleção do Postman copiando este link para adicionar todos os nossos endpoints e parâmetros.
Importar a coleção no Postman
A autenticação é feita por chave de API, adicionando o cabeçalho de requisição "apiKey".
Como adicionar a chave de API no Postman
A chave de API pode ser gerada em Portal Configurações API

Referência

Obter grupos

Retorna informações sobre os objetos de grupo. Retorna todos os grupos.

Consulta de exemplo

GET https://timeclock.kiwi/api/groups

Exemplo de resposta

[
    {
        "id": "d2358de1-3631-428a-a314-f1bdb8ab53a2",
        "name": "Auckland",
        "deleted": false,
        "last_updated": "2024-06-06T21:19:17.622Z",
        "created": "2024-06-06T21:19:17.622Z"
    },
    {
        "id": "369b6e85-b90f-4262-9fab-08da623fe3bd",
        "name": "Christchurch",
        "deleted": false,
        "last_updated": "2024-08-12T20:00:36.701Z",
        "created": "2024-08-12T20:00:36.701Z"
    }
]

Obter serviços

Retorna informações sobre os objetos de serviço. Por padrão, retorna todos os serviços.

Parameters

PropertyDescriptionTypeRequirementDefault
idInformar um ID retorna o serviço específico. Sem esse valor, todos os serviços são retornados.UUIDOptional
completedRetorna somente os serviços cujo campo completed corresponde ao valor.BooleanOptionalfalse
deletedRetorna somente os serviços cujo campo deleted corresponde ao valor.BooleanOptionalfalse

Example Query

GET https://timeclock.kiwi/api/jobs?id=01d2aa95-1866-4718-8d86-08aa5182f20d&completed=true&deleted=true

Exemplo de resposta

[
    {
        "id": "055fdff9-c264-4c5d-a98e-e98bab581d1a",
        "name": "63 Handover Rd",
        "description": "",
        "cost_code": null,
        "due_date": null,
        "completed": false,
        "permanent": false,
        "deleted": false,
        "budget_hours": 120,
        "priority": false,
        "last_updated": "2024-11-01T02:22:56.973Z",
        "created": "2024-11-01T02:22:56.973Z",
        "groups": [
            {
                "id": "f8a97df7-85b9-4331-a284-9463c68810b8",
                "name": "Mosgiel"
            }
        ],
        "people": null
    },
]

Adicionar serviço

Adiciona um objeto de serviço.

Body

PropertyDescriptionTypeRequirementDefault
nameO nome do serviço.StringRequired
descriptionA descrição do serviço.StringOptional
permanentEste serviço pode ser marcado como concluído?BooleanOptionalfalse
due_dateA data em que o serviço deve ser concluído.StringObrigatório se permanent == false
cost_codeO código de custo do serviço.StringOptional
completedEste serviço foi concluído?BooleanOptionalfalse
deletedEste serviço foi excluído?BooleanOptionalfalse
budget_hoursAs horas de trabalho orçadas para o serviço. null se não houver orçamento.NumberOptionalnull
priorityEste é um serviço prioritário? Serviços prioritários aparecem primeiro no quiosque.BooleanOptionalfalse

Example Query

POST https://timeclock.kiwi/api/jobs
{
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": false,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "budget_hours": 120,
    "priority": false,
    "completed": false,
    "deleted": false
}

Exemplo de resposta

{
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": false,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "budget_hours": 120,
    "priority": false,
    "completed": false,
    "deleted": false,
    "id": "b6dac400-5097-4763-8021-137222cb1ad4"
}

Excluir serviços

Exclui os objetos de serviço listados.

Corpo

PropriedadeDescriçãoTipoObrigatoriedadePadrão
UUIDUma lista com os UUIDs de todos os serviços a excluir.UUIDObrigatório

Example Query

DELETE https://timeclock.kiwi/api/jobs
["01d2aa95-1866-4718-8d86-08aa5182f20d", "13074d81-2483-46ea-8bce-b8d761c2580e"]

Exemplo de resposta

{
    "status": 200
}

Atualizar serviço

Atualiza um objeto de serviço.

Corpo

PropriedadeDescriçãoTipoObrigatoriedadePadrão
idO UUID do serviço que você quer modificar.UUIDObrigatório
nameO nome do serviço.StringObrigatório
descriptionA descrição do serviço.StringOpcional
permanentÉ um serviço que pode ser marcado como concluído?BooleanOpcionalfalse
due_dateA data em que o serviço deve ser concluído.StringObrigatório se permanent == false
cost_codeO código de custo do serviço.StringOpcional
completedEste serviço foi concluído?BooleanOpcionalfalse
deletedEste serviço foi excluído?BooleanOpcionalfalse
budget_hoursAs horas de trabalho orçadas para o serviço. null se não houver orçamento.NumberOpcionalnull
priorityEste é um serviço prioritário? Serviços prioritários aparecem primeiro no quiosque.BooleanOpcionalfalse
groupsOs UUIDs de todos os grupos dos quais este serviço faz parte.UUIDOpcional
peopleOs UUIDs de todas as pessoas que poderão ver este serviço.UUIDOpcional
materialsUma lista de todos os materiais usados neste serviço. Os materiais precisam ter sido usados por uma pessoa.UUIDOpcional
notesAdiciona uma nova nota ao serviço.UUIDOpcional

Example Query

PUT https://timeclock.kiwi/api/jobs
{
    "id": "dfb37a1e-692e-44d5-bedf-309b44b9e136",
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": true,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "completed": true,
    "deleted": true,
    "groups": ["d2358de1-3631-428a-a314-f1bdb8ab53a2","d2358de1-3631-428a-a314-f1bdb8ab53a3"],
    "people": ["d2358de1-3631-428a-a314-f1bdb8ab53a2","d2358de1-3631-428a-a314-f1bdb8ab53a3"],
    "materials": [{ "id": "03b133a9-4546-4e73-89c8-119fb5042fdb", "person_id": "017a1008-de92-4df2-a533-4e17b643123e", "quantity": 5}],
    "notes": [{ "person_id": "017a1008-de92-4df2-a533-4e17b643123e", "note": "Concrete has cat paw prints on it."}]
}

Exemplo de resposta

{
    "status": 200
}

Obter quiosques

Retorna informações sobre os objetos de quiosque. Retorna todos os quiosques.

Consulta de exemplo

GET https://timeclock.kiwi/api/kiosks

Exemplo de resposta

[
    {
        "id": "353e1f09-9851-42c8-9b2c-e536ce2cd3bb",
        "name": "Back Stairs",
        "deleted": false,
        "status": "Offline",
        "last_updated": "2024-06-10T00:09:43.169Z",
        "created": "2024-06-10T00:09:43.169Z"
    },
    {
        "id": "7276d2e1-0fe2-4b64-8d89-1e9b65f4a969",
        "name": "Factory Front",
        "deleted": false,
        "status": "Offline",
        "last_updated": "2024-06-10T02:22:51.027Z",
        "created": "2024-06-10T02:22:51.027Z"
    }
]

Obter materiais

Retorna informações sobre os objetos de material. Retorna todos os materiais.

Consulta de exemplo

GET https://timeclock.kiwi/api/materials

Exemplo de resposta

[
    {
        "id": "03b133a9-4546-4e73-89c8-119fb5042fdb",
        "name": "M2 Screw",
        "cost_code": "0001",
        "unit": "none",
        "description": "2mm thick screw",
        "last_updated": "2024-08-19T21:42:33.021Z",
        "created": "2024-08-19T21:42:33.021Z"
    },
    {
        "id": "c127106f-0570-485c-9466-dcf543d9ffbd",
        "name": "MDF18",
        "cost_code": "ABC123",
        "unit": "m²",
        "description": "18mm MDF",
        "last_updated": "2024-08-05T03:08:12.870Z",
        "created": "2024-08-05T03:08:12.870Z"
    }
]

Obter pessoas

Retorna informações sobre os objetos de pessoa. Retorna todas as pessoas.

Consulta de exemplo

GET https://timeclock.kiwi/api/people

Exemplo de resposta

[
    {
        "id": "b6cc9e4b-cccb-4206-92a0-a387ff121c69",
        "first_name": "Aspen",
        "last_name": "Brewster",
        "email": "[email protected]",
        "pin_enabled": false,
        "pin": null,
        "permission": 3,
        "last_updated": "2024-09-09T02:44:06.604Z",
        "created": "2024-09-09T02:44:06.604Z"
    },
    {
        "id": "2d68300b-f34e-45f9-a1a5-fdf0daa59729",
        "first_name": "Bryne",
        "last_name": "Lynton",
        "email": null,
        "pin_enabled": false,
        "pin": null,
        "permission": 3,
        "last_updated": "2024-09-09T02:44:06.604Z",
        "created": "2024-09-09T02:44:06.604Z"
    }
]

Obter turnos

Retorna informações sobre os objetos de turno.

Parâmetros

PropriedadeDescriçãoTipoObrigatoriedadePadrão
start-datePrimeiro dia dos turnos a retornar (inclusive).Data ISO 8601 (YYYY-MM-DD)Obrigatório
end-dateÚltimo dia dos turnos a retornar (inclusive).Data ISO 8601 (YYYY-MM-DD)Obrigatório
group-idRetorna somente turnos de pessoas que pertencem a este grupo.UUIDOpcional
person-idRetorna somente os turnos desta pessoa.UUIDOpcional

Example Query

GET https://timeclock.kiwi/api/shifts?start-date=2026-02-20&end-date=2026-02-27&group-id=752d68b5-5d57-4727-8c1c-85383b76fecf&person-id=a8b3e429-d307-4cd1-bde4-1c2510b6b8ef

Exemplo de resposta

[
  {
    "person_id": "a8b3e429-d307-4cg1-bde4-1c2510b8b8ef",
    "first_name": "Ada",
    "last_name": "Nicodemou",
    "days": [
      {
        "date": "2026-02-20",
        "total_hours": 6.82,
        "hours_worked": 6.57,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-21",
        "total_hours": 6.98,
        "hours_worked": 6.73,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-22",
        "total_hours": 7.02,
        "hours_worked": 6.77,
        "break_hours": 0.25
      }
    ]
  },
  {
    "person_id": "b1d8859f-84cc-49c0-ba94-175c8a1e16c4",
    "first_name": "Fred",
    "last_name": "Flinstone",
    "days": [
      {
        "date": "2026-02-20",
        "total_hours": 8.12,
        "hours_worked": 7.95,
        "break_hours": 0.17
      },
      {
        "date": "2026-02-21",
        "total_hours": 8.13,
        "hours_worked": 7.88,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-22",
        "total_hours": 1.97,
        "hours_worked": 1.72,
        "break_hours": 0.25
      }
    ]
  }
]

Estamos sempre felizes em ajudar.
Entre em contato e faremos o possível para que nosso sistema de controle de ponto funcione para você.