openapi: 3.2.0 info: title: Adobe Workfront Portfolio API version: v19.0 servers: - url: https://{domain}.my.workfront.com/attask/api/v19.0 description: Production environment - url: https://{domain}.preview.workfront.com/attask/api/v19.0 description: Preview environment security: - ApiKeyHeader: [] - SessionIDHeader: [] - AtTaskCookie: [] - WFAuthCookie: [] tags: - name: Portfolio paths: /portfolio/{id}: get: summary: Get for Portfolio operationId: getPortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string - name: fields in: query description: JSON array defining the fields to retrieve required: false example: '["ID", "name"]' content: application/json: schema: type: array items: type: string responses: '200': description: Great Success content: application/json: schema: type: object properties: data: $ref: ./Portfolio.json '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio put: summary: Edit a Portfolio operationId: editPortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string - name: fields in: query description: JSON array defining the fields to retrieve required: false example: '["ID", "name"]' content: application/json: schema: type: array items: type: string responses: '200': description: Great Success content: application/json: schema: type: object properties: data: $ref: ./Portfolio.json '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio delete: summary: Delete for Portfolio operationId: deletePortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string - name: force in: query description: force delete flag required: false schema: type: boolean responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio: get: summary: Bulk Get for Portfolio operationId: getPortfolios parameters: - name: id in: query description: Object IDs required: true schema: type: string example: id1,id2,id3 - name: fields in: query description: JSON array defining the fields to retrieve required: false example: '["ID", "name"]' content: application/json: schema: type: array items: type: string responses: '200': description: Great Success content: application/json: schema: type: object properties: data: anyOf: - $ref: ./Portfolio.json - type: array items: $ref: ./Portfolio.json '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio put: summary: Bulk Edit for Portfolio operationId: editPortfolios parameters: - name: fields in: query description: JSON array defining the fields to retrieve required: false example: '["ID", "name"]' content: application/json: schema: type: array items: type: string requestBody: content: application/json: schema: anyOf: - $ref: ./Portfolio.json - type: array items: $ref: ./Portfolio.json responses: '200': description: Great Success content: application/json: schema: type: object properties: data: anyOf: - $ref: ./Portfolio.json - type: array items: $ref: ./Portfolio.json '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio post: summary: Create a portfolio operationId: addPortfolios parameters: - name: fields in: query description: JSON array defining the fields to retrieve required: false example: '["ID", "name"]' content: application/json: schema: type: array items: type: string requestBody: content: application/json: schema: anyOf: - $ref: ./Portfolio.json - type: array items: $ref: ./Portfolio.json responses: '200': description: Great Success content: application/json: schema: type: object properties: data: anyOf: - $ref: ./Portfolio.json - type: array items: $ref: ./Portfolio.json '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio delete: summary: Bulk Delete for Portfolio operationId: deletePortfolios parameters: - name: id in: query description: Object IDs required: true schema: type: string example: id1,id2,id3 - name: force in: query description: force delete flag required: false schema: type: boolean responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/count: get: summary: Count of portfolio operationId: countPortfolios parameters: - name: filters in: query description: JSON representing the filtering conditions required: false content: application/json: schema: type: object responses: '200': description: Great Success content: application/json: schema: type: object properties: data: type: object properties: count: type: integer format: int32 '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/search: get: summary: Search of portfolio operationId: searchPortfolios parameters: - name: filters in: query description: JSON representing the filtering conditions required: false content: application/json: schema: type: object - name: fields in: query description: JSON array defining the fields to retrieve required: false example: '["ID", "name"]' content: application/json: schema: type: array items: type: string - name: listOptions in: query description: JSON object defining the list options required: false content: application/json: schema: $ref: ./ListOptions.json responses: '200': description: Great Success content: application/json: schema: type: object properties: data: type: array items: $ref: ./Portfolio.json '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/report: get: summary: Report of portfolio operationId: reportPortfolios parameters: - name: filters in: query description: JSON representing the filtering conditions required: false content: application/json: schema: type: object - name: listOptions in: query description: JSON object defining the list options required: false content: application/json: schema: $ref: ./ListOptions.json responses: '200': description: Great Success content: application/json: schema: type: object properties: data: type: object '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/{id}/share: put: summary: Sharing of a Portfolio operationId: sharePortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string - name: accessorObjCode in: query required: true schema: type: string - name: accessorID in: query required: true schema: type: string - name: coreAction in: query required: true schema: type: string enum: - VIEW - EDIT - DELETE - name: forbiddenActions in: query schema: type: array items: type: string enum: - ADD_DOCUMENTS - SHARE - SHARE_SYSTEMWIDE responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/share: put: summary: Batch sharing of a Portfolio operationId: batchSharePortfolio parameters: - name: id in: query description: Object IDs required: true schema: type: string example: id1,id2,id3 - name: accessorObjCode in: query required: true schema: type: string - name: accessorID in: query required: true schema: type: string - name: coreAction in: query required: true schema: type: string enum: - VIEW - EDIT - DELETE - name: forbiddenActions in: query schema: type: array items: type: string enum: - ADD_DOCUMENTS - SHARE - SHARE_SYSTEMWIDE responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/{id}/unshare: put: summary: Un-sharing of a Portfolio operationId: unsharePortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string - name: accessorObjCode in: query required: true schema: type: string - name: accessorID in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/unshare: put: summary: Batch un-sharing of a Portfolio operationId: batchUnsharePortfolio parameters: - name: id in: query description: Object IDs required: true schema: type: string example: id1,id2,id3 - name: accessorObjCode in: query required: true schema: type: string - name: accessorID in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/{id}/sharePublic: put: summary: Public share of a Portfolio operationId: sharePublicPortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string - name: coreAction in: query required: true schema: type: string enum: - VIEW - EDIT - DELETE - name: forbiddenActions in: query schema: type: array items: type: string enum: - ADD_DOCUMENTS - SHARE - SHARE_SYSTEMWIDE responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/sharePublic: put: summary: Batch public share of a Portfolio operationId: batchSharePublicPortfolio parameters: - name: id in: query description: Object IDs required: true schema: type: string example: id1,id2,id3 - name: coreAction in: query required: true schema: type: string enum: - VIEW - EDIT - DELETE - name: forbiddenActions in: query schema: type: array items: type: string enum: - ADD_DOCUMENTS - SHARE - SHARE_SYSTEMWIDE responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/{id}/unsharePublic: put: summary: Public un-share of a Portfolio operationId: unsharePublicPortfolio parameters: - name: id in: path description: Object ID required: true schema: type: string responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/unsharePublic: put: summary: Batch public un-share of a Portfolio operationId: batchUnsharePublicPortfolio parameters: - name: id in: query description: Object IDs required: true schema: type: string example: id1,id2,id3 responses: '200': $ref: '#/components/responses/200_OK' '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/calculateDataExtension: summary: calculateDataExtension put: operationId: portfolioCalculateDataExtension parameters: - name: ID in: query description: Object ID required: false schema: type: string responses: '200': description: Great Success '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/linkExternalObject: summary: linkExternalObject put: operationId: portfolioLinkExternalObject parameters: - name: objID in: query description: objID required: false schema: type: string - name: linkedObjectID in: query description: linkedObjectID required: false schema: type: string - name: integrationType in: query description: integrationType required: false schema: type: string - name: URL in: query description: URL required: false schema: type: string - name: params in: query description: params required: false schema: type: array items: type: string responses: '200': description: Great Success '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio /portfolio/unlinkExternalObject: summary: unlinkExternalObject put: operationId: portfolioUnlinkExternalObject parameters: - name: objID in: query description: objID required: false schema: type: string - name: linkedObjectID in: query description: linkedObjectID required: false schema: type: string - name: integrationType in: query description: integrationType required: false schema: type: string responses: '200': description: Great Success '422': $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY' '400': $ref: '#/components/responses/400_BAD_REQUEST' '429': $ref: '#/components/responses/429_TOO_MANY_REQUESTS' '403': $ref: '#/components/responses/403_FORBIDDEN' '401': $ref: '#/components/responses/401_UNAUTHORIZED' '404': $ref: '#/components/responses/404_NOT_FOUND' '500': $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR' '410': $ref: '#/components/responses/410_GONE' tags: - Portfolio components: responses: 200_OK: description: Great Success content: application/json: schema: type: object properties: data: type: object properties: success: type: boolean 429_TOO_MANY_REQUESTS: description: Too many concurrent API requests for the given customer. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 500_INTERNAL_SERVER_ERROR: description: An unexpected error occurred. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 422_UNPROCESSABLE_ENTITY: description: The request contains invalid data. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 401_UNAUTHORIZED: description: The request is not authenticated. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 400_BAD_REQUEST: description: The operation is not supported. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 404_NOT_FOUND: description: The requested resource was not found. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 403_FORBIDDEN: description: The user does not have permission to perform the operation. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string 410_GONE: description: The requested resource is no longer available in this API version. content: application/json: schema: type: object properties: error: type: object properties: class: type: string message: type: string securitySchemes: SessionIDHeader: type: apiKey name: sessionID in: header AtTaskCookie: type: apiKey name: attask in: cookie WFAuthCookie: type: apiKey name: wf-auth in: cookie ApiKeyHeader: type: apiKey name: apiKey in: header