Route Availability

All available routes are shown below. If there is an object or route that you would like added, please contact your Aprimo account representative to submit the request.

In the lists below, PUT routes marked with an ‘*’ support field-level updates, which allows you to specify only the fields you want to update on the request. Note that all items in a collection (within square brackets) still need to be specified in their entirety, because collections are flushed-and-filled during an update operation. The JSON format for updating an EA (outside of a collection) is:

  {
	"extrAttr<eaID>":"<value>"
  }

The JSON format for updating a multi-select EA is:

  {
"multipleValueExtendedAttributes": [
        {
            "parentId": 193003,
            "extAttributeId": 64301,
            "encodedListItemId": 56401
        },
        {
            "parentId": 193003,
            "extAttributeId": 64301,
            "encodedListItemId": 56402
        }
    ]
}

Activities

Note: Metadata is available at api/metadata/activity.

HTTP Method Route Description
DELETE api/activities/{activityID} Delete a specific activity.
GET api/activities Retrieve all activities.
api/activities/{activityID} Retrieve a specific activity.
api/attachments/{attachmentID}/activity Retrieve the activity associated with an attachment.
api/digital-assets/(DAid}/activity Retrieve the activity associated with a digital asset.
PUT* api/activities/{activityID} Update a specific activity.
POST api/activities Create an activity.
api/activities/search Retrieve all activities that match the search criteria.
The following fields are not searchable (may not be a complete list):

  • access lists
  • system state

Activity Cells

Note: Metadata is available at api/metadata/activity-cell.

HTTP Method Route Description
DELETE api/activity-cells/{activityCellID} Delete a specific activity cell.
GET api/activities/{activityID}/activity-cells Retrieve all activity cells from a specific activity.
api/activity-cells/{ActivityCellID} Retrieve a specific activity cell.
PUT api/activity-cells/{activityCellID} Update a specific activity cell.
POST api/activity-cells Create a new activity cell.

Activity Cell Treatments

Note: Metadata is available at api/metadata/activity-cell-treatment.

HTTP Method Route Description
DELETE api/activity-cell-treatments/ {activityCellTreatmentID} Delete a specific activity cell treatment.
GET api/activity-cells/{activityCellID}/ activity-cell-treatments Retrieve all activity cell treatments from a specific activity cell.
api/activity-cell-treatments/ {activityCellTreatmentID} Retrieve a specific activity cell treatment.
PUT api/activity-cell-treatments/ {activityCellTreatmentID} Update a specific activity cell treatment.
POST api/activity-cell-treatments Create a new activity cell treatment.

Activity Milestones

 

HTTP Method Route Description
POST api/activities/milestone/{activityId} Create a new milestone for an activity.
Request Input Body:   
{
  title: string,
  description: string,
  startDate: DateTime,
  endDate: DateTime,
  activityId: number,
  milestoneEaId?: number
}

The milestoneEaId parameter refers to the Linked Activity Date EA. When this parameter is included in the payload, the provided dates in the request body will be ignored. The Milestone will be saved with the startDate and endDate values copied from the indicated Linked Activity Date EA attribute.

Activity Offers

Metadata available at api/metadata/activity-offer

HTTP Method Route Description
DELETE api/activity-offers/{activityOfferID} Delete a specific activity offer. Note that this only deletes the association, not the activity or offer itself.
GET api/activities/{activityID}/activity-offers Retrieve all activity offers on a specific activity.
api/activity-offers/{activityOfferID} Retrieve a specific activity offer.
PUT api/activity-offers/{activityOfferID} Update a specific activity offer (field Revenue per Offer).
POST api/activity-offers Create a new association between an activity and offer. Note that this requires an existing activity and existing offer. Sample JSON body:

  {
    "activityId":68201, 
    "offerId": 8803
  }

Activity Proposals

Note: Metadata is available at api/metadata/activity-proposal.

HTTP Method Route Description
GET api/activity-proposals/{activityProposalID} Retrieve a single activity proposal with id {activityProposalID}.
api/activity-proposals/{activityProposalID}/forecasts Retrieve all forecasts on an activity proposal with id {activityProposalID}.
api/activity-proposal-templates Retrieve a list of all active activity proposal templates.
PUT* api/activity-proposals/{activityProposalID} Update an activity proposal.
POST api/activity-proposals Create a new activity proposal.
api/activity-proposals/search Retrieve all activity proposals that meet the search criteria.

Activity Treatments

Note: Metadata is available at api/metadata/activity-treatment.

