Skip to main content

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-Typeapplication/json
  • Language (optional) – Defaults to en-us if omitted.

API Operations

The API supports standard CRUD operations:

OperationHTTP MethodNotes
CreatePOSTReturns 201 Created with a resource link.
ReadGETRetrieves a resource.
UpdatePUTOverwrites existing data unless field-level updates are supported.
DeleteDELETEMay perform a soft or hard delete, depending on the resource.

Non-CRUD operations:

OperationHTTP MethodDescription
ListGETRetrieves a collection of resources.
QueryPOSTRuns searches based on parameters.
Other ActionsPOSTPerforms specific actions on resources.
Field-Level Updates

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.

Extended Attribute Example
{
"extrAttr{{extendedAttributeID}}":"value"
}
Extended Attribute Collection Example
{
"extrAttr{{multiExtendedAttributeID}}": [2701, 2702]
}

HTTP Responses

MethodSuccessErrors
POST201 Created (with resource link)403 Forbidden, 404 Not Found, 405 Method Not Allowed
GET200 OK (returns resource data)403 Forbidden, 404 Not Found
PUT200 OK (resource updated)403 Forbidden, 404 Not Found, 405 Method Not Allowed
DELETE200 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
  • limit – Specifies the number of results (max: 250).
    • Example: Retrieve 50 projects:
      GET https://{domain}/api/projects?limit=50
  • 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