openapi: 3.1.0 info: title: Workday Extend Workday Custom Objects App Configurations Orchestrations API description: APIs for defining and managing custom objects that extend Workday's data model to meet specific business needs. When new custom objects and business processes are built, a public REST API is automatically created for other developers and processes to use. Supports both single-instance and multi-instance custom objects attached to standard Workday business objects such as workers and organizations. version: v1 contact: name: Workday Developer Support url: https://support.developer.workday.com/s/ termsOfService: https://www.workday.com/en-us/legal.html servers: - url: https://{baseUrl}/api/customObjects/v1/{tenant} description: Workday Custom Objects API Server variables: baseUrl: default: api.workday.com tenant: default: tenant security: - OAuth2: - customObjects:manage tags: - name: Orchestrations description: Operations for managing orchestration definitions including creation, configuration, versioning, and lifecycle management. paths: /orchestrations: get: operationId: listOrchestrations summary: Workday Extend List orchestrations description: Returns a collection of orchestration definitions within the tenant. Supports filtering by status, name, and trigger type. tags: - Orchestrations parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' - name: status in: query description: Filter by orchestration status schema: type: string enum: - active - inactive - draft responses: '200': description: Successful response with orchestration definitions content: application/json: schema: type: object properties: total: type: integer description: Total number of orchestrations data: type: array items: $ref: '#/components/schemas/Orchestration' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: operationId: createOrchestration summary: Workday Extend Create an orchestration description: Creates a new orchestration definition in the tenant. The orchestration is created in draft status and must be activated before it can be triggered. tags: - Orchestrations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrchestrationCreate' responses: '201': description: Orchestration successfully created content: application/json: schema: $ref: '#/components/schemas/Orchestration' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /orchestrations/{orchestrationId}: get: operationId: getOrchestration summary: Workday Extend Retrieve an orchestration description: Returns the details of a specific orchestration definition including its steps, triggers, configuration, and execution history summary. tags: - Orchestrations parameters: - $ref: '#/components/parameters/orchestrationId' responses: '200': description: Successful response with orchestration details content: application/json: schema: $ref: '#/components/schemas/Orchestration' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: operationId: updateOrchestration summary: Workday Extend Update an orchestration description: Updates the definition of an existing orchestration. Only the fields provided in the request body are updated. Active orchestrations must be deactivated before modification. tags: - Orchestrations parameters: - $ref: '#/components/parameters/orchestrationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrchestrationUpdate' responses: '200': description: Orchestration successfully updated content: application/json: schema: $ref: '#/components/schemas/Orchestration' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteOrchestration summary: Workday Extend Delete an orchestration description: Deletes an orchestration definition from the tenant. The orchestration must be inactive and have no pending executions before deletion. tags: - Orchestrations parameters: - $ref: '#/components/parameters/orchestrationId' responses: '204': description: Orchestration successfully deleted '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /orchestrations/{orchestrationId}/activate: post: operationId: activateOrchestration summary: Workday Extend Activate an orchestration description: Activates a draft or inactive orchestration, making it available for triggering and execution. tags: - Orchestrations parameters: - $ref: '#/components/parameters/orchestrationId' responses: '200': description: Orchestration successfully activated content: application/json: schema: $ref: '#/components/schemas/Orchestration' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /orchestrations/{orchestrationId}/deactivate: post: operationId: deactivateOrchestration summary: Workday Extend Deactivate an orchestration description: Deactivates an active orchestration, preventing new executions from being triggered. In-flight executions are allowed to complete. tags: - Orchestrations parameters: - $ref: '#/components/parameters/orchestrationId' responses: '200': description: Orchestration successfully deactivated content: application/json: schema: $ref: '#/components/schemas/Orchestration' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: responses: Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: OrchestrationCreate: type: object required: - name - description properties: name: type: string description: Name of the orchestration maxLength: 255 description: type: string description: Description of the orchestration triggerType: type: string enum: - event - api - schedule - business_process description: The primary trigger type Orchestration: type: object properties: id: type: string description: Unique identifier for the orchestration descriptor: type: string description: Display name of the orchestration name: type: string description: The registered name of the orchestration description: type: string description: Detailed description of what the orchestration does status: type: string enum: - draft - active - inactive description: Current lifecycle status of the orchestration triggerType: type: string enum: - event - api - schedule - business_process description: The primary trigger type for this orchestration owner: $ref: '#/components/schemas/ResourceReference' app: $ref: '#/components/schemas/ResourceReference' stepCount: type: integer description: Number of steps in the orchestration lastExecutedOn: type: string format: date-time description: Timestamp of the most recent execution createdOn: type: string format: date-time description: Timestamp when the orchestration was created lastModified: type: string format: date-time description: Timestamp when the orchestration was last modified href: type: string format: uri ResourceReference: type: object properties: id: type: string description: The Workday ID of the referenced resource descriptor: type: string description: The display name of the referenced resource href: type: string format: uri description: The API resource URL OrchestrationUpdate: type: object properties: name: type: string description: Updated orchestration name maxLength: 255 description: type: string description: Updated orchestration description ErrorResponse: type: object properties: error: type: string description: Error code identifying the type of error message: type: string description: Human-readable error message parameters: limit: name: limit in: query description: Maximum number of results to return schema: type: integer default: 20 maximum: 100 orchestrationId: name: orchestrationId in: path required: true description: The unique identifier of the orchestration schema: type: string offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 search: name: search in: query description: Search term to filter results schema: type: string securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{baseUrl}/authorize tokenUrl: https://{baseUrl}/oauth2/{tenant}/token scopes: customObjects:manage: Manage custom object definitions and instances customObjects:read: Read custom object data externalDocs: description: Workday Custom Objects Documentation url: https://doc.workday.com/extend/custom-objects/