HTTP Method Route Description
DELETE api/activity-treatments/ {activityTreatmentID} Remove a treatment from an activity by deleting the association between them. This call does not delete the actual treatment or activity.
GET api/activities/{activityID}/activity-treatments Retrieve all activity treatments from a specific activity.
api/activity-treatments/ {activityTreatmentID} Retrieve a specific activity treatment.
PUT api/activity-treatments/ {activityTreatmentID} Update a specific activity treatment.
POST api/activity-treatments Create a new association between an Activity and Treatment.
Note: This call requires an existing activity and existing treatment.

Attachments

Note: Metadata is available at api/metadata/attachment.

HTTP Method Route Description
DELETE api/attachments/{attachmentID} Delete a specific attachment.
GET api/attachments/{attachmentID} Retrieve a specific attachment, including its versions.
api/attachments/{attachmentID}/review-required-documents Return a list of required documents, including documentID and review_task_id.
api/projects/{projectID}/attachments Retrieve all attachments that are associated with a project.
PUT* api/attachments/{attachmentID} Update a specific attachment.
POST api/attachments Create an attachment.
api/attachments/{attachmentID}/checkout Check out an attachment.
api/attachments/{attachmentID}/cancel-checkout Cancel the check-out of an attachment.
api/attachments/search Retrieve all attachments that match the search criteria. The following fields are not searchable (may not be a complete list):

  • projects
  • activity project list

Attachment Versions

Note: Metadata available at api/metadata/attachmentversion.

There are more detailed instructions on how to upload files when creating new attachment versions on the file upload page.

<!–

HTTP Method Route Description
DELETE api/attachments/{attachmentID}/versions/{versionID} Delete a specifc version of an attachment.
api/attachments/{attachmentID}/versions/{versionID}/ annotations/{annotationID} Delete a specific annotation.
GET api/attachments/{attachmentID}/versions Retrieve all versions of a specific attachment.
api/attachments/{attachmentID}/versions/{versionID} Retrieve a specific attachment version.
api/attachments/{attachmentID}/versions/{versionID}/comments Retrieve the comments for a specific attachment version.
api/attachments/{attachmentID}/versions/{versionID}/annotations Retrieve annotations for a specific attachment version.
api/attachments/{attachmentID}/versions/{versionID}/annotations/ {annotationID} Retrieve a specific annotation from an attachment version.
api/attachments/{attachmentID}/versions/{versionID}/annotations/ {annotationID}/replies Retrieve replies to a specific annotation from an attachment version.
api/attachments/{attachmentID}/versions/{versionID}/annotations/ annotationID}/replies/{replyID} Retrieve a specific reply to an annotation from an attachment version.
PUT api/attachments/{attachmentID}/versions/{versionID} Update a specific attachment version.
POST api/attachments/{attachmentID}/versions Create a new version of a specific attachment.
api/attachments/{attachmentID}/versions/ {versionID}/annotations/{annotationID}/replies Create a reply to an existing annotation for a specific attachment version.
api/attachments/{attachmentID}/versions/ {versionID}/{taskID}/{taskDocID}/checkin Check in a new document version.
api/attachments/{attachmentID}/versions/ {versionID}/annotations Create a new annotation for a specific attachment version.
api/attachments/{attachmentId }/versions/ {versionId}/ annotations Update the collection of attachment annotations.

Note: To retrieve the actual Attachment file, follow the downloadUri attribute from the GET response.

Brands

Note: Metadata is available at api/metadata/brand

HTTP Method Route Description
DELETE api/brands/{brandID} Delete a brand.
GET api/brands/{brandID} Retrieve a specific brand.
api/brands Retrieve all brands.
PUT* api/brands/{brandID} Update a specific brand.
POST api/brands Create a new brand.
api/brands/search Search for brands.

Clients

Note: Metadata is available at api/metadata/client

HTTP Method Route Description
DELETE api/clients/{clientID} Delete a client.
GET api/clients/{clientID} Retrieve a specific client.
api/clients Retrieve all clients.
PUT* api/clients/{clientID} Update a specific client.
POST api/clients Create a new client.
api/clients/search Search for clients.

Commitments

Note: Metadata is available at api/metadata/commitment and api/metadata/commitment-item

HTTP Method Route Description
DELETE api/commitments/{commitmentID} Delete a commitment.
GET api/commitments Retrieve all commitments.
api/commitments/{commitmentID} Retrieve a specific commitment.
PUT* api/commitments/{commitmentID} Update a specific commitment.
Requires either: a) sys admin rights; or b) commitment, edit right + being in the activity financial access list for editing; or c) commitment, edit right + member of financial group.
POST api/commitments Create a new commitment.
api/commitments/search Search for commitments that match specific criteria.
api/commitments/{commitmentID}/cancel Cancel a specific commitment.
api/commitments/{commitmentID}/retrieve Retrieve a specific commitment.
api/commitments/{commitmentID}/submit Submit a specific commitment.
api/commitments/{commitmentid}/approve Approve a specific commitment.
api/commitments/{commitmentid}/reject Reject a specific commitment.

