Ir para o conteúdo da documentação

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.

← Comece a usar

Prefixo da API

Todos os endpoints usam o domínio do workspace e o prefixo /api/v1.

TEXT
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.

HTTP
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.

Scopes públicos da API REST
ScopeDescrição
projects:readLer listas e detalhes de Projetos.
projects:writeCriar e atualizar Projetos.
stages:readLer Etapas de Projetos.
stages:writeCriar, atualizar, arquivar, restaurar e reordenar Etapas.
deliveries:readLer listas e detalhes de Entregas.
deliveries:writeCriar, atualizar, arquivar, restaurar e reordenar Entregas.
members:readLer membros ativos do workspace para atribuições.
comments:readLer Comentários de Entregas.
comments:writeCriar, editar e excluir logicamente Comentários.
checklists:readLer Checklists e Itens de Entregas.
checklists:writeCriar, editar, excluir logicamente e reordenar Checklists e Itens.

Projects

Projetos são o contêiner principal do trabalho e agrupam Etapas e Entregas.

GET/projects

Listar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Query parameters

Query parameters
NomeTipoUsoDescriçãoExemplo
limitintegerOpcionalQuantidade máxima de itens. Padrão 50 e máximo 100.50
cursorstringOpcionalCursor opaco retornado em meta.nextCursor.NEXT_CURSOR
statusPLANNING | ACTIVE | ON_HOLD | COMPLETED | CANCELLEDOpcionalFiltra pelo status.ACTIVE
searchstringOpcionalBusca textual sem diferenciar maiúsculas e minúsculas.Ana
updatedAfterstring<date-time>OpcionalFiltra recursos atualizados após a data ISO informada.-
Respostas: 200 · Erros: 400, 401, 403, 429, 500
Exemplo cURL
cURL
curl "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST/projects

Criar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Request body

Request body
NomeTipoUsoDescriçãoExemplo
namestringObrigatórioNome do Projeto.Implantação do cliente
descriptionstring | nullOpcionalDescrição opcional.Descrição curta
statusPLANNING | ACTIVE | ON_HOLD | COMPLETED | CANCELLEDOpcionalEstado do trabalho.ACTIVE
priorityLOW | MEDIUM | HIGH | nullOpcionalPrioridade opcional.HIGH
startDatestring<date-time> | null<date-time>OpcionalData inicial em ISO 8601 ou null.2026-08-04T12:00:00.000Z
dueDatestring<date-time> | null<date-time>OpcionalData de prazo em ISO 8601 ou null.2026-09-01T12:00:00.000Z
Respostas: 201 · Erros: 400, 401, 403, 409, 422, 429, 500
Exemplo cURL
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"}'
GET/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID
Respostas: 200 · Erros: 401, 403, 404, 429, 500
PATCH/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
namestringOpcionalNome do Projeto.Implantação do cliente
descriptionstring | nullOpcionalDescrição opcional.Descrição curta
statusPLANNING | ACTIVE | ON_HOLD | COMPLETED | CANCELLEDOpcionalCOMPLETED completes the project and sets completedAt server-side. Any non-COMPLETED status reopens it and clears completedAt.ACTIVE
priorityLOW | MEDIUM | HIGH | nullOpcionalPrioridade opcional.HIGH
startDatestring<date-time> | null<date-time>OpcionalData inicial em ISO 8601 ou null.2026-08-04T12:00:00.000Z
dueDatestring<date-time> | null<date-time>OpcionalData de prazo em ISO 8601 ou null.2026-09-01T12:00:00.000Z
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500

Stages

Etapas pertencem a um Projeto, aparecem no fluxo visual e podem ser arquivadas, restauradas e reordenadas.

GET/projects/{projectId}/stages

Listar Stages

Lista Etapas ativas de um Projeto em ordem visual.

stages:read · Read 120/min · Idempotency-Key: Não utilizada

Parâmetros

Headers

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID

Query parameters

Query parameters
NomeTipoUsoDescriçãoExemplo
limitintegerOpcionalQuantidade máxima de itens. Padrão 50 e máximo 100.50
cursorstringOpcionalCursor opaco retornado em meta.nextCursor.NEXT_CURSOR
Respostas: 200 · Erros: 400, 401, 403, 404, 429, 500
POST/projects/{projectId}/stages

