Cascade Public API (2)

Download OpenAPI specification:Download

Cascadelogo

The Cascade REST API

Authentication

bearerAuth

Authorize your requests with a bearer token.

To get a token, log in to your Cascade instance, then go to Profile > Security.

A request looks like this. Your token would go where the <token> placeholder text is.

curl --location --request GET 'https://csegeneral.executestrategy.net/api/v2/goals?id=1,2'
--header 'Authorization: Bearer <token>'
Security Scheme Type HTTP
HTTP Authorization Scheme bearer

Goals

Goals are the core resource of the Cascade application. They are the elementary units of a strategic plan.

List goals

Fetch some or all goal records, using filters to fetch subsets.

To filter the response to a subset of goals, use the query params. If you want to include multiple values in a param, you can separate them with commas. For example, this call returns goals that have id values of 1 and 2

curl --location --request GET 'https://csegeneral.executestrategy.net/api/v2/goals?id=1,2'
--header 'Authorization: Bearer {token}'
Authorizations:
query Parameters
offset
integer
Default: 1
Example: offset=1

The offset for pagination.

limit
integer
Example: limit=10

The number of items to return

role_id
integer
Example: role_id=2

The ID of the role of the associated user or goal

creator_id
integer Nullable
Default: null
Example: creator_id=3

The ID of the user who created the goal

status
string
Default: "DRAFT"
Enum: "APPRO" "DRAFT" "ARCHI"
Example: status=DRAFT

Determines the state of the goal

completion_criteria
string
Enum: "TARGET-REACHED" "TARGET-DEADLINE-REACHED"
Example: completion_criteria=TARGET-DEADLINE-REACHED

Criteria to determine whether the goal is complete

target_flow
string
Enum: "OVER" "UNDER" "NONE"
Example: target_flow=NONE

The tracking direction of the goal. If OVER, higher values are better. If UNDER, lower values are better.

action
string <= 25 characters Nullable
Default: null
Example: action=complete

The action to accomplish the goal, task, etc. In the Cascade UI, action might also serve as the verb in the resource's title.

detail
string <= 300 characters Nullable
Default: null
Example: detail=All tasks by Q3

Description of what is implementing the action

initial
number
Default: 0
Example: initial=0

Initial progress of the goal

threshold
number Nullable
Default: null
Example:

Allowed

progress
number
Example: progress=68.5

Current progress of the goal

target
number
Example: target=101

Expected target of the goal

unit_id
integer [ 1 .. 4 ]
Example: unit_id=1

What unit the goal uses for tracking 1 measures in percent; 2, in arbitrary units; 3, in money; 4, in people.

string or integer
Example: start_id=2021-11-15T21:45:44+00:00

Intended start time of the goal, in Unix time or ISO 8601 format

end_time
string
Example: end_time=2022-01-15T21:45:44+00:00

Expected end time of the goal, in Unix time or ISO 8601 format

weight_id
integer [ 1 .. 4 ]
Example: weight_id=2

The weight of a resources's priority. The highest priority is 1. The lowest is 4.

link
object

URIs that link to related resources

why_type
string
Default: "NONE"
Enum: "VIDEO" "RHTML" "NONE"

Describes the type of extra detail provided

why
string Nullable
Default: null
Example:

Extra detail about the goal, in the form of its why_type

number or boolean
Example: is_private=0

Whether the resource is private

tracking_type
string
Default: "MANUAL"
Enum: "MANUAL" "SUBGOAL-SUM" "SUBGOAL-MEAN" "WEIGHTED-MEAN" "TASKS"
Example: tracking_type=MANUAL

Tracking schema used to track the goal

integer or string
Example: created_at=2021-11-26T17:43:08+00:00

Date when the resource was created, in Unix time or ISO 8601 format

Responses

Response samples

Content type
application/json
{
  • "goals": [
    ],
  • "meta": {
    }
}

Create a goal

Create a new goal in your Cascade instance.

Authorizations:
Request Body schema:
object

The object to create a goal

Responses

Request samples

Content type
{
  • "goal": {
    }
}

Response samples

Content type
application/json
{
  • "errors": {
    },
  • "status": "Unprocessable"
}

Get a goal, based on id

