Aprimo Productivity Management Intro
This guide provides an overview of the Aprimo REST API, including key definitions, basic syntax, operations, HTTP responses, authentication, and pagination.
REST API
The REST API allows external applications to interact with Aprimo Cloud via HTTPS, supporting CRUD operations, special actions (e.g., task closure), and integrations with external systems. The API uses JSON for request and response content and OAuth 2.0 for authentication.
When to Use the REST API
- Synchronize Aprimo data with external systems.
- Populate fields with external identifiers.
- Build applications that rely on Aprimo data.
Key Definitions
- Resource – An Aprimo object (e.g.,
Activity,Project,Task) containing related data. - Route – The API URL used to access a resource.
- Resource ID – A unique identifier for a resource (typically a primary key).
Basic Syntax
API routes follow this format:
https://{domain}.aprimo.com/api/{resourceName}/{optionalID}?{optionalParameters}
- domain – Your Aprimo environment's URL.
- resourceName – The pluralized resource name (e.g.,
activities,projects). - optionalParameters – Query parameters, such as pagination settings.
Examples:
- Retrieve all activities:
GET https://{domain}.aprimo.com/api/activities - Retrieve a specific activity:
GET https://{domain}.aprimo.com/api/activities/123 - Retrieve first 20 activities:
GET https://{domain}.aprimo.com/api/activities?limit=20
Some routes allow nested objects:
- Retrieve a specific digital asset version:
GET https://{domain}/api/digital-assets/123/versions/456
Request Headers
- Authorization – Bearer token obtained through Authentication. See our Authorization article for more information.
- Content-Type –
application/json - Language (optional) – Defaults to
en-usif omitted.
API Operations
The API supports standard CRUD operations:
| Operation | HTTP Method | Notes |
|---|---|---|
| Create | POST | Returns 201 Created with a resource link. |
| Read | GET | Retrieves a resource. |
| Update | PUT | Overwrites existing data unless field-level updates are supported. |
| Delete | DELETE | May perform a soft or hard delete, depending on the resource. |
Non-CRUD operations:
| Operation | HTTP Method | Description |
|---|---|---|
| List | GET | Retrieves a collection of resources. |
| Query | POST | Runs searches based on parameters. |
| Other Actions | POST | Performs specific actions on resources. |
Update requests to the Productivity Management REST API are generally flush-and-fill. There are some fields that support field-level updates. These routes are marked with an '*' on the PM API Reference.
{
"extrAttr{{extendedAttributeID}}":"value"
}
{
"extrAttr{{multiExtendedAttributeID}}": [2701, 2702]
}
HTTP Responses
| Method | Success | Errors |
|---|---|---|
| POST | 201 Created (with resource link) | 403 Forbidden, 404 Not Found, 405 Method Not Allowed |
| GET | 200 OK (returns resource data) | 403 Forbidden, 404 Not Found |
| PUT | 200 OK (resource updated) | 403 Forbidden, 404 Not Found, 405 Method Not Allowed |
| DELETE | 200 OK (resource deleted) | 403 Forbidden, 404 Not Found, 405 Method Not Allowed |
Pagination
By default, most API responses return up to 250 items. Use these parameters for better control:
offset– Skips a set number of records.- Example: Retrieve activities starting from the 1234th item:
GET https://{domain}/api/activities?offset=1233
- Example: Retrieve activities starting from the 1234th item:
limit– Specifies the number of results (max: 250).- Example: Retrieve 50 projects:
GET https://{domain}/api/projects?limit=50
- Example: Retrieve 50 projects:
sortField&sortAscending– Sort results by specific fields.- Example: Sort projects by title and ID in ascending order:
GET https://{domain}/api/projects?sortField=title,projectID&sortAscending=true&limit=50
- Example: Sort projects by title and ID in ascending order: