openapi: 3.1.0 info: title: Unstructured Partition channels workflow-channels API version: 1.5.58 servers: - url: https://api.unstructuredapp.io description: Serverless SaaS API x-speakeasy-server-id: saas-api - url: http://localhost:8000 description: Development server x-speakeasy-server-id: development security: - ApiKeyAuth: [] - {} tags: - name: workflow-channels paths: /api/v1/workflows/{workflow_id}/notifications/channels: get: tags: - workflow-channels summary: List Workflow Channels description: 'List workflow-scoped notification channels. Returns all channel configurations for the specified workflow. channel_type is required - no cross-type aggregation.' operationId: list_workflow_channels_api_v1_workflows__workflow_id__notifications_channels_get parameters: - name: workflow_id in: path required: true schema: anyOf: - type: string format: uuid - type: string title: Workflow Id - name: channel_type in: query required: true schema: $ref: '#/components/schemas/ChannelType' - name: enabled in: query required: false schema: anyOf: - type: boolean - type: 'null' title: Enabled - name: unstructured-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: Unstructured-Api-Key responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ChannelListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - workflow-channels summary: Create Workflow Channel description: 'Create workflow-scoped notification channel. Creates a new delivery channel for receiving platform event notifications scoped to the specified workflow.' operationId: create_workflow_channel_api_v1_workflows__workflow_id__notifications_channels_post parameters: - name: workflow_id in: path required: true schema: anyOf: - type: string format: uuid - type: string title: Workflow Id - name: unstructured-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: Unstructured-Api-Key requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CreateWebhookChannelRequest' - $ref: '#/components/schemas/CreateEmailChannelRequest' discriminator: propertyName: channel_type mapping: webhook: '#/components/schemas/CreateWebhookChannelRequest' email: '#/components/schemas/CreateEmailChannelRequest' title: Data responses: '201': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/WebhookChannelResponse' - $ref: '#/components/schemas/EmailChannelResponse' discriminator: propertyName: channel_type mapping: webhook: '#/components/schemas/WebhookChannelResponse' email: '#/components/schemas/EmailChannelResponse' title: Response Create Workflow Channel Api V1 Workflows Workflow Id Notifications Channels Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/workflows/{workflow_id}/notifications/channels/{channel_id}: get: tags: - workflow-channels summary: Get Workflow Channel description: Get workflow-scoped notification channel by ID. operationId: get_workflow_channel_api_v1_workflows__workflow_id__notifications_channels__channel_id__get parameters: - name: workflow_id in: path required: true schema: anyOf: - type: string format: uuid - type: string title: Workflow Id - name: channel_id in: path required: true schema: type: string title: Channel Id - name: unstructured-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: Unstructured-Api-Key responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/WebhookChannelResponse' - $ref: '#/components/schemas/EmailChannelResponse' discriminator: propertyName: channel_type mapping: webhook: '#/components/schemas/WebhookChannelResponse' email: '#/components/schemas/EmailChannelResponse' title: Response Get Workflow Channel Api V1 Workflows Workflow Id Notifications Channels Channel Id Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - workflow-channels summary: Update Workflow Channel description: 'Update workflow-scoped notification channel. Updates an existing channel. Only provided fields are updated.' operationId: update_workflow_channel_api_v1_workflows__workflow_id__notifications_channels__channel_id__patch parameters: - name: workflow_id in: path required: true schema: anyOf: - type: string format: uuid - type: string title: Workflow Id - name: channel_id in: path required: true schema: type: string title: Channel Id - name: unstructured-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: Unstructured-Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateChannelRequest' responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/WebhookChannelResponse' - $ref: '#/components/schemas/EmailChannelResponse' discriminator: propertyName: channel_type mapping: webhook: '#/components/schemas/WebhookChannelResponse' email: '#/components/schemas/EmailChannelResponse' title: Response Update Workflow Channel Api V1 Workflows Workflow Id Notifications Channels Channel Id Patch '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - workflow-channels summary: Delete Workflow Channel description: Delete workflow-scoped notification channel. operationId: delete_workflow_channel_api_v1_workflows__workflow_id__notifications_channels__channel_id__delete parameters: - name: workflow_id in: path required: true schema: anyOf: - type: string format: uuid - type: string title: Workflow Id - name: channel_id in: path required: true schema: type: string title: Channel Id - name: unstructured-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: Unstructured-Api-Key responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/workflows/{workflow_id}/notifications/channels/{channel_id}/verify: post: tags: - workflow-channels summary: Verify Workflow Channel description: 'Verify a workflow-scoped notification channel using a verification code. Email channels require verification by providing the 6-digit code sent to the recipient email address during channel creation.' operationId: verify_workflow_channel_api_v1_workflows__workflow_id__notifications_channels__channel_id__verify_post parameters: - name: workflow_id in: path required: true schema: anyOf: - type: string format: uuid - type: string title: Workflow Id - name: channel_id in: path required: true schema: type: string title: Channel Id - name: unstructured-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: Unstructured-Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VerifyChannelRequest' responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: UpdateChannelRequest: properties: channel_type: anyOf: - $ref: '#/components/schemas/ChannelType' - type: 'null' description: Channel type (immutable) description: anyOf: - type: string maxLength: 255 - type: 'null' title: Description description: Channel description event_types: anyOf: - items: $ref: '#/components/schemas/NotificationEventType' type: array minItems: 1 - type: 'null' title: Event Types description: Event types to subscribe to enabled: anyOf: - type: boolean - type: 'null' title: Enabled description: Enable/disable channel url: anyOf: - type: string - type: 'null' title: Url description: Webhook endpoint URL (HTTPS required) secret: anyOf: - type: string - type: 'null' title: Secret description: Consumer-supplied signing secret (24-75 bytes). Pass empty string to remove custom secret. email_config: anyOf: - $ref: '#/components/schemas/EmailChannelConfigUpdate' - type: 'null' description: Email channel configuration type: object title: UpdateChannelRequest description: Common fields for all channel update requests. ChannelType: type: string enum: - webhook - email title: ChannelType description: Notification delivery channel types. CreateEmailChannelRequest: properties: channel_type: type: string const: email title: Channel Type default: email description: anyOf: - type: string maxLength: 255 - type: 'null' title: Description description: Channel description event_types: items: $ref: '#/components/schemas/NotificationEventType' type: array minItems: 1 title: Event Types description: Event types to subscribe to enabled: type: boolean title: Enabled description: Enable/disable channel default: true email_config: $ref: '#/components/schemas/EmailChannelConfig' description: Email channel configuration type: object required: - event_types - email_config title: CreateEmailChannelRequest description: Request to create an email notification channel. EmailChannelConfigUpdate: properties: cc: anyOf: - items: type: string format: email type: array - type: 'null' title: Cc description: CC email addresses (if provider supports) reply_to: anyOf: - type: string format: email - type: 'null' title: Reply To description: Reply-to email address recipient_email: anyOf: - type: string format: email - type: 'null' title: Recipient Email description: Primary recipient email address type: object title: EmailChannelConfigUpdate description: User-configurable email settings. EmailChannelConfigResponse: properties: cc: anyOf: - items: type: string format: email type: array - type: 'null' title: Cc description: CC email addresses (if provider supports) reply_to: anyOf: - type: string format: email - type: 'null' title: Reply To description: Reply-to email address recipient_email: type: string format: email title: Recipient Email description: Primary recipient email address provider: type: string title: Provider description: Email provider (read-only, from platform config) type: object required: - recipient_email - provider title: EmailChannelConfigResponse description: Email config in response (no sensitive data). ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError ChannelListResponse: properties: items: items: oneOf: - $ref: '#/components/schemas/WebhookChannelResponse' - $ref: '#/components/schemas/EmailChannelResponse' discriminator: propertyName: channel_type mapping: email: '#/components/schemas/EmailChannelResponse' webhook: '#/components/schemas/WebhookChannelResponse' type: array title: Items description: List of channels type: object required: - items title: ChannelListResponse description: List response for notification channels (no pagination, max 50 per scope). EmailChannelResponse: properties: channel_type: type: string const: email title: Channel Type default: email id: type: string title: Id description: Channel ID description: anyOf: - type: string - type: 'null' title: Description description: Channel description event_types: items: type: string type: array title: Event Types description: Subscribed event types enabled: type: boolean title: Enabled description: Channel enabled status created_at: type: string format: date-time title: Created At description: Creation timestamp updated_at: type: string format: date-time title: Updated At description: Last update timestamp email_config: $ref: '#/components/schemas/EmailChannelConfigResponse' description: Email channel configuration type: object required: - id - event_types - enabled - created_at - updated_at - email_config title: EmailChannelResponse description: Response for email notification channel. EmailChannelConfig: properties: cc: anyOf: - items: type: string format: email type: array - type: 'null' title: Cc description: CC email addresses (if provider supports) reply_to: anyOf: - type: string format: email - type: 'null' title: Reply To description: Reply-to email address recipient_email: type: string format: email title: Recipient Email description: Primary recipient email address type: object required: - recipient_email title: EmailChannelConfig description: User-configurable email settings. VerifyChannelRequest: properties: code: type: string maxLength: 6 minLength: 6 pattern: ^\d{6}$ title: Code description: 6-digit verification code sent to the channel's email address type: object required: - code title: VerifyChannelRequest description: Request to verify an email channel with a verification code. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError NotificationEventType: type: string enum: - job.scheduled - job.in_progress - job.progress - job.completed - job.stopped - job.failed title: NotificationEventType description: Webhook event types derived from internal JOB_STATUSCHANGED_V1 statuses. WebhookChannelResponse: properties: channel_type: type: string const: webhook title: Channel Type default: webhook id: type: string title: Id description: Channel ID description: anyOf: - type: string - type: 'null' title: Description description: Channel description event_types: items: type: string type: array title: Event Types description: Subscribed event types enabled: type: boolean title: Enabled description: Channel enabled status created_at: type: string format: date-time title: Created At description: Creation timestamp updated_at: type: string format: date-time title: Updated At description: Last update timestamp url: type: string title: Url description: Webhook endpoint URL type: object required: - id - event_types - enabled - created_at - updated_at - url title: WebhookChannelResponse description: Response for webhook notification channel. CreateWebhookChannelRequest: properties: channel_type: type: string const: webhook title: Channel Type default: webhook description: anyOf: - type: string maxLength: 255 - type: 'null' title: Description description: Channel description event_types: items: $ref: '#/components/schemas/NotificationEventType' type: array minItems: 1 title: Event Types description: Event types to subscribe to enabled: type: boolean title: Enabled description: Enable/disable channel default: true url: type: string title: Url description: Webhook endpoint URL (HTTPS required) secret: anyOf: - type: string - type: 'null' title: Secret description: Consumer-supplied signing secret (24-75 bytes) type: object required: - event_types - url title: CreateWebhookChannelRequest description: Request to create a webhook notification channel. securitySchemes: ApiKeyAuth: type: apiKey name: unstructured-api-key in: header x-speakeasy-example: YOUR_API_KEY x-speakeasy-retries: strategy: backoff backoff: initialInterval: 3000 maxInterval: 720000 maxElapsedTime: 1800000 exponent: 1.88 statusCodes: - 5xx retryConnectionErrors: true