API Resources

Full documentation on Aha!'s many resources and sub-resources can be browsed here. The navigation on the side allows you to drill down on a particular point of interest.

Account Backups API


Account Backups let you create a complete off-site backup of your Aha! account. They can be created, listed, and downloaded.

An account backup may only be created once every 24 hours.

The backup file contains a representation of all of the data in the Aha! account, including all relationships. It does not contain user authentication data or integration secrets. The backup does not include any uploaded files.

Custom Tables are an Enterprise+ exclusive feature.

GET /api/v1/account_backups

List account backups

GET /api/v1/account_backups

Example CURL command

curl "https://secure.aha.io/api/v1/account_backups" -X GET \
	-H "Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "account_backups": [

  ]
}

POST /api/v1/account_backups

Trigger creation of an account backup

The backup may take some time to generate (as long as ten minutes in a large account). You should poll the GET endpoint to see when the backup is complete. You should not poll more frequently than once every twenty seconds. Returns an HTTP status of 429 if a backup was already created within the last 24 hours.

POST /api/v1/account_backups

Example CURL command

curl "https://secure.aha.io/api/v1/account_backups" -d '' -X POST \
	-H "Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "account_backup": {
    "id": "6426394520723043199",
    "status_code": 0,
    "status_description": "In Queue",
    "created_at": "2017-05-31T20:12:52.630Z"
  }
}

GET /api/v1/account_backups/:id

Show account backup

The status field indicates whether the backup is ready the possible values are: 0=queued, 1=working, 2=completed, 3=error.

Parameters

Name Description
id * Numeric ID of the backup to fetch

GET /api/v1/account_backups/6426394521186237878

Example CURL command

curl "https://secure.aha.io/api/v1/account_backups/6426394521186237878" -X GET \
	-H "Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "account_backup": {
    "id": "6426394521186237878",
    "status_code": 3,
    "status_description": "Error",
    "created_at": "2017-05-31T20:12:52.736Z"
  }
}

GET /api/v1/account_backups/:id.tgz

Download account backup

Parameters

Name Description
id * Numeric ID of the backup to download

GET /api/v1/account_backups/6426394522064519832.tgz

Example CURL command

curl "https://secure.aha.io/api/v1/account_backups/6426394522064519832.tgz" -X GET \
	-H "Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/gzip

Attachments API


Files can be uploaded to Aha! as a sub-resource on any resource that supports them. These resources support attachments:

Notes appear all across the system on various records like Feature descriptions or Release themes. The id for these note fields can be found in the attributes of the record.

The format of an attachment is either a multipart/form-data upload or a json payload pointing to a file url link:

{ 
  "attachment": {
    "file_url": "http://www.aha.io/", 
    "content_type": "text/html",
    "file_name": "home_page.html"
  }
}

POST /api/v1/comments/:comment_id/attachments

Upload a file to a comment

Parameters

Name Description
comment_id * Numeric ID of the comment the uploaded file should be attached to

POST /api/v1/comments/933135074/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/comments/933135074/attachments" -d '------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--
' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1
Accept: application/json
------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394522997499546",
    "download_url": "http://account1.lvh.me/attachments/token/7fa2bdbb0110b2041b57b7b8c650b1adb1f48b6da94940ba4df78b20fda5fa70.download",
    "created_at": "2017-05-31T20:12:53.159Z",
    "file_size": 27,
    "content_type": "text/plain",
    "file_name": "sample_plain_text.txt"
  }
}

POST /api/v1/comments/:comment_id/attachments

Upload a link to a comment

Parameters

Name Description
comment_id * Numeric ID of the comment the uploaded file should be attached to

POST /api/v1/comments/933135074/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/comments/933135074/attachments" -d 'attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data
Accept: application/json
attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394527507635967",
    "download_url": "http://account1.lvh.me/attachments/token/ae44533a3cc66cd16f3a7a67216cfd67e415c4a70307bbcba320b706a9218413.download",
    "created_at": "2017-05-31T20:12:54.212Z",
    "file_size": 0,
    "content_type": "text/html",
    "file_name": "home_page.html"
  }
}

POST /api/v1/idea_comments/:idea_comment_id/attachments

Upload a file to an idea comment

Parameters

Name Description
idea_comment_id * Numeric ID of the idea comment the uploaded file should be attached to

POST /api/v1/idea_comments/622085811/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/idea_comments/622085811/attachments" -d '------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--
' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1
Accept: application/json
------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394528012423453",
    "download_url": "http://account1.lvh.me/attachments/token/5daf82996c170e5c08ff72fa357803c17860e86e4c0c5f65d568adedbe7039d2.download",
    "created_at": "2017-05-31T20:12:54.328Z",
    "file_size": 27,
    "content_type": "text/plain",
    "file_name": "sample_plain_text.txt"
  }
}

POST /api/v1/idea_comments/:idea_comment_id/attachments

Upload a link to an idea comment

Parameters

Name Description
idea_comment_id * Numeric ID of the idea comment the uploaded file should be attached to

POST /api/v1/idea_comments/622085811/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/idea_comments/622085811/attachments" -d 'attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data
Accept: application/json
attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394528471434837",
    "download_url": "http://account1.lvh.me/attachments/token/089145f9d75a78bd3950f28212e8070fa203308b3d8fe29421a584a4ded5df42.download",
    "created_at": "2017-05-31T20:12:54.439Z",
    "file_size": 0,
    "content_type": "text/html",
    "file_name": "home_page.html"
  }
}

POST /api/v1/tasks/:task_id/attachments

Upload a file to a task

Parameters

Name Description
task_id * Numeric ID of the task the uploaded file should be attached to

POST /api/v1/tasks/1041191038/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/tasks/1041191038/attachments" -d '------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--
' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1
Accept: application/json
------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394529160222377",
    "download_url": "http://account1.lvh.me/attachments/token/9a8d245bd8052989def628ca6864b037f476dd1ce4e0fe4e9d590b30fd5ef640.download",
    "created_at": "2017-05-31T20:12:54.596Z",
    "file_size": 27,
    "content_type": "text/plain",
    "file_name": "sample_plain_text.txt"
  }
}

POST /api/v1/tasks/:task_id/attachments

Upload a link to a task

Parameters

Name Description
task_id * Numeric ID of the task the uploaded file should be attached to

POST /api/v1/tasks/1041191038/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/tasks/1041191038/attachments" -d 'attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data
Accept: application/json
attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394529544577119",
    "download_url": "http://account1.lvh.me/attachments/token/937b0d23ec0193d8363f5e0f753ae334ea520cc07ea50c0d79bddbadbf7988dc.download",
    "created_at": "2017-05-31T20:12:54.689Z",
    "file_size": 0,
    "content_type": "text/html",
    "file_name": "home_page.html"
  }
}

POST /api/v1/custom_fields/:custom_field_id/attachments

Upload a file to a custom note field

Parameters

Name Description
custom_field_id * Numeric ID of the custom field the uploaded file should be attached to

POST /api/v1/custom_fields/432637490/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/custom_fields/432637490/attachments" -d '------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--
' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1
Accept: application/json
------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394530042063378",
    "download_url": "http://account1.lvh.me/attachments/token/3eb1e3a245388989b21fbceed9395ece25c45c012f1f2a09f003a5d837ba9f26.download",
    "created_at": "2017-05-31T20:12:54.799Z",
    "file_size": 27,
    "content_type": "text/plain",
    "file_name": "sample_plain_text.txt"
  }
}

POST /api/v1/custom_fields/:custom_field_id/attachments

Upload a link to a custom note field

Parameters

Name Description
custom_field_id * Numeric ID of the custom field the uploaded file should be attached to

POST /api/v1/custom_fields/432637490/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/custom_fields/432637490/attachments" -d 'attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data
Accept: application/json
attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394530767714895",
    "download_url": "http://account1.lvh.me/attachments/token/0718333646a5fe476a108d1ff538112b57c4bf6ad430d3fc4620021291b110ee.download",
    "created_at": "2017-05-31T20:12:54.966Z",
    "file_size": 0,
    "content_type": "text/html",
    "file_name": "home_page.html"
  }
}

POST /api/v1/notes/:note_id/attachments

Upload a file to a note (description, theme, etc)

Parameters

Name Description
note_id * Numeric ID of the note the uploaded file should be attached to

POST /api/v1/notes/793547626/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/notes/793547626/attachments" -d '------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--
' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1
Accept: application/json
------------XnJLe9ZIbbGUYtzPQJ16u1
Content-Disposition: form-data; name="attachment[data]"; filename="sample_plain_text.txt"
Content-Type: text/plain
Content-Length: 27

[uploaded data]
------------XnJLe9ZIbbGUYtzPQJ16u1--

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394531260931268",
    "download_url": "http://account1.lvh.me/attachments/token/e96e6e8685f2b5da77218d5c782e4118298ca3971ddf4c6e64c985ea6abaddac.download",
    "created_at": "2017-05-31T20:12:55.085Z",
    "file_size": 27,
    "content_type": "text/plain",
    "file_name": "sample_plain_text.txt"
  }
}

POST /api/v1/notes/:note_id/attachments

Upload a link to a note (description, theme, etc)

Parameters

Name Description
note_id * Numeric ID of the note the uploaded file should be attached to

POST /api/v1/notes/793547626/attachments

Example CURL command

curl "https://secure.aha.io/api/v1/notes/793547626/attachments" -d 'attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: multipart/form-data" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: multipart/form-data
Accept: application/json
attachment[file_url]=http%3A%2F%2Fwww.aha.io%2F&attachment[content_type]=text%2Fhtml&attachment[file_name]=home_page.html

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "attachment": {
    "id": "6426394533222584050",
    "download_url": "http://account1.lvh.me/attachments/token/e7742d368d4669779f9014b206c344c6f64c08d1379834a6536713575ce90004.download",
    "created_at": "2017-05-31T20:12:55.544Z",
    "file_size": 0,
    "content_type": "text/html",
    "file_name": "home_page.html"
  }
}

Base API


GET /api/v1/products

User inactive

GET /api/v1/products?documentation=false

Example CURL command

curl "https://secure.aha.io/api/v1/products?documentation=false" -X GET \
	-H "Content-Type: application/json" \
	-H "Accept: application/json" \
	-H "Authorization: Bearer ade88990ea8507ed70eff9e918890a12d9f563b3d162e291df1a8d7fe0e7f3b1" \
	-H "X-Aha-Account: account3"

Request

Content-Type: application/json
Accept: application/json
Authorization: Bearer ade88990ea8507ed70eff9e918890a12d9f563b3d162e291df1a8d7fe0e7f3b1
X-Aha-Account: account3

Response

Status: 403 Forbidden
  Content-Type: text/html

GET /api/v1/products

Account lapsed

GET /api/v1/products?documentation=false

Example CURL command

curl "https://secure.aha.io/api/v1/products?documentation=false" -X GET \
	-H "Content-Type: application/json" \
	-H "Accept: application/json" \
	-H "Authorization: Bearer 0409377d7f2adaf37f84c40d3d621468e0f8198bdbc5657bd8d9f42710dcb9fb" \
	-H "X-Aha-Account: trail-lapsed"

Request

Content-Type: application/json
Accept: application/json
Authorization: Bearer 0409377d7f2adaf37f84c40d3d621468e0f8198bdbc5657bd8d9f42710dcb9fb
X-Aha-Account: trail-lapsed

Response

Status: 403 Forbidden
  Content-Type: text/html

GET /api/v1/products

Account cancelled

GET /api/v1/products?documentation=false

Example CURL command

curl "https://secure.aha.io/api/v1/products?documentation=false" -X GET \
	-H "Content-Type: application/json" \
	-H "Accept: application/json" \
	-H "Authorization: Bearer fd04fa4bedf317c002a982c2fdbedf780370704355a0362381a099e175b95254" \
	-H "X-Aha-Account: trail-canceled"

Request

Content-Type: application/json
Accept: application/json
Authorization: Bearer fd04fa4bedf317c002a982c2fdbedf780370704355a0362381a099e175b95254
X-Aha-Account: trail-canceled

Response

Status: 403 Forbidden
  Content-Type: text/html

Comments API


Comments can be added to and listed as a sub-resource on any resource that supports them. These resources support comments:

They can be listed product-wide, or retrieved from anywhere in the system using the root comments resource.

POST /api/v1/features/:feature_id/comments

Create a comment for a feature

Parameters

Name Description
feature_id * Numeric ID or key of the feature the comment should be created for

POST /api/v1/features/1007868956/comments

Example CURL command

curl "https://secure.aha.io/api/v1/features/1007868956/comments" -d '{"comment":{"body":"\u003cp\u003eThis is the comment body for a feature.\u003c/p\u003e","user":{"email":"henry.humpty@account1.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "comment": {
    "body": "<p>This is the comment body for a feature.</p>",
    "user": {
      "email": "henry.humpty@account1.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comment": {
    "id": "6426394535021316579",
    "body": "<p>This is the comment body for a feature.</p>",
    "created_at": "2017-05-31T20:12:55.960Z",
    "updated_at": "2017-05-31T20:12:55.960Z",
    "user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "attachments": [

    ],
    "url": "http://account1.example.org/comments/6426394535021316579",
    "resource": "http://account1.example.org/api/v1/comments/6426394535021316579",
    "commentable": {
      "type": "Feature",
      "id": "1007868956",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  }
}

POST /api/v1/requirements/:requirement_id/comments

Create a comment for a requirement

Parameters

Name Description
requirement_id * Numeric ID or key of the requirement the comment should be created for

POST /api/v1/requirements/483368544/comments

Example CURL command

curl "https://secure.aha.io/api/v1/requirements/483368544/comments" -d '{"comment":{"body":"\u003cp\u003eThis is the comment body for a requirement.\u003c/p\u003e","user":{"email":"henry.humpty@account1.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "comment": {
    "body": "<p>This is the comment body for a requirement.</p>",
    "user": {
      "email": "henry.humpty@account1.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comment": {
    "id": "6426394536359707739",
    "body": "<p>This is the comment body for a requirement.</p>",
    "created_at": "2017-05-31T20:12:56.274Z",
    "updated_at": "2017-05-31T20:12:56.274Z",
    "user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "attachments": [

    ],
    "url": "http://account1.example.org/comments/6426394536359707739",
    "resource": "http://account1.example.org/api/v1/comments/6426394536359707739",
    "commentable": {
      "type": "Requirement",
      "id": "483368544",
      "url": "http://account1.example.org/requirements/PRJ1-1-1",
      "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1"
    }
  }
}

POST /api/v1/ideas/:idea_id/comments

Create a private comment for an idea

Parameters

Name Description
idea_id * Numeric ID or key of the idea the comment should be created for

POST /api/v1/ideas/58056975/comments

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/58056975/comments" -d '{"comment":{"body":"\u003cp\u003eThis is the comment body for an idea.\u003c/p\u003e","user":{"email":"henry.humpty@account1.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "comment": {
    "body": "<p>This is the comment body for an idea.</p>",
    "user": {
      "email": "henry.humpty@account1.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comment": {
    "id": "6426394537008438407",
    "body": "<p>This is the comment body for an idea.</p>",
    "created_at": "2017-05-31T20:12:56.420Z",
    "updated_at": "2017-05-31T20:12:56.420Z",
    "user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "attachments": [

    ],
    "url": "http://account1.example.org/comments/6426394537008438407",
    "resource": "http://account1.example.org/api/v1/comments/6426394537008438407",
    "commentable": {
      "type": "Ideas::Idea",
      "id": "58056975",
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/ideas/PRJ1-I-1"
    }
  }
}

POST /api/v1/initiatives/:initiative_id/comments

Create a comment for an initiative

Parameters

Name Description
initiative_id * Numeric ID or key of the initiative the comment should be created for

POST /api/v1/initiatives/423077122/comments

Example CURL command