Criar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringObrigatórioTítulo visível do recurso.Preparar proposta
descriptionstring | nullOpcionalDescrição opcional.Descrição curta
startDatestring<date-time> | null<date-time>OpcionalData inicial em ISO 8601 ou null.2026-08-04T12:00:00.000Z
dueDatestring<date-time> | null<date-time>OpcionalData de prazo em ISO 8601 ou null.2026-09-01T12:00:00.000Z
Respostas: 201 · Erros: 400, 401, 403, 404, 409, 422, 429, 500
Exemplo cURL
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"}'
PATCH/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID
stageIdstringObrigatórioID da Etapa.STAGE_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringOpcionalTítulo visível do recurso.Preparar proposta
descriptionstring | nullOpcionalDescrição opcional.Descrição curta
startDatestring<date-time> | null<date-time>OpcionalData inicial em ISO 8601 ou null.2026-08-04T12:00:00.000Z
dueDatestring<date-time> | null<date-time>OpcionalData de prazo em ISO 8601 ou null.2026-09-01T12:00:00.000Z
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500
POST/projects/{projectId}/stages/{stageId}/archive

Arquivar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID
stageIdstringObrigatórioID da Etapa.STAGE_ID
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500
POST/projects/{projectId}/stages/{stageId}/restore

Restaurar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID
stageIdstringObrigatórioID da Etapa.STAGE_ID
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500
PATCH/projects/{projectId}/stages/reorder

Reordenar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
orderedIdsstring[]ObrigatórioComplete final order of the active resources in this context. Archived resources are excluded and must not be sent.["ID_1","ID_2","ID_3"]
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500
Exemplo cURL
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.

GET/workspace/members

Listar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Query parameters

Query parameters
NomeTipoUsoDescriçãoExemplo
limitintegerOpcionalQuantidade máxima de itens. Padrão 50 e máximo 100.50
cursorstringOpcionalCursor opaco retornado em meta.nextCursor.NEXT_CURSOR
searchstringOpcionalBusca textual sem diferenciar maiúsculas e minúsculas.Ana
Respostas: 200 · Erros: 400, 401, 403, 429, 500
Exemplo cURL
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.

GET/projects/{projectId}/deliveries

Listar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID

Query parameters

Query parameters
NomeTipoUsoDescriçãoExemplo
limitintegerOpcionalQuantidade máxima de itens. Padrão 50 e máximo 100.50
cursorstringOpcionalCursor opaco retornado em meta.nextCursor.NEXT_CURSOR
stageIdstringOpcionalID da Etapa.STAGE_ID
statusTODO | IN_PROGRESS | DONE | BLOCKEDOpcionalFiltra pelo status.ACTIVE
assigneeIdstringOpcionalFiltra Entregas por ID de membro responsável.-
completedbooleanOpcionalFiltra Entregas concluídas ou abertas.true
updatedAfterstring<date-time>OpcionalFiltra recursos atualizados após a data ISO informada.-
dueBeforestring<date-time>OpcionalFiltra Entregas com prazo até a data ISO informada.-
dueAfterstring<date-time>OpcionalFiltra Entregas com prazo a partir da data ISO informada.-
searchstringOpcionalBusca textual sem diferenciar maiúsculas e minúsculas.Ana
Respostas: 200 · Erros: 400, 401, 403, 404, 429, 500
POST/projects/{projectId}/deliveries

