Aha! REST API (1.0.5)

Download OpenAPI specification:

API for interacting with Aha! product management platform.

Rate Limiting

The API enforces rate limits to ensure fair usage:

  • 300 requests per minute per account
  • 20 requests per second per account

When rate limits are exceeded, the API returns a 429 Too Many Requests response with a retry_after header indicating when to retry.

Authentication

The API supports two authentication methods:

  • OAuth 2.0: For web applications and integrations requiring user consent
  • API Tokens: For server-to-server integrations and personal access

Request Headers

  • User-Agent: Required header to identify the client application
  • Content-Type: Set to application/json for POST/PUT requests
  • Authorization: Bearer token or OAuth access token

Response Format

All responses are in JSON format. List endpoints include pagination metadata in the meta.pagination object.

Error Handling

The API uses standard HTTP status codes and includes detailed error messages in the response body for debugging.

Competitors

Competitive analysis and competitor tracking

List competitors in a product

Retrieves a list of competitors associated with the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Responses

Response samples

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

Create a competitor

Adds a new competitor to the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string
Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "strengths": "string",
  • "weaknesses": "string",
  • "website": "http://example.com"
}

Get a specific competitor

Retrieves details of the specified competitor.

Authorizations:
BearerAuthOAuth2
path Parameters
competitor_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "strengths": "string",
  • "weaknesses": "string",
  • "website": "http://example.com"
}

Update a competitor

Updates the details of the specified competitor.

Authorizations:
BearerAuthOAuth2
path Parameters
competitor_id
required
string
Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "strengths": "string",
  • "weaknesses": "string",
  • "website": "http://example.com"
}

Delete a competitor

Removes the specified competitor.

Authorizations:
BearerAuthOAuth2
path Parameters
competitor_id
required
string

Responses

Users

User management and authentication

List users

Fetches a list of users associated with the Aha! account.

Authorizations:
BearerAuthOAuth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific user

Retrieves details of a specific user by their ID.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "email": "string"
}

Features

Product features and functionality management

List features

Returns a list of features. You can filter by various criteria like name, modification date, tag, or assignee. Features belong to releases, so they are scoped to a release.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer >= 1
Default: 1

Page number for pagination (starts at 1)

per_page
integer [ 1 .. 200 ]
Default: 30

Number of items per page (max 200)

fields
string

Comma-separated list of fields to include in response for customization

q
string

Search term to match against feature name

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only features updated after the timestamp will be returned

tag
string

String tag value. If provided, only features with the associated tag will be returned

assigned_to_user
string

ID or email address of a user. If provided, only features assigned to that user will be returned

Responses

Response samples

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

List features associated with a goal

Returns a list of features associated with a specific goal.

Authorizations:
BearerAuthOAuth2
path Parameters
goal_id
required
string

Numeric ID of the goal

query Parameters
q
string

Search term to match against feature name

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only features updated after the timestamp will be returned

tag
string

String tag value. If provided, only features with the associated tag will be returned

assigned_to_user
string

ID or email address of a user. If provided, only features assigned to that user will be returned

Responses

Response samples

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

List features associated with an initiative

Returns a list of features associated with a specific initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string

Numeric ID of the initiative

query Parameters
q
string

Search term to match against feature name

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only features updated after the timestamp will be returned

tag
string

String tag value. If provided, only features with the associated tag will be returned

assigned_to_user
string

ID or email address of a user. If provided, only features assigned to that user will be returned

Responses

Response samples

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

List features in a product

Returns a list of features associated with a specific product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

query Parameters
q
string

Search term to match against feature name

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only features updated after the timestamp will be returned

tag
string

String tag value. If provided, only features with the associated tag will be returned

assigned_to_user
string

ID or email address of a user. If provided, only features assigned to that user will be returned

Responses

Response samples

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

List features in a release

Returns a list of features associated with a specific release.

Authorizations:
BearerAuthOAuth2
path Parameters
release_id
required
string

Numeric ID or key of the release

query Parameters
q
string

Search term to match against feature name

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only features updated after the timestamp will be returned

tag
string

String tag value. If provided, only features with the associated tag will be returned

assigned_to_user
string

ID or email address of a user. If provided, only features assigned to that user will be returned

Responses

Response samples

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

Create a feature

Adds a new feature to a specified release. Features belong to releases. This means that if you want to create one then you must scope it to a release.

Authorizations:
BearerAuthOAuth2
path Parameters
release_id
required
string

Numeric ID or key of the release

query Parameters
disable_mailers
boolean
Default: false

Set to true to disable sending email notifications

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "feature": {
    }
}

Response samples

Content type
application/json
Example
{
  • "feature": {
    }
}

Get a specific feature

Retrieves the details of a specific feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Responses

Response samples

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

Update a feature

Updates an existing feature with the provided attributes.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Delete a feature

Deletes the specified feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Responses

Response samples

