Referência da API REST do Lesto
Consulte recursos, endpoints, permissões, parâmetros, bodies, respostas e limites da API pública. Esta página é gerada a partir do contrato OpenAPI validado e mantém explicações curtas para integração.
Prefixo da API
Todos os endpoints usam o domínio do workspace e o prefixo /api/v1.
https://SEU_WORKSPACE.workspace.lesto.app/api/v1
Autenticação
Envie o token no header Authorization. Tokens devem ser usados em backend ou servidor, nunca em frontend público.
Authorization: Bearer YOUR_API_TOKEN
Permissões limitadas
Um token não ganha mais permissão do que o usuário que o criou possui no workspace.
Scopes
Scopes são definidos na criação do token. Permissões de escrita não incluem leitura automaticamente; selecione o menor conjunto necessário para a integração.
| Scope | Descrição |
|---|---|
projects:read | Ler listas e detalhes de Projetos. |
projects:write | Criar e atualizar Projetos. |
stages:read | Ler Etapas de Projetos. |
stages:write | Criar, atualizar, arquivar, restaurar e reordenar Etapas. |
deliveries:read | Ler listas e detalhes de Entregas. |
deliveries:write | Criar, atualizar, arquivar, restaurar e reordenar Entregas. |
members:read | Ler membros ativos do workspace para atribuições. |
comments:read | Ler Comentários de Entregas. |
comments:write | Criar, editar e excluir logicamente Comentários. |
checklists:read | Ler Checklists e Itens de Entregas. |
checklists:write | Criar, editar, excluir logicamente e reordenar Checklists e Itens. |
Projects
Projetos são o contêiner principal do trabalho e agrupam Etapas e Entregas.
/projectsListar Projects
Lista Projetos do workspace com filtros opcionais por status, busca textual e atualização recente.
projects:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Query parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| limit | integer | Opcional | Quantidade máxima de itens. Padrão 50 e máximo 100. | 50 |
| cursor | string | Opcional | Cursor opaco retornado em meta.nextCursor. | NEXT_CURSOR |
| status | PLANNING | ACTIVE | ON_HOLD | COMPLETED | CANCELLED | Opcional | Filtra pelo status. | ACTIVE |
| search | string | Opcional | Busca textual sem diferenciar maiúsculas e minúsculas. | Ana |
| updatedAfter | string<date-time> | Opcional | Filtra recursos atualizados após a data ISO informada. | - |
Exemplo cURL▸
curl "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects" \
-H "Authorization: Bearer YOUR_API_TOKEN"/projectsCriar Project
Cria um Projeto no workspace. O POST exige Idempotency-Key e pode retornar limite de plano quando a criação não for permitida.
projects:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| name | string | Obrigatório | Nome do Projeto. | Implantação do cliente |
| description | string | null | Opcional | Descrição opcional. | Descrição curta |
| status | PLANNING | ACTIVE | ON_HOLD | COMPLETED | CANCELLED | Opcional | Estado do trabalho. | ACTIVE |
| priority | LOW | MEDIUM | HIGH | null | Opcional | Prioridade opcional. | HIGH |
| startDate | string<date-time> | null<date-time> | Opcional | Data inicial em ISO 8601 ou null. | 2026-08-04T12:00:00.000Z |
| dueDate | string<date-time> | null<date-time> | Opcional | Data de prazo em ISO 8601 ou null. | 2026-09-01T12:00:00.000Z |
Exemplo cURL▸
curl -X POST "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: project-create-001" \
-d '{"name":"Implantação do cliente"}'/projects/{projectId}Consultar Project
Consulta um Projeto específico quando ele está disponível para o token.
projects:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
/projects/{projectId}Atualizar Project
Atualiza parcialmente um Projeto. Enviar status COMPLETED conclui o Projeto; outro status reabre o trabalho.
projects:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| name | string | Opcional | Nome do Projeto. | Implantação do cliente |
| description | string | null | Opcional | Descrição opcional. | Descrição curta |
| status | PLANNING | ACTIVE | ON_HOLD | COMPLETED | CANCELLED | Opcional | COMPLETED completes the project and sets completedAt server-side. Any non-COMPLETED status reopens it and clears completedAt. | ACTIVE |
| priority | LOW | MEDIUM | HIGH | null | Opcional | Prioridade opcional. | HIGH |
| startDate | string<date-time> | null<date-time> | Opcional | Data inicial em ISO 8601 ou null. | 2026-08-04T12:00:00.000Z |
| dueDate | string<date-time> | null<date-time> | Opcional | Data de prazo em ISO 8601 ou null. | 2026-09-01T12:00:00.000Z |
Stages
Etapas pertencem a um Projeto, aparecem no fluxo visual e podem ser arquivadas, restauradas e reordenadas.
/projects/{projectId}/stagesListar Stages
Lista Etapas ativas de um Projeto em ordem visual.
stages:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
Query parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| limit | integer | Opcional | Quantidade máxima de itens. Padrão 50 e máximo 100. | 50 |
| cursor | string | Opcional | Cursor opaco retornado em meta.nextCursor. | NEXT_CURSOR |
/projects/{projectId}/stagesCriar Stage
Cria uma Etapa no final da ordem visual do Projeto. O POST exige Idempotency-Key.
stages:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Obrigatório | Título visível do recurso. | Preparar proposta |
| description | string | null | Opcional | Descrição opcional. | Descrição curta |
| startDate | string<date-time> | null<date-time> | Opcional | Data inicial em ISO 8601 ou null. | 2026-08-04T12:00:00.000Z |
| dueDate | string<date-time> | null<date-time> | Opcional | Data de prazo em ISO 8601 ou null. | 2026-09-01T12:00:00.000Z |
Exemplo cURL▸
curl -X POST "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects/PROJECT_ID/stages" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: stage-create-001" \
-d '{"title":"A fazer"}'/projects/{projectId}/stages/{stageId}Atualizar Stage
Atualiza parcialmente uma Etapa. Reordenação usa o endpoint dedicado de reorder.
stages:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
| stageId | string | Obrigatório | ID da Etapa. | STAGE_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Opcional | Título visível do recurso. | Preparar proposta |
| description | string | null | Opcional | Descrição opcional. | Descrição curta |
| startDate | string<date-time> | null<date-time> | Opcional | Data inicial em ISO 8601 ou null. | 2026-08-04T12:00:00.000Z |
| dueDate | string<date-time> | null<date-time> | Opcional | Data de prazo em ISO 8601 ou null. | 2026-09-01T12:00:00.000Z |
/projects/{projectId}/stages/{stageId}/archiveArquivar Stage
Arquiva a Etapa e os descendentes relacionados conforme a regra de domínio do Lesto. Não é exclusão física e repetir a operação é seguro.
stages:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
| stageId | string | Obrigatório | ID da Etapa. | STAGE_ID |
/projects/{projectId}/stages/{stageId}/restoreRestaurar Stage
Restaura a Etapa e os descendentes relacionados, preservando a ordem visual armazenada. Repetir a operação é seguro.
stages:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
| stageId | string | Obrigatório | ID da Etapa. | STAGE_ID |
/projects/{projectId}/stages/reorderReordenar Stages
Reordena todas as Etapas ativas do Projeto. orderedIds deve conter a lista completa, sem arquivados, duplicados ou IDs externos.
stages:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| orderedIds | string[] | Obrigatório | Complete final order of the active resources in this context. Archived resources are excluded and must not be sent. | ["ID_1","ID_2","ID_3"] |
Exemplo cURL▸
curl -X PATCH "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects/PROJECT_ID/stages/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: stages-reorder-001" \
-d '{"orderedIds":["STAGE_ID","STAGE_ID_2","STAGE_ID_3"]}'Workspace Members
Membros ativos do workspace podem ser consultados para obter IDs usados em assigneeIds.
/workspace/membersListar Members
Retorna membros ativos do workspace. Use member.id em assigneeIds; a API não resolve nomes ambíguos automaticamente e e-mail não é retornado.
members:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Query parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| limit | integer | Opcional | Quantidade máxima de itens. Padrão 50 e máximo 100. | 50 |
| cursor | string | Opcional | Cursor opaco retornado em meta.nextCursor. | NEXT_CURSOR |
| search | string | Opcional | Busca textual sem diferenciar maiúsculas e minúsculas. | Ana |
Exemplo cURL▸
curl "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/workspace/members?search=Ana" \
-H "Authorization: Bearer YOUR_API_TOKEN"Deliveries
Entregas representam trabalhos dentro de uma Etapa e aceitam responsáveis, status, prioridade e datas.
/projects/{projectId}/deliveriesListar Deliveries
Lista Entregas ativas de um Projeto com filtros por Etapa, status, responsável, conclusão, datas e busca.
deliveries:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
Query parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| limit | integer | Opcional | Quantidade máxima de itens. Padrão 50 e máximo 100. | 50 |
| cursor | string | Opcional | Cursor opaco retornado em meta.nextCursor. | NEXT_CURSOR |
| stageId | string | Opcional | ID da Etapa. | STAGE_ID |
| status | TODO | IN_PROGRESS | DONE | BLOCKED | Opcional | Filtra pelo status. | ACTIVE |
| assigneeId | string | Opcional | Filtra Entregas por ID de membro responsável. | - |
| completed | boolean | Opcional | Filtra Entregas concluídas ou abertas. | true |
| updatedAfter | string<date-time> | Opcional | Filtra recursos atualizados após a data ISO informada. | - |
| dueBefore | string<date-time> | Opcional | Filtra Entregas com prazo até a data ISO informada. | - |
| dueAfter | string<date-time> | Opcional | Filtra Entregas com prazo a partir da data ISO informada. | - |
| search | string | Opcional | Busca textual sem diferenciar maiúsculas e minúsculas. | Ana |
/projects/{projectId}/deliveriesCriar Delivery
Cria uma Entrega em uma Etapa ativa do Projeto. Aceita responsáveis por assigneeIds e exige Idempotency-Key.
deliveries:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Obrigatório | Título visível do recurso. | Preparar proposta |
| description | string | null | Opcional | Descrição opcional. | Descrição curta |
| stageId | string | Obrigatório | ID da Etapa relacionada. | STAGE_ID |
| status | TODO | IN_PROGRESS | DONE | BLOCKED | Opcional | Estado do trabalho. | ACTIVE |
| priority | OUTRAS | LOW | MEDIUM | HIGH | URGENT | null | Opcional | Prioridade opcional. | HIGH |
| startDate | string<date-time> | null<date-time> | Opcional | Data inicial em ISO 8601 ou null. | 2026-08-04T12:00:00.000Z |
| dueDate | string<date-time> | null<date-time> | Opcional | Data de prazo em ISO 8601 ou null. | 2026-09-01T12:00:00.000Z |
| assigneeIds | string[] | Opcional | Lista de IDs de membros ativos do workspace. | ["MEMBER_ID"] |
Exemplo cURL▸
curl -X POST "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects/PROJECT_ID/deliveries" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: delivery-create-001" \
-d '{"title":"Preparar proposta","stageId":"STAGE_ID","assigneeIds":["MEMBER_ID"]}'/deliveries/{deliveryId}Consultar Delivery
Consulta uma Entrega específica quando ela está disponível para o token.
deliveries:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
/deliveries/{deliveryId}Atualizar Delivery
Atualiza parcialmente uma Entrega. completed alterna conclusão/reabertura e assigneeIds substitui a lista de responsáveis.
deliveries:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Opcional | Título visível do recurso. | Preparar proposta |
| description | string | null | Opcional | Descrição opcional. | Descrição curta |
| stageId | string | Opcional | ID da Etapa relacionada. | STAGE_ID |
| status | TODO | IN_PROGRESS | DONE | BLOCKED | Opcional | Estado do trabalho. | ACTIVE |
| completed | boolean | Opcional | Alternative to status. true sets DONE; false reopens as TODO. Do not send together with status. | true |
| priority | OUTRAS | LOW | MEDIUM | HIGH | URGENT | null | Opcional | Prioridade opcional. | HIGH |
| startDate | string<date-time> | null<date-time> | Opcional | Data inicial em ISO 8601 ou null. | 2026-08-04T12:00:00.000Z |
| dueDate | string<date-time> | null<date-time> | Opcional | Data de prazo em ISO 8601 ou null. | 2026-09-01T12:00:00.000Z |
| assigneeIds | string[] | Opcional | Absent preserves assignees; empty array removes all assignees. | ["MEMBER_ID"] |
/deliveries/{deliveryId}/archiveArquivar Delivery
Arquiva uma Entrega sem apagar os dados. Repetir a operação é seguro.
deliveries:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
/deliveries/{deliveryId}/restoreRestaurar Delivery
Restaura uma Entrega arquivada quando a Etapa relacionada também está ativa.
deliveries:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Opcional | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
/projects/{projectId}/stages/{stageId}/deliveries/reorderReordenar Deliveries
Reordena Entregas dentro da mesma Etapa. orderedIds deve conter todas as Entregas ativas dessa Etapa.
deliveries:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| projectId | string | Obrigatório | ID do Projeto. | PROJECT_ID |
| stageId | string | Obrigatório | ID da Etapa. | STAGE_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| orderedIds | string[] | Obrigatório | Complete final order of the active resources in this context. Archived resources are excluded and must not be sent. | ["ID_1","ID_2","ID_3"] |
Checklists
Checklists organizam critérios e subtarefas de uma Entrega. A listagem atual não é paginada.
/deliveries/{deliveryId}/checklistsListar Checklists
Lista Checklists ativos de uma Entrega, incluindo Itens ativos. Esta listagem não é paginada.
checklists:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
/deliveries/{deliveryId}/checklistsCriar Checklist
Cria um Checklist na Entrega. O POST exige Idempotency-Key.
checklists:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Obrigatório | Título visível do recurso. | Preparar proposta |
Exemplo cURL▸
curl -X POST "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/deliveries/DELIVERY_ID/checklists" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: checklist-create-001" \
-d '{"title":"Critérios de aceite"}'/deliveries/{deliveryId}/checklists/{checklistId}Atualizar Checklist
Atualiza o título de um Checklist.
checklists:write · Write 30/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
| checklistId | string | Obrigatório | ID do Checklist. | CHECKLIST_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Opcional | Título visível do recurso. | Preparar proposta |
/deliveries/{deliveryId}/checklists/{checklistId}Excluir Checklist
Exclui logicamente um Checklist e seus Itens ativos. Repetir DELETE é seguro quando o recurso ainda pertence ao workspace.
checklists:write · Write 30/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
| checklistId | string | Obrigatório | ID do Checklist. | CHECKLIST_ID |
/deliveries/{deliveryId}/checklists/reorderReordenar Checklists
Reordena todos os Checklists ativos da Entrega. orderedIds deve conter a lista completa.
checklists:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| orderedIds | string[] | Obrigatório | Complete final order of the active resources in this context. Archived resources are excluded and must not be sent. | ["ID_1","ID_2","ID_3"] |
Checklist Items
Itens ficam dentro de Checklists, podem ser concluídos ou reabertos e não possuem movimentação pública entre Checklists.
/deliveries/{deliveryId}/checklists/{checklistId}/itemsCriar Checklist Item
Cria um Item não concluído em um Checklist. O POST exige Idempotency-Key.
checklists:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
| checklistId | string | Obrigatório | ID do Checklist. | CHECKLIST_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Obrigatório | Título visível do recurso. | Preparar proposta |
/deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}Atualizar Checklist Item
Atualiza título e/ou completed de um Item. completed controla conclusão e reabertura.
checklists:write · Write 30/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
| checklistId | string | Obrigatório | ID do Checklist. | CHECKLIST_ID |
| itemId | string | Obrigatório | ID do Item. | ITEM_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| title | string | Opcional | Título visível do recurso. | Preparar proposta |
| completed | boolean | Opcional | Conclui ou reabre o item conforme o valor booleano. | true |
/deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}Excluir Checklist Item
Exclui logicamente um Item de Checklist. Repetir DELETE é seguro quando o recurso ainda pertence ao workspace.
checklists:write · Write 30/min · Idempotency-Key: Não utilizada
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
| checklistId | string | Obrigatório | ID do Checklist. | CHECKLIST_ID |
| itemId | string | Obrigatório | ID do Item. | ITEM_ID |
/deliveries/{deliveryId}/checklists/{checklistId}/items/reorderReordenar Checklist Items
Reordena todos os Itens ativos dentro do mesmo Checklist. Este endpoint não move Itens entre Checklists.
checklists:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸
Headers
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| x-request-id | string | Opcional | ID opcional enviado pelo cliente para rastrear a requisição. | - |
| Idempotency-Key | string | Obrigatório | Chave de idempotência para retentativas seguras. | - |
Path parameters
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| deliveryId | string | Obrigatório | ID da Entrega. | DELIVERY_ID |
| checklistId | string | Obrigatório | ID do Checklist. | CHECKLIST_ID |
Request body
| Nome | Tipo | Uso | Descrição | Exemplo |
|---|---|---|---|---|
| orderedIds | string[] | Obrigatório | Complete final order of the active resources in this context. Archived resources are excluded and must not be sent. | ["ID_1","ID_2","ID_3"] |
Reordenação
Operações de reorder usam sempre a lista final completa de recursos ativos, cada ID exatamente uma vez. Recursos arquivados ou excluídos ficam fora da lista. Uma lista desatualizada retorna 409.
{
"orderedIds": ["ID_1", "ID_2", "ID_3"]
}
| Recurso | Endpoint | Idempotência |
|---|---|---|
| Stages | PATCH /projects/{projectId}/stages/reorder | Obrigatória |
| Deliveries | PATCH /projects/{projectId}/stages/{stageId}/deliveries/reorder | Obrigatória |
| Checklists | PATCH /deliveries/{deliveryId}/checklists/reorder | Obrigatória |
| Checklist Items | PATCH /deliveries/{deliveryId}/checklists/{checklistId}/items/reorder | Obrigatória |
Archive e restore
Conclusão altera o estado do trabalho. Archive oculta o recurso das consultas comuns sem apagar os dados. Restore volta a disponibilizar o recurso. Soft delete remove das consultas públicas e preserva o registro.
| Tipo | Aplicação pública |
|---|---|
| Archive e restore | Stages e Deliveries. |
| Soft delete | Comments, Checklists e Checklist Items via DELETE lógico. |
| Sem DELETE público | Projects não possuem operação pública de exclusão. |
| Restore de Delivery | Exige que a Etapa relacionada esteja ativa. |
Paginação
Listagens paginadas aceitam limit e cursor. O limit padrão é 50, o máximo é 100, e cursor é opaco. A resposta inclui meta.nextCursor e meta.hasMore para a próxima chamada.
curl "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects?limit=50&cursor=NEXT_CURSOR" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| Recurso | Paginação |
|---|---|
| Projects | Paginado. |
| Stages | Paginado. |
| Deliveries | Paginado. |
| Workspace Members | Paginado. |
| Comments | Paginado. |
| Checklists | Não paginado atualmente. |
Idempotência
Repita a mesma operação com a mesma chave quando precisar retentar com segurança. Uma nova operação deve usar uma nova chave. A mesma chave com o mesmo payload retorna o header Idempotency-Replayed: true; com conteúdo diferente, retorna 409. Use chaves de 1 a 128 caracteres.
| Uso | Operações |
|---|---|
| Obrigatória | POST /projects, POST /projects/{projectId}/stages, POST /projects/{projectId}/deliveries, POST /deliveries/{deliveryId}/comments, POST /deliveries/{deliveryId}/checklists, POST /deliveries/{deliveryId}/checklists/{checklistId}/items, PATCH /projects/{projectId}/stages/reorder, PATCH /projects/{projectId}/stages/{stageId}/deliveries/reorder, PATCH /deliveries/{deliveryId}/checklists/reorder, PATCH /deliveries/{deliveryId}/checklists/{checklistId}/items/reorder |
| Opcional | PATCH /projects/{projectId}, PATCH /projects/{projectId}/stages/{stageId}, PATCH /deliveries/{deliveryId}, PATCH /deliveries/{deliveryId}/comments/{commentId}, POST /projects/{projectId}/stages/{stageId}/archive, POST /projects/{projectId}/stages/{stageId}/restore, POST /deliveries/{deliveryId}/archive, POST /deliveries/{deliveryId}/restore |
| Não utilizada | GET /projects, GET /projects/{projectId}, GET /projects/{projectId}/stages, GET /workspace/members, GET /projects/{projectId}/deliveries, GET /deliveries/{deliveryId}, GET /deliveries/{deliveryId}/comments, GET /deliveries/{deliveryId}/comments/{commentId}, DELETE /deliveries/{deliveryId}/comments/{commentId}, GET /deliveries/{deliveryId}/checklists, PATCH /deliveries/{deliveryId}/checklists/{checklistId}, DELETE /deliveries/{deliveryId}/checklists/{checklistId}, PATCH /deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}, DELETE /deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId} |
Rate limit
Quando o limite é excedido, a API retorna 429. Use Retry-After para aguardar antes de tentar novamente.
| Grupo | Limite |
|---|---|
| Auth | 60/min por IP |
| Read | 120/min por token |
| Write | 30/min por token |
| Header | Significado |
|---|---|
| RateLimit-Limit | Limite da janela atual. |
| RateLimit-Remaining | Chamadas restantes na janela atual. |
| RateLimit-Reset | Momento de reinício da janela. |
| Retry-After | Tempo sugerido de espera após 429. |
Erros
Respostas de erro usam envelope com requestId. Guarde esse valor ao acionar suporte.
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Revise os campos enviados.",
"requestId": "REQUEST_ID"
}
}
| Código | HTTP | Descrição | Ação recomendada |
|---|---|---|---|
| INVALID_TOKEN | 401 | Token ausente ou inválido. | Verifique o header Authorization. |
| TOKEN_EXPIRED | 401 | Token passou da expiração definida. | Crie um novo token. |
| TOKEN_REVOKED | 401 | Token foi revogado. | Substitua a credencial. |
| INSUFFICIENT_SCOPE | 403 | Token não possui o scope exigido. | Crie token com o menor conjunto necessário. |
| FORBIDDEN | 403 | Usuário do token não pode executar a ação. | Confirme acesso ao workspace e ao recurso. |
| RESOURCE_NOT_FOUND | 404 | Recurso não existe ou não está disponível para o token. | Revise IDs e estado do recurso. |
| VALIDATION_ERROR | 400 | Parâmetros ou body não passaram na validação. | Corrija os campos indicados. |
| CONFLICT | 409 | A operação conflita com o estado atual. | Recarregue dados e repita com nova intenção. |
| IDEMPOTENCY_KEY_REQUIRED | 400 | Operação exige Idempotency-Key. | Envie uma chave de 1 a 128 caracteres. |
| IDEMPOTENCY_KEY_REUSED | 409 | A mesma chave foi usada com conteúdo diferente. | Use uma nova chave para uma nova operação. |
| PLAN_LIMIT_REACHED | 402 | Limite do plano foi atingido. | Revise o plano ou reduza a criação. |
| RATE_LIMITED | 429 | Limite temporário de chamadas foi excedido. | Aguarde o Retry-After antes de tentar novamente. |
| INTERNAL_ERROR | 500 | Erro inesperado. | Informe o requestId ao suporte. |
Recursos ainda não disponíveis
- Sem delete físico de Projects.
- Sem duplicação pública.
- Sem movimentação pública de Item entre Checklists.
- Sem webhooks.
- Sem OAuth.
- Sem SDK oficial.
- Sem uso documentado direto no navegador.
- Comments importados são somente leitura.
Referência rápida
/projectsprojects:read/projectsprojects:write/projects/{projectId}projects:read/projects/{projectId}projects:write/projects/{projectId}/stagesstages:read/projects/{projectId}/stagesstages:write/projects/{projectId}/stages/{stageId}stages:write/projects/{projectId}/stages/{stageId}/archivestages:write/projects/{projectId}/stages/{stageId}/restorestages:write/projects/{projectId}/stages/reorderstages:write/workspace/membersmembers:read/projects/{projectId}/deliveriesdeliveries:read/projects/{projectId}/deliveriesdeliveries:write/deliveries/{deliveryId}deliveries:read/deliveries/{deliveryId}deliveries:write/deliveries/{deliveryId}/archivedeliveries:write/deliveries/{deliveryId}/restoredeliveries:write/projects/{projectId}/stages/{stageId}/deliveries/reorderdeliveries:write/deliveries/{deliveryId}/commentscomments:read/deliveries/{deliveryId}/commentscomments:write/deliveries/{deliveryId}/comments/{commentId}comments:read/deliveries/{deliveryId}/comments/{commentId}comments:write/deliveries/{deliveryId}/comments/{commentId}comments:write/deliveries/{deliveryId}/checklistschecklists:read/deliveries/{deliveryId}/checklistschecklists:write/deliveries/{deliveryId}/checklists/{checklistId}checklists:write/deliveries/{deliveryId}/checklists/{checklistId}checklists:write/deliveries/{deliveryId}/checklists/reorderchecklists:write/deliveries/{deliveryId}/checklists/{checklistId}/itemschecklists:write/deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}checklists:write/deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}checklists:write/deliveries/{deliveryId}/checklists/{checklistId}/items/reorderchecklists:write
Comments
Comentários adicionam contexto a Entregas; comentários importados são somente leitura.
/deliveries/{deliveryId}/commentsListar Comments
Lista Comentários ativos de uma Entrega com paginação.
comments:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸▾
Headers
Path parameters
Query parameters
/deliveries/{deliveryId}/commentsCriar Comment
Cria um Comentário na Entrega. O POST exige Idempotency-Key.
comments:write · Write 30/min · Idempotency-Key: Obrigatória
Parâmetros▸▾
Headers
Path parameters
Request body
Exemplo cURL▸▾
/deliveries/{deliveryId}/comments/{commentId}Consultar Comment
Consulta um Comentário específico de uma Entrega.
comments:read · Read 120/min · Idempotency-Key: Não utilizada
Parâmetros▸▾
Headers
Path parameters
/deliveries/{deliveryId}/comments/{commentId}Atualizar Comment
Atualiza o conteúdo de um Comentário criado pelo mesmo autor da API.
comments:write · Write 30/min · Idempotency-Key: Opcional
Parâmetros▸▾
Headers
Path parameters
Request body
/deliveries/{deliveryId}/comments/{commentId}Excluir Comment
Exclui logicamente um Comentário criado pelo mesmo autor da API. Repetir DELETE é seguro e retorna 204. Comentários importados são somente leitura.
comments:write · Write 30/min · Idempotency-Key: Não utilizada
Parâmetros▸▾
Headers
Path parameters