Content Plans

Note: Metadata is available at api/metadata/content-plans

HTTP Method Route Description
DELETE
api/content-plans/{ContentPlanID} Delete a specific content plan.
api/content-plans/{ContentPlanID}/activities Remove the specified activities in the body from the content plan.
GET
api/content-plans Retrieve all content plans.
api/content-plans/{ContentPlanID} Retrieve a specific content plan.
api/content-plans/{ContentPlanID}/manage-activities Retrieve all activities associated to the content plan.
PUT* api/content-plans/{ContentPlanID} Update a specific content plan.
POST api/content-plans/{ContentPlanID}/activities Add the specified activities from the body to the content plan.
api/content-plans/{ContentPlanID}/share Flush and fill a specific content plan’s access list.

Digital Assets

Note: Metadata is available at api/metadata/digital-asset.

HTTP Method Route Description
DELETE api/digital-assets/{assetID} Delete a digital asset.
GET api/digital-assets/{assetID} Retrieve a specific digital asset, including associated versions and renditions. Use the embedded URIs to retrieve the actual file(s).
PUT* api/digital-assets/{assetID} Update a specific digital asset. The following fields are not updateable: packages[], categories[], isReferenceDocument, promotedFromActivity, hasVersions, and assetType.
POST api/digital-assets Create a new digital asset.

Digital Asset Folders

HTTP Method Route Description
DELETE api/digital-assets/{assetID}/folders/{folderID} Remove a digital asset from a folder by deleting the association between them. The asset and folder objects are not deleted.
GET api/digital-assets/{assetID}/folders Retrieve a list of folders with which a specific digital asset is associated.
POST api/digital-assets/{assetID}/folders/{folderID} Add a digital asset to a folder by creating an association between them.

Digital Asset Versions

Note: Metadata is available at api/metadata/digitalassetversion.

HTTP Method Route Description
DELETE api/digital-assets/{assetID}/versions/ {versionID}/tags/{tagID} Delete a specific tag in a digital asset that is configured as a reference document.
GET api/digital-assets/{assetID}/versions Retrieve all versions of a specific digital asset.
api/digital-assets/{assetID}/versions/ {versionID} Retrieve a specific version of a digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/comments Retrieve all comments from a specific version of a digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/tags Retrieve the tags from a specific version of a digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/tags/{tagID} Retrieve a specific tag from a version of a digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/tags/{tagID}/replies Retrieve the replies to a specific tag in a version of a digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/tags/{tagID}/replies/{replyID} Retrieve a specific reply to a tag in a specific version of a digital asset.
PUT digital-assets/{digitalAssetIdD}/versions/ {versionID}/tags Update a specific digital asset tag.
POST api/digital-assets/{digitalAssetID}/versions Create a new version of an existing digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/tags Create a tag in a specific version of a digital asset.
api/digital-assets/{assetID}/versions/ {versionID}/tags/{tagID}/replies Reply to a specific digital asset tag.

Notes:

  • To retrieve the actual digital asset file, follow the ‘downloadUri attribute from the GET response.
  • To retrieve the PDF file with annotations, follow the offline-windows or offline-mac link.

Digital Asset Version Renditions

Note: Metadata is available at api/metadata/digital-asset-rendition.

There are more detailed instructions on how to upload files when creating new digital asset renditions on the file upload page.

HTTP Method Route Description
GET api/digital-assets/{assetID}/versions/ {versionID}/renditions Retrieve all renditions of a specific digital asset version.
api/digital-assets/{assetID}/versions/ {versionID}/renditions/{renditionID} Retrieve a specific endition of a digital asset version.
POST api/digital-assets/{digitalAssetID}/ versions/{versionID}/renditions Create a new rendition of a digital asset version.

Domain Rights

HTTP Method Route Description
GET api/domain-rights Retrieve all non-admin domain (aka functional) rights.

Extended Attribute Picklist Options

