How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Opal API v3

The next-generation Opal REST surface, published as work in progress — 97 paths and 154 operations across boards, board objects and collections, board collaborators, blocks and block connectors, categories and charts, custom fields, views and view columns, filter sets, key dates, moments and moment schedules/assignees, content schedules, stories, rich text documents, presentation themes, user groups, workspaces, bulk operations, workflow assignments/stages/responses, channels and Gem chats/files. Resource identifiers are opaque UUIDv4 strings with the v2 identifier carried in `attributes.legacy_id`. Adds an anonymous OAuth 2.0 client-credentials flow scoped `write:onboarding` for trial provisioning, alongside the authorization-code flow.

This API exposes 154 operations across 97 paths, organized into 48 resource areas, and defines 53 schemas. It is described by OpenAPI 3.0.0, at version 3.0.0.

Requests are made against a single base URL, https://login.ouropal.com.

154 operations 97 paths 53 schemas 26 DELETE60 GET27 PATCH41 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
3.0.0
Base URL
https://login.ouropal.com
Authentication
OAuth 2.0, OAuth 2.0, API Key, API Key
Resource Areas
48

Authentication & Security 4

Opal API v3 declares 4 security schemes for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 1 scope. It supports OAuth 2.0 (anonymous_oauth) using the clientCredentials flow, exposing 1 scope. An API key is passed in the header as Session-Token (api_key). An API key is passed in the cookie as share_token (presentation_share_cookie).

  • oauth2 — This API uses OAuth 2.0 with the authorization code grant flow. You can find more detailed authentication instructions in the [Authentication Strategies](/api/…
  • anonymous_oauth — 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. The…
  • api_key — (Deprecated) This API also supports authentication via an API or session token set in the request headers.
  • presentation_share_cookie — 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 th…

Paths & Operations 154

Across 97 paths, the API surfaces 154 operations — 26 DELETE, 60 GET, 27 PATCH, 41 POST. They span 48 resource areas, including Boards, Board Columns, Board Duplication, Board User Settings, Board Collaborators, Board Objects, Board Standard Columns, Bulk Operations, and 40 more. Each is listed below with its method, path, parameters, and response codes.

Boards 11
GET
/boards/v3
Get Boards available to the authenticated user.
ReadBoardsV3 5 params → 200400401422
POST
/boards/v3
Create a new Board.
CreateBoardV3 body → 201400401404409422
GET
/boards/v3/{board_id}
Get a Board.
ReadBoardV3 2 params → 200401403404
PATCH
/boards/v3/{board_id}
Update an existing Board.
UpdateBoardV3 2 params body → 200400401404409422
DELETE
/boards/v3/{board_id}
Delete a Board.
DeleteBoardV3 1 param → 204400401422
PATCH
/boards/v3/{board_id}/user_setting
[UNSTABLE] Update the user’s settings for a given Board
UpdateBoardUserSettingV3 2 params body → 200400401404409422
GET
/board_object_collections/v3
Get Object Collections available to the authenticated user.
GetBoardObjectCollectionsV3 2 params → 200400401422
POST
/board_object_collections/v3
Create a new Board Object Collection.
CreateBoardObjectCollectionV3 body → 201400401404409422
GET
/board_object_collections/v3/{board_object_collection_id}
Get a Board Object Collection.
ReadBoardObjectCollectionV3 2 params → 200400401422
PATCH
/board_object_collections/v3/{board_object_collection_id}
Update a new Board Object Collection.
UpdateBoardObjectCollectionV3 2 params body → 200400401404409422
DELETE
/board_object_collections/v3/{board_object_collection_id}
Delete an Object Collection.
DeleteBoardObjectCollectionV3 1 param → 204400401422
Board Columns 2
GET
/boards/v3/{board_id}/board_columns
Get Board Columns available to the authenticated user and Board.
ReadBoardColumnsV3 3 params → 200400401422
PATCH
/boards/v3/{board_id}/board_columns/{board_column_id}
Update an existing Board Column.
UpdateBoardColumnV3 3 params body → 200400401404409422
Board Duplication 2
POST
/boards/v3/{board_id}/board_duplication
Duplicate an existing board.
CreateBoardDuplicationV3 2 params body → 200400401404409422
GET
/boards/v3/{board_id}/board_duplication/{id}
Get the status of a board duplication.
ReadBoardDuplicationV3 3 params → 200400401422
Board User Settings 1
GET
/boards/v3/{board_id}/user_setting
[UNSTABLE] Get the user’s settings for a given Board
ReadBoardUserSettingV3 2 params → 200401403404
Board Collaborators 4

Board Collaborators Overview Board Collaborators allow opal users to add other users as a collaborator on their private Boards. This allows the Collaborators to view and edit the…

GET
/board_collaborators/v3
Get Board Collaborators available to the authenticated user.
ReadBoardCollaboratorsV3 2 params → 200400401422
POST
/board_collaborators/v3
Create a new Board Collaborator for a private Board.
CreateBoardCollaboratorV3 1 param body → 201400401404409422
GET
/board_collaborators/v3/{board_collaborator_id}
Get a Board Collaborator
ReadBoardCollaboratorV3 2 params → 200401403404
DELETE
/board_collaborators/v3/{board_collaborator_id}
Delete a Board Collaborator for a private Board.
DeleteBoardCollaboratorV3 1 param → 204400401422
Board Objects 5

Overview - [Board](tag/Boards/operation/CreateBoardV3): A board is the parent container and encapsulates its Board Objects and Board Object Collections - [Board Object Collection]…

GET
/board_objects/v3
Get Board Objects available to the authenticated user.
ReadBoardObjectsV3 5 params → 200400401422
POST
/board_objects/v3
Create a new Board Object.
CreateBoardObjectV3 1 param body → 201400401404409422
GET
/board_objects/v3/{board_object_id}
Get a Board Object
ReadBoardObjectV3 4 params → 200401403404
PATCH
/board_objects/v3/{board_object_id}
Update an existing Board Object.
UpdateBoardObjectV3 2 params body → 200400401404409422
DELETE
/board_objects/v3/{board_object_id}
Delete a Board Object.
DeleteBoardObjectV3 1 param → 204400401422
Board Standard Columns 1
GET
/v3/board_standard_columns
List all standard columns available for Board tables.
ReadBoardStandardColumnsV3 1 param → 200400401
Bulk Operations 2

Bulk Operations A Bulk Operation represents a number of individual actions to be performed. Terms - Operation ID: A unique string identifier that corresponds to a specific individ…

POST
/v3/bulk_operations
[PROPOSED] Create a new Bulk Operation resource.
CreateBulkOperationV3 2 params body → 201400401404409422
GET
/v3/bulk_operations/{bulk_operation_id}
[PROPOSED] Get Bulk Operation available to the authenticated user by ID.
ReadBulkOperationV3 2 params → 200400401422
Channels 1
GET
/v3/channels
[UNSTABLE] Get Channels available to the authenticated user.
ReadChannelsV3 4 params → 200400401422
Content 3
GET
/content/v3
[UNSTABLE] Return all content available to the authenticated user.
ReadContentsV3 4 params → 200400401
GET
/content/v3/{content_id}
[UNSTABLE] Get a content resource available to the authenticated user.
ReadContentV3 2 params → 200400401422
PATCH
/content/v3/{content_id}
[UNSTABLE] Update a content resource.
UpdateContentV3 2 params body → 201400401404409422
Content Schedules 3
POST
/content_schedules/v3
Create a new Content Schedule.
CreateContentScheduleV3 body → 201400401404409422
PATCH
/content_schedules/v3/{content_schedule_id}
Update a Content Schedule.
UpdateContentScheduleV3 1 param body → 201400401404409422
DELETE
/content_schedules/v3/{content_schedule_id}
Delete a Content Schedule.
DeleteContentScheduleV3 1 param → 204400401422
Custom Fields 5

Custom Fields Overview Custom Fields let you create custom inputs, the value of which can then be associated with a Moment, and allow your users to track dimensions based on your…

GET
/loupe/v3/custom_fields
Get CustomFields available to the authenticated user.
ReadCustomFieldsV3 3 params → 200400401422
POST
/loupe/v3/custom_fields
Create a new CustomField.
CreateCustomFieldV3 1 param body → 201400401404409422
GET
/loupe/v3/custom_fields/{custom_field_id}
Get a CustomField.
ReadCustomFieldV3 2 params → 200401403404
PATCH
/loupe/v3/custom_fields/{custom_field_id}
Update an existing CustomField.
UpdateCustomFieldV3 2 params body → 200400401404409422
DELETE
/loupe/v3/custom_fields/{custom_field_id}
Delete a CustomField.
DeleteCustomFieldV3 1 param → 204400401422
Custom Field Options 1
GET
/loupe/v3/custom_field_options
Get a collection of Custom Field Options.
ReadCustomFieldOptionsV3 3 params → 200400401403422500
Custom Field Types 1
GET
/loupe/v3/custom_field_types
Get all of the available custom field types.
ReadCustomFieldTypesV3 1 param → 200400401422
Custom Field Colors 1
GET
/loupe/v3/custom_field_colors
Get the custom field colors available to the authenticated user
ReadCustomFieldColorsV3 2 params → 200400401403
Blocks 5

Blocks Loupe Resource Hierarchy The Loupe endpoints are home to the core objects of Opal. Terms - Block: A building block that represents a place in Opal to curate, organize, and…

GET
/loupe/v3/blocks
Get the blocks available to the authenticated user
ReadBlocksV3 4 params → 200400401403
POST
/loupe/v3/blocks
Create a new Block
CreateBlockV3 2 params body → 201400401403422500
GET
/loupe/v3/blocks/{block_id}
Get a Block by the given ID
ReadBlockV3 4 params → 200401403404
PATCH
/loupe/v3/blocks/{block_id}
Update an existing Block.
UpdateBlockV3 3 params body → 200400401403404409422500
DELETE
/loupe/v3/blocks/{block_id}
Delete a Block by the given ID
DeleteBlockV3 1 param → 204403404
Block Duplication 2
POST
/loupe/v3/blocks/{block_id}/duplicate
Duplicate an existing block
CreateBlockDuplicationV3 1 param body → 201400401403404409422
GET
/loupe/v3/block_duplications/{block_duplication_id}
Get a block duplication by ID
GetBlockDuplicationV3 1 param → 200401403404
Block Connectors 3

Block Connectors Block connectors link blocks to views. A view can contain many blocks via block connectors. A block can also belong to many views via block connectors. In the cur…

POST
/loupe/v3/block_connectors
Create a new BlockConnector
CreateBlockConnectorV3 1 param body → 201400401404409422
PATCH
/loupe/v3/block_connectors/{block_connector_id}
Update a BlockConnector
UpdateBlockConnectorV3 2 params body → 201400401404409422
DELETE
/loupe/v3/block_connectors/{block_connector_id}
Delete a BlockConnector resource
DeleteBlockConnectorV3 1 param → 204403404
Block Custom Field Values 4
POST
/loupe/v3/block_custom_field_values
Create a new Block Custom Field Value.
CreateBlockCustomFieldValueV3 1 param body → 201400401404422
GET
/loupe/v3/block_custom_field_values/{block_custom_field_value_id}
Get a Block Custom Field Value by the given ID
ReadBlockCustomFieldValueV3 2 params → 200401403404
PATCH
/loupe/v3/block_custom_field_values/{block_custom_field_value_id}
Update an existing Block Custom Field Value.
UpdateBlockCustomFieldValueV3 2 params body → 200400401403404409422
DELETE
/loupe/v3/block_custom_field_values/{block_custom_field_value_id}
Delete a Block Custom Field Value by the given ID
DeleteBlockCustomFieldValueV3 1 param → 204403404
Categories 4

Overview Categories are in a tree: a given category has zero or more ancestors and zero or more descendants. The tree is built by recursively following parentcategory relationship…

POST
/loupe/v3/categories
Create a new Category
CreateCategoryV3 1 param body → 201400401403422500
GET
/loupe/v3/categories/{category_id}
Get a Category by the given ID
ReadCategoryV3 3 params → 200401403404
PATCH
/loupe/v3/categories/{category_id}
Update an existing Category.
UpdateCategoryV3 2 params body → 200400401403404409422
DELETE
/loupe/v3/categories/{category_id}
Delete a Category by the given ID
DeleteCategoryV3 1 param → 204403404
Charts 4
POST
/loupe/v3/categories/{category_id}/charts
Create a new Chart under a Category
CreateChartWithCategoryV3 1 param body → 201400401404422
POST
/loupe/v3/charts
Create a new Chart
CreateChartV3 body → 201400401404422
DELETE
/loupe/v3/charts/{chart_id}
Delete a Chart by the given ID
DeleteChartV3 1 param → 204403404
PATCH
/loupe/v3/charts/{chart_id}
Update an existing Chart.
UpdateChartV3 1 param body → 200400401403404409422
Category Types 5
GET
/loupe/v3/category_types
Get Category Types available to the authenticated user.
ReadCategoryTypesV3 3 params → 200400401422
POST
/loupe/v3/category_types
Create a new Category Type resource
CreateCategoryTypeV3 1 param body → 201400401403422
GET
/loupe/v3/category_types/{category_type_id}
Get the Category Type resource that has the given id
ReadCategoryTypeV3 2 params → 200401403404
PATCH
/loupe/v3/category_types/{category_type_id}
Update the Category Type resource that has the given id
UpdateCategoryTypeV3 2 params body → 200400401403404409422
DELETE
/loupe/v3/category_types/{category_type_id}
Delete the Category Type resource that has the given id
DeleteCategoryTypeV3 1 param → 204403404
Filter Sets 3
POST
/loupe/v3/filter_sets
Create a new filter set.
CreateFilterSetV3 body → 201400401403422500
PATCH
/loupe/v3/filter_sets/{filter_set_id}
Update an existing filter set.
UpdateFilterSetV3 1 param body → 200400401403404422500
DELETE
/loupe/v3/filter_sets/{filter_set_id}
Delete a filter set.
DeleteFilterSetV3 1 param → 204400401403404422500
Key Dates 3
POST
/loupe/v3/key_dates
Create a new Key Date
CreateKeyDateV3 1 param body → 201400401404422
PATCH
/loupe/v3/key_dates/{key_date_id}
Update an existing Key Date.
UpdateKeyDateV3 3 params body → 200400401403404409422
DELETE
/loupe/v3/key_dates/{key_date_id}
Delete a Key Date by the given ID
DeleteKeyDateV3 1 param → 204403404
Views 6
GET
/loupe/v3/views
Get the views available to the authenticated user for the given Workspace ID
ReadViewsV3 4 params → 200400401403
POST
/loupe/v3/views
Create a new View
CreateViewV3 2 params body → 201400401404422500
GET
/loupe/v3/views/{view_id}
Get a View by the given ID
ReadViewV3 3 params → 200401403404
PATCH
/loupe/v3/views/{view_id}
Update an existing View.
UpdateViewV3 3 params body → 200400401403404409422500
DELETE
/loupe/v3/views/{view_id}
Delete a View by the given ID
DeleteViewV3 1 param → 204403404
DELETE
/loupe/v3/views/{view_id}/relationships/blocks
Delete block relationships from a View
DeleteViewBlocksRelationshipV3 1 param body → 204400403404500
View Colors 1
POST
/loupe/v3/view_colors
Create a new View Color
CreateViewColorV3 1 param body → 201400401404422
View Columns 4
GET
/loupe/v3/view_columns
List all columns for a plan table view.
ReadViewColumnsV3 3 params → 200400401403
POST
/loupe/v3/view_columns
Enable a column on a plan table view (standard or custom field).
CreateViewColumnV3 1 param body → 201400401403404422
PATCH
/loupe/v3/view_columns/{view_column_id}
Reorder a view column (update its position).
UpdateViewColumnV3 2 params body → 200400401403404422
DELETE
/loupe/v3/view_columns/{view_column_id}
Disable a column on a plan table view by deleting its viewcolumn record.
DeleteViewColumnV3 1 param → 204401403404
View Standard Columns 1
GET
/loupe/v3/view_standard_columns
List all standard columns available for plan table views.
ReadViewStandardColumnsV3 1 param → 200400401
Moments 5
GET
/moments/v3
Return all moments available to the authenticated user.
ReadMomentsV3 6 params → 200400401422
POST
/moments/v3
Create a new public or private moment.
CreateMomentV3 body → 201400401404409422
GET
/moments/v3/{moment_id}
Return the specified Moment
ReadMomentV3 5 params → 200401403404
PATCH
/moments/v3/{moment_id}
Update the specified Moment
UpdateMomentV3 2 params body → 200401403404409
DELETE
/moments/v3/{moment_id}
Delete the specified Moment
DeleteMomentV3 1 param → 204401403404
Moment Custom Fields 3
GET
/moments/v3/{moment_id}/moment_custom_fields
Get Moment Custom Fields available to the authenticated user.
ReadMomentCustomFieldsV3 3 params → 200400401422
POST
/moments/v3/{moment_id}/moment_custom_fields
Create a new Moment Custom Field.
CreateMomentCustomFieldV3 2 params body → 201400401404409422
PATCH
/moments/v3/{moment_id}/moment_custom_fields/{moment_custom_field_id}
Update an existing Moment Custom Field.
UpdateMomentCustomFieldV3 3 params body → 200400401404409422
Moment Duplication 2
POST
/moments/v3/{source_moment_id}/moment_duplications
Duplicate an existing moment.
CreateMomentDuplicationV3 2 params body → 201400401404409422
GET
/moments/v3/{source_moment_id}/moment_duplications/{id}
Get the status of a moment duplication.
ReadMomentDuplicationV3 2 params → 200400401422
Moment Assignees 3
GET
/moment_assignees/v3
Get Moment Assignees available to the authenticated user.
ReadMomentAssigneesV3 2 params → 200400401422
POST
/moment_assignees/v3
Create a new moment assignee.
CreateMomentAssigneeV3 body → 201400401404409422
DELETE
/moment_assignees/v3/{moment_assignee_id}
Delete a moment assignee by ID.
DeleteMomentAssigneeV3 1 param → 204400401422
Moment Schedules 3
POST
/moment_schedules/v3
Create a new moment schedule.
CreateMomentScheduleV3 body → 201400401404409422
DELETE
/moment_schedules/v3/{moment_schedule_id}
Delete a moment schedule by ID.
DeleteMomentScheduleV3 1 param → 204400401422
PATCH
/moment_schedules/v3/{moment_schedule_id}
Update a Moment Schedule.
UpdateMomentScheduleV3 1 param body → 201400401404409422
Stories 3

Story moment migration operations

GET
/stories/v3/{story_id}
Get a story by ID
GetStoryV3 2 params → 200401403404
PATCH
/stories/v3/{story_id}
Update the specified Story
UpdateStoryV3 2 params body → 200401403404422
POST
/stories/v3/{story_id}/migrate_moments
Migrate moments from a story to plans and/or boards
MigrateStoryMomentsV3 1 param body → 202400401403404422
Onboarding 3

Onboarding Overview Unlike many other Opal endpoints, the Onboarding endpoints are only accessible via a special OAuth scope that is not currently offered to Opal customers (i.e.…

POST
/onboarding/v3/trial_invites
Request a trial invite
CreateTrialInviteV3 body → 201400401
GET
/onboarding/v3/trial_invites/status
Get a trial invite
GetTrialInviteV3 5 params → 200404
GET
/onboarding/v3/trial_invites/do/accept/{single_use_hash}
Start a new Trial for a customer (accept a trial invite)
AcceptTrialInviteV3 1 param → 201301400401
Planning Status 1
GET
/planning_statuses/v3
Get all configured planning statuses for a workspace.
ReadPlanningStatusesV3 → 200400401422
Rich Text Documents 7

Overview Client libraries and document formats Rich Text Document endpoints can accept documents in arbitrary formats. The clientlibrary attribute identifies the framework or libr…

GET
/rich_texts/v3/documents
Get Rich Text Documents available to the authenticated user.
ReadRichTextDocumentsV3 2 params → 200400401422
POST
/rich_texts/v3/documents
Create a new Rich Text Document.
CreateRichTextDocumentV3 body → 201400401404409422
GET
/rich_texts/v3/documents/{rich_text_document_id}
Get a Rich Text Document.
ReadRichTextDocumentV3 2 params → 200400401403404
PATCH
/rich_texts/v3/documents/{rich_text_document_id}
Update an existing Rich Text Document.
UpdateRichTextDocumentV3 2 params body → 200400401404412422
DELETE
/rich_texts/v3/documents/{rich_text_document_id}
Delete a Rich Text Document.
DeleteRichTextDocumentV3 1 param → 204400401422
POST
/rich_texts/v3/documents/{rich_text_document_id}/duplicate
Duplicate a Rich Text Document
DuplicateRichTextDocumentV3 1 param body → 201400401404409422
GET
/rich_texts/v3/get_collaboration_token
Get a JWT for use with the TipTap Collaboration server.
GetCollaborationTokenV3 2 params → 200400401422
Users 2
GET
/users/v3/users
[UNSTABLE] Get users available to the authenticated user.
ReadUsersV3 4 params → 200400401422
GET
/users/v3/users/{user_id}
[UNSTABLE] Get a specific user's information.
ReadUserV3 1 param → 200400401422
User Groups 8
GET
/user_groups/v3/user_groups
Get User Groups available to the authenticated user.
ReadUserGroupsV3 3 params → 200400401422
POST
/user_groups/v3/user_groups
Create a new User Group.
CreateUserGroupV3 body → 201400401403404409422
GET
/user_groups/v3/user_groups/{user_group_id}
Get a User Group
ReadUserGroupV3 4 params → 200400401403404
PATCH
/user_groups/v3/user_groups/{user_group_id}
Update an existing User Group.
UpdateUserGroupV3 1 param body → 200400401403404409422
DELETE
/user_groups/v3/user_groups/{user_group_id}
Delete a User Group
DeleteUserGroupV3 2 params → 204400401403404
DELETE
/user_groups/v3/user_groups/all/relationships/members
Delete all User Group Members for User
DeleteUserGroupMembersV3 body → 204400401403
POST
/user_groups/v3/user_groups/do/get_intersections
Filter a list of groups to those intersecting given lists of users and groups
UserGroupIntersectionsByMemberV3 body → 200400401403422
POST
/user_groups/v3/user_groups/{user_group_id}/do/get_intersections
Filter a list of groups to those intersecting a source group
UserGroupIntersectionsByGroupV3 1 param body → 200400401403404422
Gem Chats 3
POST
/v3/gem_chats
[PROPOSED] Create a gemchat resource.
CreateGemChatV3 body → 201400401422
GET
/v3/gem_chats
[PROPOSED] Get gemchat resources available to the authenticated user.
ReadGemChatsV3 1 param → 200401
DELETE
/v3/gem_chats/{gem_chat_id}
[PROPOSED] Delete a GemChat.
DeleteGemChatV3 1 param → 204404
Gem Files 2
POST
/v3/gem_files
[PROPOSED] Create a new gemfile.
CreateGemFileV3 4 params body → 201400401422
GET
/v3/gem_files/{id}/download
[PROPOSED] Download a generated gemfile.
DownloadGemFileV3 1 param → 200401404500
Presentation Themes 1

Workspace brand presentation themes

GET
/v3/presentation_themes
[PROPOSED] Get the presentation themes of one or more workspaces.
ReadPresentationThemesV3 3 params → 200400401
Workflow Assignments 5
GET
/v3/workflow_assignments/{workflow_assignment_id}
Get a Workflow Assignment
ReadWorkflowAssignmentV3 2 params → 200400401404422
PATCH
/v3/workflow_assignments/{workflow_assignment_id}
Update an workflow assignment by ID
UpdateWorkflowAssignmentV3 1 param body → 200400401403404409422
DELETE
/v3/workflow_assignments/{workflow_assignment_id}
Delete an Workflow Assignment
DeleteWorkflowAssignmentV3 1 param → 204400401404
GET
/v3/workflow_assignments
Get a collection of workflowassignments
ReadAssignmentsV3 4 params → 200400401404
POST
/v3/workflow_assignments
Create an workflowassignment
CreateWorkflowAssignmentV3 body → 201400401404
Workflow Contexts 1
POST
/v3/workflow_contexts
Create a Context
CreateContextV3 1 param body → 201400401404422
Workflow Responses 2
POST
/v3/workflow_responses
Create a Workflow Response for a Workflow Assignment
CreateWorkflowResponseV3 1 param body → 201400401404
GET
/v3/workflow_responses/{workflow_response_id}
Fetch a Response by ID
ReadWorkflowResponseV3 2 params → 200400401404422
Workflow Stages 4
POST
/v3/workflow_stages
Create a workflowworkflowstage
CreateWorkflowStageV3 1 param body → 200400401422
GET
/v3/workflow_stages/{workflow_stage_id}
Get a workflowstage by ID
ReadWorkflowStageV3 2 params → 200400401422
PATCH
/v3/workflow_stages/{workflow_stage_id}
Update a Stage by ID
UpdateWorkflowStageV3 2 params body → 200400401403404409422
DELETE
/v3/workflow_stages/{workflow_stage_id}
Delete a workflowstage
DeleteWorkflowStageV3 2 params → 204404409
Workflows 4
GET
/v3/workflows
Get a collection of workflows
ReadWorkflowsV3 5 params → 200400401404
POST
/v3/workflows
Create a workflow
CreateWorkflowsV3 2 params body → 201400401404
GET
/v3/workflows/{workflow_id}
Get a Workflow by ID
ReadWorkflowV3 3 params → 200400401404
POST
/v3/workflows/{workflow_id}/duplicate
Duplicate a Workflow
DuplicateWorkflowV3 2 params body → 201400401404422
Workspaces 4
GET
/workspaces/v3
[UNSTABLE] Get Workspaces available to the authenticated user.
ReadWorkspacesV3 4 params → 200400401422
GET
/workspaces/v3/{workspace_id}
[UNSTABLE] Get a Workspace available to the authenticated user.
ReadWorkspaceV3 4 params → 200400401422
GET
/workspaces/v3/workspace_defaults/{workspace_defaults_id}
[UNSTABLE] Get a workspacedefaults resource for a workspace.
GetWorkspaceDefaultsV3 1 param → 200400401
PATCH
/workspaces/v3/workspace_defaults/{workspace_defaults_id}
[UNSTABLE] Update an existing workspace defaults resource.
UpdateWorkspaceDefaultsV3 1 param body → 200400401403404422

Schemas 53

The contract defines 53 schemas that model the data the API accepts and returns. The most detailed are content (6 properties), workspace (6 properties), moment (6 properties), user (6 properties). Each schema is shown below with its type and property counts.

asset
object
5 properties 5 required
asset_reference
object
4 properties 3 required
block
object
5 properties 4 required
block_connector
object
4 properties 4 required
block_custom_field_value
object
4 properties 4 required
block_duplication
object
4 properties 3 required
board
object
4 properties 4 required
board_collaborator
object
4 properties 4 required
board_column
object
4 properties 4 required
board_object
object
4 properties 4 required
board_object_collection
object
4 properties 4 required
board_standard_column
object
3 properties 3 required
board_user_setting
object
4 properties 4 required
bulk_operation
object
4 properties 4 required
category
object
5 properties 4 required
category_type
object
4 properties 4 required
channel
object
4 properties 4 required
chart
object
4 properties 4 required
content
object
6 properties 5 required
content_schedule
object
4 properties 4 required
content_type
object
4 properties 4 required
custom_field
object
4 properties 4 required
custom_field_color
object
3 properties 3 required
custom_field_option
object
4 properties 4 required
custom_field_type
object
3 properties 3 required
embedded_resource
object
4 properties 4 required
filter_set
object
4 properties 4 required
gem_chat
object
4 properties 4 required
gem_file
object
4 properties 4 required
key_date
object
4 properties 4 required
moment
object
6 properties 5 required
moment_assignee
object
4 properties 4 required
moment_custom_field
object
4 properties 4 required
moment_schedule
object
4 properties 4 required
note
object
3 properties 3 required
view_column
object
4 properties 4 required
view_standard_column
object
4 properties 4 required
planning_status
object
3 properties 3 required
presentation_theme
object
4 properties 4 required
rich_text_document
object
4 properties 4 required
story
object
6 properties 3 required
user
object
6 properties 5 required
user_group
object
5 properties 4 required
user_profile
object
4 properties 4 required
view
object
5 properties 4 required
view_colors
object
4 properties 4 required
workflow
object
5 properties 3 required
workflow_assignment
object
4 properties 4 required
workflow_context
object
4 properties 4 required
workflow_response
object
4 properties 4 required
workflow_stage
object
4 properties 4 required
workspace
object
6 properties 5 required
workspace_defaults
object
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

opal-v3-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Opal API v3, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.