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.
Results Limit and Results Paging
The Get Plan Items API returns by default 100 plan items per query. If you have a plan that contains more than 100 plan items, you can specify a larger result set using the take parameter.
Request Specification
Request URL
You retrieve the items in a plan by requesting the plan with the Plan ID at the following URL:
https://api.achieveit.com/plans/{planId}/items
where {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 in the plan, 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 of the results returned in a large plan by using the Skip and Take parameters.
Parameter | Type | Notes |
Skip (optional) | integer | Default value is 0 |
Take (optional) | integer | Default value is 100 |
https://api.achieveit.com/plans/{planId}/items?skip=0&take=100
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 [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:
{
"planItems": [
{
"id": "string",
"sourceId": "string",
"rowNumber": 0,
"sequenceId": "string",
"planId": "string",
"planName": "string",
"alignsTo": "string",
"alignsToId": "string",
"dependentOn": "string",
"dependentOnId": "string",
"levelId": "string",
"level": "string",
"name": "string",
"indentedName": "string",
"description": "string",
"status": 0,
"statusName": "string",
"start": "string",
"due": "string",
"created": "string",
"hasMetric": true,
"hasAdvancedMetric": true,
"units": 0,
"detail": 0,
"baseline": "string",
"target": "string",
"currentValue": "string",
"advancedMetricGoals": [{}],
"lastUpdated": "string",
"assignedToId": "string",
"assignedToFullName": "string",
"assignedByFullName": "string",
"members": "string",
"admins": "string",
"updateFrequency": "string",
"updateFrequencyDescription": "string",
"isPastDue": true,
"lateUpdates": 0,
"pendingUpdates": 0,
"updates": 0,
"lastComment": "string",
"lastUpdatedComment": "string",
"files": 0,
"checklists": [{}],
"tags": "string"
}
],
"totalCount": 0
}