{ "openapi": "3.0.1", "info": { "title": "Maestro API", "description": "This is Maestro Service API documentation. Maestro Service is responsible for creating and managing new workspace, field, record, record type objects across the Workfront application and Adobe DX infrastructure.", "version": "v1" }, "servers": [ { "url": "https://{customer-domain}/maestro/api", "description": "Maestro 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": { "post": { "tags": [ "Records" ], "summary": "Search Records by field values", "description": "Search for records based on specific field values.", "operationId": "searchRecords", "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" } } }, "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" }, "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" ] } } } } } }