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

# Atualizar Gatilho

> Atualiza um gatilho existente. Apenas gatilhos com `trigger.type = "api"` podem ser atualizados via API pública.




## OpenAPI

````yaml /openapi/tracking.yaml put /v3/tracking/containers/{container_id}/triggers/{trigger_id}
openapi: 3.1.0
info:
  title: API de Rastreamento — Metrito
  version: '3.0'
  description: >
    API para envio de eventos de rastreamento, gerenciamento de gatilhos
    (triggers) e webhooks de transação.


    ## Conceitos


    - **Container** — O contêiner de rastreamento vinculado a um domínio.

    - **Gatilho (Trigger)** — Uma *configuração* que define quando e como uma
    conversão deve ser disparada (tipo de disparo, mapeamento Meta, condições).
    Recurso CRUD.

    - **Evento** — Um *dado de rastreamento* enviado em tempo real: "usuário
    visualizou página X", "usuário comprou Y". Transitório, processado via fila.


    ## Infraestrutura


    - Rate limiting via `X-RateLimit-*` headers

    - Request ID via `X-Request-Id` em todas as respostas

    - `Idempotency-Key` suportado em POSTs de criação e ingestão
servers:
  - url: https://api.metrito.com
    description: Produção
security:
  - bearerAuth: []
  - apiKeyAuth: []
paths:
  /v3/tracking/containers/{container_id}/triggers/{trigger_id}:
    put:
      summary: Atualizar gatilho
      description: >
        Atualiza um gatilho existente. Apenas gatilhos com `trigger.type =
        "api"` podem ser atualizados via API pública.
      operationId: updateTrigger
      parameters:
        - $ref: '#/components/parameters/ContainerId'
        - $ref: '#/components/parameters/TriggerId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTriggerRequest'
            example:
              name: Compra Aprovada v2
              config:
                trigger:
                  type: api
                facebook:
                  name: Purchase
                  track_custom: false
      responses:
        '200':
          description: Gatilho atualizado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trigger'
              example:
                id: 64a1b2c3d4e5f6a7b8c9d0e2
                name: Compra Aprovada v2
                domain: minhaloja.com.br
                config:
                  trigger:
                    type: api
                  facebook:
                    name: Purchase
                    track_custom: false
                created_at: '2026-03-24T14:00:00.000Z'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  parameters:
    ContainerId:
      name: container_id
      in: path
      required: true
      description: >
        Identificador do container. Aceita três formatos:

        - **ObjectId** — `64a1b2c3d4e5f6a7b8c9d0e1` (encontrado na URL da
        plataforma após `/containers/`)

        - **Domínio** — `minhaloja.com.br` (containers v2, o domínio real)

        - **Metrito Tracking Code** — `MTC-AB12` (containers v3, visível na
        sidebar da plataforma)
      schema:
        type: string
        examples:
          - 64a1b2c3d4e5f6a7b8c9d0e1
          - minhaloja.com.br
          - MTC-AB12
    TriggerId:
      name: trigger_id
      in: path
      required: true
      description: ID do gatilho
      schema:
        type: string
        example: 64a1b2c3d4e5f6a7b8c9d0e2
  schemas:
    CreateTriggerRequest:
      type: object
      required:
        - name
        - config
      properties:
        name:
          type: string
          description: Nome descritivo do gatilho
          example: Compra Aprovada
        config:
          type: object
          required:
            - trigger
          properties:
            trigger:
              type: object
              required:
                - type
              properties:
                type:
                  type: string
                  enum:
                    - api
                  description: Apenas `api` é suportado via API pública
            facebook:
              type: object
              description: Configuração de mapeamento para Meta Conversion API
              properties:
                name:
                  type: string
                  description: 'Nome do evento Meta: `Purchase`, `Lead`, `PageView`, etc.'
                  example: Purchase
                track_custom:
                  type: boolean
                  default: false
    Trigger:
      type: object
      properties:
        id:
          type: string
          description: ID único do gatilho
        name:
          type: string
          description: Nome do gatilho
        description:
          type: string
          nullable: true
        domain:
          type: string
          description: Domínio do container
        is_automatic:
          type: boolean
          nullable: true
        config:
          type: object
          properties:
            trigger:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - api
                    - page_view
                    - page_view_duration
                    - element_click
                    - element_view
                    - element_hover
                    - form_submit
                    - scroll_depth
                    - video_view_duration
                    - whatsapp_keyword_message
                    - click_tracking_link
                    - checkout_transaction_approved
            facebook:
              type: object
              nullable: true
              properties:
                name:
                  type: string
                track_custom:
                  type: boolean
        created_at:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - authentication_error
                - authorization_error
                - validation_error
                - rate_limit_error
                - not_found_error
                - api_error
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
              nullable: true
  responses:
    ValidationError:
      description: Parâmetro ausente ou inválido
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              type: validation_error
              code: invalid_parameter
              message: trigger.type must be 'api' for Partner API triggers
              request_id: req_abc123
    Unauthorized:
      description: API key ausente, inválida, revogada ou expirada
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              type: authentication_error
              code: invalid_api_key
              message: The API key provided is invalid or has been revoked.
              request_id: req_abc123
    NotFound:
      description: Recurso não encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              type: not_found_error
              code: resource_not_found
              message: Trigger not found
              request_id: req_abc123
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: JWT da plataforma ou API key `mtk_live_...`
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key `mtk_live_...` via header `x-api-key`

````