Criar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringObrigatórioTítulo visível do recurso.Preparar proposta
descriptionstring | nullOpcionalDescrição opcional.Descrição curta
stageIdstringObrigatórioID da Etapa relacionada.STAGE_ID
statusTODO | IN_PROGRESS | DONE | BLOCKEDOpcionalEstado do trabalho.ACTIVE
priorityOUTRAS | LOW | MEDIUM | HIGH | URGENT | nullOpcionalPrioridade opcional.HIGH
startDatestring<date-time> | null<date-time>OpcionalData inicial em ISO 8601 ou null.2026-08-04T12:00:00.000Z
dueDatestring<date-time> | null<date-time>OpcionalData de prazo em ISO 8601 ou null.2026-09-01T12:00:00.000Z
assigneeIdsstring[]OpcionalLista de IDs de membros ativos do workspace.["MEMBER_ID"]
Respostas: 201 · Erros: 400, 401, 403, 404, 409, 429, 500
Exemplo cURL
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"]}'
GET/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
Respostas: 200 · Erros: 401, 403, 404, 429, 500
PATCH/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringOpcionalTítulo visível do recurso.Preparar proposta
descriptionstring | nullOpcionalDescrição opcional.Descrição curta
stageIdstringOpcionalID da Etapa relacionada.STAGE_ID
statusTODO | IN_PROGRESS | DONE | BLOCKEDOpcionalEstado do trabalho.ACTIVE
completedbooleanOpcionalAlternative to status. true sets DONE; false reopens as TODO. Do not send together with status.true
priorityOUTRAS | LOW | MEDIUM | HIGH | URGENT | nullOpcionalPrioridade opcional.HIGH
startDatestring<date-time> | null<date-time>OpcionalData inicial em ISO 8601 ou null.2026-08-04T12:00:00.000Z
dueDatestring<date-time> | null<date-time>OpcionalData de prazo em ISO 8601 ou null.2026-09-01T12:00:00.000Z
assigneeIdsstring[]OpcionalAbsent preserves assignees; empty array removes all assignees.["MEMBER_ID"]
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 429, 500
POST/deliveries/{deliveryId}/archive

Arquivar Delivery

Arquiva uma Entrega sem apagar os dados. Repetir a operação é seguro.

deliveries:write · Write 30/min · Idempotency-Key: Opcional

Parâmetros

Headers

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
Respostas: 200 · Erros: 401, 403, 404, 409, 429, 500
POST/deliveries/{deliveryId}/restore

Restaurar Delivery

Restaura uma Entrega arquivada quando a Etapa relacionada também está ativa.

deliveries:write · Write 30/min · Idempotency-Key: Opcional

Parâmetros

Headers

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
Respostas: 200 · Erros: 401, 403, 404, 409, 429, 500
PATCH/projects/{projectId}/stages/{stageId}/deliveries/reorder

Reordenar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
projectIdstringObrigatórioID do Projeto.PROJECT_ID
stageIdstringObrigatórioID da Etapa.STAGE_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
orderedIdsstring[]ObrigatórioComplete final order of the active resources in this context. Archived resources are excluded and must not be sent.["ID_1","ID_2","ID_3"]
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500

Comments

Comentários adicionam contexto a Entregas; comentários importados são somente leitura.

GET/deliveries/{deliveryId}/comments

Listar Comments

Lista Comentários ativos de uma Entrega com paginação.

comments:read · Read 120/min · Idempotency-Key: Não utilizada

Parâmetros

Headers

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID

Query parameters

Query parameters
NomeTipoUsoDescriçãoExemplo
limitintegerOpcionalQuantidade máxima de itens. Padrão 50 e máximo 100.50
cursorstringOpcionalCursor opaco retornado em meta.nextCursor.NEXT_CURSOR
createdAfterstring<date-time>OpcionalParâmetro da requisição.-
Respostas: 200 · Erros: 400, 401, 403, 404, 429, 500
POST/deliveries/{deliveryId}/comments

Criar Comment

Cria um Comentário na Entrega. O POST exige Idempotency-Key.

comments:write · Write 30/min · Idempotency-Key: Obrigatória

Parâmetros

Headers

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
contentstringObrigatórioTexto do Comentário.Atualização registrada pela integração.
Respostas: 201 · Erros: 400, 401, 403, 404, 409, 429, 500
Exemplo cURL
cURL
curl -X POST "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/deliveries/DELIVERY_ID/comments" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: comment-create-001" \
  -d '{"content":"Atualização registrada pela integração."}'
GET/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
commentIdstringObrigatórioID do Comentário.COMMENT_ID
Respostas: 200 · Erros: 401, 403, 404, 429, 500
PATCH/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringOpcionalChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
commentIdstringObrigatórioID do Comentário.COMMENT_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
contentstringObrigatórioTexto do Comentário.Atualização registrada pela integração.
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500
DELETE/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
commentIdstringObrigatórioID do Comentário.COMMENT_ID
Respostas: 204 · Erros: 401, 403, 404, 429, 500

Checklists

Checklists organizam critérios e subtarefas de uma Entrega. A listagem atual não é paginada.

GET/deliveries/{deliveryId}/checklists

