Unstructured channels API

The channels API from Unstructured — 3 operation(s) for channels.

Operations 6

POST /api/v1/notifications/channels Create Channel #
GET /api/v1/notifications/channels List Channels #
GET /api/v1/notifications/channels/{channel_id} Get Channel #
PATCH /api/v1/notifications/channels/{channel_id} Update Channel #
DELETE /api/v1/notifications/channels/{channel_id} Delete Channel #
POST /api/v1/notifications/channels/{channel_id}/verify Verify Channel #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unstructured-channels-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unstructured-channels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Platform Channels API
  version: 3.1.0
servers:
- url: https://platform.unstructuredapp.io/
  description: Unstructured Platform API
  x-speakeasy-server-id: platform-api
tags:
- name: channels
paths:
  /api/v1/notifications/channels:
    post:
      tags:
      - channels
      summary: Create Channel
      description: 'Create notification channel.


        Creates a new delivery channel for receiving platform event notifications.

        URL must use HTTPS for webhook type. At least one event type must be specified.'
      operationId: create_channel_api_v1_notifications_channels_post
      parameters:
      - 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 Channel Api V1 Notifications Channels Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - channels
      summary: List Channels
      description: 'List account-level notification channels.


        Returns all channel configurations for the account (workflow_id=None scope).

        channel_type is required - no cross-type aggregation.'
      operationId: list_channels_api_v1_notifications_channels_get
      parameters:
      - 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'
  /api/v1/notifications/channels/{channel_id}:
    get:
      tags:
      - channels
      summary: Get Channel
      description: Get account-level notification channel by ID.
      operationId: get_channel_api_v1_notifications_channels__channel_id__get
      parameters:
      - 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 Channel Api V1 Notifications Channels  Channel Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - channels
      summary: Update Channel
      description: 'Update account-level notification channel.


        Updates an existing channel. Only provided fields are updated.'
      operationId: update_channel_api_v1_notifications_channels__channel_id__patch
      parameters:
      - 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 Channel Api V1 Notifications Channels  Channel Id  Patch
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - channels
      summary: Delete Channel
      description: Delete account-level notification channel.
      operationId: delete_channel_api_v1_notifications_channels__channel_id__delete
      parameters:
      - 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/notifications/channels/{channel_id}/verify:
    post:
      tags:
      - channels
      summary: Verify Channel
      description: 'Verify a 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_channel_api_v1_notifications_channels__channel_id__verify_post
      parameters:
      - 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:
    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.
    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.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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).
    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.
    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.
    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).
    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.
    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.
    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.
    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.
    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.
    ChannelType:
      type: string
      enum:
      - webhook
      - email
      title: ChannelType
      description: Notification delivery channel types.