Content type
application/json
{
  • "error": "Rate limit exceeded",
  • "message": "API rate limit exceeded. Please wait before making additional requests.",
  • "retry_after": 60
}

Update a feature's custom fields

Updates the custom fields of an existing feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Update a feature's custom worksheet fields

Updates the custom worksheet fields of an existing feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "reference_num": "string",
  • "initiative_reference_num": "string",
  • "release_reference_num": "string",
  • "epic_reference_num": "string",
  • "position": 0,
  • "score": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "start_date": "2019-08-24",
  • "due_date": "2019-08-24",
  • "product_id": "string",
  • "progress": 0,
  • "progress_source": "string",
  • "status_changed_on": "2019-08-24",
  • "created_by_user": {
    },
  • "workflow_kind": {
    },
  • "workflow_status": {
    },
  • "project": {
    },
  • "description": {
    },
  • "attachments": [
    ],
  • "integration_fields": [
    ],
  • "resource": "http://example.com",
  • "release": {
    },
  • "assigned_to_user": {
    },
  • "requirements": [
    ],
  • "goals": [
    ],
  • "key_results": [
    ],
  • "comments_count": 0,
  • "score_facts": [
    ],
  • "tags": [
    ],
  • "full_tags": [
    ],
  • "custom_fields": [
    ],
  • "feature_links": [
    ],
  • "workflow_status_times": [
    ],
  • "feature_only_original_estimate": 0,
  • "feature_only_remaining_estimate": 0,
  • "feature_only_work_done": 0
}

Update a feature's epic

Updates the epic of an existing feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "reference_num": "string",
  • "initiative_reference_num": "string",
  • "release_reference_num": "string",
  • "epic_reference_num": "string",
  • "position": 0,
  • "score": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "start_date": "2019-08-24",
  • "due_date": "2019-08-24",
  • "product_id": "string",
  • "progress": 0,
  • "progress_source": "string",
  • "status_changed_on": "2019-08-24",
  • "created_by_user": {
    },
  • "workflow_kind": {
    },
  • "workflow_status": {
    },
  • "project": {
    },
  • "description": {
    },
  • "attachments": [
    ],
  • "integration_fields": [
    ],
  • "resource": "http://example.com",
  • "release": {
    },
  • "assigned_to_user": {
    },
  • "requirements": [
    ],
  • "goals": [
    ],
  • "key_results": [
    ],
  • "comments_count": 0,
  • "score_facts": [
    ],
  • "tags": [
    ],
  • "full_tags": [
    ],
  • "custom_fields": [
    ],
  • "feature_links": [
    ],
  • "workflow_status_times": [
    ],
  • "feature_only_original_estimate": 0,
  • "feature_only_remaining_estimate": 0,
  • "feature_only_work_done": 0
}

Update a feature's goals

Updates the goals of an existing feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "reference_num": "string",
  • "initiative_reference_num": "string",
  • "release_reference_num": "string",
  • "epic_reference_num": "string",
  • "position": 0,
  • "score": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "start_date": "2019-08-24",
  • "due_date": "2019-08-24",
  • "product_id": "string",
  • "progress": 0,
  • "progress_source": "string",
  • "status_changed_on": "2019-08-24",
  • "created_by_user": {
    },
  • "workflow_kind": {
    },
  • "workflow_status": {
    },
  • "project": {
    },
  • "description": {
    },
  • "attachments": [
    ],
  • "integration_fields": [
    ],
  • "resource": "http://example.com",
  • "release": {
    },
  • "assigned_to_user": {
    },
  • "requirements": [
    ],
  • "goals": [
    ],
  • "key_results": [
    ],
  • "comments_count": 0,
  • "score_facts": [
    ],
  • "tags": [
    ],
  • "full_tags": [
    ],
  • "custom_fields": [
    ],
  • "feature_links": [
    ],
  • "workflow_status_times": [
    ],
  • "feature_only_original_estimate": 0,
  • "feature_only_remaining_estimate": 0,
  • "feature_only_work_done": 0
}

Update a feature's progress

Updates the progress of an existing feature. May only be set when the progress_source is manual.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Update a feature's progress source

Updates the progress source of an existing feature. Options are: progress_manual, progress_from_requirements, progress_from_remaining_estimate, progress_from_todos.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Update a feature's release

Updates the release of an existing feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Update a feature's score

Updates the score of an existing feature.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Update a feature's tags with an array

Updates the tags of an existing feature using an array.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Convert a feature to an epic

Converts the specified feature to an epic.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

