openapi: 3.1.0 info: title: Workday Extend Workday Custom Objects App Configurations App Deployments 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: App Deployments description: Operations for deploying and managing Extend application instances within a tenant. paths: /apps/{appId}/deployments: get: operationId: listAppDeployments summary: Workday Extend List application deployments description: Returns a collection of deployment records for the specified Extend application, including active and historical deployments. tags: - App Deployments parameters: - $ref: '#/components/parameters/appId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with deployment records content: application/json: schema: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/AppDeployment' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: operationId: deployApp summary: Workday Extend Deploy an Extend application description: Initiates a deployment of the specified Extend application version to the target environment. The deployment process provisions resources and activates the application. tags: - App Deployments parameters: - $ref: '#/components/parameters/appId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AppDeploymentCreate' responses: '202': description: Deployment initiated successfully content: application/json: schema: $ref: '#/components/schemas/AppDeployment' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /apps/{appId}/deployments/{deploymentId}: get: operationId: getAppDeployment summary: Workday Extend Retrieve a specific deployment description: Returns the details of a specific deployment record including its status, deployed version, and deployment timestamp. tags: - App Deployments parameters: - $ref: '#/components/parameters/appId' - $ref: '#/components/parameters/deploymentId' responses: '200': description: Successful response with the deployment details content: application/json: schema: $ref: '#/components/schemas/AppDeployment' '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: 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 AppDeploymentCreate: type: object required: - versionId properties: versionId: type: string description: The ID of the application version to deploy environment: type: string enum: - sandbox - production description: Target deployment environment AppDeployment: type: object properties: id: type: string description: Unique identifier for the deployment app: $ref: '#/components/schemas/ResourceReference' version: $ref: '#/components/schemas/ResourceReference' status: type: string enum: - pending - in_progress - deployed - failed - rolled_back description: Current status of the deployment environment: type: string enum: - sandbox - production description: Target deployment environment deployedOn: type: string format: date-time description: Timestamp when the deployment completed deployedBy: $ref: '#/components/schemas/ResourceReference' href: type: string format: uri ErrorResponse: type: object properties: error: type: string description: Error code identifying the type of error message: type: string description: Human-readable error message details: type: array items: type: object properties: field: type: string message: type: string parameters: appId: name: appId in: path required: true description: The unique identifier of the Extend application schema: type: string deploymentId: name: deploymentId in: path required: true description: The unique identifier of the deployment record schema: type: string offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 limit: name: limit in: query description: Maximum number of results to return schema: type: integer default: 20 maximum: 100 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/