WorkBoard Workstream API
[WorkBoard's help center documentation on Workstreams.](https://support.workboard.com/hc/en-us/articles/115005163567-Workstreams#workstreams-0-0)
[WorkBoard's help center documentation on Workstreams.](https://support.workboard.com/hc/en-us/articles/115005163567-Workstreams#workstreams-0-0)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/workboard-workstream-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: WorkBoard External Public Workstream API
description: This is the API documentation for WorkBoard's version 1 REST API.
version: 1.0.0
servers:
- url: https://demo.biz.wobo-int.com/wb/apis
description: Demo Server
tags:
- name: Workstream
description: WorkBoard's help center documentation on Workstreams.
paths:
/workstream:
get:
summary: Get the details of Team Workstreams to which the authenticated user (token…
description: 'Note:
The use of a `Data-Admin` token will not return all Workstreams for all users.
If no query string parameters are set, this will return Team Workstreams for Teams which the authenticated user (token user) is a member of. Personal Workstreams are not returned in the response.'
tags:
- Workstream
parameters:
- name: ws_id
description: The unique numerical id assigned to each Workstream in WorkBoard.
in: query
schema:
type: integer
- name: ws_owner
description: '`Data-Admin` The numerical user id or email address of the user. The response will include all team Workstreams the user has access to.'
in: query
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
readOnly: true
message:
type: string
readOnly: true
data:
type: object
readOnly: true
properties:
totalCount:
type: integer
workstream:
description: Returns an array of Workstream if `ws_id` is not passed. Returns a single Workstream object when `ws_id` is passed.
oneOf:
- type: object
properties:
ws_id:
type: string
ws_name:
type: string
ws_objective:
type: string
ws_owner:
type: string
ws_lead:
type: string
ws_status:
type: string
ws_type:
type: string
ws_effort:
type: object
properties:
low_effort:
type: string
medium_effort:
type: string
large_effort:
type: string
ws_pace:
type: string
ws_health:
type: string
ws_priority:
type: string
ws_progress:
type:
- string
- 'null'
ws_start_date:
type: string
ws_target_date:
type:
- string
- 'null'
ws_completion_date:
type:
- string
- 'null'
ws_team_id:
type: string
ws_team_name:
type: string
- type: array
items:
type: object
properties:
ws_id:
type: string
ws_name:
type: string
ws_objective:
type: string
ws_owner:
type: string
ws_lead:
type: string
ws_status:
type: string
ws_type:
type: string
ws_effort:
type: object
properties:
low_effort:
type: string
medium_effort:
type: string
large_effort:
type: string
ws_pace:
type: string
ws_health:
type: string
ws_priority:
type: string
ws_progress:
type:
- string
- 'null'
ws_start_date:
type: string
ws_target_date:
type:
- string
- 'null'
ws_completion_date:
type:
- string
- 'null'
ws_team_id:
type: string
ws_team_name:
type: string
'400':
description: Unauthorized / Invalid
content:
application/json:
schema:
properties:
success:
type: boolean
description: 'false'
error:
type: string
error_description:
type: string
example:
success: false
error: ''
error_description: ''
security:
- bearerAuth: []
operationId: getWorkstream
x-operation-id-source: derived
post:
summary: Create a Workstream for a team
description: Create a new Workstream for a team, including a descriptive narrative and Workstream owner. You have to manage or co-manage this team, including Data-Admin token users.
tags:
- Workstream
requestBody:
content:
application/json:
schema:
properties:
ws_data:
type: array
items:
type: object
properties:
ws_name:
type: string
description: The name of the Workstream.
ws_objective:
type: string
description: A descriptive narrative or objective statement for the Workstream.
team_id:
type: string
description: The unique numerical id of the Workstream's parent team.
ws_owner:
type: string
description: The user id of the team's manager or co-manager.
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
readOnly: true
message:
type: string
readOnly: true
data:
type: object
readOnly: true
properties:
totalCount:
type: integer
description: Returns the number of Workstreams created.
workstream:
description: ''
type: array
items:
type: array
items:
type: object
'400':
description: Unauthorized / Invalid
content:
application/json:
schema:
properties:
success:
type: boolean
description: 'false'
error:
type: string
error_description:
type: string
example:
success: false
error: ''
error_description: ''
security:
- bearerAuth: []
operationId: postWorkstream
x-operation-id-source: derived
/workstream/{ws_id_path}:
put:
summary: Update a Workstream for a team
description: Update a new Workstream for a team, including a descriptive narrative and Workstream owner. You have to manage or co-manage this team, including Data-Admin token users.
tags:
- Workstream
parameters:
- name: ws_id_path
description: The unique numerical id assigned to each Workstream in WorkBoard.
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
properties:
ws_name:
type: string
description: The name of the Workstream.
ws_start_date:
type: string
description: The start date for the Workstream as a valid date string or time-stamp.
ws_end_date:
type: string
description: The end date for the Workstream as a valid date string or time-stamp.
ws_pace:
type: string
description: 'The subjective pace at which work is progressing. Permitted values are: "slow" "fast" "steady"'
ws_health:
type: string
description: 'The subjective health of the Workstream. Permitted values are: "ok" "good" "risk"'
ws_priority:
type: string
description: 'The Workstream''s priority level, from 1 (highest) to 5 (lowest). Permitted values are: "p1" "p2" "p3" "p4" "p5"'
ws_shared_with:
type: array
description: 'Add or remove user access to the Workstream (passed as an array): user_id : Required the numerical id or email address associated with the user''s WorkBoard account. ws_access : To remove a user''s access to the Workstream, pass this parameter with the value "revoke"'
items:
type: object
properties:
user_id:
type: string
ws_access:
type: string
description: To remove a user's access to the Workstream, pass this parameter with the value "revoke"
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
readOnly: true
message:
type: string
readOnly: true
data:
type: object
readOnly: true
properties:
totalCount:
type: integer
description: Returns the number of Workstreams created.
workstream:
description: ''
type: array
items:
type: array
items:
type: object
'400':
description: Unauthorized / Invalid
content:
application/json:
schema:
properties:
success:
type: boolean
description: 'false'
error:
type: string
error_description:
type: string
example:
success: false
error: ''
error_description: ''
security:
- bearerAuth: []
operationId: putWorkstreamByWsIdPath
x-operation-id-source: derived
patch:
summary: Delete a Workstream with all its action items.
description: Delete a Workstream with all its action items. A successful request will return a 204 code.
tags:
- Workstream
parameters:
- name: ws_id_path
description: The unique numerical id assigned to each Workstream in WorkBoard.
in: path
required: true
schema:
type: integer
responses:
'204':
description: Success returns a 204 header.
'400':
description: Unauthorized / Invalid
content:
application/json:
schema:
properties:
success:
type: boolean
description: 'false'
error:
type: string
error_description:
type: string
example:
success: false
error: ''
error_description: ''
security:
- bearerAuth: []
operationId: patchWorkstreamByWsIdPath
x-operation-id-source: derived
/workstream/{ws_id_path}/activity:
get:
summary: List details of all action items belonging to the specified Workstream
description: 'List details of all action items belonging to the specified Workstream.
Note: This will only return Workstreams the user has access to.'
tags:
- Workstream
parameters:
- name: ws_id_path
description: The unique numerical id assigned to each Workstream in WorkBoard.
in: path
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
readOnly: true
message:
type: string
readOnly: true
data:
type: object
readOnly: true
properties:
totalCount:
type: integer
workstream:
description: ''
type: object
properties:
ws_id:
type: string
ws_name:
type: string
ws_objective:
type: string
ws_owner:
type: string
ws_lead:
type: string
ws_status:
type: string
ws_type:
type: string
ws_effort:
type: object
properties:
low_effort:
type: string
medium_effort:
type: string
large_effort:
type: string
ws_pace:
type: string
ws_health:
type: string
ws_priority:
type: string
ws_progress:
type:
- string
- 'null'
ws_start_date:
type: string
ws_target_date:
type:
- string
- 'null'
ws_completion_date:
type:
- string
- 'null'
ws_team_id:
type: string
ws_team_name:
type: string
ws_activity:
type: object
properties:
activity:
type: array
items:
type: object
properties:
ai_id:
type: string
ai_description:
type: string
ai_created_at:
type: string
ai_state:
type: string
ai_rating:
type: string
ai_priority:
type: string
ai_effort:
type: string
ai_files:
type: array
items:
type: object
properties:
file_id:
type: string
file_name:
type: string
file_url:
type: string
file_owner:
type: string
ai_sub_actions:
type: array
items:
type: object
properties:
sub_ai_id:
type: string
sub_ai_description:
type: string
sub_ai_owner:
type: string
ai_comments:
type: array
items:
type: object
properties:
comment_id:
type: string
comment:
type: string
comment_owner:
type: string
comment_timestamp:
type: string
ai_due_date:
type: string
ai_workstream:
type: string
ai_team:
type:
- string
- 'null'
ai_workstream_name:
type: string
ai_loop_members:
type: array
items:
type: object
properties:
user_id:
type: string
user_email:
type: string
ai_tags:
type:
- string
- 'null'
ai_due_before:
type: string
ai_owner:
type: string
ai_created_by:
type: string
ai_url:
type: string
ai_completed_at:
type:
- string
- 'null'
activity_count:
type: integer
'400':
description: Unauthorized / Invalid
content:
application/json:
schema:
properties:
success:
type: boolean
description: 'false'
error:
type: string
error_description:
type: string
example:
success: false
error: ''
error_description: ''
security:
- bearerAuth: []
operationId: getWorkstreamByWsIdPathActivity
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
description: JWT Authorization header using the Bearer scheme.
scheme: bearer
bearerFormat: JWT