WorkBoard Goal (Objective) API
The Goal (Objective) API from WorkBoard — 5 operation(s) for goal (objective).
The Goal (Objective) API from WorkBoard — 5 operation(s) for goal (objective).
openapi: 3.0.1
info:
title: WorkBoard External Public Activity (Action Items) Activity (Action Items) Goal (Objective) API
description: <h4>This is the API documentation for WorkBoard's version 1 REST API.</h4><p>WorkBoard's API provides resources to allow developers to interact with user, goal, and metric data in WorkBoard. All resources can be accessed via REST with GET, POST, PUT, PATCH and DELETE requests. For GET requests, query parameters can be passed as part of the request URL. All GET, POST, PUT, PATCH and DELETE requests must include the Bearer Token authorization header with the provided token you generate.</p><p>Click here to view the [changelog](./changes.html).<p>Click here to view the [Open API JSON file](./openapi.json).</p><p><strong>If you are interested in working in a demo instance, please contact your WorkBoard representative.<br/>WorkBoard's production server API root is https://www.myworkboard.com/wb/apis.</strong></p>
version: 1.0.0
servers:
- url: https://demo.biz.wobo-int.com/wb/apis
description: Demo Server
tags:
- name: Goal (Objective)
paths:
/goal:
get:
summary: Get Goals using parameters to filter results.
description: ''
tags:
- Goal (Objective)
parameters:
- name: id
description: Optional. A unique numerical id assigned to each goal. Include this parameter to return attributes of the specified goal only; otherwise all goals will be returned.
in: query
schema:
type: integer
- name: goal_owner_id
description: Either the unique user id or email address belonging to the goal owner. Include this parameter to return all goals belonging to the specified owner. (Note, if both `goal_owner_id` and `goal_id` parameters are include in the request, `goal_owner_id` will be ignored).
in: query
schema:
type: integer
- name: team_id
description: The unique numerical id assigned to each team in WorkBoard. Include this parameter to return metrics belonging to the specified team.
in: query
schema:
type: integer
- name: team_owner_id
description: Either the unique user id or email address belonging to the team owner. Include this parameter to return all goals belonging to the specified team owner. (Note, if both `team_owner_id` and `team_id` parameters are include in the request, `team_owner_id` will be ignored.)
in: query
schema:
type: string
- name: goal_status
description: 'The current state of the goal; permitted values are "1" (active) or "2" (closed). If you want both closed and active goals, then set `goal_status` to the comma separated values: "1,2"'
in: query
schema:
type: integer
- name: include
description: This will return the `goal_custom_permission` object, which includes data related to any custom permissions.
in: query
schema:
enum:
- custom_permission
- name: custom_attributes
description: This will return the `custom_attributes` array when set to 1, which includes goals custom fields.
in: query
schema:
enum:
- '1'
- name: limit
description: The number of tags returned per page. Permitted values are integers greater than or equal to 0. The default value is 15.
in: query
schema:
default: 15
type: integer
- name: offset
description: Specify the starting point for the results returned. Permitted values are integers greater than or equal to 0. The default value is 0.
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
goal:
description: 'Returns one of the responses below depending upon the parameters: `goal_id`, no ID or `team_id`.'
oneOf:
- type: object
description: A single goal object.
properties:
goal_id:
type: string
goal_name:
type: string
goal_narrative:
type: string
goal_type:
type: object
properties:
id:
type: string
name:
type: string
goal_owner:
type: string
goal_create_at:
type: string
goal_modified_at:
type: string
goal_created_by:
type: string
goal_updated_by:
type: string
goal_start_date:
type: string
goal_target_date:
type: string
goal_progress:
type: string
goal_progress_color:
type: string
goal_status:
description: The status of the goal. Possible values are 1 = active and 2 = closed.
type: string
goal_permission:
type: string
goal_category:
type: array
items:
type: object
description: An array of objects with the category identifier and name for the category.
properties:
id:
type: string
name:
type: string
goal_workstreams:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
custom_attributes:
nullable: true
type: array
items:
type: object
description: An array of objects for each custom attribute value.
properties:
id:
description: The unique identifier for the custom attribute.
type: string
name:
description: The name of the custom attribute.
type: string
value:
description: The value of the custom attribute.
type: string
status:
description: 'The status of the custom attribute: '
type: string
goal_custom_permission:
description: Returned when `include=custom_permission` is included.
type: object
nullable: true
properties:
goal_permission_team_ids:
description: Comma separated string of the team identifiers that have permission to view the goal.
type: string
goal_owner_full_name:
type: string
goal_team_id:
type: string
goal_team_name:
type: string
goal_metrics:
type: array
items:
type: object
properties:
metric_id:
type: string
metric_owner:
type: string
metric_real_owner:
type: string
metric_name:
type: string
metric_update_interval:
type: object
properties:
id:
type: string
name:
type: string
metric_update_interval_day:
type: string
metric_unit:
type: object
properties:
id:
type: string
name:
type: string
metric_progress_type:
type: object
properties:
id:
type: string
name:
type: string
metric_counting_type:
type: object
properties:
id:
type: string
name:
type: string
metric_initial_data:
type: string
metric_target:
type: string
metric_achieve_target:
description: What has been achieved against the `metric_target`.
type: string
metric_create_at:
type: string
description: The GMT timestamp value for the created at time.
metric_modified_at:
type: string
metric_created_by:
type: string
metric_updated_by:
type: string
metric_progress:
description: The `metric_achieve_target` divided by the `metric_target` as a percent.
type: string
metric_progress_color:
type: string
metric_last_update:
type: string
metric_next_update:
type: string
metric_source_from:
description: The textual source for the Metric update. In the case of a mirrored Metric, this will be the user responsible for the update and the source Metric name.
type: string
metric_source_from_id:
description: 'The source for metric data updates. Possible values are:<br/>"1" - For an individual user.<br/>"2" - For a Workstream<br/>"3" - For a rollup of another Goal or Metric<br/>"4" - A workstream''s cycle time<br/>"5" - Survey<br/>"7" - Other Goals<br/>"8" - External sources<br/>"10" - Datastream(s)<br/>"11" - For a mirrored Metric<br/>"12" - MIT: Multi-interval time period person<br/>"13" - MIT: Multi-interval time period automated datastream<br/>"14" - MIT: Multi-interval time period populates Q1,Q2, Q3, Q4.'
type: string
last_metric_comment:
description: Only returned when querying for an individual goal.
type: object
properties:
comment:
type: string
comment_last_updated:
type: string
goal_metrics_count:
type: string
goal_comments:
type: array
items:
type: object
properties:
comment_id:
type: string
comment_text:
type: string
comment_owner:
type: string
comment_owner_name:
type: string
comment_added_at:
type: string
comment_last_updated:
type: string
goal_comments_count:
type: string
- type: array
items:
type: object
description: Returns if no `goal_id` or `team_id` is included in the parameters.
properties:
user_id:
type: string
user_email:
type: string
user_first_name:
type: string
user_last_name:
type: string
people_goals:
type: array
items:
type: object
description: A single goal object.
properties:
goal_id:
type: string
goal_name:
type: string
goal_narrative:
type: string
goal_type:
type: object
properties:
id:
type: string
name:
type: string
goal_owner:
type: string
goal_create_at:
type: string
goal_modified_at:
type: string
goal_created_by:
type: string
goal_updated_by:
type: string
goal_start_date:
type: string
goal_target_date:
type: string
goal_progress:
type: string
goal_progress_color:
type: string
goal_status:
description: The status of the goal. Possible values are 1 = active and 2 = closed.
type: string
goal_permission:
type: string
goal_category:
type: array
items:
type: object
description: An array of objects with the category identifier and name for the category.
properties:
id:
type: string
name:
type: string
goal_workstreams:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
custom_attributes:
nullable: true
type: array
items:
type: object
description: An array of objects for each custom attribute value.
properties:
id:
description: The unique identifier for the custom attribute.
type: string
name:
description: The name of the custom attribute.
type: string
value:
description: The value of the custom attribute.
type: string
status:
description: 'The status of the custom attribute: '
type: string
goal_custom_permission:
description: Returned when `include=custom_permission` is included.
type: object
nullable: true
properties:
goal_permission_team_ids:
description: Comma separated string of the team identifiers that have permission to view the goal.
type: string
goal_owner_full_name:
type: string
goal_team_id:
type: string
goal_team_name:
type: string
goal_metrics:
type: array
items:
type: object
properties:
metric_id:
type: string
metric_owner:
type: string
metric_real_owner:
type: string
metric_name:
type: string
metric_update_interval:
type: object
properties:
id:
type: string
name:
type: string
metric_update_interval_day:
type: string
metric_unit:
type: object
properties:
id:
type: string
name:
type: string
metric_progress_type:
type: object
properties:
id:
type: string
name:
type: string
metric_counting_type:
type: object
properties:
id:
type: string
name:
type: string
metric_initial_data:
type: string
metric_target:
type: string
metric_achieve_target:
description: What has been achieved against the `metric_target`.
type: string
metric_create_at:
type: string
description: The GMT timestamp value for the created at time.
metric_modified_at:
type: string
metric_created_by:
type: string
metric_updated_by:
type: string
metric_progress:
description: The `metric_achieve_target` divided by the `metric_target` as a percent.
type: string
metric_progress_color:
type: string
metric_last_update:
type: string
metric_next_update:
type: string
metric_source_from:
description: The textual source for the Metric update. In the case of a mirrored Metric, this will be the user responsible for the update and the source Metric name.
type: string
metric_source_from_id:
description: 'The source for metric data updates. Possible values are:<br/>"1" - For an individual user.<br/>"2" - For a Workstream<br/>"3" - For a rollup of another Goal or Metric<br/>"4" - A workstream''s cycle time<br/>"5" - Survey<br/>"7" - Other Goals<br/>"8" - External sources<br/>"10" - Datastream(s)<br/>"11" - For a mirrored Metric<br/>"12" - MIT: Multi-interval time period person<br/>"13" - MIT: Multi-interval time period automated datastream<br/>"14" - MIT: Multi-interval time period populates Q1,Q2, Q3, Q4.'
type: string
last_metric_comment:
description: Only returned when querying for an individual goal.
type: object
properties:
comment:
type: string
comment_last_updated:
type: string
goal_metrics_count:
type: string
goal_comments:
type: array
items:
type: object
properties:
comment_id:
type: string
comment_text:
type: string
comment_owner:
type: string
comment_owner_name:
type: string
comment_added_at:
type: string
comment_last_updated:
type: string
goal_comments_count:
type: string
- type: array
description: Returned when `team_id` parameter is passed.
items:
type: object
description: Returns if `team_id` is included in the parameters.
properties:
team_id:
type: integer
team_name:
type: string
team_owner_id:
type: string
team_owner_email:
type: string
team_goals:
type: array
items:
type: object
description: A single goal object.
properties:
goal_id:
type: string
goal_name:
type: string
goal_narrative:
type: string
goal_type:
type: object
properties:
id:
type: string
name:
type: string
goal_owner:
type: string
goal_create_at:
type: string
goal_modified_at:
type: string
goal_created_by:
type: string
goal_updated_by:
type: string
goal_start_date:
type: string
goal_target_date:
type: string
goal_progress:
type: string
goal_progress_color:
type: string
goal_status:
description: The status of the goal. Possible values are 1 = active and 2 = closed.
type: string
goal_permission:
type: string
goal_category:
type: array
items:
type: object
description: An array of objects with the category identifier and name for the category.
properties:
id:
type: string
name:
type: string
goal_workstreams:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
custom_attributes:
nullable: true
type: array
items:
type: object
description: An array of objects for each custom attribute value.
properties:
id:
description: The unique identifier for the custom attribute.
type: string
name:
description: The name of the custom attribute.
type: string
value:
description: The value of the custom attribute.
type: string
status:
description: 'The
# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/workboard/refs/heads/main/openapi/workboard-goal-objective-api-openapi.yml