HTTP Method Route Description
GET api/extended-attributes/{eaID}/ pick-list-options Retrieve all picklist options for a specific extended attribute.
PUT api/extended-attributes/{eaID}/ pick-list-options Update all picklist options for a specific extended attribute. Requires either Sys Admin or ‘System Tools, Extended Attributes Edit’ domain right.
Note that this route does not support deletion of picklist options (which may already be in use). Instead, for existing itemIDs, the route will update changes to the active flag, sequence, display name, or system name. If the itemID does not exist, the item is assumed to be new, and is added to the option list with a newly-created itemID.
GET api/extended-attributes/{ChildeaId}/pick-list-options/{parentPicklistItemID}/allowed-children Retrieve the allowed children values of the {ChildeaId} picklist when the parent EA’s {parentPicklistItemID} is selected.
PUT api/extended-attributes/{ChildeaId}/pick-list-options/{parentPicklistItemID}/allowed-children Update the allowed children values of the {ChildeaId} picklist when the parent EA’s {parentPicklistItemID} is selected.

Note that this route will flush and fill the values allowed. Any values not specified will be added to the disallowed list.

PUT api/extended-attributes/{ChildeaId}/pick-list-options/{parentPicklistItemID}/allowed-children uses a json request body like the following example:

{
    "allowed": [
      {ChildeaID}
    ]

}

FDA 2253 Form

HTTP Method Route Description
POST api/fda2253 Populate a PDF for an FDA 2253 form. See additional documentation.

File Upload (Attachments and Digital Assets)

There are more details on how to use these routes on the file upload page.

HTTP Method Route Description
GET api/chunk/upload Check to see if an file chunk has already been uploaded.
POST api/chunk/upload Upload a numbered file chunk.
api/chunk/complete Reassemble uploaded file chunks.

Financial Hierarchies

Note: Metadata is available at api/metadata/financial-hierarchy.

HTTP Method Route Description
GET api/financial-hierarchies/{hierarchyID} Retrieve a specific financial hierarchy.
POST api/financial-hierarchies Create a new financial hierarchy.
PUT api/financial-hierarchies/}hierarchyID} Update a specific financial hierarchy.

Financial Hierarchy Nodes

HTTP Method Route Description
GET api/financial-hierarchy-nodes/{hierarchyID} Retrieve the nodes of a financial hierarchy.

Forecasts

HTTP Method Route Description
GET api/activities/{activityID}/forecasts Retrieve all approved and closed forecasts associated with an activity.
api/activities/{activityID}/proposed-forecasts Retrieve all proposed forecasts associated with an activity.
api/activity-proposals/{activityProposalID}/forecasts Retrieve all forecasts associated with an activity proposal.
api/activity-forecasts/{id} Retrieve a specific forecast on an activity.
PUT api/activities/{activityID}/forecasts Create new forecast items, delete items, and update items associated with an activity. All forecasts need to be specified in the request body, because they’re updated using the flush-and-fill method. To delete an existing forecast, simply exclude it from the request. To add a new forecast, simply include a new forecast in the request. If the request includes existing forecasts, they will be updated with the data specified in on the request.
api/activity-proposals/{activityProposalID}/forecasts Update all forecasts associated with an activity proposal.
api/activities/{activityID}/forecasts?processObjectAsynchronously={true/false} The “processObjectAsynchronously” is an optional Boolean query string parameter that will accept values of true or false. Not providing the query string parameter is the same as setting the query string parameter to false. The query string parameter tells the application to either process the Activity Forecast data synchronously or asynchronously.

Setting the query string parameter to false will process the data synchronously, while setting the query string parameter to true will process the data asynchronously. Processing the data synchronously will force the application to process the data in the same request, and it will return a response of updated Activity Forecast data. This could take a long time where the API could time out and return a bad response. Examples of these bad responses include receiving a status code of either 400 or 500 and inside the response body a text value of “A task was canceled.” It is likely (but not guaranteed) that the application will eventually complete the request successfully, but there is no indicator of a success in this scenario.

If these responses are not desirable, an alternate is to process this data asynchronously by setting the query string parameter to true. In the response, there is a hypermedia link that can be used to perform GET requests that will return a response of the state of the processing of the Activity Forecast data. The href value will be something similar to this: processing-objects/{processingObjectID} where {processingObjectID} is a Guid data type. Calling this route will return a response with processing information which will include a status property. The status property will have values from 1 to 4. 1 means the processing has not been attempted. 2 means the processing has started and it is currently processing. 3 means the processing has completed successfully. 4 means the processing has stopped and it failed to complete. After making this request and in the response that status equals 3, then the processing of the Activity Forecast data was completed for that Activity.

POST api/activities/{activityID}/proposed-forecasts/{forecastReviewID}/approve Approve a forecast on an activity
api/activities/{activityID}/proposed-forecasts/{forecastReviewID}/reject Reject a forecast on an activity

Funding Accounts

