Workday Extensibility API

API for extending Workday functionality through custom objects, calculated fields, and business process extensions. Enables developers to build custom applications and extend the Workday platform.

OpenAPI Specification

workday-integration-extensibility-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Workday Integration Workday Extensibility API
  description: >-
    API for extending Workday functionality through custom objects, calculated fields, and business process extensions. Enables developers to build custom applications and extend the Workday platform.
  version: v1
  contact:
    name: Workday API Support
    email: [email protected]
    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/extensibility/v1/{tenant}
    description: Workday Workday Extensibility API server
    variables:
      baseUrl:
        default: wd2-impl-services1.workday.com
      tenant:
        default: tenant
security:
  - OAuth2:
      - r:extensibility
paths:
  /customObjects:
    get:
      operationId: getCustomObjects
      summary: Workday Integration Retrieve a collection of customObjects
      description: >-
        Returns a collection of customObjects from the Workday Extensibility API.
      tags:
        - Extensibility
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/search'
      responses:
        '200':
          description: Successful response with customObjects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /customObjects/{ID}:
    get:
      operationId: getCustomObjectById
      summary: Workday Integration Retrieve a specific CustomObject
      description: >-
        Returns the specified CustomObject instance with its details.
      tags:
        - Extensibility
      parameters:
        - $ref: '#/components/parameters/ID'
      responses:
        '200':
          description: Successful response with the CustomObject
          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:extensibility: Read Extensibility 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
    ResourceReference:
      type: object
      properties:
        id:
          type: string
        descriptor:
          type: string
        href:
          type: string
          format: uri
    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: Extensibility