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

# List built prehandlers

> Returns all prehandlers in their fully evaluated (built) runtime form, sorted by execution order. Built prehandlers have all evaluatable fields resolved and reflect the current live state of the pipeline. Use this when you need the effective script and condition values rather than the source definitions.



## OpenAPI

````yaml /api-reference/management-expert.json get /v6/prehandlers/built
openapi: 3.0.1
info:
  description: >-
    Advanced configuration endpoints for Extole platform experts: campaign
    controllers, typed actions and triggers, advanced component types and
    facets, source mapping, report post-handlers, pre-handlers, and other expert
    configuration surfaces not included in the standard Management API.
  title: Management Expert API
  version: '1.0'
servers:
  - description: Production
    url: https://api.extole.io
security:
  - HEADER: []
  - QUERY: []
  - COOKIE: []
tags:
  - name: Authentication
  - name: Campaign Controllers
  - name: Campaign Controllers Actions
  - name: Campaign Controllers Triggers
  - name: Campaign Flow Steps
  - name: Components
  - name: Components Grants
  - name: Components Subscriptions
  - name: Components Types
  - name: Content
  - name: Debug
  - name: Domains
  - name: Email
  - name: Event Prehandlers
  - name: Events
  - name: Javascript Core Extensions
  - name: Persons
  - name: Profiles
  - name: Report Schedules
  - name: Report Types
  - name: Reporting
  - name: Security Keys
  - name: Settings
paths:
  /v6/prehandlers/built:
    get:
      tags:
        - Event Prehandlers
      summary: List built prehandlers
      description: >-
        Returns all prehandlers in their fully evaluated (built) runtime form,
        sorted by execution order. Built prehandlers have all evaluatable fields
        resolved and reflect the current live state of the pipeline. Use this
        when you need the effective script and condition values rather than the
        source definitions.
      operationId: listBuiltPrehandlers
      parameters:
        - in: query
          name: tags
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - in: query
          name: limit
          schema:
            format: int32
            type: integer
        - in: query
          name: offset
          schema:
            format: int32
            type: integer
        - in: query
          name: include_archived
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BuiltPrehandlerResponse'
                type: array
          description: Successful response
        '400':
          content:
            application/json:
              examples:
                binding_error:
                  $ref: '#/components/examples/binding_error'
                invalid_json:
                  $ref: '#/components/examples/invalid_json'
                invalid_parameter:
                  $ref: '#/components/examples/invalid_parameter'
                missing_request_body:
                  $ref: '#/components/examples/missing_request_body'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              examples:
                method_unauthorized:
                  $ref: '#/components/examples/method_unauthorized'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Unauthorized
        '402':
          content:
            application/json:
              examples:
                payment_required:
                  $ref: '#/components/examples/payment_required'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Payment Required
        '403':
          content:
            application/json:
              examples:
                access_denied:
                  $ref: '#/components/examples/access_denied'
                method_unauthorized:
                  $ref: '#/components/examples/method_unauthorized'
                missing_access_token:
                  $ref: '#/components/examples/missing_access_token'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Forbidden
        '415':
          content:
            application/json:
              examples:
                unsupported_media_type:
                  $ref: '#/components/examples/unsupported_media_type'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Unsupported Media Type
        '429':
          content:
            application/json:
              examples:
                too_many_requests:
                  $ref: '#/components/examples/too_many_requests'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Too Many Requests
