Workday Business Processes Approvals API

Manage approval steps and approval chains

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-business-process-definition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-process-instance-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-initiate-process-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-process-step-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-inbox-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-approval-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-schema/workday-business-processes-denial-request-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-business-process-definition-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-process-instance-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-initiate-process-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-process-step-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-inbox-item-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-approval-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-business-processes/refs/heads/main/json-structure/workday-business-processes-denial-request-structure.json

Other Resources

OpenAPI Specification

workday-business-processes-approvals-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Workday Business Process Approvals API
  description: The Workday Business Process API provides RESTful access to business process management capabilities including initiating workflows, managing approvals, tracking process instances, retrieving process definitions, and handling inbox items. The API enables organizations to programmatically trigger Workday business processes, monitor their status, and integrate workflow automation with external systems.
  version: v41.1
  contact:
    name: Workday Developer Support
    url: https://community.workday.com/
  x-generated-from: documentation
servers:
- url: https://{tenant}.workday.com/api/businessProcess/v1
  description: Workday tenant REST API endpoint
  variables:
    tenant:
      default: wd2-impl-services1
      description: Your Workday tenant hostname
security:
- oauth2: []
tags:
- name: Approvals
  description: Manage approval steps and approval chains
paths:
  /inboxItems/{itemId}/approve:
    post:
      operationId: approveInboxItem
      summary: Workday Approve Inbox Item
      description: Approves an inbox item to advance a business process.
      tags:
      - Approvals
      parameters:
      - name: itemId
        in: path
        required: true
        description: Inbox item identifier
        schema:
          type: string
        example: INB-001
      requestBody:
        description: Approval details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequest'
            examples:
              ApproveInboxItemExample:
                summary: Approve inbox item request
                x-microcks-default: true
                value:
                  comment: Candidate meets all requirements. Approved to proceed.
                  approverId: EMP-00200
      responses:
        '200':
          description: Inbox item approved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxItem'
              examples:
                ApproveInboxItem200Example:
                  summary: Default approveInboxItem 200 response
                  x-microcks-default: true
                  value:
                    id: INB-001
                    status: COMPLETE
                    actionTaken: APPROVED
                    completedDate: '2026-05-05T14:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: URI_PARTS
        dispatcherRules: itemId
  /inboxItems/{itemId}/deny:
    post:
      operationId: denyInboxItem
      summary: Workday Deny Inbox Item
      description: Denies an inbox item to reject a business process step.
      tags:
      - Approvals
      parameters:
      - name: itemId
        in: path
        required: true
        description: Inbox item identifier
        schema:
          type: string
        example: INB-002
      requestBody:
        description: Denial details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DenialRequest'
            examples:
              DenyInboxItemExample:
                summary: Deny inbox item request
                x-microcks-default: true
                value:
                  comment: Budget allocation not approved for this quarter.
                  denierId: EMP-00200
      responses:
        '200':
          description: Inbox item denied successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxItem'
              examples:
                DenyInboxItem200Example:
                  summary: Default denyInboxItem 200 response
                  x-microcks-default: true
                  value:
                    id: INB-002
                    status: COMPLETE
                    actionTaken: DENIED
                    completedDate: '2026-05-05T15:00:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: URI_PARTS
        dispatcherRules: itemId
components:
  schemas:
    DenialRequest:
      title: Denial Request
      description: Request to deny an inbox item
      type: object
      properties:
        comment:
          type: string
          description: Denial reason or comment
        denierId:
          type: string
          description: ID of the denying user
      required:
      - denierId
      - comment
    ErrorResponse:
      title: Error Response
      description: Standard error response
      type: object
      properties:
        error:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: string
          description: Additional error details
      required:
      - error
      - message
    InboxItem:
      title: Inbox Item
      description: A business process inbox item requiring user action
      type: object
      properties:
        id:
          type: string
          description: Unique inbox item identifier
        processInstanceId:
          type: string
          description: Associated process instance identifier
        subject:
          type: string
          description: Inbox item subject line
        assignedTo:
          type: string
          description: User assigned to handle this item
        status:
          type: string
          enum:
          - PENDING
          - IN_PROGRESS
          - COMPLETE
          - DELEGATED
          description: Item status
        dueDate:
          type: string
          format: date
          description: Item due date
        createdDate:
          type: string
          format: date-time
          description: Item creation timestamp
        completedDate:
          type: string
          format: date-time
          description: Item completion timestamp
        actionTaken:
          type: string
          enum:
          - APPROVED
          - DENIED
          - DELEGATED
          - RETRACTED
          description: Action taken on the item
        priority:
          type: string
          enum:
          - HIGH
          - MEDIUM
          - LOW
          description: Item priority
      required:
      - id
      - processInstanceId
      - subject
      - assignedTo
      - status
    ApprovalRequest:
      title: Approval Request
      description: Request to approve an inbox item
      type: object
      properties:
        comment:
          type: string
          description: Approval comment
        approverId:
          type: string
          description: ID of the approving user
      required:
      - approverId
  responses:
    Forbidden:
      description: Insufficient permissions to access the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: FORBIDDEN
            message: You do not have permission to perform this action
    Unauthorized:
      description: Authentication credentials are missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: UNAUTHORIZED
            message: Valid authentication credentials are required
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: NOT_FOUND
            message: The requested resource does not exist
    BadRequest:
      description: Invalid request parameters or body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: BAD_REQUEST
            message: Invalid request body
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://{tenant}.workday.com/ccx/oauth2/{tenant}/token
          scopes:
            businessProcess: Access to Workday Business Process API