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

# Registrar evento

> Registra un tipo de evento para automatizaciones.



## OpenAPI

````yaml /es/automations-api/api-reference/openapi-automations.json post /v1/events
openapi: 3.0.3
info:
  title: 'Notifique API v1: Automatizaciones y eventos'
  version: 1.0.0
  description: >-
    Definición de **eventos** (nombre + esquema `payload` opcional),
    **automatizaciones** como gráfico (activador por evento o **mensaje
    entrante** en un canal, retrasos, condiciones, incluido **`source:
    "message"`** en entrante, **`endFlow`** para finalizar una sucursal, envíos
    multicanal, actualizaciones de contactos, etc.) y **activador** mediante
    `POST /v1/events/send`. Autenticación: encabezado `Authorization: Bearer
    sk_live_...` o `x-api-key`. Todos los cuerpos usan **camelCase**.


    **Alcances:** `events:read` | `events:write` | `automations:read` |
    `automations:write`. Los pasos de envío (`sendTemplate`, correos
    electrónicos directos, etc.) aún requieren las claves de envío del canal
    correspondiente.


    **Paginación:** consulta `page` (≥1, predeterminado 1) y `limit` (1 a 100,
    predeterminado 20), como cadenas o números coherentes.


    **Espacio de trabajo bloqueado** devuelve **402** con `Payment Required`.


    **Incorporación:** en cualquier ruta `/v1`, si la incorporación está
    incompleta, el middleware devuelve **403** con `code: ONBOARDING_REQUIRED`
    (cuerpo similar a otros 403).


    **Escopos adicionais:** `assistants:read` | `assistants:write` |
    `assistants:invoke` | `knowledge_bases:read` | `knowledge_bases:write` |
    `mcp_connections:read` | `mcp_connections:write` | `http_tools:read` |
    `http_tools:write`.
servers:
  - url: https://api.notifique.dev
    description: Producción
security:
  - ntfAutoBearerAuth: []
  - ntfAutoApiKeyHeader: []
tags:
  - name: Eventos
    description: CRUD de configuración de eventos + disparador `POST /v1/events/send`.
  - name: Automatizaciones
    description: CRUD de automatizaciones, listado de parada y ejecución.
  - name: Runs
    description: Historial y detalles de ejecuciones (`AutomationRun` + pasos).
  - name: Assistentes
    description: CRUD de WorkspaceAssistant, invoke de teste e bindings MCP/HTTP.
  - name: Bases de conhecimento
    description: CRUD de bases RAG e documentos.
  - name: MCP
    description: Conexões MCP do workspace (CUSTOM_URL via API; OAuth curado no painel).
  - name: HTTP tools
    description: Ferramentas REST allowlist para assistentes.
  - name: Inbox
    description: Conversaciones unificadas y métricas (recurso premium).
paths:
  /v1/events:
    post:
      tags:
        - Eventos
      summary: Registrar evento
      description: Registra un tipo de evento para automatizaciones.
      operationId: ntfAuto_createEvent
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NtfAuto_EventCreateBody'
            example:
              name: user.created
              schemaJson: {}
      responses:
        '200':
          $ref: '#/components/responses/NtfAuto_EventCreate200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ntfAuto_CreateEventResponse'
        '400':
          $ref: '#/components/responses/NtfAuto_EventCreate400'
        '401':
          $ref: '#/components/responses/NtfAuto_401'
        '402':
          $ref: '#/components/responses/NtfAuto_402'
        '403':
          $ref: '#/components/responses/NtfAuto_403EventsWrite'
        '409':
          $ref: '#/components/responses/NtfAuto_EventNameConflict'
