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

# Atualizar um fluxo

> Atualiza a configuração de um fluxo existente, incluindo nome, descrição, lógica de execução, condições e configuração de alvo. Retorna o recurso atualizado (200) após uma atualização correta.



## OpenAPI

````yaml /pt-BR/api-reference/openapi.pt-v1.json put /v1/organizations/{organization_id}/flows/{flow_id}
openapi: 3.0.3
info:
  title: API Publica Portal
  version: 1.0.0
  description: API pública REST para portal
servers:
  - url: https://api.flexxible.net
    description: Portal API (production)
security:
  - bearerAuth: []
tags: []
paths:
  /v1/organizations/{organization_id}/flows/{flow_id}:
    put:
      tags:
        - Fluxos
      summary: Atualizar um fluxo
      description: >-
        Atualiza a configuração de um fluxo existente, incluindo nome,
        descrição, lógica de execução, condições e configuração de alvo. Retorna
        o recurso atualizado (200) após uma atualização correta.
      operationId: updateFlow
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: O identificador único da organização
          example: 507f1f77bcf86cd799439011
        - name: flow_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: O identificador único do fluxo a ser atualizado
          example: 507f1f77bcf86cd799439012
        - name: Accept-Language
          in: header
          required: false
          schema:
            type: string
            enum:
              - en-EN
              - es-ES
              - pt-BR
              - ca-ES
              - eu-ES
            default: es-ES
          description: >-
            Código de idioma para campos de texto que suportam vários idiomas.
            Ao criar ou atualizar recursos, isso especifica o idioma dos valores
            de texto fornecidos. Ao recuperar recursos, isso determina qual
            variante de idioma dos campos de texto multilíngues será retornada.
            Valores aceitos: 'en-EN' (inglês), 'es-ES' (espanhol), 'pt-BR'
            (português), 'ca-ES' (catalão), 'eu-ES' (basco). O valor padrão é
            'es-ES' se não for fornecido.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFlowV1Request'
            examples:
              update-flow-configuration:
                summary: Atualizar fluxo com nova configuração
                value:
                  name:
                    en-EN: Flujo diario de copia actualizado
                    es-ES: Proceso de copia diaria actualizado
                  description:
                    en-EN: Proceso automatizado de copia diaria actualizado
                    es-ES: Proceso automatizado de copia actualizado
                  detection_only: false
                  cooldown_minutes: 120
                  enabled: true
                  init_text:
                    en-EN: Iniciando proceso de copia actualizado...
                    es-ES: Iniciando proceso de copia actualizado...
                  ok_text:
                    en-EN: Copia completada correctamente
                  ko_text:
                    en-EN: La copia fallo. Por favor, revisa los registros.
                  target:
                    type: workspaces
                    ids:
                      - 507f1f77bcf86cd799439012
                      - 507f1f77bcf86cd799439013
                  microservice_id: 507f1f77bcf86cd799439014
                  conditions:
                    - condition_type_id: 507f1f77bcf86cd799439015
                      operator: gte
                      compare_to: '90'
                      period: null
                      check_every: 600
      responses:
        '200':
          description: >-
            Fluxo atualizado corretamente. A resposta contém o recurso
            atualizado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Requisição incorreta. Causas comuns: - Campos obrigatórios em falta
            - Valores de campo não válidos - Configuração de condição não válida
            - Identificador de microserviço não válido
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: Não autorizado - autenticação requerida
        '404':
          $ref: '#/components/responses/NotFound'
          description: Fluxo ou organização não encontrados
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
          description: >-
            Entidade não processável. Causas comuns: - Microserviço referenciado
            não encontrado - Entidades alvo referenciadas (Workspaces, Workspace
            groups, Grupos de relatório) não encontradas ou não pertencentes -
            Tipo de condição não válido - O fluxo não pode ser habilitado
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    UpdateFlowV1Request:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/MultilangField'
          description: >-
            Nome do fluxo. É necessário pelo menos uma chave de idioma; cada
            valor entre 1 e 512 caracteres.
        description:
          $ref: '#/components/schemas/MultilangField'
          description: >-
            Descrição do fluxo. Pelo menos uma chave de idioma é necessário;
            cada valor entre 1 e 512 caracteres.
        detection_only:
          type: boolean
        cooldown_minutes:
          type: number
          minimum: 10
          maximum: 1440
          description: Tempo de espera em minutos. Deve estar entre 10 e 1440.
        enabled:
          type: boolean
          description: >-
            Indica se o fluxo está habilitado. PUT espera uma definição
            completa; este campo é obrigatório.
        init_text:
          $ref: '#/components/schemas/MultilangField'
          nullable: true
          description: >-
            Mensagem de texto inicial. Obrigatório em PUT. Enviar null para
            limpar; caso contrário, objeto com pelo menos uma chave de idioma;
            cada valor entre 1 e 512 caracteres.
        ok_text:
          $ref: '#/components/schemas/MultilangField'
          nullable: true
          description: >-
            Mensagem de texto de sucesso. Obrigatório no PUT. Envia null para
            limpar; caso contrário, objeto com pelo menos uma chave de idioma;
            cada valor entre 1 e 512 caracteres.
        ko_text:
          $ref: '#/components/schemas/MultilangField'
          nullable: true
          description: >-
            Mensagem de texto de erro. Obrigatório em PUT. Enviar null para
            limpar; caso contrário, objeto com pelo menos uma chave de idioma;
            cada valor entre 1 e 512 caracteres.
        target:
          type: object
          properties:
            type:
              type: string
              enum:
                - all_workspaces
                - workspaces
                - workspace_groups
                - reporting_groups
            ids:
              type: array
              items:
                type: string
                maxLength: 512
          required:
            - type
        microservice_id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/FlowConditionInputV1'
      required:
        - name
        - description
        - detection_only
        - cooldown_minutes
        - enabled
        - init_text
        - ok_text
        - ko_text
        - target
        - microservice_id
        - conditions
    FlowV1:
      type: object
      description: >-
        Detalhe do fluxo como retornado por GET flow por id. A organização é
        implícita pelo caminho
        `/v1/organizations/{organization_id}/flows/{flow_id}`. Os
        workspaces/grupos alvo são normalizados em target.ids (cadenas
        hexadecimais de ObjectId de MongoDB).
      properties:
        id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
        created_at:
          type: string
          format: date-time
        name:
          type: string
          description: Resolvido para Accept-Language quando é multilíngue
        description:
          type: string
          description: Resolvido para Accept-Language quando é multilíngue
        type:
          type: string
          enum:
            - session
            - workspace
        version:
          type: number
        detection_only:
          type: boolean
        cooldown_minutes:
          type: number
          description: Tempo de espera em minutos
        enabled:
          type: boolean
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/FlowConditionV1'
          description: Omitido ou vazio quando o fluxo não tem condições
        trigger:
          type: string
          nullable: true
        target:
          $ref: '#/components/schemas/FlowTargetSelectorV1'
          description: >-
            Destino de execução: type seleciona o escopo; ids lista valores de
            _id de Workspace, _id de grupo de Workspace ou _id de Grupo de
            relatório (vazio quando type é ALL_WORKSPACES)
        microservice_id:
          type: string
          nullable: true
          description: ID do microserviço vinculado quando presente
        init_text:
          type: string
          nullable: true
          description: Resolvido para Accept-Language quando é multilíngue
        ok_text:
          type: string
          nullable: true
          description: Resolvido para Accept-Language quando é multilíngue
        ko_text:
          type: string
          nullable: true
          description: Resolvido para Accept-Language quando é multilíngue
        execution_metrics:
          $ref: '#/components/schemas/FlowExecutionMetricsV1'
          nullable: true
          description: Presente quando métricas foram calculadas para este fluxo
      required:
        - id
        - created_at
        - name
        - description
        - type
        - version
        - detection_only
        - cooldown_minutes
        - enabled
        - target
    MultilangField:
      type: object
      description: >-
        Campo multilíngue. As chaves são códigos de idioma (en-EN, es-ES, pt-BR,
        eu-ES, ca-ES). Deve haver pelo menos uma chave. Cada valor deve ter
        entre 1 e 512 caracteres.
      properties:
        en-EN:
          type: string
          minLength: 1
          maxLength: 512
        es-ES:
          type: string
          minLength: 1
          maxLength: 512
        pt-BR:
          type: string
          minLength: 1
          maxLength: 512
        eu-ES:
          type: string
          minLength: 1
          maxLength: 512
        ca-ES:
          type: string
          minLength: 1
          maxLength: 512
      additionalProperties: false
    FlowConditionInputV1:
      type: object
      properties:
        condition_type_id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
        operator:
          type: string
          enum:
            - eq
            - gt
            - lt
            - gte
            - lte
            - startsWith
            - endsWith
            - contains
            - at
        compare_to:
          type: string
          maxLength: 512
        period:
          type: number
          nullable: true
        check_every:
          type: number
      required:
        - condition_type_id
        - operator
        - compare_to
        - check_every
    FlowConditionV1:
      type: object
      properties:
        condition_type_id:
          type: string
        metric:
          type: string
        operator:
          type: string
        compare_to:
          type: string
        period:
          type: number
          nullable: true
        check_every:
          type: number
      required:
        - condition_type_id
        - metric
        - operator
        - compare_to
        - check_every
    FlowTargetSelectorV1:
      type: object
      properties:
        type:
          type: string
          enum:
            - all_workspaces
            - workspaces
            - workspace_groups
            - reporting_groups
          description: >-
            ALL_WORKSPACES: ids são sempre []. WORKSPACES: ids são _id de
            documentos de Workspace (24 hex). WORKSPACE_GROUPS /
            REPORTING_GROUPS: ids são valores de _id de grupo.
        ids:
          type: array
          items:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
      required:
        - type
        - ids
    FlowExecutionMetricsV1:
      type: object
      properties:
        targeted_workspaces:
          type: number
        evaluations_per_day:
          type: number
        possible_executions_per_day:
          type: number
        total_possible_executions_per_day:
          type: number
      required:
        - targeted_workspaces
        - evaluations_per_day
        - possible_executions_per_day
        - total_possible_executions_per_day
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
            details:
              type: string
          required:
            - message
            - code
      required:
        - error
  responses:
    BadRequest:
      description: Solicitação incorreta
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Não autorizado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Não encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: Entidade não processável
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Solicitações em excesso
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Erro interno do servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````