Adobe Workfront Records API

Record Controller

Operations 22

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/records/{id} Fetch a record with the legacy v1 endpoint · Get Record #
Ask an LLM
“Can I still pull a single record through the older v1 records endpoint?”
“Is there a way to choose which attributes come back when I fetch a record on the v1 API?”
Tell an agent
Use the v1 endpoint to fetch record {id}.
Get record {id} from the legacy v1 API with only the attributes {attributes}.
PUT /v1/records/{id} Update a record with the legacy v1 endpoint · Update Record #
Ask an LLM
“How would I change a record's field data using the original v1 records API?”
“Can the v1 API swap a record's cover image or thumbnail URL?”
Tell an agent
Through the legacy v1 API, update record {id} with field data {data}.
Set the thumbnail of record {id} to {thumbnailUrl} using the v1 update endpoint.
DELETE /v1/records/{id} Delete a record with the legacy v1 endpoint · Delete Record by ID #
Ask an LLM
“Does the older v1 records API let me delete a single record by its ID?”
“Which v1 endpoint removes one record from Workfront Planning?”
Tell an agent destructive · confirm first
Delete record {id} using the legacy v1 endpoint.
Remove record {id} through the v1 records API.
POST /v1/records Create a record with the legacy v1 endpoint · Create Record #
Ask an LLM
“How did the v1 API create a record when the record type goes in the body rather than the path?”
“Can I create a record on the v1 API and pass its record type ID in the request body?”
Tell an agent
With the legacy v1 API, create a record of record type {recordTypeId} holding {data}.
Add a v1 record under record type {recordTypeId}.
GET /v1/records/search Search records by field values via v1 query string · Search Records by field values #
Ask an LLM
“Can I search records by field value with a plain GET on the older v1 search endpoint?”
“Does the v1 query-string record search support offset and limit paging?”
Tell an agent
Using the v1 GET search, find records of record type {recordTypeId} matching filters {filters}.
Run a v1 GET record search on record type alias {recordTypeAlias}, returning {limit} results from offset {offset}.
POST /v1/records/search Search records by field values via v1 POST body · Search Records by field values #
Ask an LLM
“Can the v1 record search take its filters and sorting in a POST body instead of the URL?”
“Is there a v1 search that lets me sort records and group them by fields in the request body?”
Tell an agent
Post a v1 record search for record type {recordTypeId} with filters {filters} in the body.
Do a v1 body-based record search on record type {recordTypeId}, sorted by {sorting}.
GET /v2/records/{id} Get a record by ID · Get Record #
Ask an LLM
“How can I look up one Workfront Planning record and see its field data?”
“What comes back when I retrieve a single record by its ID on the current API?”
Tell an agent
Get record {id}.
Show me the field values stored on record {id}.
PUT /v2/records/{id} Replace a record's contents in full · Update Record #
Ask an LLM
“What happens to fields I leave out when I fully replace a record?”
“How do I overwrite every field on a record in one request?”
Tell an agent
Fully replace record {id} with field data {data}, clearing anything not included.
Overwrite record {id} entirely, setting its cover image to {coverImage}.
DELETE /v2/records/{id} Delete a record · Delete Record #
Ask an LLM
“How do I delete one record from a record type?”
“Can I remove a single Planning record by its ID?”
Tell an agent destructive · confirm first
Delete record {id}.
Permanently remove the record with ID {id}.
PATCH /v2/records/{id} Change only some fields on a record · Patch Record #
Ask an LLM
“Can I change just one field on a record without touching the others?”
“How do I clear a single field value on a record by sending null?”
Tell an agent
Patch record {id} so only these fields change: {data}.
On record {id}, update just the thumbnail URL to {thumbnailUrl} and leave everything else alone.
PUT /v2/record-types/{recordTypeId}/records/bulk Fully replace up to 100 records at once · Bulk Update Records #
Ask an LLM
“Can I overwrite many records in a record type in one call, replacing all their fields?”
“What's the maximum number of records a bulk full-replacement update accepts?”
Tell an agent
Bulk replace records in record type {recordTypeId}, nulling any fields not supplied.
Run a full-replacement bulk update on record type {recordTypeId} and return field aliases as keys.
POST /v2/record-types/{recordTypeId}/records/bulk Create up to 100 records in one request · Bulk Create Records #
Ask an LLM
“How do I import a batch of new records into a record type at once?”
“How many records can I create in a single bulk create request?”
Tell an agent
Bulk create a batch of new records in record type {recordTypeId}.
Add these up-to-100 new records to record type {recordTypeId} in one request.
DELETE /v2/record-types/{recordTypeId}/records/bulk Delete up to 100 records at once · Bulk Delete Records #
Ask an LLM
“Can I delete a list of records from a record type in a single call?”
“Is there a cap on how many record IDs a bulk delete takes?”
Tell an agent destructive · confirm first
Bulk delete records {ids} from record type {recordTypeId}.
Wipe out these record IDs in one go from record type {recordTypeId}: {ids}.
PATCH /v2/record-types/{recordTypeId}/records/bulk Partially update up to 100 records at once · Bulk Patch Records #
Ask an LLM
“Can I change a few fields across many records without overwriting the rest?”
“Does a bulk merge-patch leave omitted fields on each record unchanged?”
Tell an agent
Bulk patch records in record type {recordTypeId}, changing only the fields I provide per record.
Apply partial edits to a batch of records in record type {recordTypeId} using field aliases.
POST /v2/records/{id}/thumbnail Upload a thumbnail image for a record · Upload thumbnail on record #
Ask an LLM
“How do I attach a thumbnail picture to a record?”
“Which image formats can I upload as a record thumbnail?”
Tell an agent
Upload {file} as the thumbnail for record {id}.
Replace the thumbnail image on record {id} with the PNG {file}.
DELETE /v2/records/{id}/thumbnail Remove a record's thumbnail · Delete thumbnail on record #
Ask an LLM
“How do I take the thumbnail image off a record?”
“Will removing a thumbnail fail if the record doesn't have one?”
Tell an agent destructive · confirm first
Remove the thumbnail from record {id}.
Clear record {id}'s thumbnail image.
GET /v2/record-types/{recordTypeId}/records List records in a record type · Get Records by Record Type #
Ask an LLM
“How do I page through every record in a record type?”
“What order are records listed in by default, and can I change the sort?”
Tell an agent
List the records in record type {recordTypeId}.
Show page {page} of record type {recordTypeId}'s records, {size} per page, sorted by {sort}.
POST /v2/record-types/{recordTypeId}/records Create a record in a record type · Create Record #
Ask an LLM
“How do I add a new record to a record type?”
“Is there a limit on how many records one record type can hold?”
Tell an agent
Create a record in record type {recordTypeId} with field data {data}.
Add one new record to record type {recordTypeId}.
GET /v2/record-types/{recordTypeId}/records/search Search a record type's records with URL filters · Search Records (GET) #
Ask an LLM
“Can I filter records in a record type by passing a JSON filter in the query string?”
“How do I limit a record search to certain workspaces for a global record type?”
Tell an agent
Search record type {recordTypeId} with the URL filter {filter}.
Query-string search record type {recordTypeId} scoped to workspaces {scopeWorkspaceIds}, grouped by {groupingFieldIds}.
POST /v2/record-types/{recordTypeId}/records/search Search a record type's records with nested filters · Search Records (POST) #
Ask an LLM
“Can I search records with nested AND/OR conditions sent in a request body?”
“Which record search lets me post typed filter conditions plus sort and grouping settings?”
Tell an agent
Search record type {recordTypeId} with this nested AND/OR filter body: {filter}.
Post a search on record type {recordTypeId}, grouping by {group} and returning only fields {fieldIds}.
POST /v2/record-types/{recordTypeId}/records/move Reorder records within a record type · Move Records #
Ask an LLM
“How do I change the position of rows in a record type?”
“If moving records fails partway, do some of them still get moved?”
Tell an agent
In record type {recordTypeId}, move records {recordIds} to sit right after record {putAfterRecordId}.
Reorder record type {recordTypeId} so records {recordIds} come just before {putBeforeRecordId}.
GET /v2/records/{id}/history See a record's field change history · Get Record Field Change History #
Ask an LLM
“Who changed which fields on a record, and when?”
“Can I page through the edit history of a record?”
Tell an agent
Show the field change history for record {id}.
Get the next {limit} change events for record {id} after cursor {cursor}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/workfront:workfront-records-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

workfront-records-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Workfront Records API
  version: '1.0'
  description: 'Operations tagged Records across 2 of this provider''s published API definitions: workfront-planning-v1-openapi.json, workfront-planning-v2-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{customer-domain}/maestro/api
  description: Workfront Planning Service Url
tags:


# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/workfront/refs/heads/main/openapi/workfront-records-api-openapi.yml