components:
  schemas:
    BuiltPrehandlerResponse:
      description: >-
        Built prehandler with evaluated runtime values used by the
        event-processing pipeline.
      properties:
        actions:
          description: Evaluated actions executed when the prehandler conditions match.
          items:
            $ref: '#/components/schemas/PrehandlerActionResponse'
          type: array
        component_ids:
          items:
            type: string
          type: array
        component_references:
          items:
            $ref: '#/components/schemas/ComponentReferenceResponse'
          type: array
        conditions:
          description: >-
            Evaluated conditions that must match before the prehandler actions
            run.
          items:
            $ref: '#/components/schemas/PrehandlerConditionResponse'
          type: array
        created_date:
          $ref: '#/components/schemas/ZonedDateTime'
        description:
          description: Optional evaluated prehandler description.
          nullable: true
          type: string
        enabled:
          description: >-
            Whether the built prehandler is active in the event-processing
            pipeline.
          type: boolean
        id:
          description: Unique identifier for the prehandler.
          readOnly: true
          type: string
        name:
          description: Evaluated prehandler name.
          type: string
        order:
          description: Execution order for the built prehandler.
          format: int32
          type: integer
        tags:
          description: Tags used to classify or filter the prehandler.
          items:
            description: Tags used to classify or filter the prehandler.
            type: string
          type: array
          uniqueItems: true
        updated_date:
          $ref: '#/components/schemas/ZonedDateTime'
      required:
        - actions
        - component_ids
        - component_references
        - conditions
        - created_date
        - description
        - enabled
        - id
        - name
        - order
        - tags
        - updated_date
      type: object
    RestExceptionResponse:
      description: Represents the API error response
      properties:
        code:
          description: Specific error code for this error type, documented per endpoint
          type: string
        http_status_code:
          description: >-
            HTTP status code that was returned with this error, useful if client
            get response code
          format: int32
          type: integer
        message:
          description: User readable English description of the error
          type: string
        parameters:
          additionalProperties:
            description: >-
              Attributes related to the error, varies be error code, documented
              per endpoint
            type: object
          description: >-
            Attributes related to the error, varies be error code, documented
            per endpoint
          type: object
        unique_id:
          description: >-
            Unique id associated with this error, useful for discussions with
            Extole
          type: string
      required:
        - code
        - http_status_code
        - message
        - parameters
        - unique_id
      type: object
    PrehandlerActionResponse:
      description: Actions executed when the prehandler conditions match.
      discriminator:
        mapping:
          EXPRESSION:
            $ref: '#/components/schemas/ExpressionPrehandlerActionResponse'
          JAVASCRIPT_V1:
            $ref: '#/components/schemas/JavascriptPrehandlerActionResponse'
          MAP_DATA_ATTRIBUTES:
            $ref: '#/components/schemas/MapDataAttributesPrehandlerActionResponse'
          SET_DATA:
            $ref: '#/components/schemas/SetDataPrehandlerActionResponse'
          SET_SANDBOX:
            $ref: '#/components/schemas/SetSandboxPrehandlerActionResponse'
        propertyName: type
      oneOf:
        - title: EXPRESSION
          allOf:
            - $ref: '#/components/schemas/ExpressionPrehandlerActionResponse'
        - title: JAVASCRIPT_V1
          allOf:
            - $ref: '#/components/schemas/JavascriptPrehandlerActionResponse'
        - title: MAP_DATA_ATTRIBUTES
          allOf:
            - $ref: '#/components/schemas/MapDataAttributesPrehandlerActionResponse'
        - title: SET_DATA
          allOf:
            - $ref: '#/components/schemas/SetDataPrehandlerActionResponse'
        - title: SET_SANDBOX
          allOf:
            - $ref: '#/components/schemas/SetSandboxPrehandlerActionResponse'
    ComponentReferenceResponse:
      properties:
        component_id:
          type: string
        socket_names:
          items:
            type: string
          type: array
      type: object
    PrehandlerConditionResponse:
      description: Conditions that must match before the prehandler actions run.
      discriminator:
        mapping:
          BLOCK_MATCH:
            $ref: '#/components/schemas/BlockMatchPrehandlerConditionResponse'
          DATA_EXISTS:
            $ref: '#/components/schemas/DataExistsPrehandlerConditionResponse'
          EVENT_NAME_MATCH:
            $ref: '#/components/schemas/EventNameMatchPrehandlerConditionResponse'
          EXPRESSION:
            $ref: '#/components/schemas/ExpressionPrehandlerConditionResponse'
          HTTP_HEADER_MATCH:
            $ref: '#/components/schemas/HttpHeaderMatchPrehandlerConditionResponse'
          JAVASCRIPT_V1:
            $ref: '#/components/schemas/JavascriptPrehandlerConditionResponse'
        propertyName: type
      oneOf:
        - title: BLOCK_MATCH
          allOf:
            - $ref: '#/components/schemas/BlockMatchPrehandlerConditionResponse'
        - title: DATA_EXISTS
          allOf:
            - $ref: '#/components/schemas/DataExistsPrehandlerConditionResponse'
        - title: EVENT_NAME_MATCH
          allOf:
            - $ref: '#/components/schemas/EventNameMatchPrehandlerConditionResponse'
        - title: EXPRESSION
          allOf:
            - $ref: '#/components/schemas/ExpressionPrehandlerConditionResponse'
        - title: HTTP_HEADER_MATCH
          allOf:
            - $ref: '#/components/schemas/HttpHeaderMatchPrehandlerConditionResponse'
        - title: JAVASCRIPT_V1
          allOf:
            - $ref: '#/components/schemas/JavascriptPrehandlerConditionResponse'
    ZonedDateTime:
      description: >-
        [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) or
        [RFC 9557](https://datatracker.ietf.org/doc/html/rfc9557#section-4)
        date-time with a numeric [UTC
        offset](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and
        an optional [IANA
        time-zone](https://datatracker.ietf.org/doc/html/rfc9557#section-4)
        suffix in square brackets. Precision up to milliseconds.
      example: '2025-10-24T02:00:00-07:00'
      pattern: >-
        ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])(\[[^\]]+\])?$
      type: string
    ExpressionPrehandlerActionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerActionResponseBase'
        - properties:
            expression:
              $ref: >-
                #/components/schemas/ExpressionInExpressionPrehandlerActionResponse
            id:
              readOnly: true
              type: string
            type:
              enum:
                - EXPRESSION
              type: string
          type: object
      description: Action represented by expression that can change the event.
      required:
        - expression
        - id
        - type
      type: object
      title: EXPRESSION
    JavascriptPrehandlerActionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerActionResponseBase'
        - properties:
            id:
              readOnly: true
              type: string
            javascript:
              type: string
            type:
              enum:
                - JAVASCRIPT_V1
              type: string
          type: object
      description: Action represented by Javascript that can change the event.
      required:
        - id
        - javascript
        - type
      type: object
      title: JAVASCRIPT_V1
    MapDataAttributesPrehandlerActionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerActionResponseBase'
        - properties:
            data_attribute_mappings:
              items:
                $ref: '#/components/schemas/DataAttributeMapping'
              type: array
            id:
              readOnly: true
              type: string
            type:
              enum:
                - MAP_DATA_ATTRIBUTES
              type: string
          type: object
      description: >-
        Action represented by data mappers that can change the data of the
        event.
      required:
        - data_attribute_mappings
        - id
        - type
      type: object
      title: MAP_DATA_ATTRIBUTES
    SetDataPrehandlerActionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerActionResponseBase'
        - properties:
            data:
              additionalProperties:
                nullable: true
                type: object
              nullable: true
              type: object
            default_data:
              additionalProperties:
                nullable: true
                type: object
              nullable: true
              type: object
            delete_data:
              items:
                nullable: true
                type: string
              nullable: true
              type: array
              uniqueItems: true
            id:
              readOnly: true
              type: string
            type:
              enum:
                - SET_DATA
              type: string
          type: object
      description: Action that modifies the event data.
      required:
        - data
        - default_data
        - delete_data
        - id
        - type
      type: object
      title: SET_DATA
    SetSandboxPrehandlerActionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerActionResponseBase'
        - properties:
            id:
              readOnly: true
              type: string
            sandbox_id:
              type: string
            type:
              enum:
                - SET_SANDBOX
              type: string
          type: object
      description: Action that modifies the event sandbox.
      required:
        - id
        - sandbox_id
        - type
      type: object
      title: SET_SANDBOX
    BlockMatchPrehandlerConditionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerConditionResponseBase'
        - properties:
            considered_block_list_types:
              items:
                enum:
                  - CIDR
                  - EMAIL_DOMAIN
                  - NORMALIZED_EMAIL
                  - USER_AGENT
                type: string
              type: array
              uniqueItems: true
            id:
              readOnly: true
              type: string
            type:
              enum:
                - BLOCK_MATCH
              type: string
          type: object
      description: Condition that adds the block list types to be checked.
      required:
        - considered_block_list_types
        - id
        - type
      type: object
      title: BLOCK_MATCH
    DataExistsPrehandlerConditionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerConditionResponseBase'
        - properties:
            data_keys:
              items:
                type: string
              type: array
              uniqueItems: true
            id:
              readOnly: true
              type: string
            type:
              enum:
                - DATA_EXISTS
              type: string
          type: object
      description: Condition that checks the data name exists.
      required:
        - data_keys
        - id
        - type
      type: object
      title: DATA_EXISTS
    EventNameMatchPrehandlerConditionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerConditionResponseBase'
        - properties:
            event_names:
              items:
                type: string
              type: array
              uniqueItems: true
            id:
              readOnly: true
              type: string
            type:
              enum:
                - EVENT_NAME_MATCH
              type: string
          type: object
      description: Condition that checks the event name.
      required:
        - event_names
        - id
        - type
      type: object
      title: EVENT_NAME_MATCH
    ExpressionPrehandlerConditionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerConditionResponseBase'
        - properties:
            expression:
              $ref: >-
                #/components/schemas/ExpressionInExpressionPrehandlerConditionResponse
            id:
              readOnly: true
              type: string
            type:
              enum:
                - EXPRESSION
              type: string
          type: object
      description: >-
        Condition represented by expression. It evaluates to true if the
        expression returns true.
      required:
        - expression
        - id
        - type
      type: object
      title: EXPRESSION
    HttpHeaderMatchPrehandlerConditionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerConditionResponseBase'
        - properties:
            http_header_names:
              items:
                type: string
              type: array
              uniqueItems: true
            http_headers:
              additionalProperties:
                items:
                  type: string
                type: array
              type: object
            id:
              readOnly: true
              type: string
            type:
              enum:
                - HTTP_HEADER_MATCH
              type: string
          type: object
      description: Condition that checks the event HTTP headers.
      required:
        - http_header_names
        - http_headers
        - id
        - type
      type: object
      title: HTTP_HEADER_MATCH
    JavascriptPrehandlerConditionResponse:
      allOf:
        - $ref: '#/components/schemas/PrehandlerConditionResponseBase'
        - properties:
            id:
              readOnly: true
              type: string
            javascript:
              type: string
            type:
              enum:
                - JAVASCRIPT_V1
              type: string
          type: object
      description: >-
        Condition represented by Javascript. It evaluates to true if the
        javascript returns true.
      required:
        - id
        - javascript
        - type
      type: object
      title: JAVASCRIPT_V1
    PrehandlerActionResponseBase:
      properties:
        id:
          type: string
        type:
          enum:
            - EXPRESSION
            - JAVASCRIPT_V1
            - MAP_DATA_ATTRIBUTES
            - SET_DATA
            - SET_SANDBOX
          type: string
      type: object
    ExpressionInExpressionPrehandlerActionResponse:
      description: >-
        The expression as configured: a literal value, or an expression
        (type:string) when defined dynamically.
      oneOf:
        - description: Literal expression
          title: Static Value
          type: object
        - description: >-
            Handlebars expression with
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts).
          example: handlebars@buildtime:{{expression}}
          externalDocs:
            description: PrehandlerActionContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('expression');}
          externalDocs:
            description: PrehandlerActionContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    DataAttributeMapping:
      properties:
        attribute:
          type: string
        default_value:
          $ref: '#/components/schemas/DefaultValueInDataAttributeMapping'
        source_attribute:
          type: string
      type: object
    PrehandlerConditionResponseBase:
      properties:
        id:
          type: string
        type:
          enum:
            - BLOCK_MATCH
            - DATA_EXISTS
            - EVENT_NAME_MATCH
            - EXPRESSION
            - HTTP_HEADER_MATCH
            - JAVASCRIPT_V1
          type: string
      type: object
    ExpressionInExpressionPrehandlerConditionResponse:
      description: >-
        The expression as configured: a literal value, or an expression
        (type:string) when defined dynamically.
      oneOf:
        - description: Literal expression
          title: Static Value
          type: boolean
        - description: >-
            Handlebars expression with
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts).
          example: handlebars@buildtime:{{expression}}
          externalDocs:
            description: PrehandlerConditionContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('expression');}
          externalDocs:
            description: PrehandlerConditionContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    DefaultValueInDataAttributeMapping:
      description: Choose between static or dynamic default value
      oneOf:
        - allOf:
            - nullable: true
              type: string
            - not:
                anyOf:
                  - pattern: ^handlebars@buildtime:.*
                    type: string
                  - pattern: ^javascript@buildtime:.*
                    type: string
              type: string
          description: Static default value
          title: Static Value
        - description: >-
            Handlebars expression with
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts).
          example: handlebars@buildtime:{{defaultValue}}
          externalDocs:
            description: PrehandlerContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('defaultValue');}
          externalDocs:
            description: PrehandlerContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
  examples:
    binding_error:
      summary: binding_error
      value:
        code: binding_error
        http_status_code: 400
        message: Argument is not of the expected type
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_json:
      summary: invalid_json
      value:
        code: invalid_json
        http_status_code: 400
        message: JSON is invalid
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_parameter:
      summary: invalid_parameter
      value:
        code: invalid_parameter
        http_status_code: 400
        message: Parameter is invalid.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    missing_request_body:
      summary: missing_request_body
      value:
        code: missing_request_body
        http_status_code: 400
        message: Missing request body
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    method_unauthorized:
      summary: method_unauthorized
      value:
        code: method_unauthorized
        http_status_code: 401
        message: Unauthorized access to this endpoint
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    payment_required:
      summary: payment_required
      value:
        code: payment_required
        http_status_code: 402
        message: The access_token provided is associated with an unpaid account.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    access_denied:
      summary: access_denied
      value:
        code: access_denied
        http_status_code: 403
        message: >-
          The access_token provided is not permitted to access the specified
          resource.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    missing_access_token:
      summary: missing_access_token
      value:
        code: missing_access_token
        http_status_code: 403
        message: No access_token was provided with this request.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    unsupported_media_type:
      summary: unsupported_media_type
      value:
        code: unsupported_media_type
        http_status_code: 415
        message: Request had an unsupported or no media type
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    too_many_requests:
      summary: too_many_requests
      value:
        code: too_many_requests
        http_status_code: 429
        message: >-
          The server is unable to process your request at the moment, please
          retry later.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
  securitySchemes:
    HEADER:
      in: header
      name: Authorization
      type: apiKey
      x-bearer-format: bearer
    QUERY:
      in: query
      name: access_token
      type: apiKey
    COOKIE:
      in: cookie
      name: extole_token
      type: apiKey

````