Request Body schema: application/json
optional
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "6776757454425734692",
  • "name": "A feature in project 2",
  • "reference_num": "PRJ2-E-251",
  • "initiative_reference_num": null,
  • "position": 1000,
  • "score": 0,
  • "created_at": "2019-01-01T00:00:00.000Z",
  • "updated_at": "2019-01-01T00:00:00.000Z",
  • "start_date": null,
  • "due_date": null,
  • "product_id": "517761884",
  • "progress": 0,
  • "progress_source": "progress_manual",
  • "duration_source": "duration_manual",
  • "status_changed_on": "2019-01-01",
  • "created_by_user": {
    },
  • "workflow_status": {
    },
  • "project": {
    },
  • "description": {
    },
  • "attachments": [ ],
  • "integration_fields": [ ],
  • "release": {
    },
  • "assigned_to_user": {
    },
  • "features": [ ],
  • "goals": [ ],
  • "key_results": [ ],
  • "comments_count": 0,
  • "score_facts": [ ],
  • "tags": [ ],
  • "full_tags": [ ],
  • "custom_fields": [ ],
  • "workflow_status_times": [
    ],
  • "_links": [ ],
  • "master_feature_only_original_estimate": null,
  • "master_feature_only_remaining_estimate": null,
  • "master_feature_only_work_done": null,
  • "epic_only_original_estimate": null,
  • "epic_only_remaining_estimate": null,
  • "epic_only_work_done": null
}

Create a comment on a feature

Adds a new comment to the specified feature.

Authorizations:
BearerAuthOAuth2
path Parameters
feature_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List features in an epic

Returns a list of features associated with a specific epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string

Numeric ID or key of the epic

query Parameters
q
string

Search term to match against feature name

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only features updated after the timestamp will be returned

tag
string

String tag value. If provided, only features with the associated tag will be returned

assigned_to_user
string

ID or email address of a user. If provided, only features assigned to that user will be returned

Responses

Response samples

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

Releases

Release planning and management

List comments on a release

Retrieves a list of comments associated with the specified release.

Authorizations:
BearerAuthOAuth2
path Parameters
release_id
required
string

Responses

Response samples

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

List releases

Retrieves a list of all releases in the account.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer >= 1
Default: 1

Page number for pagination (starts at 1)

per_page
integer [ 1 .. 200 ]
Default: 30

Number of items per page (max 200)

fields
string

Comma-separated list of fields to include in response for customization

q
string

Search term to match against release name.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only releases updated after the timestamp will be returned.

assigned_to_user
string

ID or email address of a user. If provided, returns only releases assigned to that user.

status
string

Status filter for releases.

parking_lot
boolean

When true, returns only parking lot releases.

Responses

Response samples

Content type
application/json
{
  • "releases": [
    ],
  • "pagination": {
    }
}

List releases for a product

Retrieves a list of all releases for a specific product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

query Parameters
q
string

Search term to match against release name.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only releases updated after the timestamp will be returned.

status
string

Status filter for releases.

parking_lot
boolean

When true, returns only parking lot releases.

page
integer
Default: 1

Page number for pagination.

per_page
integer
Default: 20

Number of releases per page.

Responses

Response samples

Content type
application/json
{
  • "releases": [
    ],
  • "pagination": {
    }
}

Create a release

Creates a new release for the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

Request Body schema: application/json
required
name
required
string

Name of the release

theme
string

Theme or focus of the release

start_date
string <date>

Planned start date of the release

release_date
string <date>

Planned release date

external_release_date
string <date>

External release date visible to customers

parking_lot
boolean
Default: false

Whether this release is a parking lot

assigned_to_user_id
string

ID of the user assigned to the release

description
string

Description of the release

object

Custom field values for the release

tags
Array of strings

Tags to associate with the release

Responses

Request samples

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

Response samples

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

Get a release

Retrieves a specific release by its ID or reference number.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the release

Responses

Response samples

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

Update a release

Updates a specific release by its ID or reference number.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the release

Request Body schema: application/json
required
name
string

Name of the release

theme
string

Theme or focus of the release

start_date
string <date>

Planned start date of the release

release_date
string <date>

Planned release date

external_release_date
string <date>

External release date visible to customers

development_started_on
string <date>

Date when development started

released_on
string <date>

Actual release date

parking_lot
boolean

Whether this release is a parking lot

assigned_to_user_id
string

ID of the user assigned to the release

description
string

Description of the release

object

Custom field values for the release

tags
Array of strings

Tags to associate with the release

Responses

Request samples

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

Response samples

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

Delete a release

Deletes a specific release by its ID or reference number.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the release

Responses

Comments

Comments and discussions on various resources

Create a comment on a feature

Adds a new comment to the specified feature.

Authorizations:
BearerAuthOAuth2
path Parameters
feature_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List comments on an epic

Retrieves a list of comments associated with the specified epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string

Responses

Response samples

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

Create a comment on an epic

Adds a new comment to the specified epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List comments on a requirement

Retrieves a list of comments associated with the specified requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
requirement_id
required
string

Responses

Response samples

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

Create a comment on a requirement

Adds a new comment to the specified requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
requirement_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List comments on an idea

Retrieves a list of comments associated with the specified idea.

Authorizations:
BearerAuthOAuth2
path Parameters
idea_id
required
string

Responses

