logoBack to home screen

Updating Contents with REST

This document explains how to execute content updates using ADx REST API.

  1. Log in to ADx and open the repository where the contents to be updated are stored:

  2. Select the content you want to update. Copy the content's technical ID:

  3. Go back to the landing page and click the API link under the repository where the contents to be updated are stored:

    OpenAPI page opens, showing the available ADx endpoints.

  4. Optionally, open the /access.adx.content.test/v1/content/checkout endpoint available under Versioning.

  5. Optionally, paste the content's technical ID into the contentId field:

  6. Optionally, click Execute and check the response. A response with status 200 (success) is expected, meaning that the content is now checked out. At this point, a new version of the content is created, with a new contentID. Copy the new contentID from the message:

  7. Open the /access.adx.content.test/v1/content/update endpoint available under Content. Click Try it out to activate the fields.

  8. Paste the new content ID into the contentId field.

  9. Change the properties as required. If you want to upload a new resource, simply attach it in the resource field.

  10. Click Execute and check the response. A response with status 200 (success) is expected, meaning that the content is now updated. Check the content access again to verify this is the case.

  11. Optionally, open the /access.adx.content.test/v1/content/checkin endpoint available under Versioning.

  12. Optionally, paste the new content technical ID into the contentId field.

  13. Optionally, click Execute. Your content is now saved with a new version, with the status CURRENT.

Updating custom type values on an existing content

In case a custom content exists it can be set. At the moment the OpenAPI UI is not supporting custom types. Use curl instead to do so. The properties needs to be sent as JSON as part of the properties String-To-String map, e.g.

curl -X POST "[http|https]://[HOST]:[PORT]/tribefire-services/api/v1/access.adx.content.[REPO_TECHNICAL_NAME]/v1/content/update?sessionId=[SESSION_ID]" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "serialized-request={ \"properties\": { \"[PROPERTY_NAME]\": \"[PROPERTY_VALUE]\" } }" -F "contentId=[CONTENT_ID]"

Imagine there exists a custom type called Invoice and it has an invoiceNumber, then use the following:

curl -X POST "[http|https]://[HOST]:[PORT]/tribefire-services/api/v1/access.adx.content.[REPO_TECHNICAL_NAME]/v1/content/update?sessionId=[SESSION_ID]" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "serialized-request={ \"properties\": { \"invoiceNumber\": \"myInvoiceNumberValue\" } }" -F "contentId=[CONTENT_ID]"