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 or product. 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": "6398143154446063186",
    "name": "New name",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 2,
    "created_at": "2017-03-16T17:03:08.836Z",
    "updated_at": "2017-03-16T17:03:09.001Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6398143154612235209",
      "body": "<p>This is the description</p>",
      "created_at": "2017-03-16T17:03:08.873Z",
      "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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.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": "6398143158394086216",
    "name": "New feature",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 2,
    "created_at": "2017-03-16T17:03:09.756Z",
    "updated_at": "2017-03-16T17:03:09.891Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6398143158558350589",
      "body": "",
      "created_at": "2017-03-16T17:03:09.791Z",
      "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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "689956296",
      "name": "Henry Humpty",
      "email": "henry.humpty@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.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": "6398143166120486184",
    "name": "New feature",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 2,
    "created_at": "2017-03-16T17:03:11.554Z",
    "updated_at": "2017-03-16T17:03:11.853Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6398143166278545385",
      "body": "",
      "created_at": "2017-03-16T17:03:11.592Z",
      "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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.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": "6398143169480085096",
    "name": "New feature",
    "reference_num": "PRJ1-3",
    "position": 1,
    "score": 9,
    "created_at": "2017-03-16T17:03:12.334Z",
    "updated_at": "2017-03-16T17:03:12.678Z",
    "start_date": null,
    "due_date": null,
    "workflow_kind": {
      "id": "98484309",
      "name": "New"
    },
    "workflow_status": {
      "id": "962984386",
      "name": "Designed",
      "complete": false
    },
    "description": {
      "id": "6398143169800891041",
      "body": "",
      "created_at": "2017-03-16T17:03:12.413Z",
      "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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "1020675218",
      "name": "Mary Humpty",
      "email": "mary.humpty@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": null,
    "requirements": [

    ],
    "goals": [

    ],
    "comments_count": 0,
    "score_facts": [
      {
        "id": "6398143170798162428",
        "value": -3,
        "name": "Effort"
      },
      {
        "id": "6398143169596875336",
        "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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.000Z",
    "updated_at": "2017-03-16T17:02:52.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-03-16T17:02:52.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/420f0d182858dfe86334569556468cac824c6e2a3d925643cb067d314bc4c2f1.download",
          "created_at": "2017-03-16T17:02:52.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.000Z"
      },
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-03-16T17:02:53.000Z",
          "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.000Z",
    "updated_at": "2017-03-16T17:03:15.291Z",
    "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-03-16T17:02:52.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/ff723e837f8e481175a36286e0a1acfb0441619d787a46e1bb02dcb44fbb621f.download",
          "created_at": "2017-03-16T17:02:52.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.000Z"
      },
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-03-16T17:02:53.000Z",
          "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "New name",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.000Z",
    "updated_at": "2017-03-16T17:03:15.721Z",
    "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-03-16T17:02:52.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/db7b61d7bcf2f26ab4f29d03946fb8a1a413e5cb01bcc9b99a5c7ebf63ddff5c.download",
          "created_at": "2017-03-16T17:02:52.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.000Z"
      },
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-03-16T17:02:53.000Z",
          "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-03-16T17:02:52.000Z",
          "attachments": [

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

    ],
    "tags": [
      "Infrastructure"
    ],
    "custom_fields": [
      {
        "key": "priority",
        "name": "Priority",
        "value": "P3",
        "type": "string"
      },
      {
        "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-03-16T17:02:52.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.000Z",
    "updated_at": "2017-03-16T17:03:16.202Z",
    "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-03-16T17:02:52.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/71af0bacd96c72a8ec57a831320ce5f819bdb230551067d11d2d5cdddab2dbbf.download",
          "created_at": "2017-03-16T17:02:52.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.000Z"
      },
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-03-16T17:02:53.000Z",
          "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.000Z",
    "updated_at": "2017-03-16T17:03:16.751Z",
    "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-03-16T17:02:52.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/4f44a28ba6bd558676fa49adfebbab03d296402456b17cb96f88134c3a1a3986.download",
          "created_at": "2017-03-16T17:02:52.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.000Z"
      },
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-03-16T17:02:53.000Z",
          "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.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-03-16T17:02:52.000Z",
    "updated_at": "2017-03-16T17:03:17.182Z",
    "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-03-16T17:02:52.000Z",
      "attachments": [
        {
          "id": "724655692",
          "download_url": "http://account1.lvh.me/attachments/token/59bc6bdcad94d20cd0bff167f968804d0f19047390afcb9f08266528cfe26f5a.download",
          "created_at": "2017-03-16T17:02:52.000Z",
          "file_size": 123,
          "content_type": "text/plain",
          "file_name": "uploaded_file_name.txt"
        }
      ]
    },
    "attachments": [

    ],
    "integration_fields": [
      {
        "id": "846945422",
        "name": "id",
        "value": "435",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.000Z"
      },
      {
        "id": "728894778",
        "name": "key",
        "value": "JRA-123",
        "integration_id": 204584239,
        "service_name": "jira",
        "created_at": "2017-03-16T17:02:52.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-03-23",
      "release_date": "2017-03-23",
      "parking_lot": false,
      "created_at": "2017-03-16T17:02:53.000Z",
      "integration_fields": [
        {
          "id": "68217473",
          "name": "id",
          "value": "777",
          "integration_id": 204584239,
          "service_name": "jira",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.000Z"
      },
      "project": {
        "id": "131414752",
        "reference_prefix": "PRJ1",
        "name": "Project 1",
        "product_line": false,
        "created_at": "2017-03-16T17:02:52.000Z"
      }
    },
    "created_by_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z"
    },
    "assigned_to_user": {
      "id": "16338845",
      "name": "John Smith",
      "email": "john.smith@account1.com",
      "created_at": "2017-03-16T17:02:53.000Z",
      "updated_at": "2017-03-16T17:02:53.000Z",
      "default_assignee": false
    },
    "requirements": [
      {
        "id": "483368544",
        "name": "Body of requirement 1",
        "reference_num": "PRJ1-1-1",
        "position": 1,
        "created_at": "2017-03-16T17:02:53.000Z",
        "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
          "attachments": [

          ]
        },
        "assigned_to_user": null,
        "created_by_user": {
          "id": "1020675218",
          "name": "Mary Humpty",
          "email": "mary.humpty@account1.com",
          "created_at": "2017-03-16T17:02:53.000Z",
          "updated_at": "2017-03-16T17:02:53.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-03-16T17:02:52.000Z",
      "description": {
        "id": "673273729",
        "body": "Description of initiative 1",
        "created_at": "2017-03-16T17:02:52.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-03-16T17:02:53.000Z",
        "description": {
          "id": "166463080",
          "body": "Description of goal 1",
          "created_at": "2017-03-16T17:02:52.000Z",
          "attachments": [

          ]
        }
      }
    ],
    "comments_count": 1,
    "score_facts": [
      {
        "id": "6398143190221805632",
        "value": -5,
        "name": "Effort"
      },
      {
        "id": "6398143189943394591",
        "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-03-16T17:02:52.000Z",
        "parent_record": {
          "id": "1007868956",
          "reference_num": "PRJ1-1",
          "name": "Feature 1",
          "created_at": "2017-03-16T17:02:52.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-03-16T17:02:52.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
  

Overview

API Resources