curl "https://secure.aha.io/api/v1/initiatives/423077122/comments" -d '{"comment":{"body":"\u003cp\u003eThis is the comment body for an initiative.\u003c/p\u003e","user":{"email":"henry.humpty@account1.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "comment": {
    "body": "<p>This is the comment body for an initiative.</p>",
    "user": {
      "email": "henry.humpty@account1.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comment": {
    "id": "6426394538561387822",
    "body": "<p>This is the comment body for an initiative.</p>",
    "created_at": "2017-05-31T20:12:56.786Z",
    "updated_at": "2017-05-31T20:12:56.786Z",
    "user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "attachments": [

    ],
    "url": "http://account1.example.org/comments/6426394538561387822",
    "resource": "http://account1.example.org/api/v1/comments/6426394538561387822",
    "commentable": {
      "type": "Initiative",
      "id": "423077122",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122"
    }
  }
}

POST /api/v1/goals/:goal_id/comments

Create a comment for a goal

Parameters

Name Description
goal_id * Numeric ID or key of the goal the comment should be created for

POST /api/v1/goals/602095703/comments

Example CURL command

curl "https://secure.aha.io/api/v1/goals/602095703/comments" -d '{"comment":{"body":"\u003cp\u003eThis is the comment body for a goal.\u003c/p\u003e","user":{"email":"henry.humpty@account1.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "comment": {
    "body": "<p>This is the comment body for a goal.</p>",
    "user": {
      "email": "henry.humpty@account1.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comment": {
    "id": "6426394539175730610",
    "body": "<p>This is the comment body for a goal.</p>",
    "created_at": "2017-05-31T20:12:56.929Z",
    "updated_at": "2017-05-31T20:12:56.929Z",
    "user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "attachments": [

    ],
    "url": "http://account1.example.org/comments/6426394539175730610",
    "resource": "http://account1.example.org/api/v1/comments/6426394539175730610",
    "commentable": {
      "type": "StrategicImperative",
      "id": "602095703",
      "url": "http://account1.example.org/strategic_imperatives/602095703",
      "resource": "http://account1.example.org/api/v1/goals/602095703"
    }
  }
}

GET /api/v1/products/:project_id/comments

Get all comments on a product

Parameters

Name Description
project_id * Numeric ID of the product to get comments for

GET /api/v1/products/131414752/comments

Example CURL command

