openapi: 3.0.1 info: description: 'Consumer-to-Extole integration endpoints: consumer event submission, zone rendering, profile management, and SDK-backing operations for browser and native app environments.' title: Integration API - Consumer to Extole Audiences Webhooks API version: '1.0' servers: - description: Production url: https://{brand}.extole.io variables: brand: default: yourcompany description: Your Extole client subdomain (e.g. 'mycompany' for mycompany.extole.io) security: - HEADER: [] - QUERY: [] - COOKIE: [] tags: - name: Webhooks paths: /v6/webhooks: get: description: Returns all webhooks for the client. Filter by `enabled` or `type` to narrow the result set. Use `GET /v6/webhooks/built` for the fully evaluated runtime form. Webhooks are outbound HTTP callbacks Extole fires when specific platform events occur. operationId: listWebhooks parameters: - in: query name: enabled schema: nullable: true type: boolean - in: query name: type schema: enum: - CLIENT - GENERIC - PARTNER - REWARD nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/WebhookResponse' 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' reward_supplier_webhook_filter_is_missing: $ref: '#/components/examples/reward_supplier_webhook_filter_is_missing' reward_supplier_webhook_filter_not_found: $ref: '#/components/examples/reward_supplier_webhook_filter_not_found' unknown_webhook_type: $ref: '#/components/examples/unknown_webhook_type' webhook_build_failed: $ref: '#/components/examples/webhook_build_failed' webhook_client_key_not_found: $ref: '#/components/examples/webhook_client_key_not_found' webhook_invalid_default_method: $ref: '#/components/examples/webhook_invalid_default_method' webhook_invalid_description: $ref: '#/components/examples/webhook_invalid_description' webhook_invalid_name: $ref: '#/components/examples/webhook_invalid_name' webhook_invalid_tag: $ref: '#/components/examples/webhook_invalid_tag' webhook_local_or_internal_url: $ref: '#/components/examples/webhook_local_or_internal_url' webhook_malformed_url: $ref: '#/components/examples/webhook_malformed_url' webhook_missing_name: $ref: '#/components/examples/webhook_missing_name' webhook_missing_url: $ref: '#/components/examples/webhook_missing_url' webhook_name_duplicate: $ref: '#/components/examples/webhook_name_duplicate' 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' reward_supplier_not_found: $ref: '#/components/examples/reward_supplier_not_found' 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 summary: List webhooks tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible post: description: Creates a new webhook definition and returns the persisted record with its server-assigned id. The webhook fires immediately for matching events once created; set `enabled=false` in the request body to create it in a disabled state. operationId: createWebhook requestBody: content: application/json: example: client_key_id: {} component_ids: - component_id component_references: - component_id: component_id socket_names: - socket_name default_method: default_method description: description enabled: true name: name request: body: body headers: headers_key: - headers_key method: method url: url urlTemplateParameters: urlTemplateParameters_key: urlTemplateParameters_key response_body_handler: response_body_handler_key: {} response_handler: response_handler retry_intervals: - PT42S tags: - tag type: CLIENT url: url schema: $ref: '#/components/schemas/WebhookCreateRequest' description: WebhookCreateRequest object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' campaign_component_absolute_name_missing: $ref: '#/components/examples/campaign_component_absolute_name_missing' campaign_component_description_out_of_range: $ref: '#/components/examples/campaign_component_description_out_of_range' campaign_component_display_name_contains_illegal_character: $ref: '#/components/examples/campaign_component_display_name_contains_illegal_character' campaign_component_display_name_out_of_range: $ref: '#/components/examples/campaign_component_display_name_out_of_range' campaign_component_id_missing: $ref: '#/components/examples/campaign_component_id_missing' campaign_component_name_already_in_use: $ref: '#/components/examples/campaign_component_name_already_in_use' campaign_component_name_contains_illegal_character: $ref: '#/components/examples/campaign_component_name_contains_illegal_character' campaign_component_name_out_of_range: $ref: '#/components/examples/campaign_component_name_out_of_range' campaign_component_type_validation_failed: $ref: '#/components/examples/campaign_component_type_validation_failed' circular_component_reference: $ref: '#/components/examples/circular_component_reference' component_facets_not_found: $ref: '#/components/examples/component_facets_not_found' excessive_component_reference: $ref: '#/components/examples/excessive_component_reference' external_element_is_referenced_by_active_configuration: $ref: '#/components/examples/external_element_is_referenced_by_active_configuration' external_elements_cannot_have_multiple_references: $ref: '#/components/examples/external_elements_cannot_have_multiple_references' invalid_component_installed_into_socket: $ref: '#/components/examples/invalid_component_installed_into_socket' invalid_component_reference: $ref: '#/components/examples/invalid_component_reference' invalid_component_reference_socket_name: $ref: '#/components/examples/invalid_component_reference_socket_name' invalid_external_component_reference: $ref: '#/components/examples/invalid_external_component_reference' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' orphan_external_component_reference: $ref: '#/components/examples/orphan_external_component_reference' redundant_component_reference: $ref: '#/components/examples/redundant_component_reference' reward_supplier_webhook_filter_is_missing: $ref: '#/components/examples/reward_supplier_webhook_filter_is_missing' reward_supplier_webhook_filter_not_found: $ref: '#/components/examples/reward_supplier_webhook_filter_not_found' self_component_reference: $ref: '#/components/examples/self_component_reference' unknown_webhook_type: $ref: '#/components/examples/unknown_webhook_type' webhook_build_failed: $ref: '#/components/examples/webhook_build_failed' webhook_client_key_not_found: $ref: '#/components/examples/webhook_client_key_not_found' webhook_invalid_default_method: $ref: '#/components/examples/webhook_invalid_default_method' webhook_invalid_description: $ref: '#/components/examples/webhook_invalid_description' webhook_invalid_name: $ref: '#/components/examples/webhook_invalid_name' webhook_invalid_tag: $ref: '#/components/examples/webhook_invalid_tag' webhook_local_or_internal_url: $ref: '#/components/examples/webhook_local_or_internal_url' webhook_malformed_url: $ref: '#/components/examples/webhook_malformed_url' webhook_missing_name: $ref: '#/components/examples/webhook_missing_name' webhook_missing_url: $ref: '#/components/examples/webhook_missing_url' webhook_name_duplicate: $ref: '#/components/examples/webhook_name_duplicate' 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' reward_supplier_not_found: $ref: '#/components/examples/reward_supplier_not_found' 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 summary: Create a webhook tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible /v6/webhooks/built: get: description: 'Returns all webhooks in their fully evaluated (built) runtime form, with all evaluatable fields resolved. Supports finer filtering than the source list: `name`, `include_archived`, `limit`, and `offset` are only available on this endpoint. Use this when you need effective endpoint URLs and headers.' operationId: listBuiltWebhooks parameters: - in: query name: enabled schema: nullable: true type: boolean - in: query name: type schema: enum: - CLIENT - GENERIC - PARTNER - REWARD nullable: true type: string - in: query name: name schema: nullable: true type: string - in: query name: include_archived schema: nullable: true type: boolean - in: query name: limit schema: format: int32 nullable: true type: integer - in: query name: offset schema: format: int32 nullable: true type: integer responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/BuiltWebhookResponse' 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 summary: List built webhooks tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible /v6/webhooks/{webhook_id}: get: description: Returns the source definition of the supplied webhook, including its URL, headers, event filters, and state. Returns `400 webhook_not_found` if the id does not exist or is not accessible. operationId: getWebhook parameters: - in: path name: webhook_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' description: Webhook definition. '400': content: application/json: examples: webhook_not_found: $ref: '#/components/examples/webhook_not_found' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Webhook was not found. The supplied id does not match any webhook accessible to the calling client. '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 summary: Get a webhook tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible put: description: Applies a partial update to the supplied webhook. Only the fields present in the body are changed; omitted fields are left intact. Returns the persisted webhook after the update. Returns `400 webhook_not_found` if the id does not exist. operationId: updateWebhook parameters: - description: The id of the webhook to be updated. in: path name: webhook_id required: true schema: type: string requestBody: content: application/json: example: client_key_id: {} component_ids: - component_id component_references: - component_id: component_id socket_names: - socket_name default_method: default_method description: description enabled: true name: name request: body: body headers: headers_key: - headers_key method: method url: url urlTemplateParameters: urlTemplateParameters_key: urlTemplateParameters_key response_body_handler: response_body_handler_key: {} response_handler: response_handler tags: - tag url: url schema: $ref: '#/components/schemas/WebhookUpdateRequest' description: WebhookUpdateRequest object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' description: Updated webhook. '400': content: application/json: examples: webhook_not_found: $ref: '#/components/examples/webhook_not_found' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Webhook was not found. The supplied id does not match any webhook accessible to the calling client. '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' reward_supplier_not_found: $ref: '#/components/examples/reward_supplier_not_found' 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 summary: Update a webhook tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible delete: description: Archives (soft-deletes) the supplied webhook. The webhook stops firing immediately but its definition is retained. Fails with `400 webhook_associated_with_webhook_controller_action` if the webhook is referenced by a controller action, or `400 webhook_associated_with_webhook_user_subscription_channel` if it is referenced by a user subscription channel. Remove those references before archiving. operationId: archiveWebhook parameters: - description: The id of the webhook to be deleted. in: path name: webhook_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' description: Archived webhook. '400': content: application/json: examples: webhook_associated_with_webhook_controller_action: $ref: '#/components/examples/webhook_associated_with_webhook_controller_action' webhook_associated_with_webhook_user_subscription_channel: $ref: '#/components/examples/webhook_associated_with_webhook_user_subscription_channel' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Cannot archive the webhook because it is still referenced by a webhook controller action or a user subscription channel. Remove those references first. '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 summary: Archive a webhook tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible /v6/webhooks/{webhook_id}/built: get: description: Returns the fully evaluated (built) runtime form of the supplied webhook, with all evaluatable fields resolved. Returns `400 webhook_not_found` if the id does not exist or is not accessible. operationId: getBuiltWebhook parameters: - in: path name: webhook_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/BuiltWebhookResponse' description: Built webhook. '400': content: application/json: examples: webhook_not_found: $ref: '#/components/examples/webhook_not_found' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Webhook was not found. The supplied id does not match any webhook accessible to the calling client. '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' reward_supplier_not_found: $ref: '#/components/examples/reward_supplier_not_found' 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 summary: Get a built webhook tags: - Webhooks x-extole-bundle: management x-extole-visibility: visible components: schemas: RewardWebhookResponse: allOf: - $ref: '#/components/schemas/WebhookResponseBase' - properties: filters: items: $ref: '#/components/schemas/RewardWebhookFilterResponse' type: array id: readOnly: true type: string type: enum: - REWARD type: string type: object description: Stored reward webhook definition. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are unevaluated and appear in buildtime-evaluatable form. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - filters - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url type: object RequestInWebhookResponseBase: description: 'The request as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - allOf: - $ref: '#/components/schemas/WebhookRequest' description: Literal request title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{request}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('request');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: handlebars@runtime:{{request}} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: javascript@runtime:function() { return context.get('request');} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string WebhookResponse: discriminator: mapping: CLIENT: '#/components/schemas/ClientWebhookResponse' GENERIC: '#/components/schemas/GenericWebhookResponse' PARTNER: '#/components/schemas/PartnerWebhookResponse' REWARD: '#/components/schemas/RewardWebhookResponse' propertyName: type oneOf: - $ref: '#/components/schemas/ClientWebhookResponse' - $ref: '#/components/schemas/GenericWebhookResponse' - $ref: '#/components/schemas/PartnerWebhookResponse' - $ref: '#/components/schemas/RewardWebhookResponse' required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url RequestInBuiltWebhookResponseBase: description: 'The request as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - allOf: - $ref: '#/components/schemas/WebhookRequest' description: Literal request title: Static Value - description: Handlebars expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: handlebars@runtime:{{request}} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: javascript@runtime:function() { return context.get('request');} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string RetryIntervalsInWebhookResponseBase: description: 'The retry intervals as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - description: Literal retry intervals items: $ref: '#/components/schemas/Duration' title: Static Value type: array - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{retryIntervals}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('retryIntervals');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string BuiltClientWebhookResponse: allOf: - $ref: '#/components/schemas/BuiltWebhookResponseBase' - properties: id: readOnly: true type: string type: enum: - CLIENT type: string type: object description: client webhook after buildtime evaluation. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are already evaluated. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url type: object UrlInWebhookCreateRequest: description: Choose between static or dynamic url oneOf: - description: Static url title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{url}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('url');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string WebhookUpdateRequest: description: Body of a `PUT /v6/webhooks/{webhook_id}` request. properties: client_key_id: $ref: '#/components/schemas/ClientKeyIdInWebhookUpdateRequest' component_ids: items: type: string type: array component_references: items: $ref: '#/components/schemas/ComponentReferenceRequest' type: array default_method: $ref: '#/components/schemas/DefaultMethodInWebhookUpdateRequest' description: $ref: '#/components/schemas/DescriptionInWebhookUpdateRequest' enabled: $ref: '#/components/schemas/EnabledInWebhookUpdateRequest' name: $ref: '#/components/schemas/NameInWebhookUpdateRequest' request: $ref: '#/components/schemas/RequestInWebhookUpdateRequest' response_body_handler: $ref: '#/components/schemas/ResponseBodyHandlerInWebhookUpdateRequest' response_handler: $ref: '#/components/schemas/ResponseHandlerInWebhookUpdateRequest' tags: items: type: string type: array uniqueItems: true url: $ref: '#/components/schemas/UrlInWebhookUpdateRequest' type: object WebhookCreateRequest: description: Body of a `POST /v6/webhooks` request. properties: client_key_id: $ref: '#/components/schemas/ClientKeyIdInWebhookCreateRequest' component_ids: items: type: string type: array component_references: items: $ref: '#/components/schemas/ComponentReferenceRequest' type: array default_method: $ref: '#/components/schemas/DefaultMethodInWebhookCreateRequest' description: $ref: '#/components/schemas/DescriptionInWebhookCreateRequest' enabled: $ref: '#/components/schemas/EnabledInWebhookCreateRequest' name: $ref: '#/components/schemas/NameInWebhookCreateRequest' request: $ref: '#/components/schemas/RequestInWebhookCreateRequest' response_body_handler: $ref: '#/components/schemas/ResponseBodyHandlerInWebhookCreateRequest' response_handler: $ref: '#/components/schemas/ResponseHandlerInWebhookCreateRequest' retry_intervals: $ref: '#/components/schemas/RetryIntervalsInWebhookCreateRequest' tags: items: type: string type: array uniqueItems: true type: enum: - CLIENT - GENERIC - PARTNER - REWARD type: string url: $ref: '#/components/schemas/UrlInWebhookCreateRequest' required: - name - url type: object WebhookRequest: properties: body: nullable: true type: string headers: additionalProperties: items: type: string type: array type: object method: type: string url: type: string urlTemplateParameters: additionalProperties: type: string type: object required: - body - headers - method - url - urlTemplateParameters type: object NameInWebhookResponseBase: description: 'The name as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - allOf: - type: string - not: anyOf: - pattern: ^handlebars@buildtime:.* type: string - pattern: ^javascript@buildtime:.* type: string type: string description: Literal name title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{name}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('name');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string BuiltRewardWebhookResponse: allOf: - $ref: '#/components/schemas/BuiltWebhookResponseBase' - properties: filters: items: $ref: '#/components/schemas/RewardWebhookFilterResponse' type: array id: readOnly: true type: string type: enum: - REWARD type: string type: object description: reward webhook after buildtime evaluation. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are already evaluated. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - filters - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url type: object GenericWebhookResponse: allOf: - $ref: '#/components/schemas/WebhookResponseBase' - properties: id: readOnly: true type: string type: enum: - GENERIC type: string type: object description: Stored generic webhook definition. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are unevaluated and appear in buildtime-evaluatable form. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url type: object EnabledInWebhookCreateRequest: description: Choose between static or dynamic enabled oneOf: - description: Static enabled title: Static Value type: boolean - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{enabled}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('enabled');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string WebhookResponseBase: properties: client_key_id: $ref: '#/components/schemas/ClientKeyIdInWebhookResponseBase' component_ids: items: type: string type: array component_references: items: $ref: '#/components/schemas/ComponentReferenceResponse' type: array created_at: $ref: '#/components/schemas/ZonedDateTime' default_method: $ref: '#/components/schemas/DefaultMethodInWebhookResponseBase' description: $ref: '#/components/schemas/DescriptionInWebhookResponseBase' enabled: $ref: '#/components/schemas/EnabledInWebhookResponseBase' id: readOnly: true type: string name: $ref: '#/components/schemas/NameInWebhookResponseBase' request: $ref: '#/components/schemas/RequestInWebhookResponseBase' response_handler: $ref: '#/components/schemas/ResponseHandlerInWebhookResponseBase' retry_intervals: $ref: '#/components/schemas/RetryIntervalsInWebhookResponseBase' tags: items: type: string type: array uniqueItems: true type: enum: - CLIENT - GENERIC - PARTNER - REWARD type: string updated_at: $ref: '#/components/schemas/ZonedDateTime' url: $ref: '#/components/schemas/UrlInWebhookResponseBase' type: object ResponseBodyHandlerInWebhookUpdateRequest: description: Choose between static or dynamic response body handler oneOf: - additionalProperties: type: object description: Static response body handler title: Static Value type: object - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{responseBodyHandler}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('responseBodyHandler');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseBodyHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseBodyHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string EnabledInWebhookUpdateRequest: description: Choose between static or dynamic enabled oneOf: - description: Static enabled title: Static Value type: boolean - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{enabled}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('enabled');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ClientKeyIdInWebhookUpdateRequest: description: Choose between static or dynamic client key id oneOf: - description: Static client key id nullable: true title: Static Value type: object - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{clientKeyId}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('clientKeyId');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string RequestInWebhookCreateRequest: description: Choose between static or dynamic request oneOf: - allOf: - $ref: '#/components/schemas/WebhookRequest' description: Static request title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{request}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('request');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: handlebars@runtime:{{request}} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: javascript@runtime:function() { return context.get('request');} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string DescriptionInWebhookUpdateRequest: description: Choose between static or dynamic description oneOf: - description: Static description nullable: true title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{description}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('description');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string Duration: description: '[RFC 5545](https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.6) duration string.' example: PT42S pattern: ^[-+]?P(?:(?:[-+]?[0-9]+D)(?:T(?=(?:[-+]?[0-9]+H|[-+]?[0-9]+M|[-+]?[0-9]+(?:[.,][0-9]*)?S))(?:[-+]?[0-9]+H)?(?:[-+]?[0-9]+M)?(?:[-+]?[0-9]+(?:[.,][0-9]*)?S)?)?|T(?=(?:[-+]?[0-9]+H|[-+]?[0-9]+M|[-+]?[0-9]+(?:[.,][0-9]*)?S))(?:[-+]?[0-9]+H)?(?:[-+]?[0-9]+M)?(?:[-+]?[0-9]+(?:[.,][0-9]*)?S)?)$ type: string DescriptionInWebhookResponseBase: description: 'The description as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - description: Literal description title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{description}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('description');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ClientKeyIdInWebhookResponseBase: description: 'The client key id as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - description: Literal client key id title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{clientKeyId}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('clientKeyId');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ResponseBodyHandlerInBuiltPartnerWebhookResponse: description: 'The response body handler as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - additionalProperties: type: object description: Literal response body handler title: Static Value type: object - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseBodyHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseBodyHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string BuiltPartnerWebhookResponse: allOf: - $ref: '#/components/schemas/BuiltWebhookResponseBase' - properties: id: readOnly: true type: string response_body_handler: $ref: '#/components/schemas/ResponseBodyHandlerInBuiltPartnerWebhookResponse' type: enum: - PARTNER type: string type: object description: partner webhook after buildtime evaluation. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, `retry_intervals`, and `response_body_handler` are already evaluated. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_body_handler - response_handler - retry_intervals - tags - type - updated_at - url type: object ResponseHandlerInWebhookCreateRequest: description: if no webhook response status is provided, we will retry non 2xx webhook requests oneOf: - description: Static response handler nullable: true title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{responseHandler}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('responseHandler');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string UrlInWebhookUpdateRequest: description: Choose between static or dynamic url oneOf: - description: Static url title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{url}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('url');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ClientKeyIdInWebhookCreateRequest: description: Choose between static or dynamic client key id oneOf: - description: Static client key id nullable: true title: Static Value type: object - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{clientKeyId}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('clientKeyId');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ResponseHandlerInWebhookUpdateRequest: description: if no webhook response status is provided, we will retry non 2xx webhook requests oneOf: - description: Static response handler nullable: true title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{responseHandler}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('responseHandler');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string BuiltGenericWebhookResponse: allOf: - $ref: '#/components/schemas/BuiltWebhookResponseBase' - properties: id: readOnly: true type: string type: enum: - GENERIC type: string type: object description: generic webhook after buildtime evaluation. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are already evaluated. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url type: object DefaultMethodInWebhookUpdateRequest: description: Choose between static or dynamic default method oneOf: - allOf: - type: string - not: anyOf: - pattern: ^handlebars@buildtime:.* type: string - pattern: ^javascript@buildtime:.* type: string type: string description: Static default method title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{defaultMethod}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('defaultMethod');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ClientWebhookResponse: allOf: - $ref: '#/components/schemas/WebhookResponseBase' - properties: id: readOnly: true type: string type: enum: - CLIENT type: string type: object description: Stored client webhook definition. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are unevaluated and appear in buildtime-evaluatable form. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url type: object ResponseBodyHandlerInPartnerWebhookResponse: description: 'The response body handler as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - additionalProperties: type: object description: Literal response body handler title: Static Value type: object - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{responseBodyHandler}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('responseBodyHandler');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseBodyHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseBodyHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string EnabledInWebhookResponseBase: description: 'The enabled as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - description: Literal enabled title: Static Value type: boolean - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{enabled}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('enabled');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string 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 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 ComponentReferenceResponse: properties: component_id: type: string socket_names: items: type: string type: array type: object RetryIntervalsInWebhookCreateRequest: description: Choose between static or dynamic retry intervals oneOf: - description: Static retry intervals items: $ref: '#/components/schemas/Duration' nullable: true title: Static Value type: array - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{retryIntervals}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('retryIntervals');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ComponentReferenceRequest: properties: component_id: type: string socket_names: items: type: string type: array type: object DefaultMethodInWebhookCreateRequest: description: Choose between static or dynamic default method oneOf: - allOf: - type: string - not: anyOf: - pattern: ^handlebars@buildtime:.* type: string - pattern: ^javascript@buildtime:.* type: string type: string description: Static default method title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{defaultMethod}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('defaultMethod');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string DefaultMethodInWebhookResponseBase: description: 'The default method as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - allOf: - type: string - not: anyOf: - pattern: ^handlebars@buildtime:.* type: string - pattern: ^javascript@buildtime:.* type: string type: string description: Literal default method title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{defaultMethod}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('defaultMethod');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ResponseHandlerInWebhookResponseBase: description: if no webhook response status is provided, we will retry non 2xx webhook requests oneOf: - description: Literal response handler title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{responseHandler}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('responseHandler');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string PartnerWebhookResponse: allOf: - $ref: '#/components/schemas/WebhookResponseBase' - properties: id: readOnly: true type: string response_body_handler: $ref: '#/components/schemas/ResponseBodyHandlerInPartnerWebhookResponse' type: enum: - PARTNER type: string type: object description: Stored partner webhook definition. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, `retry_intervals`, and `response_body_handler` are unevaluated and appear in buildtime-evaluatable form. required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_body_handler - response_handler - retry_intervals - tags - type - updated_at - url type: object DescriptionInWebhookCreateRequest: description: Choose between static or dynamic description oneOf: - description: Static description nullable: true title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{description}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('description');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string RequestInWebhookUpdateRequest: description: Choose between static or dynamic request oneOf: - allOf: - $ref: '#/components/schemas/WebhookRequest' description: Static request title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{request}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('request');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: handlebars@runtime:{{request}} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts). example: javascript@runtime:function() { return context.get('request');} externalDocs: description: WebhookRuntimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string ResponseHandlerInBuiltWebhookResponseBase: description: if no webhook response status is provided, we will retry non 2xx webhook requests oneOf: - description: Literal response handler title: Static Value type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string UrlInWebhookResponseBase: description: 'The url as configured: a literal value, or an expression (type:string) when defined dynamically.' oneOf: - description: Literal url title: Static Value type: string - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{url}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('url');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string RewardWebhookFilterResponse: properties: created_at: $ref: '#/components/schemas/ZonedDateTime' id: readOnly: true type: string type: enum: - EXPRESSION - STATE - SUPPLIER - TAGS type: string updated_at: $ref: '#/components/schemas/ZonedDateTime' required: - created_at - id - type - updated_at type: object BuiltWebhookResponseBase: properties: client_key_id: type: string component_ids: items: type: string type: array component_references: items: $ref: '#/components/schemas/ComponentReferenceResponse' type: array created_at: $ref: '#/components/schemas/ZonedDateTime' default_method: type: string description: type: string enabled: type: boolean id: readOnly: true type: string name: type: string request: $ref: '#/components/schemas/RequestInBuiltWebhookResponseBase' response_handler: $ref: '#/components/schemas/ResponseHandlerInBuiltWebhookResponseBase' retry_intervals: items: $ref: '#/components/schemas/Duration' type: array tags: items: type: string type: array uniqueItems: true type: enum: - CLIENT - GENERIC - PARTNER - REWARD type: string updated_at: $ref: '#/components/schemas/ZonedDateTime' url: type: string type: object BuiltWebhookResponse: description: webhook after buildtime evaluation. Fields `name`, `url`, `client_key_id`, `request`, `response_handler`, `enabled`, `description`, `default_method`, and `retry_intervals` are already evaluated. discriminator: mapping: CLIENT: '#/components/schemas/BuiltClientWebhookResponse' GENERIC: '#/components/schemas/BuiltGenericWebhookResponse' PARTNER: '#/components/schemas/BuiltPartnerWebhookResponse' REWARD: '#/components/schemas/BuiltRewardWebhookResponse' propertyName: type oneOf: - $ref: '#/components/schemas/BuiltClientWebhookResponse' - $ref: '#/components/schemas/BuiltGenericWebhookResponse' - $ref: '#/components/schemas/BuiltPartnerWebhookResponse' - $ref: '#/components/schemas/BuiltRewardWebhookResponse' required: - client_key_id - component_ids - component_references - created_at - default_method - description - enabled - id - name - request - response_handler - retry_intervals - tags - type - updated_at - url NameInWebhookUpdateRequest: description: Choose between static or dynamic name oneOf: - allOf: - type: string - not: anyOf: - pattern: ^handlebars@buildtime:.* type: string - pattern: ^javascript@buildtime:.* type: string type: string description: Static name title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{name}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('name');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string ResponseBodyHandlerInWebhookCreateRequest: description: Choose between static or dynamic response body handler oneOf: - additionalProperties: type: object description: Static response body handler title: Static Value type: object - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{responseBodyHandler}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('responseBodyHandler');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string - description: Handlebars expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: handlebars@runtime:{{responseBodyHandler}} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^handlebars@runtime:.* title: Runtime - Handlebars type: string - description: Javascript expression with [WebhookResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts). example: javascript@runtime:function() { return context.get('responseBodyHandler');} externalDocs: description: WebhookResponseContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/response/WebhookResponseContext.d.ts pattern: ^javascript@runtime:.* title: Runtime - Javascript type: string NameInWebhookCreateRequest: description: Choose between static or dynamic name oneOf: - allOf: - type: string - not: anyOf: - pattern: ^handlebars@buildtime:.* type: string - pattern: ^javascript@buildtime:.* type: string type: string description: Static name title: Static Value - description: Handlebars expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: handlebars@buildtime:{{name}} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^handlebars@buildtime:.* title: Buildtime - Handlebars type: string - description: Javascript expression with [WebhookBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts). example: javascript@buildtime:function() { return context.getVariableContext().get('name');} externalDocs: description: WebhookBuildtimeContext url: https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/built/WebhookBuildtimeContext.d.ts pattern: ^javascript@buildtime:.* title: Buildtime - Javascript type: string examples: campaign_component_display_name_contains_illegal_character: summary: campaign_component_display_name_contains_illegal_character value: code: campaign_component_display_name_contains_illegal_character http_status_code: 400 message: Campaign component display name can only contain alphanumeric, dash, underscore, whitespace, asterisk, hash, dollar characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_associated_with_webhook_controller_action: summary: webhook_associated_with_webhook_controller_action value: code: webhook_associated_with_webhook_controller_action http_status_code: 400 message: Can't archive or disable a webhook associated with webhook controller actions parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 redundant_component_reference: summary: redundant_component_reference value: code: redundant_component_reference http_status_code: 400 message: Same reference defined multiple times parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 circular_component_reference: summary: circular_component_reference value: code: circular_component_reference http_status_code: 400 message: Circular campaign component reference is not allowed parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 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 component_facets_not_found: summary: component_facets_not_found value: code: component_facets_not_found http_status_code: 400 message: Component facets not found 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 webhook_invalid_default_method: summary: webhook_invalid_default_method value: code: webhook_invalid_default_method http_status_code: 400 message: Specified webhook HTTP method is invalid, expected one of POST, GET, PUT 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 unknown_webhook_type: summary: unknown_webhook_type value: code: unknown_webhook_type http_status_code: 400 message: Specified webhook type is unknown parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_display_name_out_of_range: summary: campaign_component_display_name_out_of_range value: code: campaign_component_display_name_out_of_range http_status_code: 400 message: Campaign component display name length is out of range parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 self_component_reference: summary: self_component_reference value: code: self_component_reference http_status_code: 400 message: Self campaign component reference is not allowed parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_id_missing: summary: campaign_component_id_missing value: code: campaign_component_id_missing http_status_code: 400 message: Campaign component id is missing parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 reward_supplier_webhook_filter_not_found: summary: reward_supplier_webhook_filter_not_found value: code: reward_supplier_webhook_filter_not_found http_status_code: 400 message: Reward Supplier Webhook filter is not found parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_component_reference_socket_name: summary: invalid_component_reference_socket_name value: code: invalid_component_reference_socket_name http_status_code: 400 message: Invalid component reference socket name parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_missing_url: summary: webhook_missing_url value: code: webhook_missing_url http_status_code: 400 message: Webhook required url is not specified 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 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 webhook_client_key_not_found: summary: webhook_client_key_not_found value: code: webhook_client_key_not_found http_status_code: 400 message: Client key not found 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 invalid_external_component_reference: summary: invalid_external_component_reference value: code: invalid_external_component_reference http_status_code: 400 message: Unknown external referenced campaign component parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 excessive_component_reference: summary: excessive_component_reference value: code: excessive_component_reference http_status_code: 400 message: Root campaign component may have at most one reference parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 reward_supplier_not_found: summary: reward_supplier_not_found value: code: reward_supplier_not_found http_status_code: 403 message: Reward supplier not found 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 webhook_invalid_description: summary: webhook_invalid_description value: code: webhook_invalid_description http_status_code: 400 message: Webhook allowed description length is 1024 containing ASCII characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_not_found: summary: webhook_not_found value: code: webhook_not_found http_status_code: 400 message: Was unable to find webhook with id 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 webhook_invalid_tag: summary: webhook_invalid_tag value: code: webhook_invalid_tag http_status_code: 400 message: Invalid webhook tag parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 orphan_external_component_reference: summary: orphan_external_component_reference value: code: orphan_external_component_reference http_status_code: 400 message: Orphan external referenced campaign component 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 invalid_component_installed_into_socket: summary: invalid_component_installed_into_socket value: code: invalid_component_installed_into_socket http_status_code: 400 message: Invalid component installed into socket parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_name_contains_illegal_character: summary: campaign_component_name_contains_illegal_character value: code: campaign_component_name_contains_illegal_character http_status_code: 400 message: Campaign component name can only contain alphanumeric, dash and underscore characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 external_element_is_referenced_by_active_configuration: summary: external_element_is_referenced_by_active_configuration value: code: external_element_is_referenced_by_active_configuration http_status_code: 400 message: External element is referenced by active configuration parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_missing_name: summary: webhook_missing_name value: code: webhook_missing_name http_status_code: 400 message: Webhook required name is not specified parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_build_failed: summary: webhook_build_failed value: code: webhook_build_failed http_status_code: 400 message: Webhook build failed parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 external_elements_cannot_have_multiple_references: summary: external_elements_cannot_have_multiple_references value: code: external_elements_cannot_have_multiple_references http_status_code: 400 message: External elements cannot have multiple references parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_name_duplicate: summary: webhook_name_duplicate value: code: webhook_name_duplicate http_status_code: 400 message: Webhook name is already in use parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_invalid_name: summary: webhook_invalid_name value: code: webhook_invalid_name http_status_code: 400 message: Webhook allowed name length is 255 containing ASCII characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_associated_with_webhook_user_subscription_channel: summary: webhook_associated_with_webhook_user_subscription_channel value: code: webhook_associated_with_webhook_user_subscription_channel http_status_code: 400 message: Can't archive or disable a webhook associated with webhook user subscription channels parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_name_already_in_use: summary: campaign_component_name_already_in_use value: code: campaign_component_name_already_in_use http_status_code: 400 message: Campaign component name is already used by another component parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_name_out_of_range: summary: campaign_component_name_out_of_range value: code: campaign_component_name_out_of_range http_status_code: 400 message: Campaign component name length is out of range parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_component_reference: summary: invalid_component_reference value: code: invalid_component_reference http_status_code: 400 message: Unknown referenced campaign component parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_type_validation_failed: summary: campaign_component_type_validation_failed value: code: campaign_component_type_validation_failed http_status_code: 400 message: Campaign component type validation failed parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_description_out_of_range: summary: campaign_component_description_out_of_range value: code: campaign_component_description_out_of_range http_status_code: 400 message: Campaign component description length is out of range 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 webhook_local_or_internal_url: summary: webhook_local_or_internal_url value: code: webhook_local_or_internal_url http_status_code: 400 message: Specified webhook url is invalid because it is local or internal parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 reward_supplier_webhook_filter_is_missing: summary: reward_supplier_webhook_filter_is_missing value: code: reward_supplier_webhook_filter_is_missing http_status_code: 400 message: Reward Supplier Webhook filter should specify reward supplier id parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 webhook_malformed_url: summary: webhook_malformed_url value: code: webhook_malformed_url http_status_code: 400 message: Webhook url is malformed parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 campaign_component_absolute_name_missing: summary: campaign_component_absolute_name_missing value: code: campaign_component_absolute_name_missing http_status_code: 400 message: Campaign component absolute name is missing parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 securitySchemes: COOKIE: in: cookie name: extole_token type: apiKey HEADER: in: header name: Authorization type: apiKey x-bearer-format: bearer QUERY: in: query name: access_token type: apiKey x-tagGroups: - name: Integration API - Consumer to Extole tags: - Authentication - Content - Email - Events - Persons - Profile Assets - Profiles