Response samples

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

Create a comment on an idea

Adds a new comment to the specified idea.

Authorizations:
BearerAuthOAuth2
path Parameters
idea_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List comments on an initiative

Retrieves a list of comments associated with the specified initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string

Responses

Response samples

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

Create a comment on an initiative

Adds a new comment to the specified initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List comments on a goal

Retrieves a list of comments associated with the specified goal.

Authorizations:
BearerAuthOAuth2
path Parameters
goal_id
required
string

Responses

Response samples

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

List comments on a release

Retrieves a list of comments associated with the specified release.

Authorizations:
BearerAuthOAuth2
path Parameters
release_id
required
string

Responses

Response samples

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

List comments on a release phase

Retrieves a list of comments associated with the specified release phase.

Authorizations:
BearerAuthOAuth2
path Parameters
release_phase_id
required
string

Responses

Response samples

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

List comments on a to-do

Retrieves a list of comments associated with the specified to-do.

Authorizations:
BearerAuthOAuth2
path Parameters
todo_id
required
string

Responses

Response samples

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

List comments in a product

Retrieves a list of comments associated with the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Responses

Response samples

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

Epics

Epic management and feature grouping

List comments on an epic

Retrieves a list of comments associated with the specified epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string

Responses

Response samples

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

Create a comment on an epic

Adds a new comment to the specified epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List epics

Retrieves a list of epics with optional filtering by search term, updated date, tags, and assignee.

Authorizations:
BearerAuthOAuth2
query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

Create an epic in a product

Creates a new epic in the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product the epic should be created in

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "epic": {
    }
}

Response samples

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

List epics in a product

Retrieves a list of epics associated with the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

Create an epic in a release

Creates a new epic in the specified release.

Authorizations:
BearerAuthOAuth2
path Parameters
release_id
required
string

Numeric ID or key of the release the epic should be created in

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "epic": {
    }
}

Response samples

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

List epics in a release

Retrieves a list of epics associated with the specified release.

Authorizations:
BearerAuthOAuth2
path Parameters
release_id
required
string

Numeric ID or key of the release

query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

Get a specific epic

Retrieves details of a specific epic by its ID.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string

Numeric ID or key of the epic

Responses

Response samples

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

Update an epic

Updates the details of the specified epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string

Numeric ID or key of the epic

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "epic": {
    }
}

Response samples

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

Delete an epic

Deletes the specified epic.

Authorizations:
BearerAuthOAuth2
path Parameters
epic_id
required
string

Numeric ID or key of the epic

Responses

Response samples

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

List epics associated with a goal

Retrieves a list of epics associated with the specified goal.

Authorizations:
BearerAuthOAuth2
path Parameters
goal_id
required
string

Numeric ID or key of the goal

query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

List epics associated with an initiative

Retrieves a list of epics associated with the specified initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string

Numeric ID or key of the initiative

query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

Requirements

Requirements and specification management

List comments on a requirement

Retrieves a list of comments associated with the specified requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
requirement_id
required
string

Responses

Response samples

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

Create a comment on a requirement

Adds a new comment to the specified requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
requirement_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

Get a specific requirement

Retrieves details of a specific requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the requirement

Responses

Response samples

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

Update a requirement

Updates the specified requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the requirement

Request Body schema: application/json
required
required
object

Responses

Request samples

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

Response samples

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

Delete a requirement

Deletes the specified requirement.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the requirement

Responses

Ideas

Idea management and innovation tracking

List comments on an idea

Retrieves a list of comments associated with the specified idea.

Authorizations:
BearerAuthOAuth2
path Parameters
idea_id
required
string

Responses

Response samples

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

Create a comment on an idea

Adds a new comment to the specified idea.

Authorizations:
BearerAuthOAuth2
path Parameters
idea_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List ideas

Retrieves a list of all ideas in the account.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer >= 1
Default: 1

Page number for pagination (starts at 1)

per_page
integer [ 1 .. 200 ]
Default: 30

Number of items per page (max 200)

fields
string

Comma-separated list of fields to include in response for customization

q
string

Search term to match against idea name.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only ideas updated after the timestamp will be returned.

assigned_to_user
string

ID or email address of a user. If provided, returns only ideas assigned to that user.

status
string

Status filter for ideas.

category
string

Filter ideas by category.

product_id
string

Filter ideas by product ID.

idea_portal_id
string

Filter ideas by idea portal ID.

spam
boolean

When true, shows ideas that have been marked as spam. By default, no spam ideas will be shown.

workflow_status
string

When present, filters to ideas with the provided workflow status ID or name.

sort
string
Enum: "recent" "trending" "popular"

Sorting of the list of ideas. Accepted values are recent, trending, or popular.

created_before
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only ideas created before the timestamp will be returned.

created_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only ideas created after the timestamp will be returned.

tag
string

String tag value. If provided, only ideas with the associated tag will be returned.

user_id
string

