Workday Compensation API
API for managing employee compensation data including salary structures, pay grades, and compensation plans. Provides endpoints for scorecard results and one-time payment requests.
API for managing employee compensation data including salary structures, pay grades, and compensation plans. Provides endpoints for scorecard results and one-time payment requests.
openapi: 3.1.0
info:
title: Workday Integration Workday Compensation API
description: >-
API for managing employee compensation data including salary structures, pay
grades, and compensation plans. Provides endpoints for scorecard results and
one-time payment requests.
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/compensation/v1/{tenant}
description: Workday Compensation REST API server
variables:
baseUrl:
default: wd2-impl-services1.workday.com
tenant:
default: tenant
security:
- OAuth2:
- r:compensation
- w:compensation
paths:
/scorecardResults:
get:
operationId: getScorecardResults
summary: Workday Integration Retrieve scorecard results
description: >-
Returns a collection of compensation scorecard results with
pagination support.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response with scorecard results
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardResultsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createScorecardResult
summary: Workday Integration Create a new scorecard result
description: >-
Creates a new compensation scorecard result.
tags:
- Scorecards
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardResultRequest'
responses:
'201':
description: Scorecard result created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/scorecardResults/{ID}:
get:
operationId: getScorecardResultById
summary: Workday Integration Retrieve a specific scorecard result
description: >-
Returns the specified scorecard result with scores and details.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the scorecard result
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardResult'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteScorecardResult
summary: Workday Integration Delete a scorecard result
description: >-
Removes the specified scorecard result.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/ID'
responses:
'204':
description: Scorecard result deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/scorecards:
get:
operationId: getCompensationScorecards
summary: Workday Integration Retrieve compensation scorecards
description: >-
Returns compensation scorecards filtered by effective date.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- name: effectiveDate
in: query
description: Filter by effective date
schema:
type: string
format: date
responses:
'200':
description: Successful response with compensation scorecards
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createCompensationScorecard
summary: Workday Integration Create a compensation scorecard
description: >-
Creates a new compensation scorecard definition.
tags:
- Scorecards
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardRequest'
responses:
'201':
description: Scorecard created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Scorecard'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/scorecards/{ID}:
get:
operationId: getCompensationScorecardById
summary: Workday Integration Retrieve a specific compensation scorecard
description: >-
Returns the specified compensation scorecard with its configuration.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the scorecard
content:
application/json:
schema:
$ref: '#/components/schemas/Scorecard'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateCompensationScorecard
summary: Workday Integration Update a compensation scorecard
description: >-
Modifies the specified compensation scorecard.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/ID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ScorecardRequest'
responses:
'200':
description: Scorecard updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Scorecard'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteCompensationScorecard
summary: Workday Integration Delete a compensation scorecard
description: >-
Removes the specified compensation scorecard.
tags:
- Scorecards
parameters:
- $ref: '#/components/parameters/ID'
responses:
'204':
description: Scorecard deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/workers/{ID}/requestOneTimePayment:
post:
operationId: requestOneTimePayment
summary: Workday Integration Create a one-time payment request
description: >-
Creates a one-time payment request for the specified worker, such as
a bonus or award, and initiates the approval business process.
tags:
- Payments
parameters:
- $ref: '#/components/parameters/ID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OneTimePaymentRequest'
responses:
'201':
description: One-time payment request created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OneTimePayment'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://{baseUrl}/authorize
tokenUrl: https://{baseUrl}/oauth2/{tenant}/token
scopes:
r:compensation: Read compensation data
w:compensation: Write compensation data
parameters:
ID:
name: ID
in: path
required: true
description: The Workday ID of the resource
schema:
type: string
limit:
name: limit
in: query
description: Maximum number of objects in a single response (default 20, maximum 100)
schema:
type: integer
default: 20
maximum: 100
offset:
name: offset
in: query
description: Zero-based index of the first object in a response collection
schema:
type: integer
default: 0
responses:
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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
errors:
type: array
items:
type: object
properties:
error:
type: string
message:
type: string
ResourceReference:
type: object
properties:
id:
type: string
descriptor:
type: string
href:
type: string
format: uri
ScorecardResult:
type: object
properties:
id:
type: string
descriptor:
type: string
scorecard:
$ref: '#/components/schemas/ResourceReference'
worker:
$ref: '#/components/schemas/ResourceReference'
overallScore:
type: number
effectiveDate:
type: string
format: date
ScorecardResultsResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/ScorecardResult'
ScorecardResultRequest:
type: object
required:
- scorecard
- worker
properties:
scorecard:
$ref: '#/components/schemas/ResourceReference'
worker:
$ref: '#/components/schemas/ResourceReference'
overallScore:
type: number
Scorecard:
type: object
properties:
id:
type: string
descriptor:
type: string
name:
type: string
effectiveDate:
type: string
format: date
isActive:
type: boolean
ScorecardsResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/Scorecard'
ScorecardRequest:
type: object
required:
- name
- effectiveDate
properties:
name:
type: string
effectiveDate:
type: string
format: date
OneTimePayment:
type: object
properties:
id:
type: string
descriptor:
type: string
worker:
$ref: '#/components/schemas/ResourceReference'
amount:
type: number
currency:
$ref: '#/components/schemas/ResourceReference'
payComponent:
$ref: '#/components/schemas/ResourceReference'
effectiveDate:
type: string
format: date
OneTimePaymentRequest:
type: object
required:
- amount
- payComponent
- effectiveDate
properties:
amount:
type: number
currency:
$ref: '#/components/schemas/ResourceReference'
payComponent:
$ref: '#/components/schemas/ResourceReference'
effectiveDate:
type: string
format: date
reason:
type: string
tags:
- name: Payments
- name: Scorecards