The Get Plan Items API returns the current data for each plan item in a specified plan. For more information on the general aspects of the AchieveIt REST API, read our help article on API basics.
Request Specification
Request URL
You retrieve the items in a plan by requesting the plan with the Plan ID at one of the following URLs, depending on which environment your organization uses:
- Non-government environment: https://api.achieveit.com/plans/{planId}/items
- Government environment: https://gov-api.achieveit.com/plans/{planId}/items
In the above example, {planId} is the unique ID of the plan you want to fetch. You can retrieve the Plan ID by logging into the AchieveIt web app, navigating to the root plan item of a plan for which you are an admin, selecting the Options menu on the top-right of the plan card, and clicking the "Copy Plan ID" menu option. This will put the ID of the plan on your computer's clipboard.
Request Parameters
In addition to specifying the {planId} in the API URL, you can also control the paging & sorting of the results returned in a large plan by using the Skip and Take parameters. If your plan contains more than 100 plan items and you need to query the entire plan, you will need to specify the take query parameter as shown below.
Parameter | Type | Notes |
Skip (optional) | integer | Default value is 0 |
Take (optional) | integer | Default value is 100 |
SortDirection | string |
Valid values are asc or desc Default value is asc |
SortKey | string |
Below lists the supported column name in the List View (left side) with it's corresponding sort key (right side).
Default value is sequenceId |
// Non-government environment
https://api.achieveit.com/plans/{planId}/items?skip=0&take=250&sortKey=name&sortDirection=desc
Government environment
https://gov-api.achieveit.com/plans/{planId}/items?skip=0&take=250&sortKey=name&sortDirection=desc
Request Header
You must include the API key as part of an authorization header. The user associated with the API key must have access to the plan that you're requesting in order for the Get Plan Items call to return data.
Parameter | Type | Notes |
Authorization | string | Value should be in the following format: API-KEY [your_key] |
Responses
Response Codes
The call to the Get Plan Items API returns one of the following nominal HTTP response codes.
Code | Meaning | Notes |
200 | Success | Exporting the plan items was successful, and the content of the response includes the requested plan items. |
403 | Forbidden | The user associated with the specified API key does not have access to the requested plan. |
Response Content
If the call is successful, the plan items will be represented in the response as a JSON object with the following keys:
{
"items": [
{
"id": "string",
"sourceId": "string",
"rowNumber": 0,
"sequenceId": "string",
"planId": "string",
"planName": "string",
"sourcePlanId": "string" or null,
"sourcePlanName": "string" or null
"alignsTo": "string" or null,
"alignsToId": "string" or null,
"dependentOn": "string" or null,
"dependentOnId": "string" or null,
"levelId": "string",
"level": "string",
"name": "string",
"indentedName": "string",
"description": "string",
"status": 0,
"statusName": "string",
"start": "string" or null,
"due": "string" or null,
"created": "string",
"hasMetric": true,
"hasAdvancedMetric": true,
"units": 0 or null,
"detail": 0 or null,
"baseline": "0",
"target": "0",
"currentValue": "0",
"advancedMetricGoals": [{ "goalId": "string", "goalName": "string", "goalColor": "string", "metricBucketValue": 0.0, "sortOrder": 0 }],
"lastUpdated": "string",
"assignedToId": "string" or null,
"assignedToFullName": "string" or null,
"assignedById": "string" or null
"assignedByFullName": "string" or null,
"members": [{ "id": "string", "name": "string", "type": "User" or "Team" }],
"admins": [{ "id": "string", "name": "string", "type": "User" or "Team" }],
"updateFrequency": "NotRequired" or "Daily" or "Weekly" or "Biweekly" or "Monthly" or "Quarterly",
"updateFrequencyDescription": "NotRequired" or "Daily" or "Weekly" or "Biweekly" or "Monthly" or "Quarterly",
"isPastDue": true,
"lateUpdates": 0,
"pendingUpdates": 0,
"updates": 0,
"lastCommentId": "string" or null
"lastComment": "string" or null,
"lastUpdateCommentId": "string" or null
"lastUpdateComment": "string" or null,
"files": 0,
"checklists": [{ "id": "string", "name": "string", "sortIndex": 0, "items": [{ "id": "string", "name": "string", "sortIndex": 0, "doneOn": "string" or null}] }],
"tags": [{ "id": "string", "organizationId": "string", "name": "string" }]
"isOrphan": false
}
],
"totalCount": 1
}