{ "openapi": "3.0.1", "info": { "title": "Workfront Planning API Version 1", "description": "This is Workfront Planning Service API documentation. Workfront Planning Service is responsible for creating and managing new workspace, field, record, record type objects across the Workfront application and Adobe DX infrastructure." }, "servers": [ { "url": "https://{customer-domain}/maestro/api", "description": "Workfront Planning Service Url" } ], "tags": [ { "name": "Workspaces", "description": "Workspace Controller" }, { "name": "Record Types", "description": "Record Type Controller" }, { "name": "Records", "description": "Record Controller" } ], "paths": { "/v1/records/{id}": { "get": { "tags": [ "Records" ], "summary": "Get Record", "description": "Retrieve a specific record by its ID along with optional attributes.", "operationId": "getRecord", "parameters": [ { "name": "id", "in": "path", "description": "ID of the record to be retrieved", "required": true, "schema": { "type": "string" } }, { "name": "aliased", "in": "query", "description": "Flag to include alias support", "required": false, "schema": { "type": "boolean" } }, { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/RecordDto" } } } } } }, "put": { "tags": [ "Records" ], "summary": "Update Record", "description": "Update an existing record with the given ID and details.", "operationId": "updateRecord", "parameters": [ { "name": "id", "in": "path", "description": "ID of the record to be updated", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/RecordDto" } } } } } }, "delete": { "tags": [ "Records" ], "summary": "Delete Record by ID", "description": "Delete a specific record by its ID.", "operationId": "deleteRecord", "parameters": [ { "name": "id", "in": "path", "description": "ID of the record to be deleted", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } } } }, "/v1/records": { "post": { "tags": [ "Records" ], "summary": "Create Record", "description": "Create a new record with the given details.", "operationId": "createRecord", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/RecordDto" } } } } } } }, "/v1/records/search": { "get": { "tags": [ "Records" ], "summary": "Search Records by field values", "description": "Search for records based on specific field values.", "operationId": "searchRecordsGet", "parameters": [ { "name": "recordTypeId", "in": "query", "description": "Id of the record type", "required": false, "schema": { "type": "string" } }, { "name": "recordTypeAlias", "in": "query", "description": "Alias of the record type", "required": false, "schema": { "type": "string" } }, { "name": "aliased", "in": "query", "description": "Flag to include alias support", "required": false, "schema": { "type": "boolean" } }, { "name": "filters", "in": "query", "description": "Filters", "required": false, "schema": { "type": "string" } }, { "name": "groupingFieldIds", "in": "query", "description": "Grouping field ids", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "offset", "in": "query", "description": "Offset", "required": false, "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "limit", "in": "query", "description": "Limit", "required": false, "schema": { "type": "integer", "format": "int32", "default": 500 } }, { "name": "rowOrderViewId", "in": "query", "description": "Row order view id", "required": false, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/GroupedRecordsDto" } } } } } }, "post": { "tags": [ "Records" ], "summary": "Search Records by field values", "description": "Search for records based on specific field values.", "operationId": "searchRecordsPost", "parameters": [ { "name": "recordTypeAlias", "in": "query", "description": "Alias of the record type", "required": false, "schema": { "type": "string" } }, { "name": "aliased", "in": "query", "description": "Flag to include alias support", "required": false, "schema": { "type": "boolean" } }, { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordSearchDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/GroupedRecordsDto" } } } } } } }, "/v1/workspaces": { "get": { "tags": [ "Workspaces" ], "summary": "Get All Workspaces", "description": "Retrieve a list of all workspaces along with optional attributes.", "operationId": "getWorkspaces", "parameters": [ { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/WorkspaceListDto" } } } } } } }, "/v1/workspaces/{id}": { "get": { "tags": [ "Workspaces" ], "summary": "Get Workspace", "description": "Retrieve a workspace by its ID along with optional attributes.", "operationId": "getWorkspace", "parameters": [ { "name": "id", "in": "path", "description": "ID of the workspace to be retrieved", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/WorkspaceDto" } } } } } } }, "/v1/record-types": { "get": { "tags": [ "Record Types" ], "summary": "Get Record Types of specified Workspace", "description": "Retrieve a list of record types associated with a specified workspace. If a user has view access to workspaces, they gain visibility into all record types.", "operationId": "getRecordTypes", "parameters": [ { "name": "workspaceId", "in": "query", "description": "ID of the workspace", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RecordTypeDto" } } } } } } } }, "/v1/record-types/{id}": { "get": { "tags": [ "Record Types" ], "summary": "Get Record Type by ID", "description": "Retrieve a specific record type by its ID along with optional attributes.", "operationId": "getRecordType", "parameters": [ { "name": "id", "in": "path", "description": "ID of the record type to be retrieved", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "List of attributes to be included in the response", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [ "*" ] }, "example": "ALL" } ], "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/RecordTypeDto" } } } } } } } }, "components": { "schemas": { "CoverImage": { "type": "object", "properties": { "url": { "type": "string" }, "position": { "type": "integer", "format": "int32" } }, "readOnly": true }, "RecordDto": { "type": "object", "properties": { "id": { "type": "string" }, "createdBy": { "type": "string" }, "createdAt": { "type": "string" }, "updatedBy": { "type": "string" }, "updatedAt": { "type": "string" }, "customerId": { "type": "string" }, "imsOrgId": { "type": "string" }, "recordTypeId": { "type": "string" }, "data": { "type": "object", "additionalProperties": { "type": "object" } }, "recordExternalOptions": { "$ref": "#/components/schemas/RecordExternalOptions" }, "thumbnailUrl": { "type": "string", "readOnly": true }, "coverImage": { "$ref": "#/components/schemas/CoverImage" } } }, "RecordExternalOptions": { "type": "object", "properties": { "connection": { "type": "string", "enum": [ "WORKFRONT", "AEM" ] }, "object": { "type": "string", "enum": [ "PROJECT", "PORTFOLIO", "PROGRAM", "COMPANY", "GROUP", "ASSET" ] }, "externalId": { "type": "string" }, "connectionOptions": { "type": "object", "additionalProperties": { "type": "object" } }, "link": { "type": "string" } } }, "JsonNode": { "type": "object" }, "RecordSearchDto": { "type": "object", "properties": { "recordTypeId": { "type": "string" }, "recordTypeAlias": { "type": "string" }, "filters": { "$ref": "#/components/schemas/JsonNode" }, "groupingFieldIds": { "type": "array", "items": { "type": "string" } }, "sorting": { "type": "array", "items": { "$ref": "#/components/schemas/RecordSorting" } }, "offset": { "type": "integer", "format": "int32" }, "limit": { "type": "integer", "format": "int32" }, "rowOrderViewId": { "type": "string" } } }, "RecordSorting": { "type": "object", "properties": { "fieldId": { "type": "string" }, "direction": { "type": "string", "enum": [ "asc", "desc" ] } } }, "GroupedRecordsDto": { "type": "object", "properties": { "records": { "type": "array", "items": { "$ref": "#/components/schemas/RecordDto" } }, "groups": { "type": "array", "items": { "$ref": "#/components/schemas/RecordGroupDto" } }, "totalCount": { "type": "integer", "format": "int32" } } }, "RecordGroupDto": { "type": "object", "properties": { "fieldId": { "type": "string" }, "value": { "type": "object" }, "recordIds": { "type": "array", "items": { "type": "string" } } } }, "FieldDateOptionsDto": { "type": "object", "properties": { "dateFormat": { "type": "string", "enum": [ "locale", "standard", "friendly", "european", "iso" ] }, "timeFormat": { "type": "string", "enum": [ "h12", "h24" ] } } }, "FieldDto": { "type": "object", "properties": { "id": { "type": "string" }, "createdBy": { "type": "string" }, "createdAt": { "type": "string" }, "updatedBy": { "type": "string" }, "updatedAt": { "type": "string" }, "customerId": { "type": "string" }, "imsOrgId": { "type": "string" }, "alias": { "type": "string" }, "displayName": { "type": "string" }, "type": { "type": "string" }, "linkedField": { "$ref": "#/components/schemas/FieldDto" }, "description": { "type": "string" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/FieldOptionDto" } }, "dateOptions": { "$ref": "#/components/schemas/FieldDateOptionsDto" }, "numberOptions": { "$ref": "#/components/schemas/FieldNumberOptionsDto" }, "referenceOptions": { "$ref": "#/components/schemas/FieldReferenceOptionsDto" }, "lookupOptions": { "$ref": "#/components/schemas/FieldLookupOptionsDto" }, "formulaOptions": { "$ref": "#/components/schemas/FieldFormulaOptionsDto" }, "userOptions": { "$ref": "#/components/schemas/FieldUserOptionsDto" }, "hasError": { "type": "boolean" } } }, "FieldFormulaOptionsDto": { "type": "object", "properties": { "formula": { "type": "string" } } }, "FieldLookupOptionsDto": { "type": "object", "properties": { "referenceFieldId": { "type": "string" }, "rollup": { "type": "string" }, "sourceField": { "$ref": "#/components/schemas/FieldDto" } } }, "FieldNumberOptionsDto": { "type": "object", "properties": { "precision": { "type": "integer", "format": "int32" }, "allowNegatives": { "type": "boolean" }, "currency": { "type": "string", "enum": [ "AED", "AFN", "ALL", "AMD", "AON", "ARS", "AUD", "AZN", "BAM", "BBD", "BDT", "BGL", "BHD", "BIF", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "GBP", "GEL", "GHC", "GMD", "GNF", "GTQ", "GYD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZM", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SLL", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TZS", "UAH", "UGS", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "YER", "ZAR", "ZMK", "ZWD" ] } } }, "FieldOptionDto": { "type": "object", "properties": { "name": { "type": "string" }, "displayName": { "type": "string" }, "color": { "type": "string" } } }, "FieldReferenceExternalOptionsDto": { "type": "object", "properties": { "connectionName": { "type": "string" }, "objectName": { "type": "string" }, "connectionOptions": { "type": "object", "additionalProperties": { "type": "string" } } } }, "FieldReferenceLookupFieldDto": { "type": "object", "properties": { "fieldId": { "type": "string" }, "rollup": { "type": "string" } } }, "FieldReferenceOptionsDto": { "type": "object", "properties": { "multiple": { "type": "boolean" }, "recordTypeId": { "type": "string" }, "isExternal": { "type": "boolean" }, "externalOptions": { "$ref": "#/components/schemas/FieldReferenceExternalOptionsDto" }, "filters": { "type": "object", "additionalProperties": { "type": "object" } }, "lookupFields": { "type": "array", "items": { "$ref": "#/components/schemas/FieldReferenceLookupFieldDto" } } } }, "FieldUserOptionsDto": { "type": "object", "properties": { "multipleUsersAllowed": { "type": "boolean" } } }, "RecordTypeDto": { "type": "object", "properties": { "id": { "type": "string" }, "createdBy": { "type": "string" }, "createdAt": { "type": "string" }, "updatedBy": { "type": "string" }, "updatedAt": { "type": "string" }, "customerId": { "type": "string" }, "imsOrgId": { "type": "string" }, "alias": { "type": "string" }, "displayName": { "type": "string" }, "permission": { "type": "string", "enum": [ "manage", "edit", "view", "none" ] }, "primaryFieldId": { "type": "string" }, "icon": { "type": "string" }, "description": { "type": "string" }, "color": { "type": "string" }, "fields": { "type": "array", "items": { "$ref": "#/components/schemas/FieldDto" } }, "isExternal": { "type": "boolean" }, "externalOptions": { "$ref": "#/components/schemas/RecordTypeExternalOptionsDto" } } }, "RecordTypeExternalOptionsDto": { "type": "object", "properties": { "connectionName": { "type": "string" }, "objectName": { "type": "string" }, "fields": { "type": "object", "additionalProperties": { "type": "string" } } } }, "RecordTypeSectionDto": { "type": "object", "properties": { "name": { "type": "string" }, "displayName": { "type": "string" }, "recordTypeIds": { "type": "array", "items": { "type": "string" } } } }, "WorkspaceDto": { "type": "object", "properties": { "id": { "type": "string" }, "createdBy": { "type": "string" }, "createdAt": { "type": "string" }, "updatedBy": { "type": "string" }, "updatedAt": { "type": "string" }, "customerId": { "type": "string" }, "imsOrgId": { "type": "string" }, "alias": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "color": { "type": "string" }, "permission": { "type": "string", "enum": [ "manage", "edit", "view", "none" ] }, "icon": { "type": "string" }, "recordTypes": { "type": "array", "items": { "$ref": "#/components/schemas/RecordTypeDto" } }, "recordTypeSections": { "type": "array", "items": { "$ref": "#/components/schemas/RecordTypeSectionDto" } } } }, "WorkspaceListDto": { "type": "object", "properties": { "workspaces": { "type": "array", "items": { "$ref": "#/components/schemas/WorkspaceDto" } }, "permission": { "type": "string", "enum": [ "manage", "edit", "view", "none" ] } } } } } }