Note: Metadata is available at api/metadata/funding-account.

HTTP Method Route Description
GET api/funding-accounts/{fundingAccountID} Retrieve a specific funding account.
api/funding-accounts/{fundingAccountID}/summary Retrieve the budget summary for a specific funding account.
PUT api/funding-accounts/{fundingAccountID} Update a specific funding account.
POST api/funding-accounts Create a new funding account.

Generic Objects

Note: Metadata available at:

  • api/metadata/generic-object-alpha
  • api/metadata/generic-object-bravo
  • api/metadata/generic-object-charlie
  • api/metadata/generic-object-delta
  • api/metadata/generic-object-echo

Note that Alpha objects are associated with Activities, and Bravo objects with Projects. Therefore, routes for Alpha objects are limited to objects for which the API user has Activity access rights (or the ‘API Integration’ right), and are also goverened by Activity domain rights. Similarly, access to Bravo objects is govererned by Project domain rights.

HTTP Method Route Description
DELETE api/generic-object-alpha/{alphaID}
api/generic-object-bravo/{bravoID}
api/generic-object-charlie/{charlieID}
api/generic-object-delta/{deltaID}
api/generic-object-echo/{echoID}
Delete a generic object
GET api/generic-object-alpha
api/generic-object-bravo
api/generic-object-charlie
api/generic-object-delt
api/generic-object-echo
api/activities/{activityID}/generic-object-alpha
api/projects/{projectID}/generic-object-bravo
Retrieve all records of a generic object type.
GET api/generic-object-alpha/{alphaID}
api/generic-object-bravo/{bravoID}
api/generic-object-charlie/{charlieID}
api/generic-object-delta/{deltaID}
api/generic-object-echo/{echoID}
Retrieve a specific generic object.
PUT api/generic-object-alpha/{alphaID}
api/generic-object-bravo/{bravoID}
api/generic-object-charlie/{charlieID}
api/generic-object-delta/{deltaID}
api/generic-object-echo/{echoID}
Update a specific generic object.
POST api/generic-object-alpha
api/generic-object-bravo
api/generic-object-charlie
api/generic-object-delta
api/generic-object-echo
Create a new generic object.
POST api/generic-object-alpha/search
api/generic-object-bravo/search
api/generic-object-charlie/search
api/generic-object-delta/search
api/generic-object-echo/search
Search on generic objects.

Groups

Note: Metadata is available at api/metadata/group.

HTTP Method Route Description
DELETE api/groups/{groupID} Delete a specific group.
GET api/groups Retrieve all groups.
api/groups/{groupID} Retrieve a specific group.
PUT* api/groups/{groupID} Update a specific group.
POST api/groups Create a new group.
api/groups/search Search for groups that match specific criteria.

Group Membership

Note: To assign users to groups, please use the create/update user endpoints. There is a groups property on users which will accept a comma separated array of group IDs.

 

HTTP Method Route Description
GET api/groups/{groupID}/membership Retrieve all users in a group.

Invoices

Note: Metadata is available at api/metadata/invoice

HTTP Method Route Description
DELETE api/invoices/{invoiceID} Delete an invoice.
GET api/invoices Retrieve all invoices.
api/invoices/{invoiceID} Retrieve a specific invoice.
PUT* api/invoices/{invoiceID} Update a specific invoice.
POST api/invoices Create a new invoice.
api/invoices/search Search for invoices that match specific criteria.
api/invoices/{invoiceID}/submit Submit a specific invoice.
api/invoices/{invoiceID}/cancel Cancel a specific invoice.
api/invoices/{invoiceID}/retrieve Retrieve a specific invoice from Pending Approval.
api/invoices/{invoiceID}/sent Move an invoice from Pending Payment (Ready) to Pending Payment (Sent). NOTE: this is only applicable when the GL Integration is enabled.
api/invoices/{invoiceID}/approve Approve an invoice if you are the designated user and have the appropriate domain rights. API Integration users can approve on behalf of others but still require the appropriate financial domain rights.

Journal Vouchers

Note: Metadata is available at api/metadata/journal-voucher

HTTP Method Route Description
DELETE api/journal-vouchers/{jvID} Delete a journal voucher.
GET api/journal-vouchers Retrieve all journal vouchers.
api/journal-vouchers/{jvID} Retrieve a specific journal voucher.
PUT* api/journal-vouchers/{jvID} Update a specific journal voucher.
POST api/journal-vouchers Create a new journal voucher.
api/journal-vouchers/search Search for journal vouchers that match specific criteria.
api/journal-vouchers/{jvID}/cancel Cancel a specific journal voucher.
api/journal-vouchers/{jvID}/reconcile Reconcile a specific journal voucher.
api/journal-vouchers/{jvID}/reject Reject a specific journal voucher.
api/journal-vouchers/{jvID}/submit Submit a specific journal voucher.
api/journal-vouchers/{jvID}/sent Move a journal voucher from Pending Reconciliation (Ready) to Pending Reconciliation (Sent). NOTE: this is only applicable when the GL Integration is enabled.

Lookup Lists

Please click here for a full list of available lookups

HTTP Method Route Description
GET api/lookup/{lookupID} Retrieve all options from a static lookup list.

My-Preferences

HTTP Method Route Description
GET api/my-preferences/region Retrieve the language and region preferences for the user associated with the token attached to the request.
PUT api/my-preferences/region Update the language and region preferences for the user associated with the token attached to the request.

Offers

Note: Metadata is available at api/metadata/offer.

HTTP Method Route Description
GET api/offers Retrieve all offers.
api/offers/{offerid} Retrieve a single offer with id {offerid}.
PUT api/offers/{offerid} Update an offer.

Programs

Note: Metadata is available at api/metadata/program.

HTTP Method Route Description
GET api/programs Retrieve all programs.
api/programs/{programID} Retrieve a single program with id {programID}.
api/activities/{activityID}/programs Retrieve all programs associated with an activity.
PUT api/programs/{programID} Update a specific program.

Program Proposals

Note: Metadata is available at api/metadata/program-proposal.

HTTP Method Route Description
GET api/program-proposals/{programProposalID} Retrieve a single program proposal with id {programProposalID}.
POST api/program-proposals/search Retrieve all program proposals that match the search criteria.

Projects

Note: Metadata is available at api/metadata/project.

HTTP Method Route Description
DELETE api/projects/{projectID}/attachments/ {attachmentID} Delete an association between a project and an attachment.
Note: This action deletes neither the project nor the attachment, only the association between them.
GET api/projects Retrieve all projects.
api/projects/{projectID} Retrieve a specific project.
api/activities/{activityID}/projects Retrieve all projects associated with a specific activity.
api/projects/{projectID}/attachments Retrieve all attachments associated with a project.
api/projects/{projectID}/digital-assets Retrieve all digital assets associated with a project.
api/projects/{projectID}/project-roles/{projectRoleID}/members Retrieve all members of a project role.
PUT* api/projects/{projectID} Update a specific Project.
Note: You cannot edit a closed project.
POST api/projects Create a new project.
api/projects/search Retrieve all projects that meet the search criteria. The following fields are not searchable (may not be a complete list):

  • outlook
  • project category
api/projects/{projectID}/start Start a project.
api/projects/{projectID}/cancel Cancels a project.
api/projects/{projectID}/close Closes a project.
api/projects/{projectID}/pause Pauses a project.
api/projects/{projectID}/attachments/{attachmentID} Create an association between an existing project and an existing attachment.
api/projects/{projectID}/project-roles Create an association between an existing user/group and an existing project.

NOTE: Below is an example request body for POST api/projects/{projectID}/project-roles

{
"projectId": int,
"userRoleId": int
}

 

NOTE: when editing a closed/canceled project (user must have the ‘Project, Edit Closed’ domain right), only the following fields are editable:

  • Title
  • ProjectTypeId
  • Description
  • TimeZoneId
  • ProjectManager
  • ExtendedAttributes
  • MultipleValueExtendedAttributes

Resources

HTTP Method Route Description
GET api/resources/{resourceID} Retrieve a specific resource string. For example, to retrieve encoded title #95781, the URL would be: api/resources/mo-encoded-titles-95781. To retrieve replacement string 35290 would be: api/resources/mo-replacement-strings-35290
api/resources/static Retrieve all replacement strings.

Review Tasks

Note: Metadata is available at api/metadata/reviewtask.

HTTP Method Route Description
DELETE api/review-tasks/{taskID}/ document-uploads/uploaded-versions/{versionID} Delete a specific version of a document uploaded to a review task.
GET api/review-tasks Retrieve all review tasks.
api/review-tasks/{taskID} Retrieve a specific review task.
api/review-tasks/{taskID}/ attachments Retrieve all attachments from a task.
api/review-tasks/{taskID}/ document-uploads Retrieve all document uploads from a task.
api/review-tasks/{taskID}/ document-uploads/{documentID} Retrieve a specific document upload from a task.
api/review-tasks/{taskID}/ document-uploads/uploaded-versions Retrieve all versions of documents uploaded to a task.
api/review-tasks/{taskID}/ document-uploads/uploaded-versions/{versionID}
api/review-tasks/{taskID}/ document-votes/{taskDocID} Get voting results on a task document.
api/review-tasks/{taskID}/working-digital-assets
api/review-tasks/{taskID}/working-digital-assets/ {documentID}
api/review-tasks/{taskID}/working-attachments
api/review-tasks/{taskID}/working-attachments/{documentID}
api/review-tasks/{taskID}/ documents
api/review-tasks/{taskID}/review-materials
POST api/review-tasks/{taskID}/delegate Delegate (assign) a task to a different user.
api/review-tasks/{taskID}/vote Cast a vote.
api/review-tasks/search Retrieve all review tasks that meet the search criteria. The following fields are not searchable (may not be a complete list):

  • completed by user
  • assignees
  • number of assignees
  • can delegate
  • can decline
  • review comments
  • outlook
  • task roles
  • task predecessors

The following fields are returned as booleans in responses, but must be searched with an int:

  • DocumentLevelVoting
  • AllMustVote
  • RequiresElectronicSignature

Roles

Note: Metadata is available at api/metadata/user-role.

HTTP Method Route Description
DELETE api/user-roles/{roleID} Delete a role.
GET api/user-roles Retrieve all roles. Mimics the UI functionality available via System Tools –> Security –> Roles
api/user-roles/{roleID} Retrieve a specific role.
api/user-roles/annotationUserRoles Retrieve all annotation roles.
api/projects/{projectid}/project-roles/{projectRoleID}/members Retrieve all members for a specific role on a project.
api/projects/{projectid}/role-memberships Retrieve all members for all roles on a project.
PUT* api/user-roles/{roleID} Update a specific role.
api/projects/{projectid}/role-memberships Update all members associated with all roles on a project.
POST api/user-roles Create a new role.
api/projects/{projectid}/project-roles Add roles on a project

Suppliers

Note: Metadata is available at api/metadata/supplier
Required Rights:

Supplier, View for GET all suppliers, POST search
Supplier, Edit for POST, GET specific ID.
Supplier, Edit and Supplier, Delete for DELETE

 

HTTP Method Route Description
GET api/suppliers Retrieve all suppliers.
api/suppliers/{ID} Returns the Supplier whose PK matches the {id}.
PUT* api/suppliers/{id} Update a supplier, supports the use of Partial JSON body.
POST api/suppliers Create a new supplier.
api/suppliers/search Search for suppliers.
DELETE api/suppliers/{id} Delete a supplier if no relationship constraints exist.

System Types

HTTP Method Route Description
GET api/system-types Retrieve all system types.
api/system-types/{systemType} Call the api/system-types route to see eligible {systemType} values for your instance.
api/system-types/{systemType}/ active Retrieves active values for a system type.
api/system-types/{systemType}/ {systemTypeID} Retrieves a value for a system type by ID.

Tasks

See additional endpoint details on the related article.

Note: Metadata is available at:

  • api/metadata/task
  • api/metadata/taskwork
  • api/metadata/taskassignee
  • api/metadata/taskroles
HTTP Method Route Description
DELETE api/tasks/{taskID}/document-uploads/{documentID}/ uploaded-versions/{versionID} Delete a specific version of an uploaded document associated with a task.
GET api/tasks/mine?status={statusId} Retrieve all tasks for the current user. You MUST provide a statusId.
api/tasks/{taskID} Retrieve a specific task.
api/tasks/{taskID}/documents/attachments Retrieve all attachments associated with a specific task.
api/tasks/{taskID}/documents/assets Retrieve all assets associated with a specific task.
api/tasks/{taskID}/document-uploads Retrieve all document uploads associated with a task.
api/tasks/{taskID}/document-uploads/{documentID} Retrieve a specific document upload associated with a task.
api/tasks/{taskID}/document-uploads/{documentID}/ uploaded-versions Retrieve all versions of a specific document upload associated with a task.
api/tasks/{taskID}/document-uploads/{documentID}/ uploaded-versions/{versionID} Retrieve a specific version of a document upload associated with a task.
tasks/{task-id}/assignees Retrieve the assignees on a specific task
tasks/{task-id}/working-digital-assets
tasks/{task-id}/working-digital-assets/{documentId}
tasks/{task-id}/working-attachments
tasks/{task-id}/working-attachments/{documentId}
tasks/{taskId}/documents
tasks/task-id/document-votes
tasks/{task-id}/review-materials
PUT* api/tasks/{taskID} Update a specific task. Limited to title, description, and EA fields.
api/tasks/begin-date/{taskID} Update the begin date of a task.
api/tasks/end-date/{taskID} Update the end date of a task.
api/tasks/duration/{taskID} Update the duration of a task.
POST api/tasks/simple-tasks Create a new Simple Task. Please see the related page for details on how to use this route.
api/tasks/{taskID}/delegate Delegate a task from one user to a different user. More details are available on the working with tasks page.
api/tasks/{taskID}/accept Accept a task.
api/tasks/{taskID}/close Close a task.
Note: Tasks will not close if required fields are missing. Only users assigned to tasks may close tasks via the REST API – the Integration Access, API domain right does not allow a user to close tasks that he or she is not assigned to.
api/tasks/{taskID}/decline Decline a task.
api/tasks/{taskID}/document-uploads/ {taskDocumentID}/attachments Create an attachment to a task.
api/tasks/{taskID}/document-uploads/ {taskDocumentID}/attachments/{attachmentID}/versions Create a new version of an attachment associated with a task.
api/tasks/search Retrieve all tasks that match the search criteria.
The following fields are not searchable (may not be a complete list):

  • closed by user
  • assignees
  • number of assignees
  • can delegate
  • can decline
  • review comments
  • outlook
  • task roles
  • task predecessors