curl "https://secure.aha.io/api/v1/products/131414752/comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comments": [
    {
      "id": "55160124",
      "body": "Comment on project",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "1020675218",
        "name": "Mary Humpty",
        "email": "mary.humpty@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/55160124",
      "resource": "http://account1.example.org/api/v1/comments/55160124",
      "commentable": {
        "type": "Task",
        "id": "748715293",
        "url": "http://account1.example.org/tasks/748715293",
        "resource": "http://account1.example.org/api/v1/tasks/748715293"
      }
    },
    {
      "id": "933135074",
      "body": "Comment on project",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "1020675218",
        "name": "Mary Humpty",
        "email": "mary.humpty@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [
        {
          "id": "744925247",
          "download_url": "http://account1.lvh.me/attachments/token/6f4afaba90c52b15abb1148ec674b6e796a908f09c1e0af9a6a88229dd472c61.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ],
      "url": "http://account1.example.org/comments/933135074",
      "resource": "http://account1.example.org/api/v1/comments/933135074",
      "commentable": {
        "type": "Project",
        "id": "131414752",
        "url": "http://account1.example.org/projects/PRJ1",
        "resource": "http://account1.example.org/api/v1/products/PRJ1"
      }
    },
    {
      "id": "781701978",
      "body": "Comment on feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "1020675218",
        "name": "Mary Humpty",
        "email": "mary.humpty@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/781701978",
      "resource": "http://account1.example.org/api/v1/comments/781701978",
      "commentable": {
        "type": "Feature",
        "id": "1007868956",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    },
    {
      "id": "428925905",
      "body": "Comment on release",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "601067208",
        "name": "Jeremy Smith",
        "email": "jeremy.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/428925905",
      "resource": "http://account1.example.org/api/v1/comments/428925905",
      "commentable": {
        "type": "Release",
        "id": "278327321",
        "url": "http://account1.example.org/releases/PRJ1-R-1",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1"
      }
    },
    {
      "id": "133461614",
      "body": "Comment on initiative",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "601067208",
        "name": "Jeremy Smith",
        "email": "jeremy.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/133461614",
      "resource": "http://account1.example.org/api/v1/comments/133461614",
      "commentable": {
        "type": "Initiative",
        "id": "423077122",
        "url": "http://account1.example.org/initiatives/423077122",
        "resource": "http://account1.example.org/api/v1/initiatives/423077122"
      }
    },
    {
      "id": "821249787",
      "body": "Comment on goal",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "601067208",
        "name": "Jeremy Smith",
        "email": "jeremy.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/821249787",
      "resource": "http://account1.example.org/api/v1/comments/821249787",
      "commentable": {
        "type": "StrategicImperative",
        "id": "602095703",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703"
      }
    },
    {
      "id": "110125740",
      "body": "Comment on competitor 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "1020675218",
        "name": "Mary Humpty",
        "email": "mary.humpty@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/110125740",
      "resource": "http://account1.example.org/api/v1/comments/110125740",
      "commentable": {
        "type": "Competitor",
        "id": "892399625",
        "url": "http://account1.example.org/competitors/892399625",
        "resource": "http://account1.example.org/api/v1/competitors/892399625"
      }
    }
  ],
  "pagination": {
    "total_records": 7,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/features/:feature_id/comments

Get all comments on a feature

Parameters

Name Description
feature_id * Numeric ID of the feature to get comments for

GET /api/v1/features/1007868956/comments

Example CURL command

curl "https://secure.aha.io/api/v1/features/1007868956/comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comments": [
    {
      "id": "781701978",
      "body": "Comment on feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "1020675218",
        "name": "Mary Humpty",
        "email": "mary.humpty@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/781701978",
      "resource": "http://account1.example.org/api/v1/comments/781701978",
      "commentable": {
        "type": "Feature",
        "id": "1007868956",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/requirements/:requirement_id/comments

Get all comments on a requirement

Parameters

Name Description
requirement_id * Numeric ID of the requirement to get comments for

GET /api/v1/requirements/483368544/comments

Example CURL command

curl "https://secure.aha.io/api/v1/requirements/483368544/comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comments": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

GET /api/v1/ideas/:idea_id/comments

Get all comments on an idea

Parameters

Name Description
idea_id * Numeric ID of the idea to get comments for

GET /api/v1/ideas/58056975/comments

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/58056975/comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comments": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

GET /api/v1/initiatives/:initiative_id/comments

Get all comments on an initiative

Parameters

Name Description
initiative_id * Numeric ID of the initiative to get comments for

GET /api/v1/initiatives/423077122/comments

Example CURL command

curl "https://secure.aha.io/api/v1/initiatives/423077122/comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comments": [
    {
      "id": "133461614",
      "body": "Comment on initiative",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "601067208",
        "name": "Jeremy Smith",
        "email": "jeremy.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/133461614",
      "resource": "http://account1.example.org/api/v1/comments/133461614",
      "commentable": {
        "type": "Initiative",
        "id": "423077122",
        "url": "http://account1.example.org/initiatives/423077122",
        "resource": "http://account1.example.org/api/v1/initiatives/423077122"
      }
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/goals/:goal_id/comments

Get all comments on a goal

Parameters

Name Description
goal_id * Numeric ID of the goal to get comments for

GET /api/v1/goals/602095703/comments

Example CURL command

curl "https://secure.aha.io/api/v1/goals/602095703/comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "comments": [
    {
      "id": "821249787",
      "body": "Comment on goal",
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "user": {
        "id": "601067208",
        "name": "Jeremy Smith",
        "email": "jeremy.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "attachments": [

      ],
      "url": "http://account1.example.org/comments/821249787",
      "resource": "http://account1.example.org/api/v1/comments/821249787",
      "commentable": {
        "type": "StrategicImperative",
        "id": "602095703",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703"
      }
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

Competitors API


GET /api/v1/products/:product_id/competitors

Get a list of all of the competitors in a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve competitors for

GET /api/v1/products/PRJ1/competitors

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/competitors" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "competitors": [
    {
      "id": "457085224",
      "name": "JIRA",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    {
      "id": "892399625",
      "name": "ProductPlan",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    {
      "id": "741974453",
      "name": "Roadmunk",
      "created_at": "2017-05-31T20:12:50.000Z"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/competitors/:id

Get specific competitor

Parameters

Name Description
id * Numeric ID of the competitor to be retrieved

GET /api/v1/competitors/892399625

Example CURL command

curl "https://secure.aha.io/api/v1/competitors/892399625" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "persona": {
    "id": "892399625",
    "name": "ProductPlan",
    "color": 29647,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "url": "http://account1.example.org/competitors/892399625",
    "resource": "http://account1.example.org/competitors/892399625",
    "custom_fields": [

    ],
    "comments_count": 1
  }
}

GET /api/v1/competitors

Search for competitors by name

Parameters

Name Description
q Sub-string to match against competitor name

GET /api/v1/competitors?q=Roadmunk

Example CURL command

curl "https://secure.aha.io/api/v1/competitors?q=Roadmunk" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "competitors": [
    {
      "id": "741974453",
      "name": "Roadmunk",
      "created_at": "2017-05-31T20:12:50.000Z"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

POST /api/v1/products/:product_id/competitors

Create a competitor

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the competitor in
name * Name of the competitor
color * Hex color of the competitor in the Aha! UI

POST /api/v1/products/PRJ1/competitors

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/competitors" -d '{"competitor":{"name":"Trello","color":29647}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "competitor": {
    "name": "Trello",
    "color": 29647
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "persona": {
    "id": "6426394543640379340",
    "name": "Trello",
    "color": 29647,
    "created_at": "2017-05-31T20:12:57.968Z",
    "updated_at": "2017-05-31T20:12:58.107Z",
    "url": "http://account1.example.org/competitors/6426394543640379340",
    "resource": "http://account1.example.org/competitors/6426394543640379340",
    "custom_fields": [

    ],
    "comments_count": 0
  }
}

PUT /api/v1/products/:product_id/competitors/:id

Update a competitor

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the competitor in
id * Numeric ID, or key of the competitor to be updated
name Name of the competitor
color Hex color of the competitor in the Aha! UI

PUT /api/v1/products/PRJ1/competitors/892399625

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/competitors/892399625" -d '{"competitor":{"name":"Julie"}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "competitor": {
    "name": "Julie"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "persona": {
    "id": "892399625",
    "name": "Julie",
    "color": 29647,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:58.198Z",
    "url": "http://account1.example.org/competitors/892399625",
    "resource": "http://account1.example.org/competitors/892399625",
    "custom_fields": [

    ],
    "comments_count": 1
  }
}

DELETE /api/v1/products/:product_id/competitors/:id

Delete competitor

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the competitor in
id * Numeric ID, or key of the competitor to be deleted

DELETE /api/v1/products/PRJ1/competitors/892399625

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/competitors/892399625" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Custom Object Links API


Resources that can be linked to objects from a Custom Table can manipulate them in a bulk id-list format. To use Custom Objects Links you must first add a Many-to-Many custom field definition to the resource. When you pass the IDs of custom object 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:

Custom Tables are an Enterprise+ exclusive feature.

PUT /api/v1/products/:id

Link custom object records to a product

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID, or key of the product to be edited

PUT /api/v1/products/PRJ1

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1" -d '{"product":{"custom_object_links":{"customers":["640362830"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "product": {
    "custom_object_links": {
      "customers": [
        "640362830"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "product": {
    "id": "131414752",
    "reference_prefix": "PRJ1",
    "name": "Project 1",
    "product_line": false,
    "created_at": "2017-05-31T20:12:51.000Z",
    "updated_at": "2017-05-31T20:12:58.518Z",
    "description": {
      "id": "21164619",
      "body": "",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "url": "http://account1.example.org/projects/PRJ1",
    "resource": "http://account1.example.org/projects/PRJ1",
    "children": [

    ],
    "custom_fields": [

    ],
    "custom_object_links": [

    ],
    "comments_count": 7,
    "has_ideas": true
  }
}

PUT /api/v1/releases/:id

Link custom object records to a release

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID, or key of the release to be edited

PUT /api/v1/releases/PRJ1-R-1

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1" -d '{"release":{"custom_object_links":{"customers":["640362830"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "release": {
    "custom_object_links": {
      "customers": [
        "640362830"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "release": {
    "id": "278327321",
    "product_id": "131414752",
    "reference_num": "PRJ1-R-1",
    "name": "Release 1",
    "start_date": "2017-06-07",
    "release_date": "2017-06-07",
    "external_release_date": "2017-06-07",
    "external_release_date_description": "Jun 7, 2017",
    "external_date_resolution": "exact",
    "released": false,
    "parking_lot": false,
    "created_at": "2017-05-31T20:12:51.000Z",
    "updated_at": "2017-05-31T20:12:51.000Z",
    "theme": {
      "id": "522610666",
      "body": "Theme of the release",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "url": "http://account1.example.org/releases/PRJ1-R-1",
    "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
    "integration_fields": [
      {
        "id": "68217473",
        "name": "id",
        "value": "777",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "note",
        "name": "Note",
        "id": "432637490",
        "body": "<p>sample text</p>",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ],
        "value": "<p>sample text</p>",
        "type": "note"
      },
      {
        "key": "text_field",
        "name": "TextField",
        "value": "Acme Corp",
        "type": "string"
      }
    ],
    "custom_object_links": [

    ],
    "comments_count": 1,
    "workflow_status": {
      "id": "738862546",
      "name": "New",
      "complete": false
    },
    "owner": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    }
  }
}

PUT /api/v1/features/:id

Link custom object records to a feature

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID, or key of the feature to be edited

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"feature":{"custom_object_links":{"customers":["640362830"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "custom_object_links": {
      "customers": [
        "640362830"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:59.161Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/24b6d6b8c7c6412f17d585d08adafd1ed3b33418f100432a323f8d09b6a916cd.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      }
    ],
    "custom_object_links": [

    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/ideas/:id

Link custom object records to an idea

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID, or key of the idea to be edited

PUT /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -d '{"idea":{"custom_object_links":{"customers":["640362830"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "custom_object_links": {
      "customers": [
        "640362830"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:59.697Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:59.719Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

PUT /api/v1/initiatives/:id

Link custom object records to an initiative

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID, or key of the initiative to be edited

PUT /api/v1/initiatives/423077122

Example CURL command

curl "https://secure.aha.io/api/v1/initiatives/423077122" -d '{"initiative":{"custom_object_links":{"customers":["640362830"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "initiative": {
    "custom_object_links": {
      "customers": [
        "640362830"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "initiative": {
    "id": "423077122",
    "name": "Initiative 1",
    "status": "not_started",
    "effort": 10,
    "value": 70,
    "presented": true,
    "start_date": "2017-04-30",
    "end_date": "2017-06-14",
    "position": 1,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:00.106Z",
    "url": "http://account1.example.org/initiatives/423077122",
    "resource": "http://account1.example.org/api/v1/initiatives/423077122",
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "workflow_status": {
      "id": "53968949",
      "name": "Not Started",
      "complete": false
    },
    "description": {
      "id": "673273729",
      "body": "Description of initiative 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "comments_count": 1,
    "goals": [

    ],
    "features": [
      {
        "id": "1007868956",
        "reference_num": "PRJ1-1",
        "name": "Feature 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    ],
    "releases": [
      {
        "id": "278327321",
        "reference_num": "PRJ1-R-1",
        "name": "Release 1",
        "start_date": "2017-06-07",
        "release_date": "2017-06-07",
        "parking_lot": false,
        "created_at": "2017-05-31T20:12:51.000Z",
        "integration_fields": [
          {
            "id": "68217473",
            "name": "id",
            "value": "777",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/releases/PRJ1-R-1",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
        "owner": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "project": {
          "id": "131414752",
          "reference_prefix": "PRJ1",
          "name": "Project 1",
          "product_line": false,
          "created_at": "2017-05-31T20:12:51.000Z"
        }
      },
      {
        "id": "161456549",
        "reference_num": "PRJ1-R-2",
        "name": "Release 2",
        "start_date": "2017-04-30",
        "release_date": "2017-06-07",
        "parking_lot": false,
        "created_at": "2017-05-31T20:12:51.000Z",
        "integration_fields": [

        ],
        "url": "http://account1.example.org/releases/PRJ1-R-2",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-2",
        "owner": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "project": {
          "id": "131414752",
          "reference_prefix": "PRJ1",
          "name": "Project 1",
          "product_line": false,
          "created_at": "2017-05-31T20:12:51.000Z"
        }
      }
    ],
    "integration_fields": [

    ],
    "custom_fields": [

    ],
    "custom_object_links": [

    ]
  }
}

PUT /api/v1/goals/:id

Link custom object records to a goal

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID, or key of the goal to be edited

PUT /api/v1/goals/602095703

Example CURL command

curl "https://secure.aha.io/api/v1/goals/602095703" -d '{"goal":{"custom_object_links":{"customers":["640362830"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "goal": {
    "custom_object_links": {
      "customers": [
        "640362830"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "goal": {
    "id": "602095703",
    "name": "Goal 1",
    "effort": 10,
    "value": 70,
    "position": 1,
    "created_at": "2017-05-31T20:12:51.000Z",
    "updated_at": "2017-05-31T20:12:51.000Z",
    "url": "http://account1.example.org/strategic_imperatives/602095703",
    "resource": "http://account1.example.org/strategic_imperatives/602095703",
    "description": {
      "id": "166463080",
      "body": "Description of goal 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "success_metric": {
      "name": "Metric 1",
      "description": {
        "id": "546284368",
        "body": "Description of goal 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      }
    },
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "initiatives": [

    ],
    "comments_count": 1,
    "features": [
      {
        "id": "1007868956",
        "reference_num": "PRJ1-1",
        "name": "Feature 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    ],
    "releases": [

    ],
    "custom_fields": [

    ],
    "custom_object_links": [

    ]
  }
}

Custom Object Records API


Custom Tables have a different set of custom objects for each Product. This means that if you want to create one or list them you must scope them to a product.

Once you have the id of a specific custom object record, you can inspect, modify, or delete them on the root custom objects resource.

Custom Tables are an Enterprise+ exclusive feature.

POST /api/v1/products/:product_id/custom_objects/:key/records

Create a custom object record

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the record in
key * API key of the custom object type to create

POST /api/v1/products/PRJ1/custom_objects/customers/records

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/custom_objects/customers/records" -d '{"custom_object_record":{"custom_fields":{"name":"Major conglomerate","website":"www.conglom.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "custom_object_record": {
    "custom_fields": {
      "name": "Major conglomerate",
      "website": "www.conglom.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "custom_object_record": {
    "id": "6426394555523699424",
    "key": "customers",
    "custom_fields": [
      {
        "key": "name",
        "name": "Name",
        "value": "Major conglomerate",
        "type": "string"
      },
      {
        "key": "website",
        "name": "Website",
        "value": "www.conglom.com",
        "type": "url"
      }
    ]
  }
}

GET /api/v1/products/:product_id/custom_objects/:key/records

Get all objects from a custom table

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
product_id * Numeric ID, or key of the product to get page for
key * API key of the custom object to get records for

GET /api/v1/products/PRJ1/custom_objects/customers/records

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/custom_objects/customers/records" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "custom_object_records": [
    {
      "id": "640362830",
      "key": "customers",
      "custom_fields": {
        "key": "name",
        "name": "Name",
        "value": "Acme Corp",
        "type": "string"
      }
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/custom_object_records/:id

Get a specific custom object record

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID of the custom object record to be retrieved

GET /api/v1/custom_object_records/640362830

Example CURL command

curl "https://secure.aha.io/api/v1/custom_object_records/640362830" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "custom_object_record": {
    "id": "640362830",
    "key": "customers",
    "custom_fields": [
      {
        "key": "name",
        "name": "Name",
        "value": "Acme Corp",
        "type": "string"
      },
      {
        "key": "website",
        "name": "Website",
        "value": "www.acme.com",
        "type": "url"
      }
    ]
  }
}

PUT /api/v1/custom_object_records/:id

Update a custom object record

Parameters

Name Description
id * Numeric ID of the custom object record to be updated

PUT /api/v1/custom_object_records/640362830

Example CURL command

curl "https://secure.aha.io/api/v1/custom_object_records/640362830" -d '{"custom_object_record":{"custom_fields":{"name":"Acme parent corp","website":"www.acmeparent.com"}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "custom_object_record": {
    "custom_fields": {
      "name": "Acme parent corp",
      "website": "www.acmeparent.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "custom_object_record": {
    "id": "640362830",
    "key": "customers",
    "custom_fields": [
      {
        "key": "name",
        "name": "Name",
        "value": "Acme parent corp",
        "type": "string"
      },
      {
        "key": "website",
        "name": "Website",
        "value": "www.acmeparent.com",
        "type": "url"
      }
    ]
  }
}

DELETE /api/v1/custom_object_records/:id

Delete a custom object record

Custom Tables are an Enterprise+ exclusive feature.

Parameters

Name Description
id * Numeric ID of the custom object record to be deleted

DELETE /api/v1/custom_object_records/640362830

Example CURL command

curl "https://secure.aha.io/api/v1/custom_object_records/640362830" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Features API


Features belong to Releases. This means that if you want to create one you must scope them to a release.

You can list them all at once, or filter by release , product , or master feature. All these means of listing features can be further filtered by specific critera like name, modification date, tag, or assignee.

Once you have the id of a specific feature, you can inspect, modify, or delete them on the root features resource.

POST /api/v1/releases/:release_id/features

Create a feature

When creating a feature at least the name, workflow_kind and workflow_status must be specified.

Parameters

Name Alias Description
release_id * Numeric ID, or key of the release the feature should be created in
name * Title of the feature.
workflow_kind * type, kind Type of feature
workflow_status * status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

POST /api/v1/releases/PRJ1-R-1/features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/features" -d '{"feature":{"name":"New name","workflow_kind":"new","workflow_status":{"name":"Designed"},"description":"\u003cp\u003eThis is the description\u003c/p\u003e","assigned_to_user":{"email":"henry.humpty@account1.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "name": "New name",
    "workflow_kind": "new",
    "workflow_status": {
      "name": "Designed"
    },
    "description": "<p>This is the description</p>",
    "assigned_to_user": {
      "email": "henry.humpty@account1.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "6426394574102313734",
    "name": "New name",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 2,
    "created_at": "2017-05-31T20:13:05.058Z",
    "updated_at": "2017-05-31T20:13:05.120Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6426394574267168778",
      "body": "<p>This is the description</p>",
      "created_at": "2017-05-31T20:13:05.095Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/features/PRJ1-3",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-3",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [

    ],
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "feature_links": [

    ]
  }
}

POST /api/v1/releases/:release_id/features

Create a feature with assignee

Parameters

Name Alias Description
release_id * Numeric ID, or key of the release the feature should be created in
name * Title of the feature.
workflow_kind * type, kind Type of feature
workflow_status * status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

POST /api/v1/releases/PRJ1-R-1/features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/features" -d '{"feature":{"name":"New feature","workflow_kind":"new","workflow_status":{"name":"Designed"},"assigned_to_user":"henry.humpty@account1.com"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "name": "New feature",
    "workflow_kind": "new",
    "workflow_status": {
      "name": "Designed"
    },
    "assigned_to_user": "henry.humpty@account1.com"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "6426394575236266621",
    "name": "New feature",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 2,
    "created_at": "2017-05-31T20:13:05.323Z",
    "updated_at": "2017-05-31T20:13:05.381Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6426394575388858004",
      "body": "",
      "created_at": "2017-05-31T20:13:05.359Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/features/PRJ1-3",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-3",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [

    ],
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "feature_links": [

    ]
  }
}

POST /api/v1/releases/:release_id/features

Create a feature with tags

Parameters

Name Alias Description
release_id * Numeric ID, or key of the release the feature should be created in
name * Title of the feature.
workflow_kind * type, kind Type of feature
workflow_status * status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

POST /api/v1/releases/PRJ1-R-1/features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/features" -d '{"feature":{"name":"New feature","workflow_kind":"new","workflow_status":{"name":"Designed"},"tags":"tag1, tag2"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "name": "New feature",
    "workflow_kind": "new",
    "workflow_status": {
      "name": "Designed"
    },
    "tags": "tag1, tag2"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "6426394577301306526",
    "name": "New feature",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 2,
    "created_at": "2017-05-31T20:13:05.802Z",
    "updated_at": "2017-05-31T20:13:05.954Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6426394577436501526",
      "body": "",
      "created_at": "2017-05-31T20:13:05.836Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/features/PRJ1-3",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-3",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "requirements": [

    ],
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [
      "tag1",
      "tag2"
    ],
    "custom_fields": [

    ],
    "feature_links": [

    ]
  }
}

POST /api/v1/releases/:release_id/features

Create a feature with a score

Parameters

Name Alias Description
release_id * Numeric ID, or key of the release the feature should be created in
name * Title of the feature.
workflow_kind * type, kind Type of feature
workflow_status * status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

POST /api/v1/releases/PRJ1-R-1/features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/features" -d '{"feature":{"name":"New feature","workflow_kind":"new","workflow_status":{"name":"Designed"},"score_facts":[{"name":"Benefit","value":12},{"name":"Effort","value":-3}]}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "name": "New feature",
    "workflow_kind": "new",
    "workflow_status": {
      "name": "Designed"
    },
    "score_facts": [
      {
        "name": "Benefit",
        "value": 12
      },
      {
        "name": "Effort",
        "value": -3
      }
    ]
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "6426394578677275745",
    "name": "New feature",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 9,
    "created_at": "2017-05-31T20:13:06.125Z",
    "updated_at": "2017-05-31T20:13:06.261Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6426394578927327185",
      "body": "",
      "created_at": "2017-05-31T20:13:06.183Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/features/PRJ1-3",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-3",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "requirements": [

    ],
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [
      {
        "id": "6426394579178087941",
        "value": -3,
        "name": "Effort"
      },
      {
        "id": "6426394578751674340",
        "value": 12,
        "name": "Benefit"
      }
    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "feature_links": [

    ]
  }
}

GET /api/v1/features

Get all features

Parameters

Name Description
q Sub-string to match against feature name or ID

GET /api/v1/features?q=fea

Example CURL command

curl "https://secure.aha.io/api/v1/features?q=fea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/master_features/:master_feature_id/features

Get all features for a master feature

Parameters

Name Description
master_feature_id * Numeric ID, or key of the master feature to retrieve features for

GET /api/v1/master_features/PRJ1-E-1/features

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1/features" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/releases/:release_id/features

Get all features for a release

Parameters

Name Description
release_id * Numeric ID, or key of the release to retrieve features for

GET /api/v1/releases/PRJ1-R-1/features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/features" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/features

Get all features for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve features for

GET /api/v1/products/PRJ1/features

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/features" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/features

Search features by name or ID

Parameters

Name Description
q Sub-string to match against feature name or ID

GET /api/v1/features?q=fea

Example CURL command

curl "https://secure.aha.io/api/v1/features?q=fea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/features

Search product for features by name or ID

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve features for
q Sub-string to match against feature name or ID

GET /api/v1/products/PRJ1/features?q=fea

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/features?q=fea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/releases/:release_id/features

Search release for features by name or ID

Parameters

Name Description
release_id * Numeric ID, or key of the release to retrieve features for
q Sub-string to match against feature name or ID

GET /api/v1/releases/PRJ1-R-1/features?q=fea

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/features?q=fea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/features

Search features by modification date

Parameters

Name Description
updated_since UTC timestamp (in ISO8601 format) that the updated_at field must be larger than.

GET /api/v1/features?updated_since=2014-06-01T22%3A43%3A42Z

Example CURL command

curl "https://secure.aha.io/api/v1/features?updated_since=2014-06-01T22%3A43%3A42Z" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "303873333",
      "reference_num": "PRJ1-3",
      "name": "Another Third Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-3",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-3"
    },
    {
      "id": "622562724",
      "reference_num": "PRJ1-2",
      "name": "Another Feature",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-2",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
    },
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 3,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/features

Search features by tag

Parameters

Name Description
tag A string tag value.

GET /api/v1/features?tag=Infrastructure

Example CURL command

curl "https://secure.aha.io/api/v1/features?tag=Infrastructure" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/features

Search features by assignee

Parameters

Name Description
assigned_to_user The ID or email address of user to return assigned features for.

GET /api/v1/features?assigned_to_user=john.smith%40account1.com

Example CURL command

curl "https://secure.aha.io/api/v1/features?assigned_to_user=john.smith%40account1.com" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "features": [
    {
      "id": "1007868956",
      "reference_num": "PRJ1-1",
      "name": "Feature 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/features/:id

Get a specific feature

Parameters

Name Description
id * Numeric ID, or key of the feature to be retrieved

GET /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/809bee229bdbd1aba431a6e830035941da781022f4f8c2a9228d481596173850.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/features/:id

Update a feature

Parameters

Name Alias Description
id * Numeric ID, or key of the feature to be edited
name * Name of the feature
workflow_kind type, kind Type of feature
workflow_status status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"name":"New name","description":"New description"}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "name": "New name",
  "description": "New description"
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "New name",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:07.606Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "New description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/dcca804f7f508762e2d4f21741c889c76f8a67add01ee6515ec8bb4bec01c35e.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "New name",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/features/:id

Update a feature's custom fields

Parameters

Name Alias Description
id * Numeric ID, or key of the feature to be edited
name * Name of the feature
workflow_kind type, kind Type of feature
workflow_status status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"feature":{"custom_fields":{"priority":"P3"}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "custom_fields": {
      "priority": "P3"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:07.929Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/0352d06f84f508eef6d5dc05745adcad26e931f73fc997bcec692b7ce3c5f665.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      },
      {
        "key": "priority",
        "name": "Priority",
        "value": "P3",
        "type": "string"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/features/:id

Update a feature's custom fields with tag-like value

Parameters

Name Alias Description
id * Numeric ID, or key of the feature to be edited
name * Name of the feature
workflow_kind type, kind Type of feature
workflow_status status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"feature":{"custom_fields":{"tags":["tag2","tag,3"]}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "custom_fields": {
      "tags": [
        "tag2",
        "tag,3"
      ]
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:08.272Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/cfe3104179ae1e076b70c93de49f451caccf5e00306339459d6135d47cd985f7.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      },
      {
        "key": "tags",
        "name": "Tags",
        "value": [
          "tag2",
          "tag,3"
        ],
        "type": "array"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/features/:id

Update a feature's tags with comma-separated values

Parameters

Name Alias Description
id * Numeric ID, or key of the feature to be edited
name * Name of the feature
workflow_kind type, kind Type of feature
workflow_status status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"feature":{"tags":"tag2, tag3"}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "tags": "tag2, tag3"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:08.639Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/79a9e9276a2bb06c60d18cb6c284b924827956154f157542b50f9de8b3e61677.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "tag2",
      "tag3"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/features/:id

Update a feature's tags with an array

Parameters

Name Alias Description
id * Numeric ID, or key of the feature to be edited
name * Name of the feature
workflow_kind type, kind Type of feature
workflow_status status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"feature":{"tags":["tag2","tag3"]}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "tags": [
      "tag2",
      "tag3"
    ]
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:09.048Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/6d162bde00f72a8cceec2da1d80172cb17bd4696e9006e39ad4d5c28ca5bf64f.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [

    ],
    "tags": [
      "tag2",
      "tag3"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

PUT /api/v1/features/:id

Update a feature's score

Parameters

Name Alias Description
id * Numeric ID, or key of the feature to be edited
name * Name of the feature
workflow_kind type, kind Type of feature
workflow_status status Status of the feature and it must be one of the valid status values for the selected product.
description Description of the feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the feature.
assigned_to_user Email address of user that is assigned the feature.
tags Tags can be automatically assigned to the new feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the feature in format YYYY-MM-DD
release_phase Name or id of release phase which the feature belongs to
initiative Name or id of initiative which the feature belongs to

PUT /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '{"feature":{"score_facts":[{"name":"Benefit","value":4},{"name":"Effort","value":-5}]}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "feature": {
    "score_facts": [
      {
        "name": "Benefit",
        "value": 4
      },
      {
        "name": "Effort",
        "value": -5
      }
    ]
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "feature": {
    "id": "1007868956",
    "name": "Feature 1",
    "reference_num": "PRJ1-1",
    "position": 1,
    "score": -1,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:09.414Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "793547626",
      "body": "Body of note 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/05840168d3aa182e012903b080ab63f8fc907ee5f8a45deefda24f17d5412dea.download",
          "created_at": "2017-05-31T20:12:50.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      },
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "url": "http://account1.example.org/features/PRJ1-1",
    "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z",
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "url": "http://account1.example.org/requirements/PRJ1-1-1",
        "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
        "description": {
          "id": "910541534",
          "body": "Body of requirement 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "attachments": [

        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "integration_fields": [

        ],
        "comments_count": 0
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [
      {
        "id": "602095703",
        "name": "Goal 1",
        "url": "http://account1.example.org/strategic_imperatives/602095703",
        "resource": "http://account1.example.org/api/v1/goals/602095703",
        "created_at": "2017-05-31T20:12:51.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [
      {
        "id": "6426394592738845188",
        "value": -5,
        "name": "Effort"
      },
      {
        "id": "6426394592397431850",
        "value": 4,
        "name": "Benefit"
      }
    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "expected_completion_date",
        "name": "Expected completion date",
        "value": null,
        "type": "date"
      }
    ],
    "feature_links": [
      {
        "link_type": "Depends on",
        "link_type_id": 20,
        "created_at": "2017-05-31T20:12:51.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        },
        "child_record": {
          "id": "622562724",
          "reference_num": "PRJ1-2",
          "name": "Another Feature",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-2",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
        }
      }
    ]
  }
}

DELETE /api/v1/features/:id

Delete a feature

Parameters

Name Description
id * Numeric ID, or key of the feature to be deleted

DELETE /api/v1/features/PRJ1-1

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Goals API


POST /api/v1/products/:product_id/goals

Create a goal

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the goal in
project_id * Numeric ID, or key of the project the goals should be created in
name * Name of the goal
description Description of the goal and it can include HTML formatting.
effort Value between 1 and 100 describing the goal's position on the effort axis in the goal chart
value Value between 1 and 100 describing the goal's position on the value axis in the goal chart
parent_id ID of a goal to roll up to in the product line, Roll up a goal to a product line goal by 1) creating a goal for the product line 2) choosing that goal in this control. You can then visualize how releases relate to your strategic goals throughout Aha!
success_metric_name * Name of the Metric that will be used to measure this goal's success
success_metric_description * Description of the success metric
success_metric_status * Status of the success metric for the goal

POST /api/v1/products/PRJ1/goals

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/goals" -d '{"goal":{"name":"Goal 3","success_metric":{"name":"FooBar","description":"Foo Bar","workflow_status":"Not Started"},"time_frame":{"name":"2015"},"description":"Our first big goal","effort":15,"value":5}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "goal": {
    "name": "Goal 3",
    "success_metric": {
      "name": "FooBar",
      "description": "Foo Bar",
      "workflow_status": "Not Started"
    },
    "time_frame": {
      "name": "2015"
    },
    "description": "Our first big goal",
    "effort": 15,
    "value": 5
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "goal": {
    "id": "6426394684603266989",
    "name": "Goal 3",
    "effort": 15,
    "value": 5,
    "position": 3,
    "created_at": "2017-05-31T20:13:30.788Z",
    "updated_at": "2017-05-31T20:13:30.898Z",
    "url": "http://account1.example.org/strategic_imperatives/6426394684603266989",
    "resource": "http://account1.example.org/strategic_imperatives/6426394684603266989",
    "description": {
      "id": "6426394684627360099",
      "body": "Our first big goal",
      "created_at": "2017-05-31T20:13:30.793Z",
      "attachments": [

      ]
    },
    "success_metric": {
      "name": "FooBar",
      "description": {
        "id": "6426394684872702266",
        "body": "Foo Bar",
        "created_at": "2017-05-31T20:13:30.851Z",
        "attachments": [

        ]
      },
      "workflow_status": {
        "id": "412273758",
        "name": "Not Started",
        "complete": false
      }
    },
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "initiatives": [

    ],
    "comments_count": 0,
    "features": [

    ],
    "releases": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/goals

Create a goal should set a strategic imperative metric

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the goal in
project_id * Numeric ID, or key of the project the goals should be created in
name * Name of the goal
description Description of the goal and it can include HTML formatting.
effort Value between 1 and 100 describing the goal's position on the effort axis in the goal chart
value Value between 1 and 100 describing the goal's position on the value axis in the goal chart
parent_id ID of a goal to roll up to in the product line, Roll up a goal to a product line goal by 1) creating a goal for the product line 2) choosing that goal in this control. You can then visualize how releases relate to your strategic goals throughout Aha!
success_metric_name * Name of the Metric that will be used to measure this goal's success
success_metric_description * Description of the success metric
success_metric_status * Status of the success metric for the goal

POST /api/v1/products/PRJ1/goals

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/goals" -d '{"goal":{"name":"Goal 3418271","success_metric":{"name":"FooBar","description":"Foo Bar","workflow_status":"Not Started"},"time_frame":{"name":"2015"},"description":"Our first big goal","effort":15,"value":5}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "goal": {
    "name": "Goal 3418271",
    "success_metric": {
      "name": "FooBar",
      "description": "Foo Bar",
      "workflow_status": "Not Started"
    },
    "time_frame": {
      "name": "2015"
    },
    "description": "Our first big goal",
    "effort": 15,
    "value": 5
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "goal": {
    "id": "6426394685646829300",
    "name": "Goal 3418271",
    "effort": 15,
    "value": 5,
    "position": 3,
    "created_at": "2017-05-31T20:13:31.029Z",
    "updated_at": "2017-05-31T20:13:31.132Z",
    "url": "http://account1.example.org/strategic_imperatives/6426394685646829300",
    "resource": "http://account1.example.org/strategic_imperatives/6426394685646829300",
    "description": {
      "id": "6426394685653513425",
      "body": "Our first big goal",
      "created_at": "2017-05-31T20:13:31.032Z",
      "attachments": [

      ]
    },
    "success_metric": {
      "name": "FooBar",
      "description": {
        "id": "6426394685875121970",
        "body": "Foo Bar",
        "created_at": "2017-05-31T20:13:31.087Z",
        "attachments": [

        ]
      },
      "workflow_status": {
        "id": "412273758",
        "name": "Not Started",
        "complete": false
      }
    },
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "initiatives": [

    ],
    "comments_count": 0,
    "features": [

    ],
    "releases": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/goals

Create a goal without all params should 400

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the goal in
project_id * Numeric ID, or key of the project the goals should be created in
name * Name of the goal
description Description of the goal and it can include HTML formatting.
effort Value between 1 and 100 describing the goal's position on the effort axis in the goal chart
value Value between 1 and 100 describing the goal's position on the value axis in the goal chart
parent_id ID of a goal to roll up to in the product line, Roll up a goal to a product line goal by 1) creating a goal for the product line 2) choosing that goal in this control. You can then visualize how releases relate to your strategic goals throughout Aha!
success_metric_name * Name of the Metric that will be used to measure this goal's success
success_metric_description * Description of the success metric
success_metric_status * Status of the success metric for the goal

POST /api/v1/products/PRJ1/goals

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/goals" -d '{"goal":{"name":"Goal 3418271","time_frame":{"name":"2015"},"description":"Our first big goal","effort":15,"value":5}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "goal": {
    "name": "Goal 3418271",
    "time_frame": {
      "name": "2015"
    },
    "description": "Our first big goal",
    "effort": 15,
    "value": 5
  }
}

Response

Status: 400 Bad Request
  Content-Type: application/json; charset=utf-8
{
  "error": "Required parameter missing: success_metric"
}

GET /api/v1/products/:product_id/goals

Get all goals for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to get goals for

GET /api/v1/products/PRJ1/goals

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/goals" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "goals": [
    {
      "id": "602095703",
      "name": "Goal 1",
      "effort": 10,
      "value": 70,
      "position": 1,
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "url": "http://account1.example.org/strategic_imperatives/602095703",
      "resource": "http://account1.example.org/strategic_imperatives/602095703",
      "description": {
        "id": "166463080",
        "body": "Description of goal 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "success_metric": {
        "name": "Metric 1",
        "description": {
          "id": "546284368",
          "body": "Description of goal 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "workflow_status": {
          "id": "1009437757",
          "name": "In progress",
          "complete": false
        }
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "initiatives": [

      ],
      "comments_count": 1,
      "features": [
        {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        }
      ],
      "releases": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "988418543",
      "name": "Goal 2",
      "effort": 40,
      "value": 30,
      "position": 2,
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "url": "http://account1.example.org/strategic_imperatives/988418543",
      "resource": "http://account1.example.org/strategic_imperatives/988418543",
      "description": {
        "id": "1055602421",
        "body": "Description of goal 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "success_metric": {
        "name": "Metric 2",
        "description": {
          "id": "394826695",
          "body": "Description of goal 2",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "workflow_status": {
          "id": "1009437757",
          "name": "In progress",
          "complete": false
        }
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "initiatives": [

      ],
      "comments_count": 0,
      "features": [

      ],
      "releases": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "712130641",
      "name": "Goal 3",
      "effort": 40,
      "value": 30,
      "position": 2,
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "url": "http://account1.example.org/strategic_imperatives/712130641",
      "resource": "http://account1.example.org/strategic_imperatives/712130641",
      "description": {
        "id": "568840458",
        "body": "Description of project1_strategic_imperative3_no_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "success_metric": {
        "name": "Metric 3",
        "description": {
          "id": "668008103",
          "body": "Description of project1_strategic_imperative3_no_epoch_strategic_imperative_metric",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "workflow_status": {
          "id": "1009437757",
          "name": "In progress",
          "complete": false
        }
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "initiatives": [

      ],
      "comments_count": 0,
      "features": [

      ],
      "releases": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "926116263",
      "name": "Goal 4",
      "effort": 40,
      "value": 30,
      "position": 2,
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "url": "http://account1.example.org/strategic_imperatives/926116263",
      "resource": "http://account1.example.org/strategic_imperatives/926116263",
      "description": {
        "id": "308494954",
        "body": "Description of project1_strategic_imperative4_active_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "success_metric": {
        "name": "Metric 4",
        "description": {
          "id": "330355042",
          "body": "Description of project1_strategic_imperative4_active_epoch_strategic_imperative_metric",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "workflow_status": {
          "id": "1009437757",
          "name": "In progress",
          "complete": false
        }
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "time_frame": {
        "id": 273422810,
        "name": "2017"
      },
      "initiatives": [

      ],
      "comments_count": 0,
      "features": [

      ],
      "releases": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "111739083",
      "name": "Goal 5",
      "effort": 40,
      "value": 30,
      "position": 2,
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "url": "http://account1.example.org/strategic_imperatives/111739083",
      "resource": "http://account1.example.org/strategic_imperatives/111739083",
      "description": {
        "id": "996214770",
        "body": "Description of project1_strategic_imperative5_archived_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "success_metric": {
        "name": "Metric 5",
        "description": {
          "id": "429990377",
          "body": "Description of project1_strategic_imperative5_archived_epoch_strategic_imperative_metric",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "workflow_status": {
          "id": "1009437757",
          "name": "In progress",
          "complete": false
        }
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "time_frame": {
        "id": 834757622,
        "name": "2018"
      },
      "initiatives": [

      ],
      "comments_count": 0,
      "features": [

      ],
      "releases": [

      ],
      "custom_fields": [

      ]
    }
  ],
  "pagination": {
    "total_records": 5,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/goals/:id

Get a specific goal

Parameters

Name Description
id * Numeric ID of the goal to be retrieved

GET /api/v1/goals/602095703

Example CURL command

curl "https://secure.aha.io/api/v1/goals/602095703" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "goal": {
    "id": "602095703",
    "name": "Goal 1",
    "effort": 10,
    "value": 70,
    "position": 1,
    "created_at": "2017-05-31T20:12:51.000Z",
    "updated_at": "2017-05-31T20:12:51.000Z",
    "url": "http://account1.example.org/strategic_imperatives/602095703",
    "resource": "http://account1.example.org/strategic_imperatives/602095703",
    "description": {
      "id": "166463080",
      "body": "Description of goal 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "success_metric": {
      "name": "Metric 1",
      "description": {
        "id": "546284368",
        "body": "Description of goal 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      }
    },
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "initiatives": [

    ],
    "comments_count": 1,
    "features": [
      {
        "id": "1007868956",
        "reference_num": "PRJ1-1",
        "name": "Feature 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    ],
    "releases": [

    ],
    "custom_fields": [

    ]
  }
}

PUT /api/v1/products/:product_id/goals/:id

Update a goal

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the goal in
id * Numeric ID, or key of the goal to be updated
project_id Numeric ID, or key of the project the goals should be created in
name Name of the goal
description Description of the goal and it can include HTML formatting.
effort Value between 1 and 100 describing the goal's position on the effort axis in the goal chart
value Value between 1 and 100 describing the goal's position on the value axis in the goal chart
parent_id ID of a goal to roll up to in the product line, Roll up a goal to a product line goal by 1) creating a goal for the product line 2) choosing that goal in this control. You can then visualize how releases relate to your strategic goals throughout Aha!
success_metric_name Name of the Metric that will be used to measure this goal's success
success_metric_description Description of the success metric
success_metric_status Status of the success metric for the goal

PUT /api/v1/products/PRJ1/goals/602095703

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/goals/602095703" -d '{"goal":{"description":"An even smarter goal."}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "goal": {
    "description": "An even smarter goal."
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "goal": {
    "id": "602095703",
    "name": "Goal 1",
    "effort": 10,
    "value": 70,
    "position": 1,
    "created_at": "2017-05-31T20:12:51.000Z",
    "updated_at": "2017-05-31T20:12:51.000Z",
    "url": "http://account1.example.org/strategic_imperatives/602095703",
    "resource": "http://account1.example.org/strategic_imperatives/602095703",
    "description": {
      "id": "166463080",
      "body": "An even smarter goal.",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "success_metric": {
      "name": "Metric 1",
      "description": {
        "id": "546284368",
        "body": "Description of goal 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      }
    },
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "initiatives": [

    ],
    "comments_count": 1,
    "features": [
      {
        "id": "1007868956",
        "reference_num": "PRJ1-1",
        "name": "Feature 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    ],
    "releases": [

    ],
    "custom_fields": [

    ]
  }
}

DELETE /api/v1/products/:product_id/goals/:id

Delete a goal

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the goal in
id * Numeric ID, or key of the goal to be deleted

DELETE /api/v1/products/PRJ1/goals/602095703

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/goals/602095703" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Idea Categories API


GET /api/v1/products/:product_id/idea_categories

Get all idea categories for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to get categories for

GET /api/v1/products/PRJ1/idea_categories

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/idea_categories" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_categories": [
    {
      "id": "552935478",
      "name": "Storage",
      "parent_id": null,
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    {
      "id": "972845454",
      "name": "Hard disk drive",
      "parent_id": 552935478,
      "created_at": "2017-05-31T20:12:50.000Z"
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

Idea Comments API


POST /api/v1/ideas/:idea_id/idea_comments

Create a public comment for an idea

Parameters

Name Description
idea_id * Numeric ID or key of the idea the comment should be created for

POST /api/v1/ideas/PRJ1-I-1/idea_comments

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/idea_comments" -d '{"idea_comment":{"body":"\u003cp\u003eThis is the comment body.\u003c/p\u003e","portal_user":{"email":"new_email@address.com"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_comment": {
    "body": "<p>This is the comment body.</p>",
    "portal_user": {
      "email": "new_email@address.com"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_comment": {
    "id": "6426394599338558235",
    "idea_id": "58056975",
    "body": "<p>This is the comment body.</p>",
    "created_at": "2017-05-31T20:13:10.936Z",
    "idea_commenter_portal_user": {
      "id": "6426394599229570946",
      "name": "new_email@address.com",
      "email": "new_email@address.com",
      "created_at": "2017-05-31T20:13:10.910Z"
    },
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    },
    "attachments": [

    ]
  }
}

GET /api/v1/ideas/:idea_id/idea_comments

Get public comments for an idea

Parameters

Name Description
idea_id * Numeric ID or key of the idea the expected comment

GET /api/v1/ideas/58056975/idea_comments

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/58056975/idea_comments" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_comments": [
    {
      "id": "622085811",
      "idea_id": "58056975",
      "body": "This is a great idea! We'll get started right away.",
      "created_at": "2017-05-31T20:12:50.000Z",
      "idea_commenter_user": {
        "id": "1020675218",
        "name": "Mary Humpty",
        "email": "mary.humpty@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "idea": {
        "id": "58056975",
        "reference_num": "PRJ1-I-1",
        "name": "Idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "workflow_status": {
          "id": "3259216",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "103757394",
          "body": "Description of idea 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
        "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
      },
      "attachments": [

      ]
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

Idea Endorsements API


POST /api/v1/ideas/:idea_id/endorsements

Create an idea endorsement

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to endorse

POST /api/v1/ideas/PRJ1-I-1/endorsements

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements" -d '{"idea_endorsement":{"email":"henry.humpty@account1.com"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_endorsement": {
    "email": "henry.humpty@account1.com"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_endorsement": {
    "id": "6426394601340517145",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:13:11.403Z",
    "value": null,
    "endorsed_by_portal_user": {
      "id": "6426394601078880203",
      "name": "henry.humpty@account1.com",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:13:11.340Z"
    },
    "integration_fields": [

    ],
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

GET /api/v1/ideas/:idea_id/endorsements

Get all endorsements for an idea

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to get endorsements for

GET /api/v1/ideas/PRJ1-I-1/endorsements

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_endorsements": [
    {
      "id": "53377392",
      "idea_id": "58056975",
      "created_at": "2017-05-31T20:12:50.000Z",
      "value": null,
      "endorsed_by_portal_user": {
        "id": "646391926",
        "name": "John Long",
        "email": "john@long.com",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas/:idea_id/endorsements/:id

Get a specific endorsement for an idea

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to get endorsement for
id * Id of an idea endorsement

GET /api/v1/ideas/PRJ1-I-1/endorsements/53377392

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements/53377392" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_endorsement": {
    "id": "53377392",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:12:50.000Z",
    "value": null,
    "endorsed_by_portal_user": {
      "id": "646391926",
      "name": "John Long",
      "email": "john@long.com",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    "integration_fields": [
      {
        "id": "975466318",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

POST /api/v1/ideas/:idea_id/endorsements

Create an idea endorsement

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to endorse

POST /api/v1/ideas/PRJ1-I-1/endorsements

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements" -d '{"idea_endorsement":{"email":"henry.humpty@account1.com"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_endorsement": {
    "email": "henry.humpty@account1.com"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_endorsement": {
    "id": "6426394603827099558",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:13:11.982Z",
    "value": null,
    "endorsed_by_portal_user": {
      "id": "6426394603730038362",
      "name": "henry.humpty@account1.com",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:13:11.958Z"
    },
    "integration_fields": [

    ],
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

POST /api/v1/ideas/:idea_id/endorsements

Multiple endorsements fail

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to endorse

POST /api/v1/ideas/PRJ1-I-1/endorsements

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements" -d '{"idea_endorsement":{"email":"henry.humpty@account1.com"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_endorsement": {
    "email": "henry.humpty@account1.com"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_endorsement": {
    "id": "6426394604526718553",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:13:12.142Z",
    "value": null,
    "endorsed_by_portal_user": {
      "id": "6426394604420789806",
      "name": "henry.humpty@account1.com",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:13:12.116Z"
    },
    "integration_fields": [

    ],
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

POST /api/v1/ideas/PRJ1-I-1/endorsements

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements" -d '{"idea_endorsement":{"email":"henry.humpty@account1.com"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_endorsement": {
    "email": "henry.humpty@account1.com"
  }
}

Response

Status: 409 Conflict
  Content-Type: application/json; charset=utf-8
{
  "error": "User has already voted for idea"
}

PUT /api/v1/ideas/:idea_id/endorsements/:id

Update an idea endorsement

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to endorse
id * Id of an idea endorsement
value Dollar value of the idea endorsement, numeric

PUT /api/v1/ideas/PRJ1-I-1/endorsements/53377392

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements/53377392" -d '{"idea_endorsement":{"value":123.45}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_endorsement": {
    "value": 123.45
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_endorsement": {
    "id": "53377392",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:12:50.000Z",
    "value": "123.45",
    "endorsed_by_portal_user": {
      "id": "646391926",
      "name": "John Long",
      "email": "john@long.com",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    "integration_fields": [
      {
        "id": "975466318",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

DELETE /api/v1/ideas/:idea_id/endorsements/:id

Delete an idea endorsement

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to remove endorsement from
id * ID of the endorsement to remove

DELETE /api/v1/ideas/PRJ1-I-1/endorsements/53377392

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/endorsements/53377392" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Idea Subscriptions API


POST /api/v1/ideas/:idea_id/subscriptions

Create an idea subscription

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to endorse

POST /api/v1/ideas/PRJ1-I-1/subscriptions

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/subscriptions" -d '{"idea_subscription":{"email":"henry.humpty@account1.com"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea_subscription": {
    "email": "henry.humpty@account1.com"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_subscription": {
    "id": "6426394607752527291",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:13:12.894Z",
    "portal_user": {
      "id": "6426394607625895964",
      "name": "henry.humpty@account1.com",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-05-31T20:13:12.867Z"
    },
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

GET /api/v1/ideas/:idea_id/subscriptions

Get all subscriptions for an idea

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to get subscriptions for

GET /api/v1/ideas/PRJ1-I-1/subscriptions

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/subscriptions" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_subscriptions": [
    {
      "id": "783147498",
      "idea_id": "58056975",
      "created_at": "2017-05-31T20:12:50.000Z",
      "portal_user": {
        "id": "646391926",
        "name": "John Long",
        "email": "john@long.com",
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas/:idea_id/subscriptions/:id

Get a specific subscription for an idea

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to get subscription for
id * Id of an idea subscription

GET /api/v1/ideas/PRJ1-I-1/subscriptions/783147498

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/subscriptions/783147498" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea_subscription": {
    "id": "783147498",
    "idea_id": "58056975",
    "created_at": "2017-05-31T20:12:50.000Z",
    "portal_user": {
      "id": "646391926",
      "name": "John Long",
      "email": "john@long.com",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    "idea": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  }
}

DELETE /api/v1/ideas/:idea_id/subscriptions/:id

Delete an idea subscription

Parameters

Name Description
idea_id * Numeric ID, or key of the idea to remove subscription from
id * ID of the subscription to remove

DELETE /api/v1/ideas/PRJ1-I-1/subscriptions/783147498

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1/subscriptions/783147498" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Ideas API


POST /api/v1/products/:product_id/ideas

Create an idea

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","description":"\u003cp\u003eThis is the description\u003c/p\u003e","initial_votes":3}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "description": "<p>This is the description</p>",
    "initial_votes": 3
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394611337030719",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:13:13.728Z",
    "updated_at": "2017-05-31T20:13:13.806Z",
    "product_id": "131414752",
    "votes": 3,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394611427549015",
      "body": "<p>This is the description</p>",
      "created_at": "2017-05-31T20:13:13.750Z",
      "attachments": [

      ]
    },
    "visibility": "Not visible in portal",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:13.842Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/ideas

Create an idea created by a Idea Portal user

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","created_by_portal_user":{"id":646391926,"name":"John Long"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "created_by_portal_user": {
      "id": 646391926,
      "name": "John Long"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394613826913229",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:13:14.308Z",
    "updated_at": "2017-05-31T20:13:14.375Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394613907342012",
      "body": "",
      "created_at": "2017-05-31T20:13:14.327Z",
      "attachments": [

      ]
    },
    "visibility": "Not visible in portal",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_portal_user": {
      "id": "646391926",
      "name": "John Long",
      "email": "john@long.com",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/ideas

Create an idea with comma-separated tags

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","tags":"tag1, tag2"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "tags": "tag1, tag2"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394615759779766",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:13:14.757Z",
    "updated_at": "2017-05-31T20:13:14.877Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394616195725203",
      "body": "",
      "created_at": "2017-05-31T20:13:14.857Z",
      "attachments": [

      ]
    },
    "visibility": "Not visible in portal",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:14.906Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [
      "tag1",
      "tag2"
    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/ideas

Create an idea with a score

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","score_facts":[{"name":"Impact","value":12},{"name":"Effort","value":3}]}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "score_facts": [
      {
        "name": "Impact",
        "value": 12
      },
      {
        "name": "Effort",
        "value": 3
      }
    ]
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394621098547151",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 9,
    "created_at": "2017-05-31T20:13:16.005Z",
    "updated_at": "2017-05-31T20:13:16.163Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394621305298079",
      "body": "",
      "created_at": "2017-05-31T20:13:16.051Z",
      "attachments": [

      ]
    },
    "visibility": "Not visible in portal",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:16.166Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [
      {
        "id": "6426394621723050409",
        "value": 3,
        "name": "Effort"
      },
      {
        "id": "6426394621164898100",
        "value": 12,
        "name": "Impact"
      }
    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/ideas

Create an idea with custom fields

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","custom_fields":{"priority":"P3"}}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "custom_fields": {
      "priority": "P3"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394622546111859",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:13:16.338Z",
    "updated_at": "2017-05-31T20:13:16.435Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394622604049069",
      "body": "",
      "created_at": "2017-05-31T20:13:16.351Z",
      "attachments": [

      ]
    },
    "visibility": "Not visible in portal",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:16.444Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [
      {
        "key": "priority",
        "name": "Priority",
        "value": "P3",
        "type": "string"
      }
    ]
  }
}

POST /api/v1/products/:product_id/ideas

Create an idea with a specific visiblity

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","visibility":"public"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "visibility": "public"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394623615575622",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:13:16.587Z",
    "updated_at": "2017-05-31T20:13:16.640Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394623676973629",
      "body": "",
      "created_at": "2017-05-31T20:13:16.600Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:16.670Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

POST /api/v1/products/:product_id/ideas

Create an idea with a creation date

Parameters

Name Description
product_id * Numeric ID, or key of the product the idea should be created in
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

POST /api/v1/products/PRJ1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas" -d '{"idea":{"name":"New idea","created_at":"2014-01-11T00:01:02Z"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "name": "New idea",
    "created_at": "2014-01-11T00:01:02Z"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "6426394625499202524",
    "name": "New idea",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2014-01-11T00:01:02.000Z",
    "updated_at": "2017-05-31T20:13:17.075Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394625568437421",
      "body": "",
      "created_at": "2017-05-31T20:13:17.041Z",
      "attachments": [

      ]
    },
    "visibility": "Not visible in portal",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:17.103Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

GET /api/v1/ideas

Get all ideas

Parameters

Name Description
q Sub-string to match against idea name or ID
spam When 'true', shows ideas that have been marked as spam. By default, no spam ideas will be shown.

GET /api/v1/ideas

Example CURL command

curl "https://secure.aha.io/api/v1/ideas" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "444379319",
      "reference_num": "PRJ1-I-2",
      "name": "Idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      },
      "description": {
        "id": "378547141",
        "body": "Description of idea 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2"
    },
    {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/ideas

Get all ideas for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve ideas for
sort Sorting of the list of ideas, can be either recent, trending, popular

GET /api/v1/products/PRJ1/ideas?sort=trending

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas?sort=trending" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "444379319",
      "reference_num": "PRJ1-I-2",
      "name": "Idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      },
      "description": {
        "id": "378547141",
        "body": "Description of idea 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2"
    },
    {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas

Get ideas created after a certain time

Parameters

Name Description
created_since Filter all ideas created after this DateTime. Should be specified as an ISO8601 string

GET /api/v1/ideas?created_since=2016-05-31T20%3A13%3A17Z

Example CURL command

curl "https://secure.aha.io/api/v1/ideas?created_since=2016-05-31T20%3A13%3A17Z" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "444379319",
      "reference_num": "PRJ1-I-2",
      "name": "Idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      },
      "description": {
        "id": "378547141",
        "body": "Description of idea 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas

Get ideas created before a certain time

Parameters

Name Description
created_before Filter all ideas created before this DateTime. Should be specified as an ISO8601 string

GET /api/v1/ideas?created_before=2016-05-31T20%3A13%3A17Z

Example CURL command

curl "https://secure.aha.io/api/v1/ideas?created_before=2016-05-31T20%3A13%3A17Z" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2015-05-31T20:13:17.535Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas

Search ideas by name or ID

Parameters

Name Description
q Sub-string to match against idea name or ID

GET /api/v1/ideas?q=dea

Example CURL command

curl "https://secure.aha.io/api/v1/ideas?q=dea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "444379319",
      "reference_num": "PRJ1-I-2",
      "name": "Idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      },
      "description": {
        "id": "378547141",
        "body": "Description of idea 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2"
    },
    {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/ideas

Search product for ideas by name or ID

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve ideas for
q Sub-string to match against idea name or ID

GET /api/v1/products/PRJ1/ideas?q=dea

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/ideas?q=dea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "444379319",
      "reference_num": "PRJ1-I-2",
      "name": "Idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "1009437757",
        "name": "In progress",
        "complete": false
      },
      "description": {
        "id": "378547141",
        "body": "Description of idea 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2"
    },
    {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas

Search ideas by tag

Parameters

Name Description
tag A string tag value.

GET /api/v1/ideas?tag=Infrastructure

Example CURL command

curl "https://secure.aha.io/api/v1/ideas?tag=Infrastructure" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [
    {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/ideas/:id

Get a specific idea

Parameters

Name Description
id * Numeric ID, or key of the idea to be retrieved

GET /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

GET /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:18.043Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "admin_response": {
      "id": "6426394629402266444",
      "body": "This is a great idea! We'll get started right away.",
      "created_at": "2017-05-31T20:13:17.937Z",
      "attachments": [

      ],
      "responded_by_user": {
        "id": "501775768",
        "name": "Frank Sane",
        "email": "frank.sane@account2.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:18.048Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

GET /api/v1/ideas/:id

Ensure visibility is present

Parameters

Name Description
id * Numeric ID, or key of the idea to be retrieved

GET /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

GET /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

GET /api/v1/ideas/:id

Get duplicates of a specific idea

Parameters

Name Description
id * Numeric ID, or key of the idea to be retrieved
duplicates * whether duplicates are returned in the response

GET /api/v1/ideas/PRJ1-I-1?duplicates=true

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1?duplicates=true" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

GET /api/v1/ideas/PRJ1-I-1?duplicates=true

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1?duplicates=true" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:18.498Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "duplicates": [
      {
        "id": "444379319",
        "reference_num": "PRJ1-I-2",
        "name": "Idea 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "workflow_status": {
          "id": "3259216",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "378547141",
          "body": "Description of idea 2",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [

          ]
        },
        "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
        "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2"
      }
    ],
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:18.504Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

GET /api/v1/ideas/:id

Get ideas that a specific idea duplicates

Parameters

Name Description
id * Numeric ID, or key of the idea to be retrieved
duplicates * whether duplicates are returned in the response

GET /api/v1/ideas/PRJ1-I-2?duplicates=true

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-2?duplicates=true" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "444379319",
    "name": "Idea 2",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "1009437757",
      "name": "In progress",
      "complete": false
    },
    "description": {
      "id": "378547141",
      "body": "Description of idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_portal_user": {
      "id": "646391926",
      "name": "John Long",
      "email": "john@long.com",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

GET /api/v1/ideas/PRJ1-I-2?duplicates=true

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-2?duplicates=true" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "444379319",
    "name": "Idea 2",
    "reference_num": "PRJ1-I-2",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:18.856Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "378547141",
      "body": "Description of idea 2",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "duplicate_of": {
      "id": "58056975",
      "reference_num": "PRJ1-I-1",
      "name": "Idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "workflow_status": {
        "id": "3259216",
        "name": "New",
        "complete": false
      },
      "description": {
        "id": "103757394",
        "body": "Description of idea 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
      "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
    },
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-2",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-2",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_portal_user": {
      "id": "646391926",
      "name": "John Long",
      "email": "john@long.com",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "categories": [

    ],
    "custom_fields": [

    ]
  }
}

GET /api/v1/ideas/related

Get all ideas related to a specific idea

Parameters

Name Description
q Query string to search against idea name, description or ID

GET /api/v1/ideas/related?q=ideas+are+a+dime+a+dozen

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/related?q=ideas+are+a+dime+a+dozen" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "ideas": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

PUT /api/v1/ideas/:id

Update an idea

Parameters

Name Description
id * Numeric ID, or key of the idea to be edited
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

PUT /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -d '{"name":"New idea name","description":"New description"}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "name": "New idea name",
  "description": "New description"
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "New idea name",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:19.269Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "New description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:19.304Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

PUT /api/v1/ideas/:id

Update an idea's custom fields

Parameters

Name Description
id * Numeric ID, or key of the idea to be edited
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

PUT /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -d '{"idea":{"custom_fields":{"priority":"P3"}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "custom_fields": {
      "priority": "P3"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:19.511Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:19.524Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      },
      {
        "key": "priority",
        "name": "Priority",
        "value": "P3",
        "type": "string"
      }
    ],
    "custom_object_links": [

    ]
  }
}

PUT /api/v1/ideas/:id

Update an idea's visibility

Parameters

Name Description
id * Numeric ID, or key of the idea to be edited
name * Name of the idea
description Description of the idea and it can include HTML formatting.
workflow_status Status of the idea and it must be one of the valid status values for the selected product.
tags Tags can be automatically assigned to the new idea. If more than one tag is used then tags should be separated by commas
categories Names of the existing categories the idea should be assigned to. If more than one category is used then categories should be separated by commas - note that in a CSV file quotes must be used around fields that contain commas.
created_by * Email address of user that created the idea. The email address does not need to be for a user of Aha!
assigned_to_user Email address of user that is assigned the idea.
feature_id Feature ID of the feature that the idea was promoted to
initiative_id Initiative ID of the initiative that the idea was promoted to
initial_votes Number of votes to seed the vote count with when importing from other systems
visibility Initial visibility of the idea ('aha', 'employee', or 'public' - 'aha' is the default)

PUT /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -d '{"idea":{"visibility":"public"}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "idea": {
    "visibility": "public"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "idea": {
    "id": "58056975",
    "name": "Idea 1",
    "reference_num": "PRJ1-I-1",
    "score": 0,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:19.663Z",
    "product_id": "131414752",
    "votes": 0,
    "workflow_status": {
      "id": "3259216",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "103757394",
      "body": "Description of idea 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "visibility": "Visible to anyone",
    "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
    "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1",
    "product": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:13:19.671Z"
    },
    "assigned_to_user": null,
    "comments_count": 0,
    "endorsements_count": 1,
    "score_facts": [

    ],
    "tags": [
      "Infrastructure"
    ],
    "categories": [
      {
        "id": "972845454",
        "name": "Hard disk drive",
        "parent_id": 552935478,
        "created_at": "2017-05-31T20:12:50.000Z"
      }
    ],
    "custom_fields": [
      {
        "key": "component",
        "name": "Component",
        "value": "web",
        "type": "array"
      }
    ],
    "custom_object_links": [

    ]
  }
}

DELETE /api/v1/ideas/:id

Delete an idea

Parameters

Name Description
id * Numeric ID, or key of the idea to be deleted

DELETE /api/v1/ideas/PRJ1-I-1

Example CURL command

curl "https://secure.aha.io/api/v1/ideas/PRJ1-I-1" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Initiatives API


POST /api/v1/products/:product_id/initiatives

Create an initiative

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the initiative in
name * Name of the initiative
workflow_status * Status of the initiative.
description Description of the initiative and it can include HTML formatting.
effort Effort required for the initiative
value Value the initiative brings to the business
parent_id ID of an initiative to roll up to in the product line, Roll up an initiative to a product line initiative by 1) creating an initiative for the product line 2) choosing that initiative in this control. You can then visualize how releases relate to your strategic initiatives throughout Aha!
presented Whether this initiative is shown on charts
start_date Start date for the initiative in format YYYY-MM-DD
end_date Start date for the initiative in format YYYY-MM-DD

POST /api/v1/products/PRJ1/initiatives

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/initiatives" -d '{"initiative":{"name":"Initiative 3","workflow_status":{"name":"Not Started"},"description":"Our first big initiative","time_frame":{"name":"2015"},"effort":15,"value":5,"presented":true}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "initiative": {
    "name": "Initiative 3",
    "workflow_status": {
      "name": "Not Started"
    },
    "description": "Our first big initiative",
    "time_frame": {
      "name": "2015"
    },
    "effort": 15,
    "value": 5,
    "presented": true
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "initiative": {
    "id": "6426394639565130984",
    "name": "Initiative 3",
    "status": "not_started",
    "effort": 15,
    "value": 5,
    "presented": true,
    "start_date": null,
    "end_date": null,
    "position": 3,
    "created_at": "2017-05-31T20:13:20.300Z",
    "updated_at": "2017-05-31T20:13:20.300Z",
    "url": "http://account1.example.org/initiatives/6426394639565130984",
    "resource": "http://account1.example.org/api/v1/initiatives/6426394639565130984",
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "workflow_status": {
      "id": "53968949",
      "name": "Not Started",
      "complete": false
    },
    "description": {
      "id": "6426394639590750994",
      "body": "Our first big initiative",
      "created_at": "2017-05-31T20:13:20.306Z",
      "attachments": [

      ]
    },
    "comments_count": 0,
    "goals": [

    ],
    "features": [

    ],
    "releases": [

    ],
    "integration_fields": [

    ],
    "custom_fields": [

    ]
  }
}

GET /api/v1/products/:product_id/initiatives

Get all initiatives

Parameters

Name Description
product_id * Numeric ID, or key of the product to get initiatives for

GET /api/v1/products/PRJ1/initiatives

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/initiatives" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "initiatives": [
    {
      "id": "423077122",
      "name": "Initiative 1",
      "status": "not_started",
      "effort": 10,
      "value": 70,
      "presented": true,
      "start_date": "2017-04-30",
      "end_date": "2017-06-14",
      "position": 1,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "comments_count": 1,
      "goals": [

      ],
      "features": [
        {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        }
      ],
      "releases": [
        {
          "id": "161456549",
          "reference_num": "PRJ1-R-2",
          "name": "Release 2",
          "start_date": "2017-04-30",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [

          ],
          "url": "http://account1.example.org/releases/PRJ1-R-2",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-2",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        }
      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "4125886",
      "name": "Initiative 2",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/4125886",
      "resource": "http://account1.example.org/api/v1/initiatives/4125886",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "824706757",
        "body": "Description of initiative 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "219956332",
      "name": "Initiative 3",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/219956332",
      "resource": "http://account1.example.org/api/v1/initiatives/219956332",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "338250583",
        "body": "Description of project1_initiative3_no_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "330016191",
      "name": "Initiative 4",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/330016191",
      "resource": "http://account1.example.org/api/v1/initiatives/330016191",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "999437064",
        "body": "Description of project1_initiative4_active_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "time_frame": {
        "id": 273422810,
        "name": "2017"
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "259736534",
      "name": "Initiative 5",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/259736534",
      "resource": "http://account1.example.org/api/v1/initiatives/259736534",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "1040636124",
        "body": "Description of project1_initiative5_archived_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "time_frame": {
        "id": 834757622,
        "name": "2018"
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    }
  ],
  "pagination": {
    "total_records": 5,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/initiatives

Get all initiatives for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to get initiatives for

GET /api/v1/products/PRJ1/initiatives

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/initiatives" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "initiatives": [
    {
      "id": "423077122",
      "name": "Initiative 1",
      "status": "not_started",
      "effort": 10,
      "value": 70,
      "presented": true,
      "start_date": "2017-04-30",
      "end_date": "2017-06-14",
      "position": 1,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "comments_count": 1,
      "goals": [

      ],
      "features": [
        {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "url": "http://account1.example.org/features/PRJ1-1",
          "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
        }
      ],
      "releases": [
        {
          "id": "161456549",
          "reference_num": "PRJ1-R-2",
          "name": "Release 2",
          "start_date": "2017-04-30",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [

          ],
          "url": "http://account1.example.org/releases/PRJ1-R-2",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-2",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        }
      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "4125886",
      "name": "Initiative 2",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/4125886",
      "resource": "http://account1.example.org/api/v1/initiatives/4125886",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "824706757",
        "body": "Description of initiative 2",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "219956332",
      "name": "Initiative 3",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/219956332",
      "resource": "http://account1.example.org/api/v1/initiatives/219956332",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "338250583",
        "body": "Description of project1_initiative3_no_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "330016191",
      "name": "Initiative 4",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/330016191",
      "resource": "http://account1.example.org/api/v1/initiatives/330016191",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "999437064",
        "body": "Description of project1_initiative4_active_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "time_frame": {
        "id": 273422810,
        "name": "2017"
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    },
    {
      "id": "259736534",
      "name": "Initiative 5",
      "status": "not_started",
      "effort": 40,
      "value": 30,
      "presented": true,
      "start_date": null,
      "end_date": null,
      "position": 2,
      "created_at": "2017-05-31T20:12:50.000Z",
      "updated_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/initiatives/259736534",
      "resource": "http://account1.example.org/api/v1/initiatives/259736534",
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      },
      "workflow_status": {
        "id": "53968949",
        "name": "Not Started",
        "complete": false
      },
      "description": {
        "id": "1040636124",
        "body": "Description of project1_initiative5_archived_epoch",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "time_frame": {
        "id": 834757622,
        "name": "2018"
      },
      "comments_count": 0,
      "goals": [

      ],
      "features": [

      ],
      "releases": [

      ],
      "integration_fields": [

      ],
      "custom_fields": [

      ]
    }
  ],
  "pagination": {
    "total_records": 5,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/initiatives/:id

Get a specific initiative

Parameters

Name Description
id * Numeric ID of the initiative to be retrieved

GET /api/v1/initiatives/423077122

Example CURL command

curl "https://secure.aha.io/api/v1/initiatives/423077122" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "initiative": {
    "id": "423077122",
    "name": "Initiative 1",
    "status": "not_started",
    "effort": 10,
    "value": 70,
    "presented": true,
    "start_date": "2017-04-30",
    "end_date": "2017-06-14",
    "position": 1,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "url": "http://account1.example.org/initiatives/423077122",
    "resource": "http://account1.example.org/api/v1/initiatives/423077122",
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "workflow_status": {
      "id": "53968949",
      "name": "Not Started",
      "complete": false
    },
    "description": {
      "id": "673273729",
      "body": "Description of initiative 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "comments_count": 1,
    "goals": [

    ],
    "features": [
      {
        "id": "1007868956",
        "reference_num": "PRJ1-1",
        "name": "Feature 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    ],
    "releases": [
      {
        "id": "161456549",
        "reference_num": "PRJ1-R-2",
        "name": "Release 2",
        "start_date": "2017-04-30",
        "release_date": "2017-06-07",
        "parking_lot": false,
        "created_at": "2017-05-31T20:12:51.000Z",
        "integration_fields": [

        ],
        "url": "http://account1.example.org/releases/PRJ1-R-2",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-2",
        "owner": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "project": {
          "id": "131414752",
          "reference_prefix": "PRJ1",
          "name": "Project 1",
          "product_line": false,
          "created_at": "2017-05-31T20:12:51.000Z"
        }
      },
      {
        "id": "278327321",
        "reference_num": "PRJ1-R-1",
        "name": "Release 1",
        "start_date": "2017-06-07",
        "release_date": "2017-06-07",
        "parking_lot": false,
        "created_at": "2017-05-31T20:12:51.000Z",
        "integration_fields": [
          {
            "id": "68217473",
            "name": "id",
            "value": "777",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/releases/PRJ1-R-1",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
        "owner": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "project": {
          "id": "131414752",
          "reference_prefix": "PRJ1",
          "name": "Project 1",
          "product_line": false,
          "created_at": "2017-05-31T20:12:51.000Z"
        }
      }
    ],
    "integration_fields": [

    ],
    "custom_fields": [

    ]
  }
}

PUT /api/v1/products/:product_id/initiatives/:id

Update a initiative

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the initiative in
id * Numeric ID, or key of the initiative to be updated
name Name of the initiative
workflow_status Status of the initiative.
description Description of the initiative and it can include HTML formatting.
effort Effort required for the initiative
value Value the initiative brings to the business
parent_id ID of an initiative to roll up to in the product line, Roll up an initiative to a product line initiative by 1) creating an initiative for the product line 2) choosing that initiative in this control. You can then visualize how releases relate to your strategic initiatives throughout Aha!
presented Whether this initiative is shown on charts
start_date Start date for the initiative in format YYYY-MM-DD
end_date Start date for the initiative in format YYYY-MM-DD

PUT /api/v1/products/PRJ1/initiatives/423077122

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/initiatives/423077122" -d '{"initiative":{"name":"Smarter initiative"}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "initiative": {
    "name": "Smarter initiative"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "initiative": {
    "id": "423077122",
    "name": "Smarter initiative",
    "status": "not_started",
    "effort": 10,
    "value": 70,
    "presented": true,
    "start_date": "2017-04-30",
    "end_date": "2017-06-14",
    "position": 1,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:21.614Z",
    "url": "http://account1.example.org/initiatives/423077122",
    "resource": "http://account1.example.org/api/v1/initiatives/423077122",
    "project": {
      "id": "131414752",
      "reference_prefix": "PRJ1",
      "name": "Project 1",
      "product_line": false,
      "created_at": "2017-05-31T20:12:51.000Z"
    },
    "workflow_status": {
      "id": "53968949",
      "name": "Not Started",
      "complete": false
    },
    "description": {
      "id": "673273729",
      "body": "Description of initiative 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "comments_count": 1,
    "goals": [

    ],
    "features": [
      {
        "id": "1007868956",
        "reference_num": "PRJ1-1",
        "name": "Feature 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
      }
    ],
    "releases": [
      {
        "id": "278327321",
        "reference_num": "PRJ1-R-1",
        "name": "Release 1",
        "start_date": "2017-06-07",
        "release_date": "2017-06-07",
        "parking_lot": false,
        "created_at": "2017-05-31T20:12:51.000Z",
        "integration_fields": [
          {
            "id": "68217473",
            "name": "id",
            "value": "777",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/releases/PRJ1-R-1",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
        "owner": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "project": {
          "id": "131414752",
          "reference_prefix": "PRJ1",
          "name": "Project 1",
          "product_line": false,
          "created_at": "2017-05-31T20:12:51.000Z"
        }
      },
      {
        "id": "161456549",
        "reference_num": "PRJ1-R-2",
        "name": "Release 2",
        "start_date": "2017-04-30",
        "release_date": "2017-06-07",
        "parking_lot": false,
        "created_at": "2017-05-31T20:12:51.000Z",
        "integration_fields": [

        ],
        "url": "http://account1.example.org/releases/PRJ1-R-2",
        "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-2",
        "owner": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "project": {
          "id": "131414752",
          "reference_prefix": "PRJ1",
          "name": "Project 1",
          "product_line": false,
          "created_at": "2017-05-31T20:12:51.000Z"
        }
      }
    ],
    "integration_fields": [

    ],
    "custom_fields": [

    ]
  }
}

DELETE /api/v1/products/:product_id/initiatives/:id

Delete initiative

Parameters

Name Description
product_id * Numeric ID, or key of the product to create the initiative in
id * Numeric ID, or key of the initiative to be deleted

DELETE /api/v1/products/PRJ1/initiatives/423077122

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/initiatives/423077122" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Integration Fields API


POST /api/v1/features/:feature_id/integrations/:integration_id/fields

Create an integration field for a feature by integration id

Parameters

Name Description
feature_id * Numeric ID or key of the feature the integration field should be created for
integration_id * ID of integration the field is for

POST /api/v1/features/PRJ1-1/integrations/204584239/fields

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1/integrations/204584239/fields" -d '{"integration_field":{"name":"key","value":"JRA-34"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration_field": {
    "name": "key",
    "value": "JRA-34"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration_field": {
    "id": "728894778",
    "name": "key",
    "value": "JRA-34",
    "integration_id": 204584239,
    "service_name": "jira",
    "created_at": "2017-05-31T20:12:50.000Z",
    "integratable": {
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  }
}

POST /api/v1/features/:feature_id/integrations/:integration_id/fields

Create multiple integration fields for a feature by integration id

Parameters

Name Description
feature_id * Numeric ID or key of the feature the integration field should be created for
integration_id * ID of integration the field is for

POST /api/v1/features/PRJ1-1/integrations/204584239/fields

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1/integrations/204584239/fields" -d '{"integration_fields":[{"name":"key","value":"JRA-34"},{"name":"id","value":"34"}]}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration_fields": [
    {
      "name": "key",
      "value": "JRA-34"
    },
    {
      "name": "id",
      "value": "34"
    }
  ]
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
[
  728894778,
  846945422
]

POST /api/v1/features/:feature_id/integrations/:service_name/fields

Create an integration field for a feature by service name

DEPRECATED: pass :integration_id rather than :service_name to identify the integration.

Parameters

Name Description
feature_id * Numeric ID or key of the feature the integration field should be created for
service_name * Name of the integration service the field is for

POST /api/v1/features/PRJ1-1/integrations/jira/fields

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1/integrations/jira/fields" -d '{"integration_field":{"name":"key","value":"JRA-34"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration_field": {
    "name": "key",
    "value": "JRA-34"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration_field": {
    "id": "728894778",
    "name": "key",
    "value": "JRA-34",
    "integration_id": 204584239,
    "service_name": "jira",
    "created_at": "2017-05-31T20:12:50.000Z",
    "integratable": {
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  }
}

POST /api/v1/features/:feature_id/integrations/:service_name/fields

Create multiple integration fields for a feature by service name

DEPRECATED: pass :integration_id rather than :service_name to identify the integration.

Parameters

Name Description
feature_id * Numeric ID or key of the feature the integration field should be created for
service_name * Name of the integration service the field is for

POST /api/v1/features/PRJ1-1/integrations/jira/fields

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1/integrations/jira/fields" -d '{"integration_fields":[{"name":"key","value":"JRA-34"},{"name":"id","value":"34"}]}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration_fields": [
    {
      "name": "key",
      "value": "JRA-34"
    },
    {
      "name": "id",
      "value": "34"
    }
  ]
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
[
  728894778,
  846945422
]

POST /api/v1/idea_endorsements/:idea_endorsement_id/integrations/:integration_id/fields

Create an integration field for an idea endorsement

Parameters

Name Description
idea_endorsement_id * Numeric ID of the idea endorsement the integration field should be created for
integration_id * ID of integration the field is for

POST /api/v1/idea_endorsements/53377392/integrations/204584239/fields

Example CURL command

curl "https://secure.aha.io/api/v1/idea_endorsements/53377392/integrations/204584239/fields" -d '{"integration_field":{"name":"key","value":"JRA-34"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration_field": {
    "name": "key",
    "value": "JRA-34"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration_field": {
    "id": "975466318",
    "name": "key",
    "value": "JRA-34",
    "integration_id": 204584239,
    "service_name": "jira",
    "created_at": "2017-05-31T20:12:50.000Z",
    "integratable": {
      "url": "http://account1.example.org/ideas/idea_endorsements/53377392",
      "resource": "http://account1.example.org/api/v1/ideas/idea_endorsements/53377392"
    }
  }
}

GET /api/v1/features/:feature_id/integrations/:integration_id/fields/:field_name

Get an integration field value

Parameters

Name Description
feature_id * Numeric ID or key of the feature the integration field belongs to
integration_id * ID of integration the field is for
field_name * Name of the field to retrieve

GET /api/v1/features/PRJ1-1/integrations/204584239/fields/key

Example CURL command

curl "https://secure.aha.io/api/v1/features/PRJ1-1/integrations/204584239/fields/key" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration_field": {
    "id": "728894778",
    "name": "key",
    "value": "JRA-123",
    "integration_id": 204584239,
    "service_name": "jira",
    "created_at": "2017-05-31T20:12:50.000Z",
    "integratable": {
      "url": "http://account1.example.org/features/PRJ1-1",
      "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
    }
  }
}

GET /api/v1/integrations/:integration_id/fields/:field_name/value/:field_value

Find objects (releases, initiatives, features, requirements or idea endorsements) based on an integration field value

Parameters

Name Description
integration_id * ID of integration the field belongs to
field_name * Integration fields to search for the value
field_value * Value that matching objects must have in the integration field

GET /api/v1/integrations/204584239/fields/key/value/JRA-123

Example CURL command

curl "https://secure.aha.io/api/v1/integrations/204584239/fields/key/value/JRA-123" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "records": [
    {
      "feature": {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/53cc330a444669f5a580309d88ca9b20c9552527f14587a5fa8ea5cae1b4b92d.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    },
    {
      "idea_endorsement": {
        "id": "53377392",
        "idea_id": "58056975",
        "created_at": "2017-05-31T20:12:50.000Z",
        "value": null,
        "endorsed_by_portal_user": {
          "id": "646391926",
          "name": "John Long",
          "email": "john@long.com",
          "created_at": "2017-05-31T20:12:50.000Z"
        },
        "integration_fields": [
          {
            "id": "975466318",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "idea": {
          "id": "58056975",
          "reference_num": "PRJ1-I-1",
          "name": "Idea 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "workflow_status": {
            "id": "3259216",
            "name": "New",
            "complete": false
          },
          "description": {
            "id": "103757394",
            "body": "Description of idea 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "url": "http://account1.example.org/ideas/ideas/PRJ1-I-1",
          "resource": "http://account1.example.org/api/v1/ideas/PRJ1-I-1"
        }
      }
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

DELETE /api/v1/integration_fields/:id

Delete an integration field

Parameters

Name Description
id * Numeric ID of the integration field to be deleted

DELETE /api/v1/integration_fields/728894778

Example CURL command

curl "https://secure.aha.io/api/v1/integration_fields/728894778" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

Integrations API


POST /api/v1/integrations

Create an integration for the account

POST /api/v1/integrations

Example CURL command

curl "https://secure.aha.io/api/v1/integrations" -d '{"integration":{"service_name":"zendesk","enabled":true}}' -X POST \
	-H "Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration": {
    "service_name": "zendesk",
    "enabled": true
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration": {
    "id": "6426394652941210011",
    "service_name": "zendesk",
    "name": "Zendesk",
    "enabled": true,
    "callback_token": "45a5cc5abe5412a6dee3237a02cf354cd033878336c552b948790e1e131d07c0",
    "created_at": "2017-05-31T20:13:23.417Z",
    "updated_at": "2017-05-31T20:13:23.417Z",
    "url": "http://account1.example.org/integrations/6426394652941210011",
    "resource": "http://account1.example.org/api/v1/integrations/6426394652941210011",
    "owner": {
      "type": "Account",
      "id": "303742481",
      "url": "http://account1.example.org/account/303742481",
      "resource": "http://account1.example.org/account/303742481"
    }
  }
}

GET /api/v1/integrations

Get all integrations at the account level

GET /api/v1/integrations

Example CURL command

curl "https://secure.aha.io/api/v1/integrations" -X GET \
	-H "Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 584b6d6b83405011f8c6903d2379f4afdf824cef867db391b7bcb5995f603a76
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integrations": [
    {
      "id": "390243673",
      "name": "Zendesk",
      "service_name": "zendesk",
      "created_at": "2017-05-31T20:12:50.000Z"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

POST /api/v1/products/:product_id/integrations

Create an integration for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to create an integration for

POST /api/v1/products/PRJ1/integrations

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/integrations" -d '{"integration":{"service_name":"zendesk","enabled":true}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "integration": {
    "service_name": "zendesk",
    "enabled": true
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration": {
    "id": "6426394653658491650",
    "service_name": "zendesk",
    "name": "Zendesk",
    "enabled": true,
    "callback_token": "422086e6e36bcda6632b0f871e540c7a1cba60e37b8fbf1871ab4725fb51cfcf",
    "created_at": "2017-05-31T20:13:23.581Z",
    "updated_at": "2017-05-31T20:13:23.581Z",
    "url": "http://account1.example.org/integrations/6426394653658491650",
    "resource": "http://account1.example.org/api/v1/integrations/6426394653658491650",
    "owner": {
      "type": "Project",
      "id": "131414752",
      "url": "http://account1.example.org/projects/PRJ1",
      "resource": "http://account1.example.org/projects/PRJ1"
    }
  }
}

GET /api/v1/products/:product_id/integrations

Get all integrations at the product level

Parameters

Name Description
product_id * Numeric ID, or key of the product to get integrations for

GET /api/v1/products/PRJ1/integrations

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/integrations" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integrations": [
    {
      "id": "204584239",
      "name": "JIRA",
      "service_name": "jira",
      "created_at": "2017-05-31T20:12:50.000Z"
    },
    {
      "id": "322044925",
      "name": "JIRA",
      "service_name": "jira",
      "created_at": "2017-05-31T20:12:50.000Z"
    }
  ],
  "pagination": {
    "total_records": 2,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/integrations/:integration_id

Get a specific integration by id

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve an integration for
service_name * Numeric ID of the integration to retrieve

GET /api/v1/products/PRJ1/integrations/204584239

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/integrations/204584239" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration": {
    "id": "204584239",
    "service_name": "jira",
    "name": "JIRA",
    "enabled": true,
    "callback_token": "123",
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "url": "http://account1.example.org/integrations/204584239",
    "resource": "http://account1.example.org/api/v1/integrations/204584239",
    "owner": {
      "type": "Project",
      "id": "131414752",
      "url": "http://account1.example.org/projects/PRJ1",
      "resource": "http://account1.example.org/projects/PRJ1"
    }
  }
}

GET /api/v1/products/:product_id/integrations/:service_name

Get a specific integration by service name

DEPRECATED: pass :integration_id rather than :service_name to identify the integration.

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve an integration for
service_name * Service name of the integration to retrieve

GET /api/v1/products/PRJ1/integrations/jira

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/integrations/jira" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "integration": {
    "id": "204584239",
    "service_name": "jira",
    "name": "JIRA",
    "enabled": true,
    "callback_token": "123",
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "url": "http://account1.example.org/integrations/204584239",
    "resource": "http://account1.example.org/api/v1/integrations/204584239",
    "owner": {
      "type": "Project",
      "id": "131414752",
      "url": "http://account1.example.org/projects/PRJ1",
      "resource": "http://account1.example.org/projects/PRJ1"
    }
  }
}

Master features API


Master features belong to Releases. This means that if you want to create one you must scope them to a release.

You can list them all at once, or filter by release or product. All these means of listing master features can be further filtered by specific critera like name, modification date, tag, or assignee.

Once you have the id of a specific master feature, you can inspect, modify, or delete them on the root master features resource.

GET /api/v1/master_features

Get all master features

GET /api/v1/master_features

Example CURL command

curl "https://secure.aha.io/api/v1/master_features" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [
    {
      "id": "999605892",
      "reference_num": "PRJ1-E-1",
      "name": "Epic 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/epics/PRJ1-E-1",
      "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/releases/:release_id/master_features

Get all master features for a release

Parameters

Name Description
release_id * Numeric ID, or key of the release to retrieve master features for

GET /api/v1/releases/PRJ1-R-1/master_features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/master_features" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [
    {
      "id": "999605892",
      "reference_num": "PRJ1-E-1",
      "name": "Epic 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/epics/PRJ1-E-1",
      "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/master_features

Get all master features for a product

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve master features for

GET /api/v1/products/PRJ1/master_features

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/master_features" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [
    {
      "id": "999605892",
      "reference_num": "PRJ1-E-1",
      "name": "Epic 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/epics/PRJ1-E-1",
      "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/master_features

Search master features by name or ID

Parameters

Name Description
q Sub-string to match against master feature name or ID
fields Fields to include in the response

GET /api/v1/master_features?q=fea&fields=*

Example CURL command

curl "https://secure.aha.io/api/v1/master_features?q=fea&fields=*" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

GET /api/v1/products/:product_id/master_features

Search product for master features by name or ID

Parameters

Name Description
product_id * Numeric ID, or key of the product to retrieve master features for
q Sub-string to match against master feature name or ID

GET /api/v1/products/PRJ1/master_features?q=fea

Example CURL command

curl "https://secure.aha.io/api/v1/products/PRJ1/master_features?q=fea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

GET /api/v1/releases/:release_id/master_features

Search release for master features by name or ID

Parameters

Name Description
release_id * Numeric ID, or key of the release to retrieve master features for
q Sub-string to match against master feature name or ID

GET /api/v1/releases/PRJ1-R-1/master_features?q=fea

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/master_features?q=fea" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

GET /api/v1/master_features

Search master features by modification date

Parameters

Name Description
updated_since UTC timestamp (in ISO8601 format) that the updated_at field must be larger than.

GET /api/v1/master_features?updated_since=2014-06-01T22%3A43%3A42Z

Example CURL command

curl "https://secure.aha.io/api/v1/master_features?updated_since=2014-06-01T22%3A43%3A42Z" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [
    {
      "id": "999605892",
      "reference_num": "PRJ1-E-1",
      "name": "Epic 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/epics/PRJ1-E-1",
      "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/master_features

Search master features by tag

Parameters

Name Description
tag A string tag value.

GET /api/v1/master_features?tag=Infrastructure

Example CURL command

curl "https://secure.aha.io/api/v1/master_features?tag=Infrastructure" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [

  ],
  "pagination": {
    "total_records": 0,
    "total_pages": 0,
    "current_page": 1
  }
}

GET /api/v1/master_features

Search master features by assignee

Parameters

Name Description
assigned_to_user The ID or email address of user to return assigned master features for.

GET /api/v1/master_features?assigned_to_user=john.smith%40account1.com

Example CURL command

curl "https://secure.aha.io/api/v1/master_features?assigned_to_user=john.smith%40account1.com" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_features": [
    {
      "id": "999605892",
      "reference_num": "PRJ1-E-1",
      "name": "Epic 1",
      "created_at": "2017-05-31T20:12:50.000Z",
      "url": "http://account1.example.org/epics/PRJ1-E-1",
      "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1"
    }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page": 1
  }
}

GET /api/v1/master_features/:id

Get a specific master feature

Parameters

Name Description
id * Numeric ID, or key of the master feature to be retrieved

GET /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "999605892",
    "name": "Epic 1",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": null,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:12:50.000Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "4321567",
      "body": "Body of Epic Description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "features": [
      {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/95ff17f80f2b9ad00b0dd25a84bf605e30f85f8e8f7da5b97e711d91f5839b44.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "master_feature_links": [

    ]
  }
}

DELETE /api/v1/master_features/:id

Delete a master feature

Parameters

Name Description
id * Numeric ID, or key of the master feature to be deleted

DELETE /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -d '' -X DELETE \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json

Response

Status: 204 No Content
  

POST /api/v1/releases/:release_id/master_features

Create a master feature

Parameters

Name Alias Description
release_id * Numeric ID, or key of the release the master feature should be created in
name * Name of the Master feature
workflow_status * status Status of the Master feature and it must be one of the valid status values for the selected product.
description Description of the Master feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the Master feature.
assigned_to_user Email address of user that is assigned the Master feature.
tags Tags can be automatically assigned to the new Master feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the Master feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the Master feature in format YYYY-MM-DD
release_phase Name or id of release phase which the Master feature belongs to
initiative Name or id of initiative which the Master feature belongs to

POST /api/v1/releases/PRJ1-R-1/master_features

Example CURL command

curl "https://secure.aha.io/api/v1/releases/PRJ1-R-1/master_features" -d '{"master_feature":{"name":"New name","description":"New description","original_estimate_text":"58min"}}' -X POST \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "master_feature": {
    "name": "New name",
    "description": "New description",
    "original_estimate_text": "58min"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "6426394564995799907",
    "name": "New name",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": null,
    "created_at": "2017-05-31T20:13:02.940Z",
    "updated_at": "2017-05-31T20:13:03.004Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "6426394565175812665",
      "body": "New description",
      "created_at": "2017-05-31T20:13:02.980Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": null,
    "features": [

    ],
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "master_feature_links": [

    ]
  }
}

PUT /api/v1/master_features/:id

Update a master feature

Parameters

Name Alias Description
id * Numeric ID, or key of the master feature to be edited
name Name of the Master feature
workflow_status status Status of the Master feature and it must be one of the valid status values for the selected product.
description Description of the Master feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the Master feature.
assigned_to_user Email address of user that is assigned the Master feature.
tags Tags can be automatically assigned to the new Master feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the Master feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the Master feature in format YYYY-MM-DD
release_phase Name or id of release phase which the Master feature belongs to
initiative Name or id of initiative which the Master feature belongs to

PUT /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -d '{"name":"New name","description":"New description"}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "name": "New name",
  "description": "New description"
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "999605892",
    "name": "New name",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": null,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:03.245Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "4321567",
      "body": "New description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "features": [
      {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/87f0c73ae11290440b4b4beeaae687186dc5aa6d2dd142fd3df3113c1ab9eff9.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "master_feature_links": [

    ]
  }
}

PUT /api/v1/master_features/:id

Update a master feature's custom fields

Parameters

Name Alias Description
id * Numeric ID, or key of the master feature to be edited
name Name of the Master feature
workflow_status status Status of the Master feature and it must be one of the valid status values for the selected product.
description Description of the Master feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the Master feature.
assigned_to_user Email address of user that is assigned the Master feature.
tags Tags can be automatically assigned to the new Master feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the Master feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the Master feature in format YYYY-MM-DD
release_phase Name or id of release phase which the Master feature belongs to
initiative Name or id of initiative which the Master feature belongs to

PUT /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -d '{"master_feature":{"custom_fields":{"priority":"P3"}}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "master_feature": {
    "custom_fields": {
      "priority": "P3"
    }
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "999605892",
    "name": "Epic 1",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": null,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:03.591Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "4321567",
      "body": "Body of Epic Description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "features": [
      {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/299d8c4c79a563481bbc26ae7d3a6879349fe35d3a0f94036aa3e2961d81f6cf.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [

    ],
    "custom_fields": [
      {
        "key": "priority",
        "name": "Priority",
        "value": "P3",
        "type": "string"
      }
    ],
    "master_feature_links": [

    ]
  }
}

PUT /api/v1/master_features/:id

Update a master feature's tags with comma-separated values

Parameters

Name Alias Description
id * Numeric ID, or key of the master feature to be edited
name Name of the Master feature
workflow_status status Status of the Master feature and it must be one of the valid status values for the selected product.
description Description of the Master feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the Master feature.
assigned_to_user Email address of user that is assigned the Master feature.
tags Tags can be automatically assigned to the new Master feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the Master feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the Master feature in format YYYY-MM-DD
release_phase Name or id of release phase which the Master feature belongs to
initiative Name or id of initiative which the Master feature belongs to

PUT /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -d '{"master_feature":{"tags":"tag2, tag3"}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "master_feature": {
    "tags": "tag2, tag3"
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "999605892",
    "name": "Epic 1",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": null,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:04.004Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "4321567",
      "body": "Body of Epic Description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "features": [
      {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/ab47193990679a9edb47eecfcf97262ea498f249dc975c3f2435e0ab52a1418a.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [
      "tag2",
      "tag3"
    ],
    "custom_fields": [

    ],
    "master_feature_links": [

    ]
  }
}

PUT /api/v1/master_features/:id

Update a master feature's tags with an array

Parameters

Name Alias Description
id * Numeric ID, or key of the master feature to be edited
name Name of the Master feature
workflow_status status Status of the Master feature and it must be one of the valid status values for the selected product.
description Description of the Master feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the Master feature.
assigned_to_user Email address of user that is assigned the Master feature.
tags Tags can be automatically assigned to the new Master feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the Master feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the Master feature in format YYYY-MM-DD
release_phase Name or id of release phase which the Master feature belongs to
initiative Name or id of initiative which the Master feature belongs to

PUT /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -d '{"master_feature":{"tags":["tag2","tag3"]}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "master_feature": {
    "tags": [
      "tag2",
      "tag3"
    ]
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "999605892",
    "name": "Epic 1",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": null,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:04.352Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "4321567",
      "body": "Body of Epic Description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "features": [
      {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/c1cdb79cdea193b7f62c8a77e310493428799f46cd33caa4c9ae8535cd3f46f6.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [

    ],
    "tags": [
      "tag2",
      "tag3"
    ],
    "custom_fields": [

    ],
    "master_feature_links": [

    ]
  }
}

PUT /api/v1/master_features/:id

Update a master feature's score

Parameters

Name Alias Description
id * Numeric ID, or key of the master feature to be edited
name Name of the Master feature
workflow_status status Status of the Master feature and it must be one of the valid status values for the selected product.
description Description of the Master feature and it can include HTML formatting.
created_by created_by_user Email address of user that created the Master feature.
assigned_to_user Email address of user that is assigned the Master feature.
tags Tags can be automatically assigned to the new Master feature. If more than one tag is used then tags should be separated by commas
original_estimate_text Set the original estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
remaining_estimate_text Set the remaining estimated effort in a text format, you can use d, h, min (or 'p' for points) to indicate the units to use.
original_estimate Set the original estimated effort in minutes.
remaining_estimate Set the remaining estimated effort in minutes.
start_date Date that work will start on the Master feature in format YYYY-MM-DD
due_date Date that work is due to be completed on the Master feature in format YYYY-MM-DD
release_phase Name or id of release phase which the Master feature belongs to
initiative Name or id of initiative which the Master feature belongs to

PUT /api/v1/master_features/PRJ1-E-1

Example CURL command

curl "https://secure.aha.io/api/v1/master_features/PRJ1-E-1" -d '{"master_feature":{"score_facts":[{"name":"Benefit","value":4},{"name":"Effort","value":-5}]}}' -X PUT \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "X-Aha-Account: account1" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"

Request

Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
X-Aha-Account: account1
Content-Type: application/json
Accept: application/json
{
  "master_feature": {
    "score_facts": [
      {
        "name": "Benefit",
        "value": 4
      },
      {
        "name": "Effort",
        "value": -5
      }
    ]
  }
}

Response

Status: 200 OK
  Content-Type: application/json; charset=utf-8
{
  "master_feature": {
    "id": "999605892",
    "name": "Epic 1",
    "reference_num": "PRJ1-E-1",
    "position": 1,
    "score": -1,
    "created_at": "2017-05-31T20:12:50.000Z",
    "updated_at": "2017-05-31T20:13:04.701Z",
    "start_date": null,
    "due_date": null,
    "workflow_status": {
      "id": "934242751",
      "name": "New",
      "complete": false
    },
    "description": {
      "id": "4321567",
      "body": "Body of Epic Description",
      "created_at": "2017-05-31T20:12:50.000Z",
      "attachments": [

      ]
    },
    "attachments": [

    ],
    "integration_fields": [

    ],
    "url": "http://account1.example.org/epics/PRJ1-E-1",
    "resource": "http://account1.example.org/api/v1/master_features/PRJ1-E-1",
    "release": {
      "id": "278327321",
      "reference_num": "PRJ1-R-1",
      "name": "Release 1",
      "start_date": "2017-06-07",
      "release_date": "2017-06-07",
      "parking_lot": false,
      "created_at": "2017-05-31T20:12:51.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-05-31T20:12:50.000Z"
        }
      ],
      "url": "http://account1.example.org/releases/PRJ1-R-1",
      "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
      "owner": {
        "id": "16338845",
        "name": "John Smith",
        "email": "john.smith@account1.com",
        "created_at": "2017-05-31T20:12:51.000Z",
        "updated_at": "2017-05-31T20:12:51.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-05-31T20:12:51.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-05-31T20:12:51.000Z",
      "updated_at": "2017-05-31T20:12:51.000Z",
      "default_assignee": false
    },
    "features": [
      {
        "id": "1007868956",
        "name": "Feature 1",
        "reference_num": "PRJ1-1",
        "position": 1,
        "score": 0,
        "created_at": "2017-05-31T20:12:50.000Z",
        "updated_at": "2017-05-31T20:12:50.000Z",
        "start_date": null,
        "due_date": null,
        "workflow_kind": {
          "id": "98484309",
          "name": "New"
        },
        "workflow_status": {
          "id": "934242751",
          "name": "New",
          "complete": false
        },
        "description": {
          "id": "793547626",
          "body": "Body of note 1",
          "created_at": "2017-05-31T20:12:50.000Z",
          "attachments": [
            {
              "id": "724655692",
              "download_url": "http://account1.lvh.me/attachments/token/6b8a51db68c93639b19671e3b5aeebfa6852355660c2bcfaee37542d3e4f2a23.download",
              "created_at": "2017-05-31T20:12:50.000Z",
              "file_size": 123,
              "content_type": "text/plain",
              "file_name": "uploaded_file_name.txt"
            }
          ]
        },
        "attachments": [

        ],
        "integration_fields": [
          {
            "id": "728894778",
            "name": "key",
            "value": "JRA-123",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          },
          {
            "id": "846945422",
            "name": "id",
            "value": "435",
            "integration_id": 204584239,
            "service_name": "jira",
            "created_at": "2017-05-31T20:12:50.000Z"
          }
        ],
        "url": "http://account1.example.org/features/PRJ1-1",
        "resource": "http://account1.example.org/api/v1/features/PRJ1-1",
        "release": {
          "id": "278327321",
          "reference_num": "PRJ1-R-1",
          "name": "Release 1",
          "start_date": "2017-06-07",
          "release_date": "2017-06-07",
          "parking_lot": false,
          "created_at": "2017-05-31T20:12:51.000Z",
          "integration_fields": [
            {
              "id": "68217473",
              "name": "id",
              "value": "777",
              "integration_id": 204584239,
              "service_name": "jira",
              "created_at": "2017-05-31T20:12:50.000Z"
            }
          ],
          "url": "http://account1.example.org/releases/PRJ1-R-1",
          "resource": "http://account1.example.org/api/v1/releases/PRJ1-R-1",
          "owner": {
            "id": "16338845",
            "name": "John Smith",
            "email": "john.smith@account1.com",
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z"
          },
          "project": {
            "id": "131414752",
            "reference_prefix": "PRJ1",
            "name": "Project 1",
            "product_line": false,
            "created_at": "2017-05-31T20:12:51.000Z"
          }
        },
        "created_by_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z"
        },
        "assigned_to_user": {
          "id": "16338845",
          "name": "John Smith",
          "email": "john.smith@account1.com",
          "created_at": "2017-05-31T20:12:51.000Z",
          "updated_at": "2017-05-31T20:12:51.000Z",
          "default_assignee": false
        },
        "requirements": [
          {
            "id": "483368544",
            "name": "Body of requirement 1",
            "reference_num": "PRJ1-1-1",
            "position": 1,
            "created_at": "2017-05-31T20:12:51.000Z",
            "updated_at": "2017-05-31T20:12:51.000Z",
            "workflow_status": {
              "id": "934242751",
              "name": "New",
              "complete": false
            },
            "url": "http://account1.example.org/requirements/PRJ1-1-1",
            "resource": "http://account1.example.org/api/v1/requirements/PRJ1-1-1",
            "description": {
              "id": "910541534",
              "body": "Body of requirement 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            },
            "assigned_to_user": null,
            "created_by_user": {
              "id": "1020675218",
              "name": "Mary Humpty",
              "email": "mary.humpty@account1.com",
              "created_at": "2017-05-31T20:12:51.000Z",
              "updated_at": "2017-05-31T20:12:51.000Z"
            },
            "attachments": [

            ],
            "custom_fields": [
              {
                "key": "expected_completion_date",
                "name": "Expected completion date",
                "value": null,
                "type": "date"
              }
            ],
            "integration_fields": [

            ],
            "comments_count": 0
          }
        ],
        "initiative": {
          "id": "423077122",
          "name": "Initiative 1",
          "url": "http://account1.example.org/initiatives/423077122",
          "resource": "http://account1.example.org/api/v1/initiatives/423077122",
          "created_at": "2017-05-31T20:12:50.000Z",
          "description": {
            "id": "673273729",
            "body": "Description of initiative 1",
            "created_at": "2017-05-31T20:12:50.000Z",
            "attachments": [

            ]
          },
          "integration_fields": [

          ]
        },
        "goals": [
          {
            "id": "602095703",
            "name": "Goal 1",
            "url": "http://account1.example.org/strategic_imperatives/602095703",
            "resource": "http://account1.example.org/api/v1/goals/602095703",
            "created_at": "2017-05-31T20:12:51.000Z",
            "description": {
              "id": "166463080",
              "body": "Description of goal 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "attachments": [

              ]
            }
          }
        ],
        "comments_count": 1,
        "score_facts": [

        ],
        "tags": [
          "Infrastructure"
        ],
        "custom_fields": [
          {
            "key": "expected_completion_date",
            "name": "Expected completion date",
            "value": null,
            "type": "date"
          }
        ],
        "feature_links": [
          {
            "link_type": "Depends on",
            "link_type_id": 20,
            "created_at": "2017-05-31T20:12:51.000Z",
            "parent_record": {
              "id": "1007868956",
              "reference_num": "PRJ1-1",
              "name": "Feature 1",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-1",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-1"
            },
            "child_record": {
              "id": "622562724",
              "reference_num": "PRJ1-2",
              "name": "Another Feature",
              "created_at": "2017-05-31T20:12:50.000Z",
              "url": "http://account1.example.org/features/PRJ1-2",
              "resource": "http://account1.example.org/api/v1/features/PRJ1-2"
            }
          }
        ]
      }
    ],
    "initiative": {
      "id": "423077122",
      "name": "Initiative 1",
      "url": "http://account1.example.org/initiatives/423077122",
      "resource": "http://account1.example.org/api/v1/initiatives/423077122",
      "created_at": "2017-05-31T20:12:50.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-05-31T20:12:50.000Z",
        "attachments": [

        ]
      },
      "integration_fields": [

      ]
    },
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [
      {
        "id": "6426394572480381278",
        "value": -5,
        "name": "Effort"
      },
      {
        "id": "6426394572342803537",
        "value": 4,
        "name": "Benefit"
      }
    ],
    "tags": [

    ],
    "custom_fields": [

    ],
    "master_feature_links": [

    ]
  }
}