components:
  schemas:
    NtfAuto_EventCreateBody:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 256
          example: user.created
        schemaJson:
          $ref: '#/components/schemas/NtfAuto_EventPayloadSchema'
      example:
        name: user.created
        schemaJson: {}
    ntfAuto_CreateEventResponse:
      type: object
      additionalProperties: false
      description: Resposta JSON vazia (sucesso sem payload).
      properties:
        success:
          type: boolean
          example: true
      example:
        success: true
    NtfAuto_EventPayloadSchema:
      type: object
      additionalProperties:
        type: string
        enum:
          - string
          - number
          - boolean
          - date
        description: '`date`: cadena ISO-8601 analizable en el disparador.'
      description: 'Objeto plano: nombre de campo → tipo esperado en `payload`.'
      properties: {}
    NtfAuto_EventCreateResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          type: object
          required:
            - id
            - name
            - createdAt
          properties:
            id:
              type: string
            name:
              type: string
            createdAt:
              type: string
              format: date-time
      example:
        success: true
        data:
          id: clxx...
          name: Exemplo
          createdAt: '2025-02-10T14:00:00.000Z'
    NtfAuto_ErrorWithOptionalCode:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
        message:
          type: string
        code:
          type: string
      example:
        success: false
        error: string
        message: string
        code: string
    NtfAuto_ErrorEnvelope401:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          example: Unauthorized
        message:
          type: string
        code:
          type: string
          example: VALIDATION_ERROR
      example:
        success: false
        error: Unauthorized
        message: string
    NtfAuto_ErrorPaymentRequired:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          enum:
            - Payment Required
        message:
          type: string
          example: Plan expired or suspended
        code:
          type: string
          enum:
            - WORKSPACE_BLOCKED
            - PLAN_LIMIT_AUTOMATIONS
            - PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE
      example:
        success: false
        error: Payment Required
        message: Plan expired or suspended
        code: WORKSPACE_BLOCKED
    NtfAuto_ErrorForbiddenScope:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          enum:
            - Forbidden
        message:
          type: string
        code:
          type: string
          example: FORBIDDEN
      example:
        success: false
        error: Forbidden
        message: string
    NtfAuto_ErrorConflict:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          enum:
            - Conflict
        message:
          type: string
        code:
          type: string
          example: CONFLICT
      example:
        success: false
        error: Conflict
        message: string
  responses:
    NtfAuto_EventCreate200:
      description: Evento creado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_EventCreateResponse'
          example:
            success: true
            data:
              id: clxx...
              name: Exemplo
              createdAt: '2025-02-10T14:00:00.000Z'
    NtfAuto_EventCreate400:
      description: >-
        Nombre no válido (`INVALID_EVENT_NAME`), prefijo `notifique:` o
        `schemaJson` (`INVALID_EVENT_SCHEMA`) no válido.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorWithOptionalCode'
          examples:
            invalidName:
              value:
                success: false
                error: Bad Request
                message: Invalid event name
                code: INVALID_EVENT_NAME
            invalidSchema:
              value:
                success: false
                error: schemaJson must be a flat object
                code: INVALID_EVENT_SCHEMA
                message: schemaJson must be a flat object
    NtfAuto_401:
      description: >-
        Clave faltante o no válida. En el middleware global de `/v1` también
        ocurre cuando no hay una clave API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorEnvelope401'
          examples:
            route:
              value:
                success: false
                error: Unauthorized
                message: Invalid or missing API Key
                code: UNAUTHORIZED
            middleware:
              value:
                success: false
                error: Unauthorized
                message: >-
                  API Key is required. Provide Authorization: Bearer <key> or
                  x-api-key header.
                code: UNAUTHORIZED
    NtfAuto_402:
      description: >-
        Plan expirado o workspace suspendido (`WORKSPACE_BLOCKED`), límite de
        automatizaciones del plan (`PLAN_LIMIT_AUTOMATIONS`) o plan/trial sin
        saldo para automatizaciones/eventos
        (`PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorPaymentRequired'
          examples:
            workspaceBlocked:
              value:
                success: false
                error: Payment Required
                message: Plan expired or suspended
                code: WORKSPACE_BLOCKED
            premiumFeature:
              value:
                success: false
                error: Payment Required
                message: Premium automations require an active plan, trial, or balance
                code: PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE
    NtfAuto_403EventsWrite:
      description: Sin alcance `events:write`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorForbiddenScope'
          example:
            success: false
            error: Forbidden
            message: 'Missing scope: events:write'
            code: FORBIDDEN
    NtfAuto_EventNameConflict:
      description: Ya existe un evento con el mismo nombre en el espacio de trabajo.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorConflict'
          example:
            success: false
            error: Conflict
            message: An event with this name already exists
            code: CONFLICT
  securitySchemes:
    ntfAutoBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: '`Authorization: Bearer sk_live_...`'
    ntfAutoApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: Mismo valor de clave, sin prefijo de portador.

````