Aha.io Custom table record links API
The Custom table record links API from Aha.io — 8 operation(s) for custom table record links.
The Custom table record links API from Aha.io — 8 operation(s) for custom table record links.
openapi: 3.1.0
info:
title: Aha! Account backups Custom table record links API
version: 1.0.0
description: Complete API documentation for Aha! generated from actual test responses
contact:
name: Aha! Support
url: https://www.aha.io/support
servers:
- url: https://{account-domain}.aha.io/api/v1
description: Aha! API Server
variables:
account-domain:
description: Your Aha! account domain
default: company
security:
- OAuth2: []
- ApiKeyAuth: []
- CookieAuth: []
tags:
- name: Custom table record links
paths:
/api/v1/products/{id}:
put:
summary: Create a custom table record link associated with a product
description: 'Resources that can be linked to records from a custom table (called custom objects in the API) can be manipulated in a bulk ID-list format.
To use custom table record links you must first add a many-to-many custom field definition to the resource.
When you pass the IDs of custom table records to link to the feature, the existing list of links will be replaced.
Examples of linking custom objects to resources with a many-to-many `customer` field:
- [Products](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_product)
- [Releases](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_release)
- [Features](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_feature)
- [Ideas](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_an_idea)
- [Initiatives](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_an_initiative)
- [Goals](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_goal)
**[Custom tables](https://www.aha.io/support/roadmaps/strategic-roadmaps/customizations/custom-tables) are an Enterprise+ exclusive feature.**'
tags:
- Custom table record links
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Id identifier
responses:
'200':
description: Successful operation
headers:
Content-Type:
description: application/json; charset=utf-8
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/ProductsPutResponse'
example:
product:
id: '131414752'
reference_prefix: PRJ1
name: Two Products
product_line: false
product_line_type: null
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
description:
id: '21164619'
body: ''
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
url: http://company.aha.io/projects/PRJ1
resource: http://company.aha.io/projects/PRJ1
children: []
custom_fields:
- id: 33687638
key: release_count
name: Release count
updatedAt: '2019-01-01T00:00:00Z'
value:
values:
'6809377296730243716':
value: 6.0
name: Release count
display_value: '6.0'
type: equation_sheet
screen_definition_ids:
Approval: 475481209
Competitor: 826556567
Epic: 908690576
Feature: 19837977
Ideas::Idea: 405267877
Ideas::IdeaPortal: 790680888
Initiative: 838774462
Page: 26499634
Project: 524951996
Release: 647403809
Requirement: 687341318
StrategicImperative: 117022249
screen_definitions:
- id: 19837977
screenable_type: Feature
name: Screen Definition 6
custom_field_definitions:
- id: 839883647
key: custom_scorecard_definition
position: 3
name: Some custom scorecard definition
type: CustomFieldDefinitions::ScorecardField
api_type: scorecard
required: false
- id: 182007396
key: custom_table
position: 7
name: Custom Table
type: CustomFieldDefinitions::LinkMasterDetail
api_type: array
required: false
- id: 20549131
key: customer
position: 2
name: Customer
type: CustomFieldDefinitions::SelectEditable
api_type: string
configuration_display: null
required: false
options:
- id: 106870231
label: cust1
- id: 525853807
label: cust2
- id: 676386040
label: cust3
- id: 141558949
key: customers_table
position: 1
name: Customers for custom table
type: CustomFieldDefinitions::LinkMany
api_type: array
required: false
- id: 384804762
key: product_managers
position: 7
name: Product Managers
type: CustomFieldDefinitions::Records::UsersField
api_type: array
required: false
- id: 26499634
screenable_type: Page
name: Screen Definition 7
custom_field_definitions:
- id: 529933329
key: review_date
position: 1
name: Review date
type: CustomFieldDefinitions::DateField
api_type: date
required: false
- id: 117022249
screenable_type: StrategicImperative
name: Screen Definition 13
custom_field_definitions: []
- id: 405267877
screenable_type: Ideas::Idea
name: Screen Definition 5
custom_field_definitions:
- id: 711072024
key: customers_table
position: 1
name: Customers for custom table
type: CustomFieldDefinitions::LinkMany
api_type: array
required: false
- id: 475481209
screenable_type: Task
name: Approvals custom layout
custom_field_definitions: []
- id: 524951996
screenable_type: Project
name: Screen Definition 1
custom_field_definitions:
- id: 807801664
key: name
position: 1
name: Name
type: CustomFieldDefinitions::TextField
api_type: string
required: false
- id: 221120583
key: website
position: 2
name: Website
type: CustomFieldDefinitions::UrlField
api_type: url
required: false
- id: 647403809
screenable_type: Release
name: Screen Definition 8
custom_field_definitions:
- id: 3228193
key: release_custom_date
position: 1
name: Release custom date
type: CustomFieldDefinitions::DateField
api_type: date
required: false
- id: 687341318
screenable_type: Requirement
name: Screen Definition 11
custom_field_definitions:
- id: 85990596
key: priority
position: 3
name: Priority
type: CustomFieldDefinitions::SelectConstant
api_type: string
configuration_display: null
required: false
options:
- id: 135354995
label: P4
- id: 376819668
label: P3
- id: 561184585
label: P2
- id: 947629821
label: P1
- id: 1058433764
label: P5
- id: 867049992
key: requested_by
position: 2
name: Requested By
type: CustomFieldDefinitions::TextField
api_type: string
required: false
- id: 790680888
screenable_type: Ideas::IdeaPortal
name: Screen Definition 4
custom_field_definitions:
- id: 807801664
key: name
position: 1
name: Name
type: CustomFieldDefinitions::TextField
api_type: string
required: false
- id: 826556567
screenable_type: Competitor
name: Screen Definition 3
custom_field_definitions: []
- id: 838774462
screenable_type: Initiative
name: Screen Definition 12
custom_field_definitions:
- id: 250383571
key: customers
position: 1
name: Customers
type: CustomFieldDefinitions::LinkMany
api_type: array
required: false
- id: 688549069
key: initiative_custom_date
position: 3
name: Initiative custom date
type: CustomFieldDefinitions::DateField
api_type: date
required: false
- id: 908690576
screenable_type: Epic
name: Screen Definition 7
custom_field_definitions:
- id: 919440521
key: epic_custom_date
position: 1
name: Epic custom date
type: CustomFieldDefinitions::DateField
api_type: date
required: false
has_ideas: true
has_master_features: false
has_epics: false
release_workflow:
id: 717623509
name: Account product release workflow
statusable_type: Release
workflow_type: release
requirement_workflow:
id: 499195972
name: Account product feature workflow
statusable_type: Feature
workflow_type: requirement
feature_workflow:
id: 499195972
name: Account product feature workflow
statusable_type: Feature
workflow_type: feature
initiative_workflow:
id: 61191651
name: Account initiative workflow
statusable_type: Initiative
workflow_type: initiative
epic_workflow:
id: 499195972
name: Account product feature workflow
statusable_type: Feature
workflow_type: epic
idea_workflow:
id: 80245244
name: Account product idea workflow
statusable_type: Idea
workflow_type: idea
strategic_imperative_workflow:
id: 883066232
name: Account goal workflow
statusable_type: StrategicImperative
workflow_type: strategic_imperative
page_workflow:
id: 934299270
name: Account document workflow
statusable_type: Page
workflow_type: page
key_result_workflow:
id: 1024772447
name: Account product key result workflow
statusable_type: KeyResult
workflow_type: key_result
capacity_planning_enabled: false
default_capacity_units: 10
enhanced_capacity_planning_enabled: false
workspace_type: product_workspace
security:
- OAuth2: []
- ApiKeyAuth: []
- CookieAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomtablerecordlinksPostRequest'
example:
product:
custom_object_links:
customers:
- '640362830'
/api/v1/releases/{id}:
put:
summary: Create a custom table record link associated with a release
description: '*[Custom Tables](https://www.aha.io/support/roadmaps/strategic-roadmaps/customizations/custom-tables) are an Enterprise+ exclusive feature.*'
tags:
- Custom table record links
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Id identifier
responses:
'200':
description: Successful operation
headers:
Content-Type:
description: application/json; charset=utf-8
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/CustomtablerecordlinksPutResponse'
example:
release:
id: '278327321'
product_id: '131414752'
reference_num: PRJ1-R-1
name: Release 1
start_date: '2019-01-01'
end_date: null
development_started_on: '2019-01-01'
release_date: '2019-01-01'
external_release_date: '2019-01-01'
external_release_date_description: Sep 11, 2025
external_date_resolution: exact
released: false
parking_lot: false
master_release: false
released_on: null
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
position: null
progress: null
progress_source: progress_manual
duration_source: duration_manual
status_changed_on: null
theme:
id: '522610666'
body: Theme of the release
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
url: http://company.aha.io/releases/PRJ1-R-1
resource: http://company.aha.io/api/v1/releases/PRJ1-R-1
integration_fields:
- id: '68217473'
name: id
value: '777'
integration_id: 204584239
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
custom_fields:
- id: '432637490'
key: note
name: Note
updatedAt: '2019-01-01T00:00:00Z'
body: <p>sample text</p>
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
value: <p>sample text</p>
type: note
- id: 424324947
key: text_field
name: TextField
updatedAt: '2019-01-01T00:00:00Z'
value: Acme Corp
type: string
custom_object_links:
- key: customers
name: Customers
record_type: CustomObjectRecord
record_ids:
- 640362830
comments_count: 1
workflow_status:
id: '738862546'
name: New
position: 1
complete: false
color: '#dce7c6'
owner:
id: '16338845'
name: John Smith
email: no-reply@aha.io
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
goals:
- id: '602095703'
name: Goal 1
url: http://company.aha.io/strategic_imperatives/DEMOENT-G-1
resource: http://company.aha.io/api/v1/goals/DEMOENT-G-1
created_at: '2019-01-01T00:00:00.000Z'
description:
id: '166463080'
body: Description of goal 1
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
initiatives:
- id: '423077122'
reference_num: PRJ1-S-1
name: Initiative 1
url: http://company.aha.io/initiatives/PRJ1-S-1
resource: http://company.aha.io/api/v1/initiatives/PRJ1-S-1
created_at: '2019-01-01T00:00:00.000Z'
description:
id: '673273729'
body: Description of initiative 1
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
integration_fields:
- id: '546711007'
name: id
value: '9913333'
integration_id: 186281709
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
- id: '966751335'
name: key
value: JRA-987222
integration_id: 186281709
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
project:
id: '131414752'
reference_prefix: PRJ1
name: Project 1
product_line: false
created_at: '2019-01-01T00:00:00.000Z'
workspace_type: product_workspace
url: http://company.aha.io/projects/PRJ1
created_by_user:
id: '16338845'
name: John Smith
email: no-reply@aha.io
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
security:
- OAuth2: []
- ApiKeyAuth: []
- CookieAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomtablerecordlinksPostRequest'
example:
release:
custom_object_links:
customers:
- '640362830'
/api/v1/features/{id}:
put:
summary: Create a custom table record link associated with a feature
description: 'Resources that can be linked to records from a custom table (called custom objects in the API) can be manipulated in a bulk ID-list format.
To use custom table record links you must first add a many-to-many custom field definition to the resource.
When you pass the IDs of custom table records to link to the feature, the existing list of links will be replaced.
Examples of linking custom objects to resources with a many-to-many `customer` field:
- [Products](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_product)
- [Releases](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_release)
- [Features](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_feature)
- [Ideas](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_an_idea)
- [Initiatives](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_an_initiative)
- [Goals](/api/resources/custom_table_record_links/create_a_custom_table_record_link_associated_with_a_goal)
**[Custom tables](https://www.aha.io/support/roadmaps/strategic-roadmaps/customizations/custom-tables) are an Enterprise+ exclusive feature.**'
tags:
- Custom table record links
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Id identifier
responses:
'200':
description: Successful operation
headers:
Content-Type:
description: application/json; charset=utf-8
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/FeaturesPutResponse'
example:
feature:
id: '1007868956'
name: Feature 1
reference_num: PRJ1-1
initiative_reference_num: PRJ1-S-1
release_reference_num: PRJ1-R-1
epic_reference_num: PRJ1-E-1
position: 1
score: 3
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
start_date: '2019-01-01'
due_date: '2019-01-01'
product_id: '131414752'
progress: 25
progress_source: progress_manual
status_changed_on: null
created_by_user:
id: '16338845'
name: John Smith
email: no-reply@aha.io
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
workflow_kind:
id: '98484309'
name: New
workflow_status:
id: '934242751'
name: New
position: 1
complete: false
color: '#dce7c6'
project:
id: '131414752'
reference_prefix: PRJ1
name: Project 1
product_line: false
created_at: '2019-01-01T00:00:00.000Z'
workspace_type: product_workspace
url: http://company.aha.io/projects/PRJ1
description:
id: '793547626'
body: Body of note 1
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments:
- id: '630489833'
download_url: https://company.aha.io/attachments/630489833/token/aaabbbccc7.download?size=original
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
original_file_size: 123
content_type: application/excel
file_name: spreadsheet_file.xlsx
file_size: 123
- id: '724655692'
download_url: https://company.aha.io/attachments/724655692/token/aaabbbccc7.download?size=original
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
original_file_size: 123
content_type: text/plain
file_name: uploaded_file_name.txt
file_size: 123
attachments: []
integration_fields:
- id: '92040219'
name: url
value: https://bigaha.atlassian.net/issues/JRA-123
integration_id: 204584239
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
- id: '728894778'
name: key
value: JRA-123
integration_id: 204584239
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
- id: '846945422'
name: id
value: '435'
integration_id: 204584239
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
url: http://company.aha.io/features/PRJ1-1
resource: http://company.aha.io/api/v1/features/PRJ1-1
release:
id: '278327321'
reference_num: PRJ1-R-1
name: Release 1
start_date: '2019-01-01'
release_date: '2019-01-01'
parking_lot: false
created_at: '2019-01-01T00:00:00.000Z'
product_id: '131414752'
integration_fields:
- id: '68217473'
name: id
value: '777'
integration_id: 204584239
service_name: jira
created_at: '2019-01-01T00:00:00.000Z'
url: http://company.aha.io/releases/PRJ1-R-1
resource: http://company.aha.io/api/v1/releases/PRJ1-R-1
owner:
id: '16338845'
name: John Smith
email: no-reply@aha.io
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
project:
id: '131414752'
reference_prefix: PRJ1
name: Project 1
product_line: false
created_at: '2019-01-01T00:00:00.000Z'
workspace_type: product_workspace
url: http://company.aha.io/projects/PRJ1
master_feature:
id: '999605892'
reference_num: PRJ1-E-1
name: Epic 1
created_at: '2019-01-01T00:00:00.000Z'
url: http://company.aha.io/epics/PRJ1-E-1
resource: http://company.aha.io/api/v1/epics/PRJ1-E-1
belongs_to_release_phase:
id: '20526005'
name: Alpha
start_on: '2019-01-01'
end_on: '2019-01-01'
type: phase
release_id: 278327321
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
progress: null
progress_source: progress_manual
duration_source: duration_manual
description:
id: '243384959'
body: Description of release phase 1
editor_version: 1
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
epic:
id: '999605892'
reference_num: PRJ1-E-1
name: Epic 1
created_at: '2019-01-01T00:00:00.000Z'
url: http://company.aha.io/epics/PRJ1-E-1
resource: http://company.aha.io/api/v1/epics/PRJ1-E-1
assigned_to_user:
id: '16338845'
name: John Smith
email: no-reply@aha.io
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
default_assignee: false
requirements:
- id: '96915428'
name: Body of requirement 2
reference_num: PRJ1-1-2
position: 2
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
release_id: 278327321
created_by_user:
id: '1020675218'
name: Mary Humpty
email: no-reply@aha.io
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
workflow_status:
id: '1025247908'
name: Shipped
position: 5
complete: true
color: '#ecdd8f'
url: http://company.aha.io/requirements/PRJ1-1-2
resource: http://company.aha.io/api/v1/requirements/PRJ1-1-2
description:
id: '6776881149484139005'
body: ''
editor_version: 2
created_at: '2019-01-01T00:00:00.000Z'
updated_at: '2019-01-01T00:00:00.000Z'
attachments: []
feature:
id: '1007868956'
reference_num: PRJ1-1
name: Feature 1
created_at: '2019-01-01T00:00:00.000Z'
url: http://company.aha.io/features/PRJ1-1
resource: http://company.aha.io/api/v1/features/PRJ1-1
product_id: '131414752'
assigned_to_user:
id: '16338845'
name: John Smith
email:
# --- truncated at 32 KB (247 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aha/refs/heads/main/openapi/aha-custom-table-record-links-api-openapi.yml