ID of a user. If provided, only ideas created by that user will be returned.

idea_user_id
string

ID of an idea user. If provided, only ideas created by that idea user will be returned.

Responses

Response samples

Content type
application/json
{
  • "ideas": [
    ],
  • "pagination": {
    }
}

Create an idea

Creates a new idea for the specified product.

When creating an idea where the creator is an idea user we strongly suggest to provide the submitted_idea_portal_id attribute to the idea to ensure that the idea is created in the correct ideas portal and the user gets access to the portal.

If you don't want the idea to be submitted to any portal, you can skip this by setting skip_portal: true in the request body.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

List ideas for a product

Retrieves a list of ideas for the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

query Parameters
q
string

Search term to match against the idea name

spam
boolean

When true, shows ideas that have been marked as spam. By default, no spam ideas will be shown.

workflow_status
string

When present, filters to ideas with the provided workflow status ID or name.

sort
string
Enum: "recent" "trending" "popular"

Sorting of the list of ideas. Accepted values are recent, trending, or popular.

created_before
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only ideas created before the timestamp will be returned.

created_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only ideas created after the timestamp will be returned.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only ideas updated or created after the timestamp will be returned.

tag
string

String tag value. If provided, only ideas with the associated tag will be returned.

user_id
string

ID of a user. If provided, only ideas created by that user will be returned.

idea_user_id
string

ID of an idea user. If provided, only ideas created by that idea user will be returned.

Responses

Response samples

Content type
application/json
{
  • "ideas": [
    ],
  • "pagination": {
    }
}

Create an idea created by a ideas portal user

Creates a new idea for the specified product, where the creator is an ideas portal user.

When creating an idea where the creator is an idea user we strongly suggest to provide the submitted_idea_portal_id attribute to the idea to ensure that the idea is created in the correct ideas portal and the user gets access to the portal.

If you don't want the idea to be submitted to any portal, you can skip this by setting skip_portal: true in the request body.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Create an idea with a category

Creates a new idea for the specified product with a category.

When creating an idea where the creator is an idea user we strongly suggest to provide the submitted_idea_portal_id attribute to the idea to ensure that the idea is created in the correct ideas portal and the user gets access to the portal.

If you don't want the idea to be submitted to any portal, you can skip this by setting skip_portal: true in the request body.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Create an idea with a score

Creates a new idea for the specified product with a score.

When creating an idea where the creator is an idea user we strongly suggest to provide the submitted_idea_portal_id attribute to the idea to ensure that the idea is created in the correct ideas portal and the user gets access to the portal.

If you don't want the idea to be submitted to any portal, you can skip this by setting skip_portal: true in the request body.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Get a specific idea

Retrieves the details of a specific idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Responses

Response samples

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

Update an idea

Updates the details of a specific idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Request Body schema: application/json
required
name
string

Name of the idea

description
string

Description of the idea

workflow_status_id
string

ID of the workflow status

assigned_to_user_id
string

ID of the user to assign the idea to

visibility
string
Enum: "Visible to all ideas portal users" "Visible to administrators only" "Hidden"

Visibility setting for the idea

admin_response
string

Administrator response to the idea

tags
Array of strings

Tags to associate with the idea

categories
Array of strings

Categories for the idea

object

Custom field values for the idea

watchers
Array of strings

User IDs to watch this idea

Array of objects

Score facts for the idea

Responses

Request samples

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

Response samples

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

Delete an idea

Deletes the specified idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Responses

Promote an idea

Promotes an idea to a feature, epic, or initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Request Body schema: application/json
required
promote_to
required
string
Enum: "feature" "epic" "initiative"

Type of record to promote the idea to

assignee_id
string

ID of the user to assign the promoted record to

release_id
string

ID of the release to associate with the promoted record (for features)

epic_id
string

ID of the epic to associate with the promoted record (for features)

initiative_id
string

ID of the initiative to associate with the promoted record

copy_tags
boolean
Default: true

Whether to copy tags from the idea to the promoted record

copy_custom_fields
boolean
Default: true

Whether to copy custom fields from the idea to the promoted record

copy_description
boolean
Default: true

Whether to copy the description from the idea to the promoted record

copy_attachments
boolean
Default: true

Whether to copy attachments from the idea to the promoted record

Responses

Request samples

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

Response samples

Content type
application/json
{}

Vote on an idea

Adds a vote to an idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Request Body schema: application/json
required
vote_type
required
string
Enum: "up" "down"

Type of vote

proxy_user_id
string

ID of the proxy user (if voting on behalf of someone else)

proxy_user_name
string

Name of the proxy user (if voting on behalf of someone else)

proxy_user_email
string <email>

Email of the proxy user (if voting on behalf of someone else)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "vote": {
    },
  • "idea": {
    }
}

Get votes for an idea

Retrieves all votes for a specific idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

query Parameters
page
integer
Default: 1

Page number for pagination

