openapi: 3.1.0 info: title: Workday Extend Workday Custom Objects App Configurations Schema Introspection 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: Schema Introspection description: Operations for discovering available business objects, their fields, relationships, and query capabilities through the Graph API. paths: /schema: get: operationId: getSchema summary: Workday Extend Retrieve the graph schema description: Returns the full graph schema including all available business object types, their fields, relationships, and query capabilities. Used for introspection and discovery of the data model. tags: - Schema Introspection responses: '200': description: Successful response with schema information content: application/json: schema: $ref: '#/components/schemas/GraphSchema' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /schema/types: get: operationId: listSchemaTypes summary: Workday Extend List available business object types description: Returns a collection of available business object types that can be queried through the Graph API, including their descriptions and available fields. tags: - Schema Introspection parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with business object types content: application/json: schema: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/SchemaType' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /schema/types/{typeName}: get: operationId: getSchemaType summary: Workday Extend Retrieve a specific business object type schema description: Returns the full schema definition for a specific business object type, including all fields, their types, relationships to other objects, and available query operations. tags: - Schema Introspection parameters: - name: typeName in: path required: true description: The name of the business object type schema: type: string responses: '200': description: Successful response with type schema content: application/json: schema: $ref: '#/components/schemas/SchemaType' '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' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: SchemaField: type: object properties: name: type: string description: Field name dataType: type: string description: Data type of the field description: type: string description: Description of the field isFilterable: type: boolean description: Whether this field can be used in filters isSortable: type: boolean description: Whether results can be sorted by this field SchemaType: type: object properties: name: type: string description: The name of the business object type description: type: string description: Description of the business object type fields: type: array items: $ref: '#/components/schemas/SchemaField' description: Fields available on this type relationships: type: array items: $ref: '#/components/schemas/SchemaRelationship' description: Relationships to other business object types isQueryable: type: boolean description: Whether this type can be directly queried SchemaRelationship: type: object properties: name: type: string description: Relationship name targetType: type: string description: The related business object type cardinality: type: string enum: - one-to-one - one-to-many - many-to-many description: Relationship cardinality description: type: string description: Description of the relationship GraphSchema: type: object properties: types: type: array items: $ref: '#/components/schemas/SchemaType' description: All available business object types version: type: string description: Schema version identifier ErrorResponse: type: object properties: error: type: string description: Error code identifying the type of error message: type: string description: Human-readable error message location: type: object properties: line: type: integer description: Line number in the query where the error occurred column: type: integer description: Column number in the query where the error occurred parameters: limit: name: limit in: query description: Maximum number of results to return schema: type: integer default: 20 maximum: 100 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/