Listar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
Respostas: 200 · Erros: 400, 401, 403, 404, 429, 500
POST/deliveries/{deliveryId}/checklists

Criar Checklist

Cria um Checklist na Entrega. O POST exige Idempotency-Key.

checklists:write · Write 30/min · Idempotency-Key: Obrigatória

Parâmetros

Headers

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringObrigatórioTítulo visível do recurso.Preparar proposta
Respostas: 201 · Erros: 400, 401, 403, 404, 409, 429, 500
Exemplo cURL
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"}'
PATCH/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
checklistIdstringObrigatórioID do Checklist.CHECKLIST_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringOpcionalTítulo visível do recurso.Preparar proposta
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 429, 500
DELETE/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
checklistIdstringObrigatórioID do Checklist.CHECKLIST_ID
Respostas: 204 · Erros: 400, 401, 403, 404, 409, 429, 500
PATCH/deliveries/{deliveryId}/checklists/reorder

Reordenar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
orderedIdsstring[]ObrigatórioComplete final order of the active resources in this context. Archived resources are excluded and must not be sent.["ID_1","ID_2","ID_3"]
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500

Checklist Items

Itens ficam dentro de Checklists, podem ser concluídos ou reabertos e não possuem movimentação pública entre Checklists.

POST/deliveries/{deliveryId}/checklists/{checklistId}/items

Criar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
checklistIdstringObrigatórioID do Checklist.CHECKLIST_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringObrigatórioTítulo visível do recurso.Preparar proposta
Respostas: 201 · Erros: 400, 401, 403, 404, 409, 429, 500
PATCH/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
checklistIdstringObrigatórioID do Checklist.CHECKLIST_ID
itemIdstringObrigatórioID do Item.ITEM_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
titlestringOpcionalTítulo visível do recurso.Preparar proposta
completedbooleanOpcionalConclui ou reabre o item conforme o valor booleano.true
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 429, 500
DELETE/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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
checklistIdstringObrigatórioID do Checklist.CHECKLIST_ID
itemIdstringObrigatórioID do Item.ITEM_ID
Respostas: 204 · Erros: 400, 401, 403, 404, 409, 429, 500
PATCH/deliveries/{deliveryId}/checklists/{checklistId}/items/reorder

Reordenar 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

Headers
NomeTipoUsoDescriçãoExemplo
x-request-idstringOpcionalID opcional enviado pelo cliente para rastrear a requisição.-
Idempotency-KeystringObrigatórioChave de idempotência para retentativas seguras.-

Path parameters

Path parameters
NomeTipoUsoDescriçãoExemplo
deliveryIdstringObrigatórioID da Entrega.DELIVERY_ID
checklistIdstringObrigatórioID do Checklist.CHECKLIST_ID

Request body

Request body
NomeTipoUsoDescriçãoExemplo
orderedIdsstring[]ObrigatórioComplete final order of the active resources in this context. Archived resources are excluded and must not be sent.["ID_1","ID_2","ID_3"]
Respostas: 200 · Erros: 400, 401, 403, 404, 409, 422, 429, 500

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.

JSON
{
  "orderedIds": ["ID_1", "ID_2", "ID_3"]
}
Operações de reordenação
RecursoEndpointIdempotência
StagesPATCH /projects/{projectId}/stages/reorderObrigatória
DeliveriesPATCH /projects/{projectId}/stages/{stageId}/deliveries/reorderObrigatória
ChecklistsPATCH /deliveries/{deliveryId}/checklists/reorderObrigatória
Checklist ItemsPATCH /deliveries/{deliveryId}/checklists/{checklistId}/items/reorderObrigató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.

Estados e remoções públicas
TipoAplicação pública
Archive e restoreStages e Deliveries.
Soft deleteComments, Checklists e Checklist Items via DELETE lógico.
Sem DELETE públicoProjects não possuem operação pública de exclusão.
Restore de DeliveryExige 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.

BASH
curl "https://SEU_WORKSPACE.workspace.lesto.app/api/v1/projects?limit=50&cursor=NEXT_CURSOR" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Recursos paginados
RecursoPaginação
ProjectsPaginado.
StagesPaginado.
DeliveriesPaginado.
Workspace MembersPaginado.
CommentsPaginado.
ChecklistsNã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.