per_page
integer
Default: 20

Number of votes per page

Responses

Response samples

Content type
application/json
{
  • "votes": [
    ],
  • "pagination": {
    }
}

Create an endorsement (proxy vote)

Creates an endorsement (proxy vote) on an idea on behalf of another user.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Request Body schema: application/json
required
email
required
string <email>

Email address of the portal user on whose behalf the endorsement is being created

idea_organization_id
string

Numeric ID of the organization associated with the endorsement

value
number

Dollar value representing the importance/weight of the endorsement

link
string <uri>

Optional URL associated with the endorsement (e.g., feedback source)

description
string

Optional description of the endorsement (HTML supported)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "endorsement": {
    },
  • "idea": {
    }
}

Get endorsements for an idea

Retrieves all endorsements for a specific idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

query Parameters
proxy
boolean

If set to true, only returns proxy votes (votes with an associated organization)

page
integer
Default: 1

Page number for pagination

per_page
integer
Default: 20

Number of endorsements per page

Responses

Response samples

Content type
application/json
{
  • "endorsements": [
    ],
  • "pagination": {
    }
}

Mark idea as spam

Marks an idea as spam.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Responses

Response samples

Content type
application/json
{}

Unmark idea as spam

Removes the spam flag from an idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Responses

Response samples

Content type
application/json
{}

Update idea watchers

Updates the watchers for an idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Request Body schema: application/json
required
required
Array of objects

List of watchers for the idea

Responses

Request samples

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

Response samples

Content type
application/json
{}

Get idea watchers

Retrieves the watchers for an idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Responses

Response samples

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

Initiatives

Strategic initiatives and high-level planning

List comments on an initiative

Retrieves a list of comments associated with the specified initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string

Responses

Response samples

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

Create a comment on an initiative

Adds a new comment to the specified initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string
Request Body schema: application/json
required
body
required
string

Responses

Request samples