The following field is returned as a boolean in responses, but must be searched with an int:

  • ShowDocResult

Teams

HTTP Method Route Description
GET api/teams Retrieve all teams.
api/teams/{teamID} Retrieve a specific team.

Treatments

Note: Metadata is available at api/metadata/treatment.

HTTP Method Route Description
GET api/treatments/{treatmentID} Retrieve a specific treatment.
PUT api/treatments/{treatmentID} Update a specific treatment.
POST api/treatments/search Retrieve all treatments that match the search criteria in the body of the POST.
The following fields are not searchable (may not be a complete list):

  • assigned activities

Users

Note: Metadata is available at api/metadata/user.

HTTP Method Route Description
DELETE api/users/{userID} Delete a specific user.
GET api/users/{userID} Retrieve a specific user. This route also returns the user’s last login.
api/users/me Retrieve the logged in user.
api/users/annotationUsers Retrieve all annotation users.
PUT* api/users/{userID} Update a specific user.
POST api/users Create a new user.
api/users/search Retrieve all users who match the search criteria.
The following fields are not searchable (may not be a complete list):

  • is out of office
  • last login date (available in release 75)
  • groups
  • investment review user backups
  • investment review group backups
  • activity financial user backups
  • activity financial group backups
  • concept review user backups
  • concept review group backups
  • workflow user backups
  • workflow group backups
  • role
  • inherited rights
  • legacy avatar uri
api/users/{userID}/resetpin Resets the User Pin of the denoted User (ID).

  • Required Rights: Security Admin
  • If user is valid, it will reset the user’s PIN field. When the user next logs in, they will be asked to enter a new pin. The API will return a 200OK response.
  • If the user is invalid or you have insufficient rights to utilise the route , the API will return an appropriate response e.g.Status 404 User not found, Status 403 User not authorized to reset pin. Security Admin Rights required.
  • The user will receive a notification from the system informing them that their Pin was reset.

Tips:

  • To make a Full user, set applicationUser=true, portalUser=true, reviewUser=true.
  • To make a Contributor user, set applicationUser=false, portalUser=true, reviewUser=true.
  • To make a Consumer user, set applicationUser=false, portalUser=true, reviewUser=false.
  • The userType field will always be equal to 1 for users.
  • To find groups of which a user is a member, examine the ‘groups’ property.
  • To find a user’s domain rights, examine the ‘rights’ property. Note that these cannot be set today, however, you can set user groups which can also be used to manage functional rights.
  • To find a user’s roles, examine the ‘roles’ property.
  • To get a list of Investment Review User Backups, examine the ‘investmentReviewUserBackups’ property.
  • To get a list of Investment Review Group Backups, examine the ‘investmentReviewGroupBackups’ property.
  • To get a list of Activity Financial User Backups, examine the ‘activityFinancialUserBackups’ property.
  • To get a list of Activity Financial Group Backups, examine the ‘activityFinancialGroupBackups’ property.
  • To get a list of Concept Review User Backups, examine the ‘conceptReviewUserBackups’ property.
  • To get a list of Concept Review Group Backups, examine the ‘conceptReviewGroupBackups’ property.
  • To get a list of Workflow User Backups, examine the ‘workflowUserBackups’ property.
  • To get a list of Workflow Group Backups, examine the ‘workflowGroupBackups’ property.
  • To assign a My Home Page Template, see the ‘My Home Page Templates’ route.