This article covers the steps required to upgrade from the Legacy API methods to the new updated AchieveIt API.
We've made a number of updates to the AchieveIt API in this new version. Some of these updates include:
-
Enhanced workflow and validation - Validating imported documents now happens right away and provides immediate feedback to you if the document is incorrect.
Validation errors for the entire file - The validation logic will now validate the entire file, instead of just one error at a time.
Support for CSV and JSON - You can now import data via CSV or JSON.
Improved response messages - The API responses are easier to read and provide more detail.
Improved system resources and resiliency - We've updated our backend logic to support larger workloads and is more resilient to failures.
API Test Key - We can now generate a “test key” to use during testing. This key will allow you to send test files to our API and confirm valid files. This data will never get inserted into the live Plan.
AchieveIt API Upgrade Steps
Importing Progress/Metric Updates
Below is a list of improvements being made to the Progress and Metric Import API.
Now accepts both CSV and JSON
Validates the file immediately and will respond with error details if the file is incorrect
You no longer need to provide a "filename" as a parameter
In order to upgrade the Progress/Metric import API, you’ll need to update the API endpoint and update the expected response JSON. If the file is successful, the response will now include the jobId GUID and detailed counts of the file's records. If the file validation fails, the response will include an errors property detailing each error that was found.
Endpoint Changes
| Legacy API Endpoint | New API Endpoint |
| https://api.achieveit.com/api/progressupdates/<filename> | https://api.achieveit.com/imports/progress-updates |
| https://api.achieveit.com/api/metricupdates/<filename> | https://api.achieveit.com/imports/metric-updates |
JSON Response Changes
Legacy Progress/Metric Import Response
"b10c85e1-7994-569c-a841-f95cf85848a8"New Progress/Metric Import Response
{
"jobId": "b10c85e1-7994-569c-a841-f95cf85848a8",
"totalRecords": 10,
"errorRecords": 0,
"validRecords": 10
}Legacy Progress/Metric Error Response
"Error on line 1: ExternalId 12345 does not exist in mapping"New Progress/Metric Error Response
{
"jobId": "b10c85e1-7994-569c-a841-f95cf85848a8",
"totalRecords": 5,
"errorRecords": 1,
"validRecords": 4,
"errors": [
{
"position": 0,
"externalId": "12345",
"errors": [
{
"field": "ExternalId",
"value": "12345",
"message": "External ID is invalid or its associated plan item has been deleted."
}
]
}
]
}To view the complete documentation on importing Progress Updates and Metric Updates, please check out the links below.
Checking Import Status
Below is a list of improvements being made to the Import Status API.
New status response message provides more details on the file
The order to upgrade the Status check API, you’ll need to update the API endpoint and update the expected response JSON. The legacy Status API relied entirely on the HTTP status code. The updated logic responds with a more detailed JSON object.
Endpoint Changes
| Legacy API Endpoint | New API Endpoint |
| https://api.achieveit.com/api/progressupdates/status/<Job ID> | https://api.achieveit.com/imports/status/<Job ID> |
| https://api.achieveit.com/api/metricupdates/status/<Job ID> | https://api.achieveit.com/imports/status/<Job ID> |
JSON Response Changes
Legacy Status API Response
The legacy response relied on the HTTP status code and generally did not return any JSON response.
New Status API Response
{
"jobId": "2bf2dda7-2aa4-4345-b6a8-8070d6ceec39",
"created": "2025-08-25T19:01:21.9329991",
"status": "Processing",
"errors": [...]
}To view the complete documentation on calling the Status API, please check out the links below.
Exporting Plan Details
Outside of the API Endpoint update, no significant changes are being made to the Plan Details export at this time.
Endpoint Changes
| Legacy API Endpoint | New API Endpoint |
| https://api.achieveit.com/plans/<Plan ID>/items | https://api.achieveit.com/exports/plans/<Plan ID> |
To view the complete documentation on export Plans, please check out the link below.