Content type
application/json
{
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

List epics associated with an initiative

Retrieves a list of epics associated with the specified initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
initiative_id
required
string

Numeric ID or key of the initiative

query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

List initiatives

Retrieves a list of all initiatives in the account.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer >= 1
Default: 1

Page number for pagination (starts at 1)

per_page
integer [ 1 .. 200 ]
Default: 30

Number of items per page (max 200)

fields
string

Comma-separated list of fields to include in response for customization

q
string

Search term to match against initiative name.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only initiatives updated after the timestamp will be returned.

assigned_to_user
string

ID or email address of a user. If provided, returns only initiatives assigned to that user.

only_active
boolean

When true, returns only active initiatives.

Responses

Response samples

Content type
application/json
{
  • "initiatives": [
    ],
  • "pagination": {
    }
}

Create an initiative

Creates a new initiative for the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Numeric ID or key of the product

Request Body schema: application/json
required
object

Responses

Request samples

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

Response samples

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

Get a specific initiative

Retrieves the details of a specific initiative.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the initiative

Responses

Response samples

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

Goals

Goal setting and OKR management

List comments on a goal

Retrieves a list of comments associated with the specified goal.

Authorizations:
BearerAuthOAuth2
path Parameters
goal_id
required
string

Responses

Response samples

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

List epics associated with a goal

Retrieves a list of epics associated with the specified goal.

Authorizations:
BearerAuthOAuth2
path Parameters
goal_id
required
string

Numeric ID or key of the goal

query Parameters
q
string

Search term to match against epic name

updated_since
string <date-time>

UTC timestamp for filtering recently updated epics

tag
string

String tag to filter epics

assigned_to_user
string

User ID or email to filter by assignee

Responses

Response samples

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

List goals

Retrieves a list of all goals in the account.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer >= 1
Default: 1

Page number for pagination (starts at 1)

per_page
integer [ 1 .. 200 ]
Default: 30

Number of items per page (max 200)

fields
string

Comma-separated list of fields to include in response for customization

q
string

Search term to match against goal name.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only goals updated after the timestamp will be returned.

assigned_to_user
string

ID or email address of a user. If provided, returns only goals assigned to that user.

status
string

Status filter for goals.

start_date_after
string <date>

Filter goals with start date after this date.

end_date_before
string <date>

Filter goals with end date before this date.

progress_min
number [ 0 .. 100 ]

Filter goals with progress greater than or equal to this value.

progress_max
number [ 0 .. 100 ]

Filter goals with progress less than or equal to this value.

Responses

Response samples

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

Create a goal

Creates a new goal in the account.

Authorizations:
BearerAuthOAuth2
Request Body schema: application/json
required
name
required
string

Name of the goal

description
string

Description of the goal

start_date
string <date>

Start date of the goal

end_date
string <date>

End date of the goal

progress
number [ 0 .. 100 ]

Initial progress percentage

progress_source
string
Enum: "progress_manual" "progress_rollup"

Source for calculating progress

assigned_to_user_id
string

ID of the user assigned to the goal

workflow_status_id
string

ID of the workflow status

Array of objects

Key results to create with the goal

initiative_ids
Array of strings

IDs of initiatives to associate with the goal

feature_ids
Array of strings

IDs of features to associate with the goal

release_ids
Array of strings

IDs of releases to associate with the goal

object

Custom field values for the goal

tags
Array of strings

Tags to associate with the goal

Responses

Request samples

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

Response samples

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

Get a goal

Retrieves a specific goal by its ID or reference number.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the goal

Responses

Response samples

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

Update a goal

Updates a specific goal by its ID or reference number.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the goal

Request Body schema: application/json
required
name
string

Name of the goal

description
string

Description of the goal

start_date
string <date>

Start date of the goal

end_date
string <date>

End date of the goal

progress
number [ 0 .. 100 ]

Progress percentage towards goal completion

progress_source
string
Enum: "progress_manual" "progress_rollup"

Source for calculating progress

assigned_to_user_id
string

ID of the user assigned to the goal

workflow_status_id
string

ID of the workflow status

Array of objects

Key results to update for the goal

initiative_ids
Array of strings

IDs of initiatives to associate with the goal

feature_ids
Array of strings

IDs of features to associate with the goal

release_ids
Array of strings

IDs of releases to associate with the goal

object

Custom field values for the goal

tags
Array of strings

Tags to associate with the goal

Responses

Request samples

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

Response samples

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

Delete a goal

Deletes a specific goal by its ID or reference number.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the goal

Responses

Update goal progress

Updates the progress of a specific goal and its key results.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or reference number of the goal

Request Body schema: application/json
required
progress
number [ 0 .. 100 ]

Progress percentage towards goal completion

progress_source
string
Enum: "progress_manual" "progress_rollup"

Source for calculating progress

Array of objects

Key results progress updates

notes
string

Notes about the progress update

Responses

Request samples

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

Response samples

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

Strategic Models

Strategic planning and modeling

List strategic models

Retrieves a list of all strategic models in the account.

Authorizations:
BearerAuthOAuth2
query Parameters
q
string

Search term to match against strategic model name.

type
string
Enum: "swot" "porter_five_forces" "ansoff_matrix" "value_proposition_canvas" "business_model_canvas" "lean_canvas" "custom"

Filter by strategic model type.

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only strategic models updated after the timestamp will be returned.

page
integer
Default: 1

Page number for pagination.

per_page
integer
Default: 20

Number of strategic models per page.

Responses

Response samples

Content type
application/json
{
  • "strategic_models": [
    ],
  • "pagination": {
    }
}

Create a strategic model

Creates a new strategic model in the account.

Authorizations:
BearerAuthOAuth2
Request Body schema: application/json
required
name
required
string

Name of the strategic model

description
string

Description of the strategic model

type
required
string
Enum: "swot" "porter_five_forces" "ansoff_matrix" "value_proposition_canvas" "business_model_canvas" "lean_canvas" "custom"

Type of strategic model

data
object

Strategic model data structure (varies by type)

tags
Array of strings

Tags to associate with the strategic model

Responses

Request samples

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

Response samples

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

Get a strategic model

Retrieves a specific strategic model by its ID.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the strategic model

Responses

Response samples

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

Update a strategic model

Updates a specific strategic model by its ID.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the strategic model

Request Body schema: application/json
required
name
string

Name of the strategic model

description
string

Description of the strategic model

data
object

Strategic model data structure (varies by type)

tags
Array of strings

Tags to associate with the strategic model

Responses

Request samples

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

Response samples

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

Delete a strategic model

Deletes a specific strategic model by its ID.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the strategic model

Responses

Release Phases

Release phase and milestone management

List comments on a release phase

Retrieves a list of comments associated with the specified release phase.

Authorizations:
BearerAuthOAuth2
path Parameters
release_phase_id
required
string

Responses

Response samples

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

List release phases in the account

Retrieves a list of release phases in the account.

Authorizations:
BearerAuthOAuth2

Responses

Response samples

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

Create a release phase

Creates a new release phase.

Authorizations:
BearerAuthOAuth2
Request Body schema: application/json
required
required
object

Responses

Request samples

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

Response samples

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

Get a specific release phase

Retrieves details of a specific release phase.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the release phase

Responses

Response samples

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

Update a release phase

Updates the specified release phase.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the release phase

Request Body schema: application/json
required
required
object

Responses

Request samples

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

Response samples

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

Delete a release phase

Deletes the specified release phase.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the release phase

Responses

Todos

Task and todo management

Products

Product catalog and configuration

List comments in a product

Retrieves a list of comments associated with the specified product.

Authorizations:
BearerAuthOAuth2
path Parameters
product_id
required
string

Responses

Response samples

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

List products in the account

Retrieves a list of all products in the account.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer >= 1
Default: 1

Page number for pagination (starts at 1)

per_page
integer [ 1 .. 200 ]
Default: 30

Number of items per page (max 200)

fields
string

Comma-separated list of fields to include in response for customization

updated_since
string <date-time>

UTC timestamp (in ISO8601 format). If provided, only products updated after the timestamp will be returned.

Responses

Response samples

Content type
application/json
{
  • "products": [
    ],
  • "pagination": {
    }
}

Get a specific product

Retrieves the details of a specific product.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the product

Responses

Response samples

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

Me

Current user profile and settings

Get current user profile

Retrieves profile information for the currently authenticated user.

Authorizations:
BearerAuthOAuth2

Responses

Response samples

Content type
application/json
{}

Get records assigned to current user

Retrieves a list of records currently assigned to the authenticated user.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer
Default: 1

Page number for pagination

per_page
integer
Default: 20

Number of records per page

type
string
Enum: "feature" "epic" "requirement" "idea" "initiative" "goal" "release" "todo"

Filter records by type

Responses

Response samples

Content type
application/json
{
  • "records": [
    ],
  • "pagination": {
    }
}

Get pending tasks assigned to current user

Retrieves a list of pending tasks currently assigned to the authenticated user.

Authorizations:
BearerAuthOAuth2
query Parameters
page
integer
Default: 1

Page number for pagination

per_page
integer
Default: 20

Number of tasks per page

due_date_start
string <date>

Filter tasks due on or after this date

due_date_end
string <date>

Filter tasks due on or before this date

priority
string
Enum: "low" "medium" "high" "urgent"

Filter tasks by priority level

Responses

Response samples

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

Idea Organizations

Idea organization and categorization

List idea organizations

Retrieves a list of idea organizations with optional filtering.

Authorizations:
BearerAuthOAuth2
query Parameters
q
string

Search term to match against organization name

email_domain
string

Returns organizations with matching email domain

page
integer
Default: 1

Page number for pagination

per_page
integer
Default: 20

Number of organizations per page

Responses

Response samples

Content type
application/json
{}

Create an idea organization

Creates a new idea organization.

Authorizations:
BearerAuthOAuth2
Request Body schema: application/json
required
name
required
string

Name of the idea organization

email_domains
Array of strings

Email domains associated with the organization

revenue
number

Revenue value for the organization

object

Custom fields for the organization

Responses

Request samples

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

Response samples

Content type
application/json
{}

Get an idea organization

Retrieves a specific idea organization by ID.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the idea organization

Responses

Response samples

Content type
application/json
{}

Update an idea organization

Updates an existing idea organization.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the idea organization

Request Body schema: application/json
required
name
string

Name of the idea organization

email_domains
Array of strings

Email domains associated with the organization

revenue
number

Revenue value for the organization

object

Custom fields for the organization

Responses

Request samples

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

Response samples

Content type
application/json
{}

Delete an idea organization

Deletes an idea organization.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the idea organization

query Parameters
delete_proxy_votes
boolean
Default: false

Delete the organization even if it has proxy votes

Responses

/features/{id}/custom_fields/tag

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the feature

To-Dos

List comments on a to-do

Retrieves a list of comments associated with the specified to-do.

Authorizations:
BearerAuthOAuth2
path Parameters
todo_id
required
string

Responses

Response samples

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

List to-dos

Retrieves a list of all to-dos.

Authorizations:
BearerAuthOAuth2

Responses

Response samples

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

Create a to-do

Creates a new to-do.

Authorizations:
BearerAuthOAuth2
Request Body schema: application/json
required
required
object

Responses

Request samples

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

Response samples

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

Get a specific to-do

Retrieves details of a specific to-do.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the to-do

Responses

Response samples

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

Update a to-do

Updates the specified to-do.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the to-do

Request Body schema: application/json
required
required
object

Responses

Request samples

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

Response samples

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

Delete a to-do

Deletes the specified to-do.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID of the to-do

Responses

IdeaVotes

Create an endorsement (proxy vote)

Creates an endorsement (proxy vote) on an idea on behalf of another user.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

Request Body schema: application/json
required
email
required
string <email>

Email address of the portal user on whose behalf the endorsement is being created

idea_organization_id
string

Numeric ID of the organization associated with the endorsement

value
number

Dollar value representing the importance/weight of the endorsement

link
string <uri>

Optional URL associated with the endorsement (e.g., feedback source)

description
string

Optional description of the endorsement (HTML supported)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "endorsement": {
    },
  • "idea": {
    }
}

Get endorsements for an idea

Retrieves all endorsements for a specific idea.

Authorizations:
BearerAuthOAuth2
path Parameters
id
required
string

Numeric ID or key of the idea

query Parameters
proxy
boolean

If set to true, only returns proxy votes (votes with an associated organization)

page
integer
Default: 1

Page number for pagination

per_page
integer
Default: 20

Number of endorsements per page

Responses

Response samples

Content type
application/json
{
  • "endorsements": [
    ],
  • "pagination": {
    }
}