Contrato de idempotência
UsoOperações
ObrigatóriaPOST /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
OpcionalPATCH /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 utilizadaGET /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.

Limites públicos
GrupoLimite
Auth60/min por IP
Read120/min por token
Write30/min por token
Headers de rate limit
HeaderSignificado
RateLimit-LimitLimite da janela atual.
RateLimit-RemainingChamadas restantes na janela atual.
RateLimit-ResetMomento de reinício da janela.
Retry-AfterTempo sugerido de espera após 429.

Erros

Respostas de erro usam envelope com requestId. Guarde esse valor ao acionar suporte.

JSON
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Revise os campos enviados.",
    "requestId": "REQUEST_ID"
  }
}
Códigos públicos de erro
CódigoHTTPDescriçãoAção recomendada
INVALID_TOKEN401Token ausente ou inválido.Verifique o header Authorization.
TOKEN_EXPIRED401Token passou da expiração definida.Crie um novo token.
TOKEN_REVOKED401Token foi revogado.Substitua a credencial.
INSUFFICIENT_SCOPE403Token não possui o scope exigido.Crie token com o menor conjunto necessário.
FORBIDDEN403Usuário do token não pode executar a ação.Confirme acesso ao workspace e ao recurso.
RESOURCE_NOT_FOUND404Recurso não existe ou não está disponível para o token.Revise IDs e estado do recurso.
VALIDATION_ERROR400Parâmetros ou body não passaram na validação.Corrija os campos indicados.
CONFLICT409A operação conflita com o estado atual.Recarregue dados e repita com nova intenção.
IDEMPOTENCY_KEY_REQUIRED400Operação exige Idempotency-Key.Envie uma chave de 1 a 128 caracteres.
IDEMPOTENCY_KEY_REUSED409A mesma chave foi usada com conteúdo diferente.Use uma nova chave para uma nova operação.
PLAN_LIMIT_REACHED402Limite do plano foi atingido.Revise o plano ou reduza a criação.
RATE_LIMITED429Limite temporário de chamadas foi excedido.Aguarde o Retry-After antes de tentar novamente.
INTERNAL_ERROR500Erro 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

GET/projectsprojects:read
POST/projectsprojects:write
GET/projects/{projectId}projects:read
PATCH/projects/{projectId}projects:write
GET/projects/{projectId}/stagesstages:read
POST/projects/{projectId}/stagesstages:write
PATCH/projects/{projectId}/stages/{stageId}stages:write
POST/projects/{projectId}/stages/{stageId}/archivestages:write
POST/projects/{projectId}/stages/{stageId}/restorestages:write
PATCH/projects/{projectId}/stages/reorderstages:write
GET/workspace/membersmembers:read
GET/projects/{projectId}/deliveriesdeliveries:read
POST/projects/{projectId}/deliveriesdeliveries:write
GET/deliveries/{deliveryId}deliveries:read
PATCH/deliveries/{deliveryId}deliveries:write
POST/deliveries/{deliveryId}/archivedeliveries:write
POST/deliveries/{deliveryId}/restoredeliveries:write
PATCH/projects/{projectId}/stages/{stageId}/deliveries/reorderdeliveries:write
GET/deliveries/{deliveryId}/commentscomments:read
POST/deliveries/{deliveryId}/commentscomments:write
GET/deliveries/{deliveryId}/comments/{commentId}comments:read
PATCH/deliveries/{deliveryId}/comments/{commentId}comments:write
DELETE/deliveries/{deliveryId}/comments/{commentId}comments:write
GET/deliveries/{deliveryId}/checklistschecklists:read
POST/deliveries/{deliveryId}/checklistschecklists:write
PATCH/deliveries/{deliveryId}/checklists/{checklistId}checklists:write
DELETE/deliveries/{deliveryId}/checklists/{checklistId}checklists:write
PATCH/deliveries/{deliveryId}/checklists/reorderchecklists:write
POST/deliveries/{deliveryId}/checklists/{checklistId}/itemschecklists:write
PATCH/deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}checklists:write
DELETE/deliveries/{deliveryId}/checklists/{checklistId}/items/{itemId}checklists:write
PATCH/deliveries/{deliveryId}/checklists/{checklistId}/items/reorderchecklists:write

← Voltar para o guia introdutório