ADP

ADP Workers API

The ADP Workers API enables access to employee and worker data including personal information, job assignments, pay grades, and employment status. REST APIs support worker lifecycle management for HCM integrations across ADP Workforce Now, Vantage HCM, and Enterprise HR platforms.

OpenAPI Specification

adp-workers-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ADP Workers API
  description: >-
    The ADP Workers API enables access to employee and worker data including personal
    information, job assignments, pay grades, compensation, and employment status.
    REST APIs support worker lifecycle management for HCM integrations across ADP
    Workforce Now, Vantage HCM, and Enterprise HR platforms.
  version: 2.0.0
  contact:
    name: ADP Developer Resources
    url: https://developers.adp.com/
  license:
    name: ADP API License
    url: https://developers.adp.com/

servers:
- url: https://api.adp.com
  description: ADP Production API

security:
- oauth2ClientCredentials: []

tags:
- name: Organizations
  description: Organizational unit management

- name: Workers
  description: Worker (employee) data access
paths:
  /hr/v2/workers:
    get:
      operationId: listWorkers
      summary: List Workers
      description: >-
        Retrieve a collection of workers (employees and contractors) from the
        organization. Supports filtering by worker type, status, and OData query parameters.
      tags: [Workers]
      parameters:
      - name: $filter
        in: query
        description: OData filter expression (e.g., workers/workAssignments/assignmentStatus/statusCode/codeValue eq 'Active')
        schema:
          type: string
        example: example_value
      - name: $select
        in: query
        description: OData select fields to return
        schema:
          type: string
        example: example_value
      - name: $top
        in: query
        description: Number of records to return
        schema:
          type: integer
          default: 25
          maximum: 100
        example: 10
      - name: $skip
        in: query
        description: Number of records to skip for pagination
        schema:
          type: integer
          default: 0
        example: 10
      responses:
        '200':
          description: Collection of workers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkersResponse'
              examples:
                Listworkers200Example:
                  summary: Default listWorkers 200 response
                  x-microcks-default: true
                  value:
                    workers:
                    - associateOID: '500123'
                      workerID: {}
                      workerDates: {}
                      workAssignments: {}
                      customFieldGroup: example_value
                    meta:
                      totalCount: 10
                      startIndex: 10
                      itemsPerPage: 10
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /hr/v2/workers/{aoid}:
    get:
      operationId: getWorker
      summary: Get Worker by Aoid
      description: Retrieve a single worker record by the ADP worker AOID (Associate OID).
      tags: [Workers]
      parameters:
      - name: aoid
        in: path
        required: true
        description: ADP Associate Object Identifier (AOID)
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Worker details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkerResponse'
              examples:
                Getworker200Example:
                  summary: Default getWorker 200 response
                  x-microcks-default: true
                  value:
                    workers:
                    - associateOID: '500123'
                      workerID: {}
                      workerDates: {}
                      workAssignments: {}
                      customFieldGroup: example_value
        '404':
          $ref: '#/components/responses/NotFound'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /hr/v2/workers/{aoid}/work-assignments:
    get:
      operationId: getWorkerWorkAssignments
      summary: Get Worker Work Assignments
      description: Retrieve all work assignments (positions) associated with a worker.
      tags: [Workers]
      parameters:
      - name: aoid
        in: path
        required: true
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Work assignments for the worker
          content:
            application/json:
              schema:
                type: object
                properties:
                  workers:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkAssignment'

              examples:
                Getworkerworkassignments200Example:
                  summary: Default getWorkerWorkAssignments 200 response
                  x-microcks-default: true
                  value:
                    workers:
                    - itemID: '500123'
                      primaryIndicator: true
                      hireDate: '2026-01-15'
                      assignmentStatus:
                        statusCode: {}
                      positionID: '500123'
                      jobCode:
                        codeValue: example_value
                        shortName: example_value
                      jobTitle: example_value
                      standardHours:
                        hoursQuantity: 42.5
                        unitCode: {}
                      annualBaseRemuneration:
                        annualRateAmount: {}
                      homeOrganizationalUnits:
                      - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /events/hr/v1/worker.hire:
    post:
      operationId: hireWorker
      summary: Hire a New Worker
      description: >-
        Submit a worker hire event to onboard a new employee or contractor into the
        ADP HCM system. This creates a new worker record with initial work assignment.
      tags: [Workers]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkerHireEvent'
            examples:
              HireworkerRequestExample:
                summary: Default hireWorker request
                x-microcks-default: true
                value:
                  events:
                  - eventNameCode:
                      codeValue: worker.hire
                    data:
                      transform: {}
      responses:
        '201':
          description: Worker hire event accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
              examples:
                Hireworker201Example:
                  summary: Default hireWorker 201 response
                  x-microcks-default: true
                  value:
                    events:
                    - eventID: '500123'
                      eventNameCode:
                        codeValue: example_value
        '400':
          $ref: '#/components/responses/BadRequest'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /events/hr/v1/worker.terminate:
    post:
      operationId: terminateWorker
      summary: Terminate a Worker
      description: >-
        Submit a worker termination event to end employment for an existing worker.
      tags: [Workers]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkerTerminateEvent'
            examples:
              TerminateworkerRequestExample:
                summary: Default terminateWorker request
                x-microcks-default: true
                value:
                  events:
                  - eventNameCode:
                      codeValue: worker.terminate
                    data:
                      transform: {}
      responses:
        '201':
          description: Termination event accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'

              examples:
                Terminateworker201Example:
                  summary: Default terminateWorker 201 response
                  x-microcks-default: true
                  value:
                    events:
                    - eventID: '500123'
                      eventNameCode:
                        codeValue: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /core/v1/organization-departments:
    get:
      operationId: listDepartments
      summary: List Organization Departments
      description: Retrieve all departments/organizational units in the company structure.
      tags: [Organizations]
      responses:
        '200':
          description: List of departments
          content:
            application/json:
              schema:
                type: object
                properties:
                  organizationDepartments:
                    type: array
                    items:
                      $ref: '#/components/schemas/Department'

              examples:
                Listdepartments200Example:
                  summary: Default listDepartments 200 response
                  x-microcks-default: true
                  value:
                    organizationDepartments:
                    - departmentCode: example_value
                      departmentName: example_value
                      parentDepartmentCode: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    oauth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://accounts.adp.com/auth/oauth/v2/token
          scopes:
            api__workers-v2__read: Read worker data
            api__workers-v2__write: Write worker data

  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConfirmMessage'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConfirmMessage'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConfirmMessage'
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConfirmMessage'

  schemas:
    WorkersResponse:
      type: object
      properties:
        workers:
          type: array
          items:
            $ref: '#/components/schemas/Worker'
          example: []
        meta:
          type: object
          properties:
            totalCount:
              type: integer
            startIndex:
              type: integer
            itemsPerPage:
              type: integer

          example: example_value
    WorkerResponse:
      type: object
      properties:
        workers:
          type: array
          maxItems: 1
          items:
            $ref: '#/components/schemas/Worker'

          example: []
    Worker:
      type: object
      description: ADP Worker (employee or contractor)
      properties:
        associateOID:
          type: string
          description: ADP Associate Object Identifier - unique worker identifier
          example: '500123'
        workerID:
          type: object
          properties:
            idValue:
              type: string
            schemeCode:
              type: object
              properties:
                codeValue:
                  type: string
          example: '500123'
        person:
          $ref: '#/components/schemas/Person'
        workerDates:
          type: object
          properties:
            originalHireDate:
              type: string
              format: date
            terminationDate:
              type: string
              format: date
            rehireDate:
              type: string
              format: date
          example: example_value
        workAssignments:
          type: array
          items:
            $ref: '#/components/schemas/WorkAssignment'
          example: []
        customFieldGroup:
          type: object
          additionalProperties: true

          example: example_value
    Person:
      type: object
      properties:
        legalName:
          type: object
          properties:
            givenName:
              type: string
            familyName1:
              type: string
            preferredSalutations:
              type: array
              items:
                type: object
          example: example_value
        birthDate:
          type: string
          format: date
          example: '2026-01-15'
        genderCode:
          type: object
          properties:
            codeValue:
              type: string
              enum: [M, F, N]
          example: example_value
        maritalStatusCode:
          type: object
          properties:
            codeValue:
              type: string
          example: example_value
        communication:
          type: object
          properties:
            emails:
              type: array
              items:
                type: object
                properties:
                  emailUri:
                    type: string
                    format: email
            phones:
              type: array
              items:
                type: object
                properties:
                  countryDialing:
                    type: string
                  areaDialing:
                    type: string
                  dialNumber:
                    type: string
          example: example_value
        legalAddress:
          $ref: '#/components/schemas/Address'

    WorkAssignment:
      type: object
      properties:
        itemID:
          type: string
          example: '500123'
        primaryIndicator:
          type: boolean
          example: true
        hireDate:
          type: string
          format: date
          example: '2026-01-15'
        assignmentStatus:
          type: object
          properties:
            statusCode:
              type: object
              properties:
                codeValue:
                  type: string
                  enum: [Active, Inactive, Terminated]
          example: example_value
        positionID:
          type: string
          example: '500123'
        jobCode:
          type: object
          properties:
            codeValue:
              type: string
            shortName:
              type: string
          example: example_value
        jobTitle:
          type: string
          example: example_value
        standardHours:
          type: object
          properties:
            hoursQuantity:
              type: number
            unitCode:
              type: object
              properties:
                codeValue:
                  type: string
                  enum: [HRS, WK, MO]
          example: example_value
        annualBaseRemuneration:
          type: object
          properties:
            annualRateAmount:
              type: object
              properties:
                amountValue:
                  type: number
                currencyCode:
                  type: string
          example: example_value
        homeOrganizationalUnits:
          type: array
          items:
            type: object
            properties:
              nameCode:
                type: object
                properties:
                  codeValue:
                    type: string
              unitCode:
                type: object
                properties:
                  codeValue:
                    type: string

          example: []
    Department:
      type: object
      properties:
        departmentCode:
          type: string
          example: example_value
        departmentName:
          type: string
          example: example_value
        parentDepartmentCode:
          type: string

          example: example_value
    Address:
      type: object
      properties:
        lineOne:
          type: string
          example: example_value
        lineTwo:
          type: string
          example: example_value
        cityName:
          type: string
          example: example_value
        countrySubdivisionLevel1:
          type: object
          properties:
            codeValue:
              type: string
          example: example_value
        postalCode:
          type: string
          example: example_value
        countryCode:
          type: string

          example: example_value
    WorkerHireEvent:
      type: object
      required: [events]
      properties:
        events:
          type: array
          items:
            type: object
            required: [eventNameCode, data]
            properties:
              eventNameCode:
                type: object
                properties:
                  codeValue:
                    type: string
                    enum: [worker.hire]
              data:
                type: object
                properties:
                  transform:
                    type: object
                    properties:
                      worker:
                        $ref: '#/components/schemas/Worker'

          example: []
    WorkerTerminateEvent:
      type: object
      required: [events]
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              eventNameCode:
                type: object
                properties:
                  codeValue:
                    type: string
                    enum: [worker.terminate]
              data:
                type: object
                properties:
                  transform:
                    type: object
                    properties:
                      workerDates:
                        type: object
                        properties:
                          terminationDate:
                            type: string
                            format: date
                      terminationReason:
                        type: object
                        properties:
                          codeValue:
                            type: string

          example: []
    EventResponse:
      type: object
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              eventID:
                type: string
              eventNameCode:
                type: object
                properties:
                  codeValue:
                    type: string
              confirmMessage:
                $ref: '#/components/schemas/ConfirmMessage'

          example: []
    ConfirmMessage:
      type: object
      properties:
        confirmMessageID:
          type: object
          properties:
            idValue:
              type: string
          example: '500123'
        processMessages:
          type: array
          items:
            type: object
            properties:
              processMessageID:
                type: object
                properties:
                  idValue:
                    type: string
              messageTypeCode:
                type: object
                properties:
                  codeValue:
                    type: string
              userMessage:
                type: object
                properties:
                  messageTxt:
                    type: string
          example: []