To retrieve a single goal, make a request to the /goals/{id} endpoint. In this case, id represents the ID of the goal.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

query Parameters
offset
integer
Default: 1
Example: offset=1

The offset for pagination.

limit
integer
Example: limit=10

The number of items to return

Responses

Response samples

Content type
application/json
{
  • "goal": {
    }
}

Update a goal

To update a goal, send a PUT request to the goals/{id} endpoint, where id represents the goal you want to update. Use the request body to update fields. The only required request body field is id.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Request Body schema: application/json
object

A goal object

Responses

Request samples

Content type
application/json
{
  • "goal": {
    }
}

Create a milestone

Add a new milestone to a goal.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of goal you want to add a milestone to.

Request Body schema: application/json
Array of objects

Responses

Request samples

Content type
application/json
{
  • "milestones": [
    ]
}

Response samples

Content type
application/json
{
  • "milestones": [
    ]
}

Tasks

Tasks are the individual bits of work that combine together to complete a goal. You can use tasks to break up individual components of a goal.

List tasks

Fetch some or all task records, using filters to fetch subsets. In addition to limit and offset, you can also pass any field in the task object as a query parameter.

Authorizations:
query Parameters
limit
integer
Example: limit=10

The number of items to return

offset
integer
Default: 1
Example: offset=1

The offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "tasks": [
    ],
  • "meta": {
    }
}

Create a task

Add a new task to a goal. Request body MUST include the fields task and goal_id.

Authorizations:
Request Body schema: application/json
object

Object to create a task.

Responses

Request samples

Content type
application/json
{
  • "task": {
    }
}

Response samples

Content type
application/json
{
  • "errors": {
    },
  • "status": "Unprocessable"
}

Get Task

Get a task, using its id as a path parameter

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "task": {
    }
}

Update task

Update a task, using its id as a path parameter. In the request body, update fields in a top-level task object. No field is required, but you MUST send at least one field.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Request Body schema: application/json
object

A task object

Responses

Request samples

Content type
application/json
{
  • "task": {
    }
}

Response samples

Content type
application/json
{
  • "task": {
    }
}

Delete task

Be careful! This action is irreversible.

Deletes a task, using the task's id in the path parameters.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Issues

Issues document problems and risks for a particular goal. In Cascade's help articles and UI-facing documentation, issues are usually referred to as "risks."

List issues

Fetch some or all issue records, using filters to fetch subsets. In addition to limit and offset, you can also pass any field in the issue object as a query parameter.

Authorizations:
query Parameters
limit
integer
Example: limit=10

The number of items to return

offset
integer
Default: 1
Example: offset=1

The offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "issues": [
    ],
  • "meta": {
    }
}

Create an issue

Add a new issue to a goal. Request body MUST include the fields issue and goal_id.

Authorizations:
Request Body schema:
object

Request body to create an issue

Responses

Request samples

Content type
{
  • "issue": {
    }
}

Response samples

Content type
application/json
{
  • "issue": {
    }
}

Get Issue

Get an issue, using its id as a path parameter

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "issue": {
    }
}

Update issue

Update an issue, using its id as a path parameter. In the request body, update fields in a top-level issue object. No field is required, but you MUST send at least one field.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Request Body schema: application/json
object

An issue object

Responses

Request samples

Content type
application/json
{
  • "issue": {
    }
}

Response samples

Content type
application/json
{
  • "task": {
    }
}

Delete issue

Be careful! This action is irreversible.

Deletes an issue, using the issue's id in the path parameters.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Updates

Updates are written comments that describe a goal's progress.

List updates

Fetch some or all update records, using filters to fetch subsets. In addition to limit and offset, you can also pass any field in the update object as a query parameter.

Authorizations:
query Parameters
limit
integer
Example: limit=10

The number of items to return

offset
integer
Default: 1
Example: offset=1

The offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "updates": [
    ],
  • "meta": {
    }
}

Create an update

Add a new update to a goal. Request body MUST include the fields update and goal_id.

Authorizations:
Request Body schema:
object

Request body to create an update

Responses

Request samples

Content type
{
  • "update": {
    }
}

Response samples

Content type
application/json
{
  • "update": {
    }
}

Get Update

Get an update, using its id as a path parameter

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "update": {
    }
}

Update update

