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

# Get automation event schemas

> Return all supported trigger event schemas, keyed by source then event name.

Each schema describes the event's payload fields, which operators its
conditions support, and the valid `replies` verbs, so callers can
construct valid `triggers` for the create and update endpoints.

## Permissions

Requires a [service user](/api-reference/v3/service-users/members-service-users) or [personal access token](/api-reference/personal-access-tokens) with the `ViewOrgAutomations` permission at the organization level.

## Usage

Call this endpoint before building automations: it returns every supported trigger event type (keyed by source, then event name) with its payload fields, the operators its conditions support, and the valid `replies` verbs, so you can construct valid `triggers` for the create and update endpoints. Sources that are not enabled for the organization are omitted.


## OpenAPI

````yaml v3-openapi.yaml GET /v3/organizations/{org_id}/automations/schemas
openapi: 3.1.0
info:
  description: Devin v3 API with Service User authentication and RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3/organizations/{org_id}/automations/schemas:
    get:
      tags:
        - automations
      summary: Get automation event schemas
      description: >-
        Return all supported trigger event schemas, keyed by source then event
        name.


        Each schema describes the event's payload fields, which operators its

        conditions support, and the valid `replies` verbs, so callers can

        construct valid `triggers` for the create and update endpoints.
      operationId: >-
        handle_get_automation_schemas_v3_organizations__org_id__automations_schemas_get
      parameters:
        - description: 'Organization ID (prefix: org-)'
          in: path
          name: org_id
          required: true
          schema:
            example: org-abc123def456
            title: Org Id
            type: string
        - description: >-
            Resolve `default_net_policy` and `security_profile` for a create
            that sets `security_profile.profile_id` to this profile. Requires
            the security-profile management permission.
          in: query
          name: security_profile_id
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Resolve `default_net_policy` and `security_profile` for a create
              that sets `security_profile.profile_id` to this profile. Requires
              the security-profile management permission.
            title: Security Profile Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationSchemasResponse'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Unprocessable Content
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Too Many Requests
components:
  schemas:
    AutomationSchemasResponse:
      additionalProperties: false
      properties:
        available_devin_modes:
          description: >-
            Modes session_settings.devin_mode accepts for a new selection right
            now, as the organization's automation identity: the stable modes it
            can spawn plus, when the organization's preview rollout allows, the
            research previews. A stored mode outside this list is preserved by
            edits that do not change it.
          items:
            enum:
              - normal
              - fast
              - lite
              - ultra
              - fusion
              - swe-2-medium
              - swe-2-high
              - swe-2-max
            type: string
          title: Available Devin Modes
          type: array
        default_fallback_devin_mode:
          anyOf:
            - enum:
                - normal
                - fast
                - lite
                - ultra
                - fusion
              type: string
            - type: 'null'
          description: >-
            Stable mode to prefill session_settings.fallback_devin_mode with
            when a research preview is selected: the organization's default mode
            when it is stable and available, else the first available stable
            mode; null when none is available.
          title: Default Fallback Devin Mode
        default_net_policy:
          anyOf:
            - $ref: '#/components/schemas/AutomationNetPolicy'
            - type: 'null'
          description: >-
            Network policy clients should start new automations from: the
            deployment's Git Manager-only policy (add only the destinations the
            task requires), or null when the governing security profile (see
            security_profile) has a network policy. In that case sessions use
            the profile's policy; omit session_settings.net_policy unless the
            task must restrict further.
        security_profile:
          anyOf:
            - $ref: '#/components/schemas/AutomationSchemasSecurityProfile'
            - type: 'null'
          description: >-
            Security profile governing this organization's automation sessions,
            or null when none applies.
        sources:
          additionalProperties:
            additionalProperties:
              $ref: '#/components/schemas/AutomationEventSchemaResponse'
            type: object
          description: Event source → event name → schema.
          title: Sources
          type: object
        update_semantics:
          description: >-
            PATCH semantics active for this organization: 'replace_groups' (a
            config group present in the request replaces the stored group
            wholesale) or 'merge_patch' (RFC 7396 for objects: omitted members
            of a present group keep their stored values, explicit nulls clear;
            list membership still replaces wholesale — deletion is resending the
            list without the element — but each sent element merges onto the
            stored element of the same type when that type appears exactly once
            on both sides; repeated types must be restated fully). Open enum —
            clients must tolerate new values.
          title: Update Semantics
          type: string
      required:
        - default_net_policy
        - update_semantics
        - sources
      title: AutomationSchemasResponse
      type: object
    ProblemDetail:
      description: >-
        RFC 9457 application/problem+json error body for the v3 API.


        detail is retained from the legacy {"detail": ...} body for back-compat;
        the

        other members are additive. errors carries field-level validation
        failures

        (422 only).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: A human-readable explanation specific to this occurrence.
          title: Detail
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Machine-readable code for blocked-action refusals (e.g.
            "user_frozen", "migrated_session").
          title: Error Code
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Field-level validation errors (422 responses only).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: A URI reference (the request path) for this occurrence.
          title: Instance
        status:
          description: The HTTP status code.
          title: Status
          type: integer
        title:
          description: A short, human-readable summary of the problem type.
          title: Title
          type: string
        type:
          default: about:blank
          description: A URI reference identifying the problem type.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
    AutomationNetPolicy:
      additionalProperties: false
      properties:
        allow:
          items:
            anyOf:
              - $ref: '#/components/schemas/AutomationHostnameDestination'
              - $ref: '#/components/schemas/AutomationIpv4Destination'
              - $ref: '#/components/schemas/AutomationIpv6Destination'
          title: Allow
          type: array
      required:
        - allow
      title: AutomationNetPolicy
      type: object
    AutomationSchemasSecurityProfile:
      additionalProperties: false
      description: |-
        The security profile that governs this organization's automation
        sessions (enterprise, organization, or automations default binding).
      properties:
        governs_network:
          description: >-
            Whether the profile has a network policy. When true, sessions are
            already restricted to the profile's destinations and an automation
            needs its own session_settings.net_policy only to restrict further.
          title: Governs Network
          type: boolean
        mcp_servers:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: >-
            MCP server slugs the profile allows (the ceiling for
            tools.mcp_servers), or null when the profile does not restrict MCP
            servers.
          title: Mcp Servers
        name:
          description: Profile name, for display.
          title: Name
          type: string
      required:
        - name
        - governs_network
        - mcp_servers
      title: AutomationSchemasSecurityProfile
      type: object
    AutomationEventSchemaResponse:
      additionalProperties: false
      properties:
        category:
          title: Category
          type: string
        event_type:
          title: Event Type
          type: string
        fields:
          additionalProperties:
            $ref: '#/components/schemas/AutomationSchemaFieldDef'
          description: >-
            Condition field path → field definition (type, label, required,
            options, ...).
          title: Fields
          type: object
        name:
          title: Name
          type: string
        supported_replies:
          description: Valid replies[].type verbs for this event type.
          items:
            type: string
          title: Supported Replies
          type: array
      required:
        - event_type
        - name
        - category
        - supported_replies
        - fields
      title: AutomationEventSchemaResponse
      type: object
    AutomationHostnameDestination:
      additionalProperties: false
      properties:
        hostname:
          title: Hostname
          type: string
      required:
        - hostname
      title: AutomationHostnameDestination
      type: object
    AutomationIpv4Destination:
      additionalProperties: false
      properties:
        ipv4:
          title: Ipv4
          type: string
      required:
        - ipv4
      title: AutomationIpv4Destination
      type: object
    AutomationIpv6Destination:
      additionalProperties: false
      properties:
        ipv6:
          title: Ipv6
          type: string
      required:
        - ipv6
      title: AutomationIpv6Destination
      type: object
    AutomationSchemaFieldDef:
      additionalProperties: false
      description: |-
        Flattened view of a condition field definition.

        Kind-specific attributes (``options``, ``min``/``max``/``unit``,
        ``granularity``, ``placeholder``) are populated only for the relevant
        ``type``.
      properties:
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        fixed:
          default: false
          title: Fixed
          type: boolean
        granularity:
          anyOf:
            - enum:
                - date
                - datetime
              type: string
            - type: 'null'
          title: Granularity
        label:
          title: Label
          type: string
        max:
          anyOf:
            - type: number
            - type: 'null'
          title: Max
        min:
          anyOf:
            - type: number
            - type: 'null'
          title: Min
        multiple:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Multiple
        options:
          anyOf:
            - items:
                $ref: '#/components/schemas/AutomationSchemaSelectOption'
              type: array
            - type: 'null'
          title: Options
        placeholder:
          anyOf:
            - type: string
            - type: 'null'
          title: Placeholder
        required:
          default: false
          title: Required
          type: boolean
        type:
          enum:
            - string
            - number
            - boolean
            - date
            - select
            - rrule
            - slack_channel
            - linear_team
            - incident_io_team
            - incident_io_severity
            - incident_io_status
            - incident_io_incident_type
            - pagerduty_service
            - pagerduty_team
            - pagerduty_priority
            - github_repo
            - gitlab_repo
            - azure_devops_repo
            - bitbucket_data_center_repo
            - linear_label
            - linear_state
            - linear_assignee
            - linear_project
            - jira_project
            - jira_label
            - jira_status
            - jira_assignee
            - jira_epic
            - slack_user
            - slack_reaction
            - slack_usergroup
            - pylon_tag
            - pylon_status
            - teams_team
            - teams_channel
            - file_paths
          title: Type
          type: string
        unit:
          anyOf:
            - type: string
            - type: 'null'
          title: Unit
      required:
        - type
        - label
      title: AutomationSchemaFieldDef
      type: object
    AutomationSchemaSelectOption:
      additionalProperties: false
      properties:
        label:
          title: Label
          type: string
        value:
          title: Value
          type: string
      required:
        - value
        - label
      title: AutomationSchemaSelectOption
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Service User credential (prefix: cog_)'
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.