openapi: 3.1.0 info: title: Workday Integration Workday Revenue Management API description: >- API for revenue recognition, billing, and revenue reporting. Provides programmatic access to revenue schedules, contracts, and billing operations. version: v1 contact: name: Workday API Support email: api-support@workday.com url: https://community.workday.com license: name: Proprietary url: https://www.workday.com/en-us/legal/site-terms.html servers: - url: https://{baseUrl}/ccx/api/revenueManagement/v1/{tenant} description: Workday Revenue Management REST API server variables: baseUrl: default: wd2-impl-services1.workday.com tenant: default: tenant security: - OAuth2: - r:revenueManagement paths: /revenueSchedules: get: operationId: getRevenueSchedules summary: Workday Integration Retrieve revenue schedules description: >- Returns a collection of revenue recognition schedules. tags: - Revenue Schedules parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with revenue schedules content: application/json: schema: $ref: '#/components/schemas/CollectionResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /contracts: get: operationId: getContracts summary: Workday Integration Retrieve revenue contracts description: >- Returns a collection of revenue contracts. tags: - Contracts parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with contracts content: application/json: schema: $ref: '#/components/schemas/CollectionResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /contracts/{ID}: get: operationId: getContractById summary: Workday Integration Retrieve a specific revenue contract description: >- Returns the specified revenue contract with its details. tags: - Contracts parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the contract content: application/json: schema: $ref: '#/components/schemas/ResourceInstance' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{baseUrl}/authorize tokenUrl: https://{baseUrl}/oauth2/{tenant}/token scopes: r:revenueManagement: Read revenue management data parameters: ID: name: ID in: path required: true schema: type: string limit: name: limit in: query schema: type: integer default: 20 maximum: 100 offset: name: offset in: query schema: type: integer default: 0 search: name: search in: query schema: type: string responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object properties: error: type: string ResourceInstance: type: object properties: id: type: string descriptor: type: string href: type: string format: uri CollectionResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/ResourceInstance' tags: - name: Contracts - name: Revenue Schedules