> ## Documentation Index
> Fetch the complete documentation index at: https://docs.olie.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar uma execução

> Ajusta os horários de uma execução ou a encerra imediatamente. Envie `finish_now` como `true` para parar a contagem agora — nesse caso `started_at` e `finished_at` não podem ser enviados.

Corrigir horários exige permissão de edição da execução, enquanto encerrar a própria contagem não. Tokens de aplicação não podem atualizar execuções.



## OpenAPI

````yaml /api-reference/openapi.json put /api/management/projects/{project_id}/project-executions/{project_execution_id}
openapi: 3.0.0
info:
  title: Olie API
  version: 1.0.0
  description: >
    # Introdução 👋


    Olá! Esta é a documentação oficial da API da [olie.ai](https://olie.ai/).
    Aqui você encontra as referências e exemplos de uso dos nossos endpoints.


    Para uma visão completa, recomendamos fortemente que você leia a
    [documentação oficial](https://docs.olie.ai/api-reference/introduction). Lá
    estão detalhados tópicos essenciais como
    [autenticação](https://docs.olie.ai/api-reference/introduction/authentication),
    [estrutura de
    respostas](https://docs.olie.ai/api-reference/general/response-structure),
    [paginação](https://docs.olie.ai/api-reference/general/pagination) e outros
    guias de integração.


    No Postman, esta coleção foca nas informações específicas de cada requisição
    (endpoints, parâmetros e exemplos), servindo como apoio rápido para testes e
    desenvolvimento.
servers:
  - url: https://api.olie.ai
security:
  - BearerAuth: []
paths:
  /api/management/projects/{project_id}/project-executions/{project_execution_id}:
    parameters:
      - name: project_id
        in: path
        required: true
        description: ID (UUID) do projeto.
        schema:
          type: string
        example: '{{project_id}}'
      - name: project_execution_id
        in: path
        required: true
        description: ID (UUID) da execução.
        schema:
          type: string
        example: ''
    put:
      tags:
        - projects
        - Execuções
      summary: Atualizar uma execução
      description: >-
        Ajusta os horários de uma execução ou a encerra imediatamente. Envie
        `finish_now` como `true` para parar a contagem agora — nesse caso
        `started_at` e `finished_at` não podem ser enviados.


        Corrigir horários exige permissão de edição da execução, enquanto
        encerrar a própria contagem não. Tokens de aplicação não podem atualizar
        execuções.
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Ajuste da execução. Envie os horários ou `finish_now`, nunca os
                dois.
              type: object
              properties:
                started_at:
                  type: string
                  description: Novo horário de início.
                  format: date-time
                finished_at:
                  type: string
                  description: Novo horário de término. Precisa ser depois do início.
                  format: date-time
                finish_now:
                  type: boolean
                  description: >-
                    `true` encerra a execução agora. Não pode ser combinado com
                    os horários.
            example:
              started_at: null
              finished_at: null
              finish_now: false
      responses:
        '200':
          description: Encerrada agora
          content:
            application/json:
              schema:
                description: Execução devolvida sob a chave `data`.
                type: object
                properties:
                  data:
                    description: Registro de tempo de trabalho.
                    type: object
                    properties:
                      id:
                        type: string
                        description: ID (UUID) da execução.
                        format: uuid
                      project_id:
                        type: string
                        description: Projeto em que o tempo foi contado.
                        format: uuid
                      user_id:
                        type: string
                        description: Pessoa que executou.
                        format: uuid
                      funnel_step_id:
                        type: integer
                        description: Etapa do funil em que o tempo foi contado.
                      started_at:
                        type: string
                        description: Início da contagem.
                        format: date-time
                      finished_at:
                        type: string
                        description: >-
                          Término da contagem. `null` enquanto a execução está
                          em andamento.
                        format: date-time
                      hourly_rate:
                        type: number
                        description: >-
                          Valor hora aplicado. Só aparece para quem tem acesso a
                          custos.
                      finished_reason:
                        type: string
                        description: >-
                          Motivo do encerramento: `self_stop`, `scheduled_stop`,
                          `step_moved`, `project_deleted`, `project_template` ou
                          `step_deleted`.
                      started_at_real:
                        type: string
                        description: Início original, quando o horário foi ajustado depois.
                        format: date-time
                      finished_at_real:
                        type: string
                        description: >-
                          Término original, quando o horário foi ajustado
                          depois.
                        format: date-time
                      project:
                        type: object
                        description: Projeto da execução.
                      user:
                        type: object
                        description: Pessoa que executou.
                      funnel_step:
                        type: object
                        description: Etapa e funil da execução.
                  response:
                    type: boolean
                    description: Sempre true quando a operação é concluída.
                required:
                  - data
                  - response
              examples:
                Encerrada agora:
                  value:
                    data:
                      id: a14afcbd-38b1-4b97-8950-02c09547611a
                      project_id: 019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf
                      user_id: 019c1e87-63f4-71dd-a4e3-6eaea0619c2f
                      funnel_step_id: 181
                      started_at: '2026-08-19T13:05:00.000000Z'
                      finished_at: '2026-08-19T14:47:12.000000Z'
                      hourly_rate: 85
                      finished_reason: self_stop
                      started_at_real: null
                      finished_at_real: null
                      project:
                        id: 019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf
                        code: SC-1
                        name: Shopping Center
                        is_template: false
                        deleted_at: null
                      user:
                        id: 019c1e87-63f4-71dd-a4e3-6eaea0619c2f
                        name: Ana Souza
                        avatar_url: null
                      funnel_step:
                        id: 181
                        name: Execução
                        project_funnel_id: 36
                        funnel:
                          id: 36
                          name: Obras
                    response: true
                Horários ajustados:
                  value:
                    data:
                      id: a14afcbd-38b1-4b97-8950-02c09547611a
                      project_id: 019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf
                      user_id: 019c1e87-63f4-71dd-a4e3-6eaea0619c2f
                      funnel_step_id: 181
                      started_at: '2026-08-19T13:00:00.000000Z'
                      finished_at: '2026-08-19T15:00:00.000000Z'
                      hourly_rate: 85
                      finished_reason: self_stop
                      started_at_real: null
                      finished_at_real: null
                      project:
                        id: 019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf
                        code: SC-1
                        name: Shopping Center
                        is_template: false
                        deleted_at: null
                      user:
                        id: 019c1e87-63f4-71dd-a4e3-6eaea0619c2f
                        name: Ana Souza
                        avatar_url: null
                      funnel_step:
                        id: 181
                        name: Execução
                        project_funnel_id: 36
                        funnel:
                          id: 36
                          name: Obras
                    response: true
        '422':
          description: Validação falhou
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: boolean
                    description: Sempre false em respostas de erro.
                  message:
                    type: string
                    description: >-
                      Identificador do erro, usado pelo cliente para tratar o
                      caso.
                  error:
                    type: string
                    description: Descrição legível do erro.
                  validation:
                    type: object
                    description: >-
                      Mapa de campo para as mensagens de validação daquele
                      campo.
                    properties: {}
                required:
                  - response
                  - message
                  - error
                  - validation
              example:
                response: false
                message: validation_errors
                error: O campo finish now proíbe que started at esteja presente.
                validation:
                  finish_now:
                    - O campo finish now proíbe que started at esteja presente.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````