Update an update, using its id as a path parameter. In the request body, update fields in a top-level update object. No field is required, but you MUST send at least one field.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Request Body schema: application/json
object

An update object

Responses

Request samples

Content type
application/json
{
  • "update": {
    }
}

Response samples

Content type
application/json
{
  • "task": {
    }
}

Delete update

Be careful! This action is irreversible.

Deletes an update, using the update's id in the path parameters.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Entity templates

Entity templates let you make custom fields for your goals and workflows. To work with entity templates in the UI, select your profile, then Customize Fields.

List entity templates

Fetch some or all entity template records, using filters to fetch subsets. In addition to limit and offset, you can also pass any field in the entity_template object as a query parameter.

Authorizations:
query Parameters
limit
integer
Example: limit=10

The number of items to return

offset
integer
Default: 1
Example: offset=1

The offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "entity_templates": [
    ],
  • "meta": {
    }
}

Get template

Get a template, using its id as a path parameter

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "entity_template": {
    }
}

Users

Users in your Cascade instance.

List users

Fetch some or all users, using filters to fetch subsets. In addition to limit and offset, you can also pass any field in the user object as a query parameter.

Authorizations:
query Parameters
limit
integer
Example: limit=10

The number of items to return

offset
integer
Default: 1
Example: offset=1

The offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "meta": {
    }
}

Create a user

Create a user, with name and login credentials. You can optionally add your own client_id, and a password for first time logins. A successul request returns the new user's Cascade id, along with other user data.

Authorizations:
query Parameters
offset
integer
Default: 1
Example: offset=1

The offset for pagination.

limit
integer
Example: limit=10

The number of items to return

first_name
string
Example: first_name=Roberta

A user's first name

last_name
string
Example: last_name=Allen

A user's last name

role_id
integer
Example: role_id=2

The ID of the role of the associated user or goal

username
string
Example: username=Sofia@example.com

The user's name when they log in

email
string
Example: email=boballen@example.com

A user's email

Request Body schema: application/json
object

Top-level object that holds user data

Responses

Request samples

Content type
application/json
{
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

Get a user

Returns all information about the user, specified by the id

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Update user

Update a user's, using its id as a path parameter. In the request body, update fields in a top-level user object. No field is required, but you MUST send at least one field.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Request Body schema: application/json
object

Information about a user in your Cascade instance

Responses

Request samples

Content type
application/json
{
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

Roles

Roles are the positions that users have in your organization. They are also how Cascade manages permissions and resource ownership. Roles are deeply connected to some key features of the Cascade application:

  • Each user has a role.
  • All permissions are based on roles.
  • Each goal is associated with a specific roles. Besides assigning permissions and goals, you can also use roles to emulate the structure of your internal organization within your Cascade instance. For example, every manager can have the role Manager, and every supervisor can have the role Supervisor, etc.

List roles

Fetch some or all role records, using filters to fetch subsets.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "role": {
    }
}

Create a role

Add a new role.. Request body MUST include the fields task and goal_id.

Authorizations:
Request Body schema: application/json
object

An object to create roles

Responses

Request samples

Content type
application/json
{
  • "role": {
    }
}

Response samples

Content type
application/json
{
  • "errors": {
    },
  • "status": "Unprocessable"
}

Get role

Get a role, using its id as a path parameter

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "role": {
    }
}

Delete role

Be careful! This action is irreversible.

Deletes a role, using the role's id in the path parameters.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Org units

Org units represent individual components of your organization hierarchy.

List org units

Fetch some or all org unit records, using filters to fetch subsets. In addition to limit and offset, you can also pass any field in the org_unit object as a query parameter.

Authorizations:
query Parameters
limit
integer
Example: limit=10

The number of items to return

offset
integer
Default: 1
Example: offset=1

The offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "org_units": [
    ],
  • "meta": {
    }
}

Get unit

Get an organization unit, using its id as a path parameter

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses

Response samples

Content type
application/json
{
  • "org_unit": {
    }
}

Delete org

Be careful! This action is irreversible.

Deletes a org_unit, using the org's id in the path parameters.

Authorizations:
path Parameters
id
required
integer
Example: 12

The ID of the resource. For example, an id is attached to each goal and user in your Cascade instance.

Responses