ADP API
ADP is an industry leader offering a comprehensive human capital management suite (HCM solutions), bringing together payroll, attendance, HR, time, insights, and other services under one roof. Overall, ADP offers a suite of APIs that developers can get access to via the ADP marketplace. The ADP marketplace contains two types of applications that developers can leverage based on their use case, i.e., Data Connector and End User Application. ADP APIs are designed using an event-based pattern for resource management. ADP provides RESTful APIs.
ADP API follows OpenID Connect and Open Authorization (OAuth) 2.0 flows for comprehensive security. For each of them, ADP provides access tokens, which are used for secure calls to protect ADP Web APIs. Essentially, an access token is a time-bound token, or credential, which can be used to access protected ADP Web APIs restricted to an access scope. Access tokens are provided to the application during the integration process as part of the OpenID Connect and OAuth 2.0 authentication and authorization flow.
Related: ADP API Integration (In-Depth) Guide
ADP API Authentication
To access and interact with ADP's APIs and authenticate users via single sign-on (SSO), you'll need a Certificate Signing Request (CSR). Accessing ADP's web services requires both a private key and a corresponding Web Services (WS) Certificate. This certificate shares client information with ADP, while the private key verifies the client's authenticity.The WS Certificate can either be generated through an automated process (ideal for those building a marketplace application) or through a manual process (ideal for those building their own business application). To know more about each of these processes, click here.
ADP API Events and Endpoints
ADP API (ADP Workforce Now) uses the following endpoints to facilitate the flow of information and data across channels.
Workers
Worker: A person who works/ performs duties for an organization
Worker Images
- GET/hr/v2/workers/{aoid}/worker-images/photo
Worker Profile Photo Management
- GET/events/hr/v1/worker.photo.remove/meta
- POST/events/hr/v1/worker.photo.remove
- POST/events/hr/v1/worker.photo.upload
- GET/events/hr/v1/worker.photo.upload/meta
Workers Data Retrieval
- GET/hr/v2/workers/meta
- GET/hr/v2/workers/{aoid}
- GET/hr/v2/workers
Workers - Lifecycle Management
Worker.hire: Primary work assignment created between a worker/ person and the employer for the first time.
Rehire Worker
- POST/events/hr/v1/worker.rehire
- GET/events/hr/v1/worker.rehire/meta
Workers - Data Integration Management
Read Worker
- GET/events/hr/v1/worker.read/meta
- POST/events/hr/v1/worker.read
Worker Demographics
Worker Demographics: Demographics and information for all workers as well as each worker specifically.
Worker Demographics
- GET/hr/v2/worker-demographics/meta
- GET/hr/v2/worker-demographics
- GET/hr/v2/worker-demographics/{aoid}
Worker Associate Profile - Personal & Work Info
Worker associate profile: Extensions to the worker profile containing hobbies/interests, bio, Standout roles, etc.
Associate Preferred Gender Pronoun
- POST/events/hr/v1/worker.associate-profile.preferred-gender-pronoun.change
- GET/events/hr/v1/worker.associate-profile.preferred-gender-pronoun.change/meta
Workers - Compensation Management
Add Additional Remuneration
- POST/events/hr/v1/worker.work-assignment.additional-remuneration.add
Change Additional Remuneration
- POST/events/hr/v1/worker.work-assignment.additional-remuneration.change
Change Base Remuneration
- POST/events/hr/v1/worker.work-assignment.base-remuneration.change
Remove Additional Remuneration
- POST/events/hr/v1/worker.work-assignment.additional-remuneration.remove
Workers - Work Assignment Management
Work assignment: Details such as a worker's Job Title and Job Function.
Modify Assigned Organizational Units
- POST/events/hr/v1/worker.work-assignment.assigned-organizational-units.modify
Modify Work Assignment
- GET/events/hr/v1/worker.work-assignment.modify/meta
- POST/events/hr/v1/worker.work-assignment.modify
Modify Worker Reports
- POST/events/hr/v1/worker.reports-to.modify
Terminate Work Assignment
- POST/events/hr/v1/worker.work-assignment.terminate
Personal Contacts
Personal connects: To retrieve, add, update, and delete an associate's emergency contacts.
Add Personal Contact
- GET/events/hr/v1/worker.personal-contact.add/meta
- POST/events/hr/v1/worker.personal-contact.add
Change Personal Contact
- POST/events/hr/v1/worker.personal-contact.change
- GET/events/hr/v1/worker.personal-contact.change/meta
Personal Contacts
- GET/hr/v2/associates/{aoid}/personal-contacts/meta
- GET/hr/v2/associates/{aoid}/personal-contacts
- GET/hr/v2/associates/{aoid}/personal-contacts/{personal-contact-id}
Remove Personal Contact
- GET/events/hr/v1/worker.personal-contact.remove/meta
- POST/events/hr/v1/worker.personal-contact.remove
Worker Profile Experience (WFN)
Worker profile experience: Manage the HR Worker Profile implementation, add a new position for an employee and update the primary position of an employee, change the base remuneration details of an employee.
Compensation Management
- PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/base-remuneration
- GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/base-remuneration/meta
- POST/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations
- GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations
- PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations
- GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits/meta
- GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations/meta
- POST/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits
- GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits
- PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits
Corporate Groups Management
- POST/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/corporate-groups
- GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/corporate-groups/meta
Position Data Management
- PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/worker-dates
- PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/primary-assignment
Workers - Business Communication Management
Add Worker Business Email
- POST/events/hr/v1/worker.business-communication.email.add
Add Worker Business Fax
- POST/events/hr/v1/worker.business-communication.fax.add
Add Worker Business Landline
- POST/events/hr/v1/worker.business-communication.landline.add
Add Worker Business Mobile
- POST/events/hr/v1/worker.business-communication.mobile.add
Add Worker Business Pager
- POST/events/hr/v1/worker.business-communication.pager.add
Change Worker Business Email
- POST/events/hr/v1/worker.business-communication.email.change
Change Worker Business Fax
- POST/events/hr/v1/worker.business-communication.fax.change
Change Worker Business Landline
- POST/events/hr/v1/worker.business-communication.landline.change
Change Worker Business Mobile
- POST/events/hr/v1/worker.business-communication.mobile.change
Change Worker Business Pager
- POST/events/hr/v1/worker.business-communication.pager.change
Remove Worker Business Email
- POST/events/hr/v1/worker.business-communication.email.remove
Remove Worker Business Fax
- POST/events/hr/v1/worker.business-communication.fax.remove
Remove Worker Business Landline
- POST/events/hr/v1/worker.business-communication.landline.remove
Remove Worker Business Mobile
- POST/events/hr/v1/worker.business-communication.mobile.remove
Remove Worker Business Pager
- POST/events/hr/v1/worker.business-communication.pager.remove
Corporate Directory
Corporate directory: List of corporate contacts or detailed information about a specific contact
Corporate Directory
- GET/{sor-id}/hr/v1/corporate-contact-photos/{image-id}.{image-extension}
Work Assignment Management
Add Work Assignment
- POST/hr/v3/workers/{aoid}/work-assignments
- GET/hr/v3/workers/{aoid}/work-assignments/meta
Workers - Biological Data Management
Change Birth Date
- POST/events/hr/v1/worker.birth-date.change
Change Gender
- POST/events/hr/v1/worker.gender.change
Change Race
- POST/events/hr/v1/worker.race.change
Change Worker Gender Identity
- POST/events/hr/v1/worker.gender-identity.change
- GET/events/hr/v1/worker.gender-identity.change/meta
Workers - Demographic Data Management
Change Birth Name
- POST/events/hr/v1/worker.birth-name.change
Change Legal Name
- POST/events/hr/v1/worker.legal-name.change
Change Preferred Name
- GET/events/hr/v1/worker.preferred-name.change/meta
- POST/events/hr/v1/worker.preferred-name.change
Change Worker Marital Status
- POST/events/hr/v1/worker.marital-status.change
Change Worker Military Classification
- POST/events/hr/v1/worker.military-classification.change
Change Worker Military Status
- POST/events/hr/v1/worker.military-status.change
Workers - Personal Communication Management
Add Worker Legal Address
- POST/events/hr/v1/worker.legal-address.add
Add Worker Personal Address
- POST/events/hr/v1/worker.personal-address.add
Add Worker Personal Email
- POST/events/hr/v1/worker.personal-communication.email.add
Add Worker Personal Fax
- POST/events/hr/v1/worker.personal-communication.fax.add
Add Worker Personal Landline
- POST/events/hr/v1/worker.personal-communication.landline.add
Add Worker Personal Mobile
- POST/events/hr/v1/worker.personal-communication.mobile.add
Add Worker Personal Pager
- POST/events/hr/v1/worker.personal-communication.pager.add
Change Worker Legal Address
- POST/events/hr/v1/worker.legal-address.change
Change Worker Personal Address
- POST/events/hr/v1/worker.personal-address.change
Change Worker Personal Email
- POST/events/hr/v1/worker.personal-communication.email.change
Change Worker Personal Fax
- POST/events/hr/v1/worker.personal-communication.fax.change
Change Worker Personal Landline
- POST/events/hr/v1/worker.personal-communication.landline.change
Change Worker Personal Mobile
- POST/events/hr/v1/worker.personal-communication.mobile.change
Change Worker Personal Pager
- POST/events/hr/v1/worker.personal-communication.pager.change
Remove Worker Legal Address
- POST/events/hr/v1/worker.legal-address.remove
Remove Worker Personal Address
- POST/events/hr/v1/worker.personal-address.remove
Remove Worker Personal Email
- POST/events/hr/v1/worker.personal-communication.email.remove
Remove Worker Personal Fax
- POST/events/hr/v1/worker.personal-communication.fax.remove
Remove Worker Personal Landline
- POST/events/hr/v1/worker.personal-communication.landline.remove
Remove Worker Personal Mobile
- POST/events/hr/v1/worker.personal-communication.mobile.remove
Remove Worker Personal Pager
- POST/events/hr/v1/worker.personal-communication.pager.remove
- GET/events/hr/v1/worker.personal-communication.pager.remove/meta
Workers - Work Deployment Management
Change Standard Hours
- POST/events/hr/v1/worker.work-assignment.standard-hours.change
Change Worker Type
- POST/events/hr/v1/worker.work-assignment.worker-type.change
Workers - Custom Data Management
Change Worker Custom Percentage
- GET/events/hr/v1/worker.custom-field.percentage.change/meta
- POST/events/hr/v1/worker.custom-field.percentage.change
Change Worker Custom Telephone
- POST/events/hr/v1/worker.custom-field.telephone.change
- GET/events/hr/v1/worker.custom-field.telephone.change/meta
Manage Worker Custom Amount
- GET/events/hr/v1/worker.custom-field.amount.change/meta
- POST/events/hr/v1/worker.custom-field.amount.change
Manage Worker Custom Code
- POST/events/hr/v1/worker.custom-field.code.change
- GET/events/hr/v1/worker.custom-field.code.change/meta
Manage Worker Custom Date
- GET/events/hr/v1/worker.custom-field.date.change/meta
- POST/events/hr/v1/worker.custom-field.date.change
Manage Worker Custom Indicator
- POST/events/hr/v1/worker.custom-field.indicator.change
- GET/events/hr/v1/worker.custom-field.indicator.change/meta
Manage Worker Custom Number
- POST/events/hr/v1/worker.custom-field.number.change
- GET/events/hr/v1/worker.custom-field.number.change/meta
Manage Worker Custom String
- POST/events/hr/v1/worker.custom-field.string.change
- GET/events/hr/v1/worker.custom-field.string.change/meta
Workers - Identification Management
Add Worker Government ID
- POST/events/hr/v1/worker.government-id.add
Change Worker Government ID
- POST/events/hr/v1/worker.government-id.change
Workers - Person Custom Data Management
Change Person Custom Amount
- POST/events/hr/v1/worker.person.custom-field.amount.change
- GET/events/hr/v1/worker.person.custom-field.amount.change/meta
Change Person Custom Code
- POST/events/hr/v1/worker.person.custom-field.code.change
- GET/events/hr/v1/worker.person.custom-field.code.change/meta
Change Person Custom Date
- GET/events/hr/v1/worker.person.custom-field.date.change/meta
- POST/events/hr/v1/worker.person.custom-field.date.change
Change Person Custom Indicator
- POST/events/hr/v1/worker.person.custom-field.indicator.change
- GET/events/hr/v1/worker.person.custom-field.indicator.change/meta
Change Person Custom Number
- POST/events/hr/v1/worker.person.custom-field.number.change
- GET/events/hr/v1/worker.person.custom-field.number.change/meta
Change Person Custom Percentage
- POST/events/hr/v1/worker.person.custom-field.percentage.change
- GET/events/hr/v1/worker.person.custom-field.percentage.change/meta
Change Person Custom String
- POST/events/hr/v1/worker.person.custom-field.string.change
- GET/events/hr/v1/worker.person.custom-field.string.change/meta
Change Person Custom Telephone
- GET/events/hr/v1/worker.person.custom-field.telephone.change/meta
- POST/events/hr/v1/worker.person.custom-field.telephone.change
Worker Leaves
Worker leaves: Processing an employee's leave requests, changes, and return and leave cancellations.
Cancel Worker Leave
- GET/events/hr/v1/worker.leave.cancel/meta
- POST/events/hr/v1/worker.leave.cancel
Change Worker Leave
- POST/events/hr/v1/worker.leave.change
- GET/events/hr/v1/worker.leave.change/meta
Request Leave Of Absence
- GET/events/hr/v1/worker.leave.absence.request/meta
- POST/events/hr/v1/worker.leave.absence.request
Request Return From Leave Of Absence
- POST/events/hr/v1/worker.leave.return.request
- GET/events/hr/v1/worker.leave.return.request/meta
Worker Leaves
- GET/hr/v2/workers/{aoid}/leaves
Workers - KSAOC Management
Change Worker Highest Education Level
- POST/events/hr/v1/worker.highest-level-education.change
- GET/events/hr/v1/worker.highest-level-education.change/meta
ADP API Use Cases
- Easy to use, intuitive interface and highly customizable with efficient customer support
- Access best-practice guides, HR forms, policies, and an employee handbook template
- Automation of processes like onboarding, status change, offboarding
- Providing employees access to to their pay, benefits and time information, offering true self service
- Real time mobile phone access to important information like time off, benefits data, etc. with a mobile application
- Tracking and monitoring of key metrics like labor costs, overtime, actual vs. scheduled hours, turnover rate for better HR services
Top Customers
- Jelly Belly, gourmet jelly belly candies and confections manufacturer
- Amazon, a vast Internet-based enterprise
- The Boston Globe, an American daily newspaper
- Dell Technologies, a provider of desktop personal computers, software, and peripherals
- Sunstone Partners, a growth-oriented private equity firm
ADP API FAQs
Here is a comprehensive list of questions that can help you navigate ADP API for success:
- How to obtain ADP API Client Secret for OAuth? Answer
- How to get ADP API past SSL error? Answer
- How to update ADP API Worker Information? Answer
- How to get Powershell ADP API Token? Answer
- How to Solve ADP API Connection Problem(Error : Status-58)? Answer
- How to change a person's custom string using ADP's API? Answer
- How to get access_token from ADP Api using rest? Answer
- What is the latest API updated or released for ADP Workforce Now? Answer
- What is the release plan for ADP Workforce Now APIs? Answer
- What are latest API updated or released for RUN Powered by ADP? Answer
- What APIs will be released or enhanced for RUN Powered by ADP soon? Answer
- How to integrate ADP employee data in Wordpress? Answer
- How to read properties from an ADP project by C#? Answer
Common Integrations with ADP API
While there can be multiple integrations and use cases for ADP API, here is a list of the top SaaS companies or products that can integrate with ADP API to facilitate customer success:
- Learning Management Solutions
- Rewards, Recognitions, and Performance
- Communication and Collaborations
- Employee Travel and Booking Tools
- Workforce Planning and Org Chart Solutions
How to integrate with ADP API
Here is a comprehensive resource for anyone who wishes to integrate with ADP API and streamline and optimize their HR and allied operations.
Get started with ADP API
The pricing for ADP API is not publicly available. However, the platform does offer a demo for interested customers. At the same time, ADP provides tailor-made pricing based on specific company requirements. Thus companies can share the required information to get access to competitive pricing, across different tiers based on the features they need. You can request pricing here.
To make the integration process smooth with ADP, you can get started with Knit, one API for all your integrations. Sign up with Knit or book a demo here with one of our experts - Book Demo