Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/mavenlink-story-dependencies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.0.0
title: Kantata OX API Documentation Story Dependencies API
description: Kantata OX's API provides access to the majority of Kantata OX's data model.
termsOfService: https://www.kantata.com/terms-of-use
contact:
name: Kantata OX Support
url: https://knowledge.kantata.com/hc/en-us
license:
name: COPYRIGHT © 2026 Kantata, Inc.
url: https://www.kantata.com/terms-of-use
x-logo:
url: https://theme.zdassets.com/theme_assets/56104/04e93064d309f75d054b8cee885d1ea51e9be8f7.png
backgroundColor: '#FFFFFF'
altText: Kantata OX API Documentation
href: https://developer.kantata.com
servers:
- url: https://api.mavenlink.com/api/v1
tags:
- name: Story Dependencies
description: Story dependencies define relationships between tasks and the sequence in which they must be completed in order to close a project.
paths:
/story_dependencies:
get:
summary: Fetching a list of Story Dependencies
description: 'This endpoint returns structured Story Dependency objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array
and will be indexed by ID in the `story_dependencies` top-level JSON key.
Please see our Response Format section for more information.'
operationId: Get Story Dependencies
tags:
- Story Dependencies
parameters:
- in: query
name: created_after
description: Filter for records created after a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
schema:
type: string
format: date-time
- in: query
name: created_before
description: Filter for records created before a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
schema:
type: string
format: date-time
- in: query
name: include
description: 'Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.
- `source` (Story) - The tasks that are predecessor tasks.
- `target` (Story) - The tasks that are successor tasks.'
schema:
type: string
- in: query
name: only
description: 'Allows you to request one or more resources directly by ID. Multiple IDs can be supplied
in a comma separated list, like `GET /api/v1/workspaces.json?only=5,6,7`.'
schema:
type: string
- in: query
name: order
description: 'Supply `order` with the name of a valid sort field for the endpoint and a direction.
Valid values: `updated_at:asc` and `updated_at:desc`.'
schema:
type: string
default: updated_at:desc
- in: query
name: page
schema:
type: integer
format: int32
default: 1
- in: query
name: per_page
schema:
type: integer
format: int32
default: 20
maximum: 200
- in: query
name: show_archived
description: If set to `true`, includes in the response dependencies where the target is an archived task.
schema:
type: boolean
default: false
- in: query
name: show_deleted
description: If set to `true`, includes in the response dependencies where the target is an deleted task.
schema:
type: boolean
default: false
- in: query
name: show_from_archived_workspaces
description: If set to `true`, includes in the response dependencies where the tasks belong to archived projects.
schema:
type: boolean
default: false
- in: query
name: source_id
description: Filter for dependencies where this task is the predecessor, i.e. the task that controls the start or end date for all related successor tasks.
schema:
type: integer
format: int32
- in: query
name: target_id
description: Filter for dependencies where this task is the successor, i.e. the task whose start or end date is controlled by a predecessor.
schema:
type: integer
format: int32
- in: query
name: updated_after
description: Filter for records updated after a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
schema:
type: string
format: date-time
- in: query
name: updated_before
description: Filter for records updated before a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
schema:
type: string
format: date-time
- in: query
name: workspace_id
description: Filter for dependencies where the tasks belong to a specific project.
schema:
type: integer
format: int32
responses:
'200':
description: A list of Story Dependencies have been retrieved.
content:
application/json:
schema:
type: object
properties:
count:
type: integer
format: int32
meta:
type: object
properties:
count:
type: integer
format: int32
page_count:
type: integer
format: int32
page_number:
type: integer
format: int32
page_size:
type: integer
format: int32
results:
type: array
items:
type: object
properties:
key:
type: string
id:
type: string
story_dependencies:
type: object
additionalProperties:
$ref: '#/components/schemas/StoryDependency'
stories:
type: object
additionalProperties:
$ref: '#/components/schemas/Story'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'403':
description: Forbidden request
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'404':
description: Page Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'503':
description: Service is unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
/story_dependencies/{id}:
get:
summary: Fetching a single Story Dependency
description: 'This endpoint returns structured Story Dependency objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array
and will be indexed by ID in the `story_dependencies` top-level JSON key.
Please see our Response Format section for more information.'
operationId: Get Story Dependency
tags:
- Story Dependencies
parameters:
- in: path
name: id
required: true
description: The ID of the Model.
schema:
type: integer
- in: query
name: include
description: 'Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.
- `source` (Story) - The tasks that are predecessor tasks.
- `target` (Story) - The tasks that are successor tasks.'
schema:
type: string
responses:
'200':
description: The Story Dependency has been retrieved.
content:
application/json:
schema:
type: object
properties:
count:
type: integer
format: int32
meta:
type: object
properties:
count:
type: integer
format: int32
page_count:
type: integer
format: int32
page_number:
type: integer
format: int32
page_size:
type: integer
format: int32
results:
type: array
items:
type: object
properties:
key:
type: string
id:
type: string
story_dependencies:
type: object
additionalProperties:
$ref: '#/components/schemas/StoryDependency'
stories:
type: object
additionalProperties:
$ref: '#/components/schemas/Story'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'403':
description: Forbidden request
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'404':
description: Page Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'503':
description: Service is unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
components:
schemas:
StoryDependency:
title: Story Dependency
description: Story dependencies define relationships between tasks and the sequence in which they must be completed in order to close a project. A dependency is between two tasks (stories) in a project (workspace), with one being the predecessor (source) task, and the other the successor (target) task. To learn more about dependencies, see our [Gantt Chart Dependencies article](https://mavenlink.zendesk.com/hc/en-us/articles/360000456874-Gantt-Chart-Dependencies).
type: object
properties:
created_at:
type: string
format: date-time
dependency_type:
type: integer
format: int32
description: 'The type of the dependency.
- `0`: Start to Start (SS)—The predecessor begins before the successor can begin.
- `1`: Start to Finish (SF)—The predecessor begins before the successor can end.
- `2`: Finish to Start (FS)—The predecessor ends before the successor can begin.
- `3`: Finish to Finish (FF)—The predecessor ends before the successor can end.'
lag:
type: integer
format: int32
description: The days between the predecessor task ending and the successor task beginning.
source_id:
type: string
description: '`source_id` will only be included in the response if `source` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
target_id:
type: string
description: '`target_id` will only be included in the response if `target` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
updated_at:
type: string
format: date-time
Story:
title: Story
description: 'Stories (known as [tasks](https://knowledge.kantata.com/hc/en-us/articles/202806550-Tasks-Overview) in the UI)
are the tasks, deliverables, issues, and milestones required to complete a project.
Stories belong to [Workspaces](/tag/Workspaces), appear in the
[Local Task Tracker](https://knowledge.kantata.com/hc/en-us/articles/202490134-Project-Task-Tracker) and the
[Global Tasks Tracker](https://knowledge.kantata.com/hc/en-us/articles/216424897-Global-Tasks-Tracker),
can be linked to [Posts](/tag/Posts), can have substories (subtasks) and
[Story Tasks](https://developer.kantata.com/tag/Story-Tasks) (checklists), and have many attributes for
planning, organization, and financials.'
type: object
properties:
ancestor_ids:
type: array
items:
type: string
description: The IDs of all the ancestor (i.e. parent) tasks of the task. This is empty for a top-level task.
ancestry_depth:
type: integer
format: int32
description: The number of levels a subtask is nested below the top-level task. Possible values are between `0` (i.e. a top-level task) and `4`.
archived:
type: boolean
description: Whether the task is archived.
archived_editable:
type: boolean
description: 'For archived tasks, whether the authenticated user can edit the task.
Only returned when requested through the optional_fields param.'
assigned_role_id:
type: string
description: '`assigned_role_id` will only be included in the response if `assigned_role` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
assignee_ids:
type: array
items:
type: string
description: '`assignee_ids` will only be included in the response if `assignees` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
assignment_timestamped_at:
type: string
format: date-time
attachment_ids:
type: array
items:
type: string
description: '`attachment_ids` will only be included in the response if `attachments` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
billable:
type: boolean
description: Whether the task is billable.
budget_estimate_in_cents:
type: integer
format: int32
description: 'The task budget, in the subunits of the currency (e.g. cents for USD).
Visible when the API user can view story budgets in the story''s workspace.'
budget_used_in_cents:
type: integer
format: int32
description: 'How much of the task budget has been used, in the subunits of the currency (e.g. cents for USD).
Visible when the API user can view story budgets in the story''s workspace.'
can_align_time:
type: boolean
description: 'Whether [Daily Scheduled Hours](/tag/Daily-Scheduled-Hours-(Story-Allocation-Days)) (i.e. Story Allocation Days) that are out of sync with the task start or due date can be realigned to the task start date.
Only returned when requested through the optional_fields param.'
can_edit:
type: boolean
description: 'Whether the authenticated user can edit the task. For archived tasks, refer to `archived_editable` instead.
Only returned when requested through the optional_fields param.'
can_post:
type: boolean
description: 'Whether the authenticated user can create posts in the project the task is in.
Only returned when requested through the optional_fields param.'
created_at:
type: string
format: date-time
creator_id:
type: string
description: '`creator_id` will only be included in the response if `creator` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
current_assignment_ids:
type: array
items:
type: string
description: '`current_assignment_ids` will only be included in the response if `current_assignments` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
custom_field_value_ids:
type: array
items:
type: string
description: '`custom_field_value_ids` will only be included in the response if `custom_field_values` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
custom_task_status_id:
type: integer
format: int32
description: 'The ID of the task''s custom status. If the workspace is not using a custom task status set, this is `null`.
Only returned when requested through the optional_fields param.'
deleted_at:
type: string
format: date-time
descendant_ids:
type: array
items:
type: string
description: '`descendant_ids` will only be included in the response if `descendants` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
description:
type: string
description: The task description. Markdown syntax is included.
due_date:
type: string
format: date
description: When the task is due.
external_reference_ids:
type: array
items:
type: string
description: '`external_reference_ids` will only be included in the response if `external_references` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
fixed_fee:
type: boolean
description: Whether the task is fixed fee (`true`) or time and materials (`false`).
follower_ids:
type: array
items:
type: string
description: '`follower_ids` will only be included in the response if `followers` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
formatted_description:
type: string
description: 'The task description with special formatting, like emoji and @-mentions.
Only returned when requested through the optional_fields param.'
google_document_ids:
type: array
items:
type: string
description: '`google_document_ids` will only be included in the response if `google_documents` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
has_out_of_bounds_sads:
type: boolean
description: 'Whether the task has any [Daily Scheduled Hours](/tag/Daily-Scheduled-Hours-(Story-Allocation-Days)) (i.e. Story Allocation Days) before its start date or after its due date.
Only returned when requested through the optional_fields param.'
invoiced_balance_in_cents:
type: integer
format: int32
description: 'How much has been invoiced for the task, in the subunits of the currency (e.g. cents for USD).
Visible when the API user can view story budgets in the story''s workspace.'
is_time_trackable_type:
type: boolean
description: 'Whether the task can have time and expenses tracked against it, as set in account settings.
Only returned when requested through the optional_fields param.'
logged_billable_time_in_minutes:
type: integer
format: int32
description: 'How much billable time has been tracked against the task, in minutes.
Visible when the API user can view story time estimates in the story''s workspace.'
logged_nonbillable_time_in_minutes:
type: integer
format: int32
description: 'How much non-billable time has been tracked against the task, in minutes.
Visible when the API user can view story time estimates in the story''s workspace.'
parent_id:
type: string
description: '`parent_id` will only be included in the response if `parent` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
parsed_description:
type: string
description: 'The task description. Markdown syntax is not included.
Only returned when requested through the optional_fields param.'
percentage_complete:
type: integer
format: int32
description: The percentage of work done on the task.
position:
type: integer
format: int32
description: Represents the task's position in the Task Tracker. This is not the same as the WBS (Work Breakdown Structure) number shown in the UI.
potential_workspace_resource_ids:
type: array
items:
type: string
description: '`potential_workspace_resource_ids` will only be included in the response if `potential_workspace_resources` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
potential_workspace_resources_with_unnamed_ids:
type: array
items:
type: string
description: '`potential_workspace_resources_with_unnamed_ids` will only be included in the response if `potential_workspace_resources_with_unnamed` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
priority:
type: integer
format: int32
description: The priority of the task. Possible values are `critical`, `high`, `normal`, `low`.
project_plan:
type: boolean
description: Whether the story is a project task (`true`) or is a To Do (`false`).
read_only:
type: boolean
description: 'Whether the authenticated user can only view the task and cannot edit it.
Only returned when requested through the optional_fields param.'
render_description_markdown:
type: boolean
description: 'Whether the account the task is in is set to render Markdown in task descriptions as formatted and styled text.
Only returned when requested through the optional_fields param.'
reply_ids:
type: array
items:
type: string
description: '`reply_ids` will only be included in the response if `replies` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
root_id:
type: string
description: '`root_id` will only be included in the response if `root` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
source_dependency_ids:
type: array
items:
type: string
description: '`source_dependency_ids` will only be included in the response if `source_dependencies` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
start_date:
type: string
format: date
description: When the task starts.
state:
type: string
description: 'The status type of the story. Possible values are `not started`, `started`, `needs info`, or `completed`. If task status sets are not activated on the account, the following values are also possible: `new`, `reopened`, `in progress`, `blocked`, `fixed`, `duplicate`, `can''t reproduce`, `resolved`, or `won''t fix`. The actual task status is returned in the `status` field.'
status:
type: string
description: The status of the story.
story_state_change_ids:
type: array
items:
type: string
description: '`story_state_change_ids` will only be included in the response if `story_state_changes` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
story_task_ids:
type: array
items:
type: string
description: '`story_task_ids` will only be included in the response if `story_tasks` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
story_type:
type: string
description: The task's type. Possible values are `task`, `deliverable `, `milestone`, and `issue`.
sub_stories_billable_time_in_minutes:
type: integer
format: int32
description: 'How much billable time has been tracked against the task''s descendants, in minutes.
Visible when the API user can view story time estimates in the story''s workspace.'
sub_stories_budget_estimate_in_cents:
type: integer
format: int32
description: 'The budget of the task''s descendants, in the subunits of the currency (e.g. cents for USD).
Visible when the API user can view story budgets in the story''s workspace.'
sub_stories_budget_used_in_cents:
type: integer
format: int32
description: 'How much of the budgets of the task''s descendants has been used, in the subunits of the currency (e.g. cents for USD).
Visible when the API user can view story budgets in the story''s workspace.'
sub_stories_time_estimate_in_minutes:
type: integer
format: int32
description: 'The estimated time of the task''s descendants, in minutes.
Visible when the API user can view story time estimates in the story''s workspace.'
sub_story_count:
type: integer
format: int32
description: How many descendant tasks the task has.
sub_story_ids:
type: array
items:
type: string
description: '`sub_story_ids` will only be included in the response if `sub_stories` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
subtree_depth:
type: integer
format: int32
description: How many ancestor tasks the task has.
tag_ids:
type: array
items:
type: string
description: '`tag_ids` will only be included in the response if `tags` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
target_dependency_ids:
type: array
items:
type: string
description: '`target_dependency_ids` will only be included in the response if `target_dependencies` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
time_estimate_in_minutes:
type: integer
format: int32
description: 'The estimated time for the task, in minutes.
Visible when the API user can view story time estimates in the story''s workspace.'
time_trackable:
type: boolean
description: Whether time can be tracked against the task.
title:
type: string
description: The title of the task.
uninvoiced_balance_in_cents:
type: integer
format: int32
description: 'How much has not yet been invoiced for the task, in the subunits of the currency (e.g. cents for USD).
Visible when the API user can view story budgets in the story''s workspace.'
updated_at:
type: string
format: date-time
weight:
type: integer
format: int32
description: 'If the `story_type` is `milestone`, this is the [weight](https://knowledge.kantata.com/hc/en-us/articles/203499904-Milestone-Weighting) of the task.
Visible when the API user can view story time estimates in the story''s workspace.'
workspace_id:
type: string
description: '`workspace_id` will only be included in the response if `workspace` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
workspace_resource_ids:
type: array
items:
type: string
description: '`workspace_resource_ids` will only be included in the response if `workspace_resources` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
workspace_resources_with_unnamed_ids:
type: array
items:
type: string
description: '`workspace_resources_with_unnamed_ids` will only be included in the response if `workspace_resources_with_unnamed` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
Errors:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
Error:
type: object
properties:
type:
type: string
message:
type: string
securitySchemes:
BearerToken:
type: apiKey
name: Bearer
in: header
OauthSecurity:
type: oauth2
flows:
authorizationCode:
scopes: {}
authorizationUrl: https://app.mavenlink.com/oauth/authorize
tokenUrl: https://app.mavenlink.com/oauth/token
x-tagGroups:
- name: '# Subscribed Events'
tags:
- Event Types
- Events
- name: Account Locations
tags:
- Account Locations
- name: Account Settings & Members
tags:
- Access Group Memberships
- Account Colors
- Account Invitations
- Account Memberships
- Backup Approver Associations
- Billable Utilizations
- Cost Rates
- Custom Branding
- Organization Memberships
- Organizations
- Roles
- Skill Categories
- Skill Memberships
- Skills
- Task Status Sets
- Task Statuses
- User Group Memberships
- Users
- name: Currencies
tags:
- Currencies
- name: Custom Fields
tags:
- Custom Field Choices
- Custom Field Sets
- Custom Field Values
- Custom Fields
- name: Data Exporter
tags:
- Data Export Schema
- Data Exports
- name: Estimates
tags:
- Estimate Scenario Resource Allocations
- Estimate Scenario Resources
- Estimate Scenarios
- Estimates
- name: Expense Budgets
tags:
- Expense Budgets
- name: Expense Tracking
tags:
- Attachments
- Expense Categories
- Expense Report Submissions
- Expenses
- Vendors
- name: External References
tags:
- External References
- name: Financials
tags:
- Billing Milestones
- Revenue Recognition Methods
- name: Foreign Exchange
tags:
- Exchange Tables
- name: Insights & Analytics
tags:
- Insights Access Group Memberships
- Insights Dynamic Dashboards
- Insights Report Exports
- Insights Reports
- name: Invoices
tags:
- Client Invoice Defaults
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mavenlink/refs/heads/main/openapi/mavenlink-story-dependencies-api-openapi.yml