Opal Channels API

The Channels API from Opal — 1 operation(s) for channels.

Operations 1

GET /v3/channels [UNSTABLE] Get Channels available to the authenticated user #

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/opal-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

opal-channels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.0.0
  title: Opal API (⚠️ WIP) Channels API
  license:
    name: Opal API License
    url: https://www.workwithopal.com/api-license
  description: The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
servers:
- url: https://login.ouropal.com
tags:
- name: Channels
paths:
  /v3/channels:
    get:
      tags:
      - Channels
      operationId: ReadChannelsV3
      summary: '[UNSTABLE] Get Channels available to the authenticated user'
      security:
      - oauth2:
        - offline_access
      - api_key: []
      parameters:
      - name: filter
        in: query
        description: 'Filters for limiting the results.

          All timestamp filters (`created_at`, `updated_at`, and `scheduled_at`), use syntax `filter[field_name][gt]=2020-01-01T00:00:00-07:00`

          Timestamps use iso8601 formatting, such as `YYYY-MM-DD` or `YYYY-MM-DDThh:mmTZD`.Timestamps of the form `YYYY-MM-DD` will be converted to `YYY-MM-DDT00:00:00` in the `America/Los_Angeles` timezone.

          If no operator is specified, `eq` will be assumed. For example, `filter[created_at]=2020-01-01` is equivalent to `filter[created_at][gteq]=2020-01-01`. `eq` will convert a date to a 24 hour range.Thus `filter[created_at][eq]=2020-01-01` is equivalent to `filter[created_at][gteq]=2020-01-01T00:00:00-08:00&filter[created_at][lteq]=2020-01-02T00:00:00-08:00`.

          '
        required: false
        schema:
          type: object
          properties:
            workspace_id:
              type: array
              description: 'The IDs of the workspaces to which results should be filtered.

                Comma separated list of IDs. If included, will only fetch resources associated with these workspaces. If not included, will return resources associated with all workspaces that the user belongs to. For example, `filter[workspace_id]=798ac6d9-b3fc-4155-88ee-237f43f3404b` will fetch all resources associated with workspace `798ac6d9-b3fc-4155-88ee-237f43f3404b`, while `filter[workspace_id]=798ac6d9-b3fc-4155-88ee-237f43f3404b,d79e513e-9246-454e-80bf-8268bc39cd6e,f2b19a4a-ba0c-49be-8aa7-a1bf68a4a4ed` will fetch any resources associated with workspaces `798ac6d9-b3fc-4155-88ee-237f43f3404b`, `d79e513e-9246-454e-80bf-8268bc39cd6e`, or `f2b19a4a-ba0c-49be-8aa7-a1bf68a4a4ed`.

                '
              items:
                type: string
                format: uuid
            created_at:
              allOf:
              - type: object
                properties:
                  eq:
                    type: string
                    description: 'Equal to filter. If no other filter is specified, `eq` will be assumed.

                      '
                  gt:
                    type: string
                    description: Greater than filter
                  gteq:
                    type: string
                    description: Greater than or equal to filter
                  lt:
                    type: string
                    description: Less than filter
                  lteq:
                    type: string
                    description: Less than or equal to filter
              - format: date-time
              description: 'Filter by the channel created_at time. Uses syntax `filter[created_at][gt]=2020-01-01T00:00:00-07:00`.

                '
            updated_at:
              allOf:
              - type: object
                properties:
                  eq:
                    type: string
                    description: 'Equal to filter. If no other filter is specified, `eq` will be assumed.

                      '
                  gt:
                    type: string
                    description: Greater than filter
                  gteq:
                    type: string
                    description: Greater than or equal to filter
                  lt:
                    type: string
                    description: Less than filter
                  lteq:
                    type: string
                    description: Less than or equal to filter
              - format: date
              description: 'Filter by the channel updated_at time. Uses syntax `filter[updated_at][gt]=2020-01-01T00:00:00-07:00`.

                '
        style: deepObject
        explode: true
      - name: include
        in: query
        required: false
        description: A comma separated value of related objects to include.
        schema:
          type: array
          items:
            type: string
            enum:
            - content_types
        style: form
        explode: false
      - name: sort
        in: query
        description: 'A comma separated value specifying how a collection in the response body

          should be sorted, where each value is an attribute of the channel. When

          specifying multiple values, each value in the sequence determines the

          ordering precedence.


          Each channel in the collection will appear in ascending order, unless

          any of the enumerated values are prefixed with a minus "-" sign, in

          which case each channel will appear in descending order for the

          specified values.

          '
        required: false
        schema:
          type: string
          enum:
          - created_at
          - updated_at
      - name: page
        description: Specify an offset and limit for pagination
        in: query
        required: false
        schema:
          type: object
          properties:
            limit:
              type: integer
              default: 50
            offset:
              type: integer
        style: deepObject
        explode: true
      responses:
        '200':
          description: A collection of channels.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - meta
                properties:
                  data:
                    type: array
                    items:
                      title: channel
                      type: object
                      required:
                      - id
                      - type
                      - attributes
                      - relationships
                      additionalProperties: false
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          enum:
                          - channel
                        attributes:
                          type: object
                          required:
                          - color
                          - content_name
                          - created_at
                          - has_placements
                          - icon_name
                          - icon_path
                          - is_active
                          - is_visible
                          - legacy_id
                          - name
                          - system_name
                          - updated_at
                          - web_modules_channel
                          additionalProperties: false
                          properties:
                            color:
                              type: string
                              description: A hex color value with leading hash symbol intact
                            content_name:
                              type: string
                              description: The default name of content for this channel
                            created_at:
                              type: string
                              format: date-time
                              description: An ISO8601 date-time indicating when the channel was created.
                              readOnly: true
                            has_placements:
                              type:
                              - boolean
                              - 'null'
                              description: Indicates if the channel supports placements capability
                            icon_name:
                              type:
                              - string
                              - 'null'
                            icon_path:
                              type:
                              - string
                              - 'null'
                            is_active:
                              type: boolean
                              description: Indicates active status of the channel
                            is_visible:
                              type: boolean
                              description: Indicates visibility of the channel
                            legacy_id:
                              type: string
                              description: The ID of the resource in the `v2` APIs.
                            name:
                              type: string
                              description: The name of the channel
                            system_name:
                              type: string
                              description: The unique system name of the channel
                            updated_at:
                              type: string
                              format: date-time
                              description: An ISO8601 date-time indicating when the channel was last updated.
                              readOnly: true
                            web_modules_channel:
                              type:
                              - boolean
                              - 'null'
                              description: Indicates if the channel is of the category "web modules"
                        relationships:
                          type: object
                          required:
                          - asset_reference
                          - content_types
                          - workspace
                          additionalProperties: false
                          properties:
                            asset_reference:
                              type: object
                              required:
                              - data
                              additionalProperties: false
                              properties:
                                data:
                                  type:
                                  - object
                                  - 'null'
                                  required:
                                  - id
                                  - type
                                  additionalProperties: false
                                  properties:
                                    id:
                                      type: string
                                    type:
                                      type: string
                                      enum:
                                      - asset_reference
                            content_types:
                              type: object
                              required:
                              - data
                              additionalProperties: false
                              properties:
                                data:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                    - id
                                    - type
                                    additionalProperties: false
                                    properties:
                                      id:
                                        type: string
                                        format: uuid
                                      type:
                                        type: string
                                        enum:
                                        - content_type
                            workspace:
                              type: object
                              required:
                              - data
                              additionalProperties: false
                              properties:
                                data:
                                  type:
                                  - object
                                  - 'null'
                                  required:
                                  - id
                                  - type
                                  additionalProperties: false
                                  properties:
                                    id:
                                      type: string
                                      format: uuid
                                    type:
                                      type: string
                                      enum:
                                      - workspace
                  included:
                    type: array
                    items:
                      oneOf:
                      - title: content_type
                        type: object
                        required:
                        - id
                        - type
                        - attributes
                        - relationships
                        additionalProperties: false
                        properties:
                          id:
                            type: string
                            format: uuid
                          type:
                            type: string
                            enum:
                            - content_type
                          attributes:
                            type: object
                            required:
                            - legacy_id
                            - created_at
                            - updated_at
                            - name
                            - system_name
                            additionalProperties: false
                            properties:
                              legacy_id:
                                type: string
                                description: An ID that can be used with `v2` APIs.
                              created_at:
                                type: string
                                format: date-time
                                description: An ISO8601 date-time.
                                readOnly: true
                              updated_at:
                                type: string
                                format: date-time
                                description: An ISO8601 date-time.
                                readOnly: true
                              name:
                                type: string
                                description: The name of the Post Type
                              system_name:
                                type: string
                                description: The unique name used to look up a Post Type
                          relationships:
                            type: object
                            required:
                            - workspace
                            - opal
                            additionalProperties: false
                            properties:
                              workspace:
                                type: object
                                required:
                                - data
                                additionalProperties: false
                                properties:
                                  data:
                                    type:
                                    - object
                                    - 'null'
                                    required:
                                    - id
                                    - type
                                    additionalProperties: false
                                    properties:
                                      id:
                                        type: string
                                        format: uuid
                                      type:
                                        type: string
                                        enum:
                                        - workspace
                              opal:
                                type: object
                                required:
                                - data
                                additionalProperties: false
                                properties:
                                  data:
                                    type:
                                    - object
                                    - 'null'
                                    required:
                                    - id
                                    - type
                                    additionalProperties: false
                                    properties:
                                      id:
                                        type: string
                                      type:
                                        type: string
                                        enum:
                                        - opal
                  meta:
                    type: object
                    required:
                    - total
                    - page
                    - resource_type
                    properties:
                      resource_type:
                        type: string
                      total:
                        type: integer
                      page:
                        type: object
                        required:
                        - limit
                        - offset
                        properties:
                          limit:
                            type: integer
                          offset:
                            type: integer
              example:
                data:
                - id: 9480a66e-2d02-4a09-959b-a317b7e6cf5f
                  type: channel
                  attributes:
                    color: '#7FC3C5'
                    content_name: Email
                    created_at: '2026-04-20T15:27:01.881-08:00'
                    has_placements: false
                    icon_name: email
                    icon_path: M13,16 L15,16...Z
                    is_active: true
                    is_visible: true
                    legacy_id: '1'
                    name: Email
                    system_name: email
                    updated_at: '2026-04-20T15:27:01.881-08:00'
                    web_modules_channel: false
                  relationships:
                    workspace:
                      data: null
                    asset_reference:
                      data: null
                    content_types:
                      data:
                      - id: 1aaf0da8-8f5b-442f-a705-648f2fe0b10c
                        type: content_type
                meta:
                  total: 1
                  page:
                    limit: 25
                    offset: 0
                  resource_type: channel
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                required:
                - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        status:
                          type: string
                          description: The http status code of the error response.
                        title:
                          type: string
                          description: A short, human-readable summary of the error.
                        detail:
                          type: string
                          description: A human-readable explanation of the error.
                        code:
                          type: string
                          description: 'An system-readable error code to provide additional specificity for

                            the error.

                            '
                      required:
                      - status
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        status:
                          type: string
                          description: The http status code of the error response.
                        title:
                          type: string
                          description: A short, human-readable summary of the error.
                        detail:
                          type: string
                          description: A human-readable explanation of the error.
                        code:
                          type: string
                          description: 'An system-readable error code to provide additional specificity for

                            the error.

                            '
                      required:
                      - status
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                type: object
                required:
                - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        status:
                          type: string
                          description: The http status code of the error response.
                        title:
                          type: string
                          description: A short, human-readable summary of the error.
                        detail:
                          type: string
                          description: A human-readable explanation of the error.
                        code:
                          type: string
                          description: 'An system-readable error code to provide additional specificity for

                            the error.

                            '
                      required:
                      - status
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: 'This API uses OAuth 2.0 with the authorization code grant flow. You can

        find more detailed authentication instructions in the [Authentication

        Strategies](/api/documentation#section/Authentication-Strategies/OAuth-2.0)

        section.

        '
      flows:
        authorizationCode:
          authorizationUrl: /oauth2/auth
          tokenUrl: /oauth2/token
          scopes:
            offline_access: Include this scope if you wish to receive a refresh token
    anonymous_oauth:
      type: oauth2
      description: 'The OAuth 2.0 client credentials flow is used for secure server-server

        requests when Opal does not need to associate a request with a particular

        Opal user. These anonymous requests are instead authorized based on the

        OAuth scope.

        '
      flows:
        clientCredentials:
          tokenUrl: /oauth/token
          scopes:
            write:onboarding: Include this scope if you wish to make API requests to onboard new Opals.
    api_key:
      type: apiKey
      description: '(Deprecated) This API also supports authentication via an API or session

        token set in the request headers.

        '
      in: header
      name: Session-Token
    presentation_share_cookie:
      type: apiKey
      description: 'A cookie set and read by the Monolith service that authorizes a non-opal

        user to view a presentation and the resources within it. Other services

        can rely on this cookie by asking Monolith to authenticate it.

        '
      in: cookie
      name: share_token
x-tagGroups:
- name: Stable
  tags:
  - Board Collaborators
  - Board Objects
  - Boards
  - Content Schedules
  - Moment Schedules
  - Moments
  - Onboarding
- name: ⚠️  Unstable
  tags:
  - Block Connectors
  - Board Columns
  - Board Duplication
  - Board Standard Columns
  - Channels
  - Custom Field Options
  - Custom Field Types
  - Custom Fields
  - Moment Assignees
  - Moment Custom Fields
  - Planning Status
  - Rich Text Documents
  - User Groups
  - Users
  - Workspaces
- name: ℹ️ Proposed
  tags:
  - Bulk Operations
  - Gem Chats
  - Gem Files
  - Moment Duplication
  - Presentation Themes
  - Workflows
  - Workflow Contexts
  - Workflow Stages
  - Workflow Assignments
  - Workflow Responses
- name: ⚛️ Experimental
  tags:
  - Blocks
  - Block Custom Field Values
  - Block Duplication
  - Board User Settings
  - Categories
  - Category Types
  - Charts
  - Content
  - Custom Field Colors
  - Filter Sets
  - Key Dates
  - View Columns
  - View Standard Columns
  - Views
  - View Colors
  - Stories
- name: Additional Resources
  tags:
  - secondary_resources