A comprehensive REST API for managing talent acquisition and supplier relationships within the Beeline ecosystem. This API enables seamless integration between suppliers and Beeline's Vendor Management System (VMS).
This API provides access to core business objects within Beeline, including:
The API follows RESTful conventions with standard HTTP methods:
GET
- Retrieve resources (either collections or individual items)POST
- Create new resourcesPATCH
- Update existing resourcesFor detailed schema information and endpoint documentation, see the sections below.
This API uses OAuth 2.0 Client Credentials flow for authentication. Follow these steps to authenticate:
Prepare Your Request
POST /api/gwg/supplier/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type: client_credentials
Authentication Methods
Response Format
{
"access_token": "your_generated_token",
"token_type": "Bearer",
"expires_in": 3600
}
Using the Token
Authorization: Bearer your_generated_token
See the OAuth token endpoint documentation below for additional details.
This API implements rate limiting to ensure fair usage and to protect server resources.
When a client exceeds the allowed number of requests within a given time window, a 429 Too Many Requests
response will be returned.
The following HTTP headers are included in responses to help clients understand their current rate limit status:
X-Rate-Limit-Limit
: The maximum number of requests allowed per time window.X-Rate-Limit-Remaining
: The number of requests remaining in the current window.X-Rate-Limit-Reset
: The number of seconds until the rate limit resets.To get started with the Beeline API:
Set up your credentials:
Request an access token using one of these methods:
Example using Basic Auth:
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
The received token must be included in all subsequent API requests.
grant_type required | string Grant Type |
client_id | string Client ID |
client_secret | string Client Secret |
scope | string Scope |
audience | string Audience |
{- "token_type": "string",
- "access_token": "string",
- "expires_in": 0
}
Returns all enterprise and professional clients that have an active connection with this supplier. Each client connection includes:
Use this endpoint to view your client relationships and obtain connection IDs needed for candidate submissions.
limit | integer Limit |
offset | integer Offset |
{- "items": [
- {
- "connectionUid": "string",
- "clientUid": "string",
- "clientVmsUrl": "string",
- "connectionStatus": "NOT_CONNECTED",
- "clientName": "string",
- "connectionType": "BEELINE_PROFESSIONAL",
- "clientSupplierName": "string",
- "connectionDate": "2019-08-24T14:15:22Z",
- "connectionUserName": "string",
- "clientSupplierDescription": "string"
}
], - "limit": 0,
- "offset": 0,
- "totalCount": 0
}
Retrieves comprehensive details about a specific job posting, including:
Use this endpoint to get all necessary information before creating a candidate submission.
uid required | string Uid of the job posting to get |
{- "uid": "string",
- "status": "IN_PROGRESS",
- "sourceVMS": "string",
- "requestedWorkers": 0,
- "title": "string",
- "description": "string",
- "expiryDate": "2019-08-24",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "location": "string",
- "enterpriseJobPostingNumber": "string",
- "classificationName": "string",
- "managerName": "string",
- "enterpriseName": "string",
- "clientName": "string",
- "clientUid": "string",
- "currency": "string",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "supplierName": "string",
- "supplierUid": "string",
- "beelineProfessionalRates": {
- "billRateMinimum": 0,
- "billRateMaximum": 0,
- "payRateMinimum": 0,
- "payRateMaximum": 0,
- "rateType": "TIME",
- "ratePeriod": "HOURLY"
}, - "beelineEnterpriseRates": {
- "rateCardCalculation": "string",
- "markup": 0,
- "markupIsPercent": true,
- "billRates": [
- {
- "name": "string",
- "rate": 0,
- "rateId": "string",
- "rateType": "string",
- "minRate": 0,
- "weekendRate": 0,
- "earningCodeType": "string",
- "procurementRateOverrideType": "string",
- "procurementRateOverrideValue": 0,
- "shift": "string"
}
], - "payRates": [
- {
- "name": "string",
- "rate": 0,
- "rateId": "string",
- "rateType": "string",
- "minRate": 0,
- "weekendRate": 0,
- "earningCodeType": "string",
- "procurementRateOverrideType": "string",
- "procurementRateOverrideValue": 0,
- "shift": "string"
}
]
}, - "notes": {
- "value": [
- {
- "text": "string",
- "date": "2019-08-24T14:15:22Z"
}
]
}, - "jobClassification": {
- "jobTitleId": "string",
- "name": "string",
- "jobTitleCode": "string",
- "jobClassName": "string"
}, - "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "supplierEnterpriseConnections": [
- "string"
], - "hiringManager": {
- "userId": "string",
- "userName": "string"
}, - "adminCostCenter": {
- "costCenterId": "string",
- "ouCode": "string",
- "costCenterNumber": "string",
- "description": "string",
- "displayName": "string"
}, - "billToCostCenter": {
- "costCenterId": "string",
- "ouCode": "string",
- "costCenterNumber": "string",
- "description": "string",
- "displayName": "string"
}, - "taxLocation": {
- "locationId": "string",
- "locationCode": "string",
- "street1": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "countryCode": "string"
}, - "physicalWorkLocation": {
- "locationId": "string",
- "locationCode": "string",
- "street1": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "countryCode": "string"
}, - "industryName": "string",
- "requestType": "string",
- "resourceTypes": [
- {
- "code": "string",
- "name": "string"
}
], - "skills": [
- "string"
], - "workAddress": {
- "locationId": "string",
- "locationCode": "string",
- "street1": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "countryCode": "string"
}, - "commentsForSuppliers": "string",
- "hoursPerWeek": 0,
- "quantity": 0
}
Returns job postings that have been made available to the supplier by enterprise VMSs.
This endpoint only returns job postings that were opened/released after establishing a link with the enterprise VMS. Any job postings that existed before the link was created must be accessed through the web application.
limit | integer Limit |
offset | integer Offset |
clientUid | string Client Uid |
{- "items": [
- {
- "uid": "string",
- "status": "IN_PROGRESS",
- "sourceVMS": "string",
- "requestedWorkers": 0,
- "title": "string",
- "description": "string",
- "expiryDate": "2019-08-24",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "location": "string",
- "enterpriseJobPostingNumber": "string",
- "classificationName": "string",
- "enterpriseName": "string",
- "clientName": "string",
- "clientUid": "string",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "supplierName": "string"
}
], - "limit": 0,
- "offset": 0,
- "totalCount": 0
}
List all candidates that a supplier has created. Can be filtered per job posting.
limit | integer Limit |
offset | integer Offset |
jobPostingUid | string Job Posting Uid |
{- "items": [
- {
- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
], - "limit": 0,
- "offset": 0,
- "totalCount": 0
}
Creates a new candidate record by associating a worker with a job posting. This is the second step in the candidate submission workflow.
POST /workers
)/candidates/metadata
endpoint)/candidates/{uid}/submit
After successful creation, use the submit endpoint to make the candidate visible in the VMS.
uid | string Unique identifier for this candidate submission. |
status | string Enum: "CREATED" "SUBMITTING" "SUBMITTED" "RESCINDED" "SUBMISSION_FAILED" "ACCEPTED" "REJECTED" Current state of the candidate submission in the workflow. |
jobPostingUid required | string Reference to the job posting this candidate is submitted for. |
enterpriseJobPostingNumber | string Client's internal reference number for the job posting. |
rateCurrency | string ISO 4217 currency code for the candidate's proposed rates (e.g., USD, EUR). |
ratePeriod | string (RatePeriod) Enum: "HOURLY" "DAILY" "WEEKLY" "BI_WEEKLY" "MONTHLY" "ON_INVOICE" Time period for rate calculation (e.g., hourly, daily, weekly). |
workerUid required | string Reference to the worker profile associated with this submission. |
email required | string <email> Primary contact email for the candidate. |
created | string <date-time> Timestamp when this candidate submission was created. |
modified | string <date-time> Timestamp of the last modification to this submission. |
Array of objects (CustomField) Client-specific additional fields required for this submission. | |
object (Name) Candidate's legal and preferred names. | |
Array of objects (Phone) Contact phone numbers for the candidate. | |
dateOfBirth | string <date> Candidate's date of birth. |
partialNationalId | string Last 4 digits of national identifier (e.g., SSN) for verification purposes. |
fullNationalId | string Complete national identifier when required for background checks or compliance. |
Array of objects (AddressField) | |
resourceType | string |
dateAvailable | string <date> |
formerConsultant | boolean |
formerEmployee | boolean |
Array of objects (BillRateAmount) | |
Array of objects (PayRateAmount) | |
supplierSubmittalComments | string |
submissionErrorMessage | string A detailed error message in case the candidate submission has failed. |
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
This operation is only available for Beeline Professional job postings. Enterprise posting candidates must be rescinded through the web application.
Withdraws a previously submitted candidate from consideration in the VMS system.
uid required | string Uid of the candidate to rescind |
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
Submits a candidate for consideration, making them visible in the VMS system. This is the final step in the candidate submission process.
Beeline Enterprise Postings:
Beeline Professional Postings:
uid required | string Uid of the candidate to submit |
supplierEnterpriseConnectionUid | string A unique connection identifier that links your supplier account to a specific enterprise client. This ID always starts with 'SR'. When is this required?
How to get the connection ID:
PurposeThis ID ensures candidates are submitted through the correct supplier-client relationship in the Beeline Enterprise system. Best PracticeDisplay relevant connection details to recruiters so they can select the appropriate connection ID for their submission. |
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
Retrieves detailed information about a specific candidate, including their current status, submission details, and associated data.
uid required | string Uid of the candidate to get |
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
Updates information for an existing candidate.
uid required | string Uid of the candidate to update |
uid | string Unique identifier for this candidate submission. |
status | string Enum: "CREATED" "SUBMITTING" "SUBMITTED" "RESCINDED" "SUBMISSION_FAILED" "ACCEPTED" "REJECTED" Current state of the candidate submission in the workflow. |
jobPostingUid required | string Reference to the job posting this candidate is submitted for. |
enterpriseJobPostingNumber | string Client's internal reference number for the job posting. |
rateCurrency | string ISO 4217 currency code for the candidate's proposed rates (e.g., USD, EUR). |
ratePeriod | string (RatePeriod) Enum: "HOURLY" "DAILY" "WEEKLY" "BI_WEEKLY" "MONTHLY" "ON_INVOICE" Time period for rate calculation (e.g., hourly, daily, weekly). |
workerUid required | string Reference to the worker profile associated with this submission. |
email required | string <email> Primary contact email for the candidate. |
created | string <date-time> Timestamp when this candidate submission was created. |
modified | string <date-time> Timestamp of the last modification to this submission. |
Array of objects (CustomField) Client-specific additional fields required for this submission. | |
object (Name) Candidate's legal and preferred names. | |
Array of objects (Phone) Contact phone numbers for the candidate. | |
dateOfBirth | string <date> Candidate's date of birth. |
partialNationalId | string Last 4 digits of national identifier (e.g., SSN) for verification purposes. |
fullNationalId | string Complete national identifier when required for background checks or compliance. |
Array of objects (AddressField) | |
resourceType | string |
dateAvailable | string <date> |
formerConsultant | boolean |
formerEmployee | boolean |
Array of objects (BillRateAmount) | |
Array of objects (PayRateAmount) | |
supplierSubmittalComments | string |
submissionErrorMessage | string A detailed error message in case the candidate submission has failed. |
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
{- "uid": "string",
- "status": "CREATED",
- "jobPostingUid": "string",
- "enterpriseJobPostingNumber": "string",
- "rateCurrency": "string",
- "ratePeriod": "HOURLY",
- "workerUid": "string",
- "email": "user@example.com",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "customFields": [
- {
- "referenceId": "string",
- "value": "string",
- "name": "string",
- "type": "checkBox"
}
], - "name": {
- "firstName": "string",
- "lastName": "string",
- "secondLastName": "string"
}, - "phones": [
- {
- "type": "string",
- "number": "string"
}
], - "dateOfBirth": "2019-08-24",
- "partialNationalId": "string",
- "fullNationalId": "string",
- "addresses": [
- {
- "type": "string",
- "line1": "string",
- "line2": "string",
- "city": "string",
- "postalCode": "string",
- "state": "string",
- "country": "string"
}
], - "resourceType": "string",
- "dateAvailable": "2019-08-24",
- "formerConsultant": true,
- "formerEmployee": true,
- "billRates": [
- {
- "amount": 0
}
], - "payRates": [
- {
- "amount": 0
}
], - "supplierSubmittalComments": "string",
- "submissionErrorMessage": "string"
}
Removes attached media files (such as resumes or other documents) from a candidate's profile.
candidateUid required | string Uid of the candidate for which to remove media |
mediaUid required | string Uid of the media to remove |
true
Upload documents for a candidate using multipart form data. This endpoint allows direct file uploads through form submission.
uid
(path): The unique identifier of the candidatefile
: The document to be uploaded (binary format)filename
: Name of the filemediaType
: Document classification, one of:RESUME
: Candidate's resume/CVOTHER_WORKER_DOCUMENT
: Supporting documentationPOST /api/gwg/supplier/candidates/{uid}/media/multipart
Content-Type: multipart/form-data
file: [binary content]
filename: resume.pdf
mediaType: RESUME
uid required | string Unique identifier of the candidate who will own this document |
file | string <binary> The document to be uploaded. Supported formats include PDF, DOC, and DOCX files. |
filename | string Original name of the file with extension (e.g., "resume.pdf", "certification.docx") |
mediaType | string (MediaType) Enum: "RESUME" "OTHER_WORKER_DOCUMENT" Document classification - use RESUME for CVs/resumes or OTHER_WORKER_DOCUMENT for supporting materials |
{- "uid": "string",
- "filename": "string",
- "contentType": "string",
- "mediaType": "RESUME",
- "sizeInBytes": 0
}
Add candidate media for a specific candidate.
uid required | string Uid of the candidate for which to add media |
file required | string Base64 encoded string representation of the file to add. |
filename required | string |
mediaType required | string (MediaType) Enum: "RESUME" "OTHER_WORKER_DOCUMENT" |
{- "file": "string",
- "filename": "string",
- "mediaType": "RESUME"
}
{- "uid": "string",
- "filename": "string",
- "contentType": "string",
- "mediaType": "RESUME",
- "sizeInBytes": 0
}
Get candidate media for a specific candidate.
uid required | string Uid of the candidate from which to get media |
{- "items": [
- {
- "uid": "string",
- "filename": "string",
- "contentType": "string",
- "mediaType": "RESUME",
- "sizeInBytes": 0
}
]
}
Retrieves the custom field configuration for a candidate. Since each enterprise client can define their own required fields, use this endpoint to determine:
jobPostingUid required | string Job Posting Uid |
{- "items": [
- {
- "referenceId": "string",
- "type": "checkBox",
- "label": "string",
- "values": [
- "string"
], - "required": true
}
]
}
List all of the workers that have been previously added by the supplier.
limit | integer Limit |
offset | integer Offset |
{- "items": [
- {
- "uid": "string",
- "name": {
- "prefix": "string",
- "first": "string",
- "preferredFirst": "string",
- "middle": "string",
- "preferredMiddle": "string",
- "last": "string",
- "preferredLast": "string"
}, - "email": "user@example.com",
- "phone": "string",
- "address": {
- "lines": [
- "string"
], - "municipality": "string",
- "submunicipality": "string",
- "region": "string",
- "subregion": "string",
- "postCode": "string",
- "countryCode": "string"
}, - "dateOfBirth": "2019-08-24",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "gender": "MALE",
- "partialNationalId": "string",
- "fullNationalId": "string"
}
], - "limit": 0,
- "offset": 0,
- "totalCount": 0
}
uid | string |
required | object (NameInfo) |
string <email> | |
phone | string Phone number in e164 format. |
object (Address) | |
dateOfBirth | string <date> |
created | string <date-time> |
modified | string <date-time> |
gender | string Enum: "MALE" "FEMALE" "PREFER_NOT_TO_ANSWER" "OTHER" |
partialNationalId | string Last 4 digits of national identifier (e.g., SSN) for verification purposes |
fullNationalId | string Complete national identifier when required for background checks or compliance |
{- "uid": "string",
- "name": {
- "prefix": "string",
- "first": "string",
- "preferredFirst": "string",
- "middle": "string",
- "preferredMiddle": "string",
- "last": "string",
- "preferredLast": "string"
}, - "email": "user@example.com",
- "phone": "string",
- "address": {
- "lines": [
- "string"
], - "municipality": "string",
- "submunicipality": "string",
- "region": "string",
- "subregion": "string",
- "postCode": "string",
- "countryCode": "string"
}, - "dateOfBirth": "2019-08-24",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "gender": "MALE",
- "partialNationalId": "string",
- "fullNationalId": "string"
}
{- "uid": "string",
- "name": {
- "prefix": "string",
- "first": "string",
- "preferredFirst": "string",
- "middle": "string",
- "preferredMiddle": "string",
- "last": "string",
- "preferredLast": "string"
}, - "email": "user@example.com",
- "phone": "string",
- "address": {
- "lines": [
- "string"
], - "municipality": "string",
- "submunicipality": "string",
- "region": "string",
- "subregion": "string",
- "postCode": "string",
- "countryCode": "string"
}, - "dateOfBirth": "2019-08-24",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "gender": "MALE",
- "partialNationalId": "string",
- "fullNationalId": "string"
}
Get worker details for a specific worker.
uid required | string Uid of the worker to get |
{- "uid": "string",
- "name": {
- "prefix": "string",
- "first": "string",
- "preferredFirst": "string",
- "middle": "string",
- "preferredMiddle": "string",
- "last": "string",
- "preferredLast": "string"
}, - "email": "user@example.com",
- "phone": "string",
- "address": {
- "lines": [
- "string"
], - "municipality": "string",
- "submunicipality": "string",
- "region": "string",
- "subregion": "string",
- "postCode": "string",
- "countryCode": "string"
}, - "dateOfBirth": "2019-08-24",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "gender": "MALE",
- "partialNationalId": "string",
- "fullNationalId": "string"
}
Update worker details for a specific worker.
uid required | string Uid of the worker to update |
uid | string |
required | object (NameInfo) |
string <email> | |
phone | string Phone number in e164 format. |
object (Address) | |
dateOfBirth | string <date> |
created | string <date-time> |
modified | string <date-time> |
gender | string Enum: "MALE" "FEMALE" "PREFER_NOT_TO_ANSWER" "OTHER" |
partialNationalId | string Last 4 digits of national identifier (e.g., SSN) for verification purposes |
fullNationalId | string Complete national identifier when required for background checks or compliance |
{- "uid": "string",
- "name": {
- "prefix": "string",
- "first": "string",
- "preferredFirst": "string",
- "middle": "string",
- "preferredMiddle": "string",
- "last": "string",
- "preferredLast": "string"
}, - "email": "user@example.com",
- "phone": "string",
- "address": {
- "lines": [
- "string"
], - "municipality": "string",
- "submunicipality": "string",
- "region": "string",
- "subregion": "string",
- "postCode": "string",
- "countryCode": "string"
}, - "dateOfBirth": "2019-08-24",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "gender": "MALE",
- "partialNationalId": "string",
- "fullNationalId": "string"
}
{- "uid": "string",
- "name": {
- "prefix": "string",
- "first": "string",
- "preferredFirst": "string",
- "middle": "string",
- "preferredMiddle": "string",
- "last": "string",
- "preferredLast": "string"
}, - "email": "user@example.com",
- "phone": "string",
- "address": {
- "lines": [
- "string"
], - "municipality": "string",
- "submunicipality": "string",
- "region": "string",
- "subregion": "string",
- "postCode": "string",
- "countryCode": "string"
}, - "dateOfBirth": "2019-08-24",
- "created": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "gender": "MALE",
- "partialNationalId": "string",
- "fullNationalId": "string"
}
Set up automated notifications for important events in the Beeline system. Webhooks provide real-time updates about:
X-Signature
and X-Signature-Algorithm
headerscallbackUrl required | string <uri> The URL to which notifications will be sent. |
secretKey required | string A secret key used for HMAC signature validation. |
eventType required | string (WebhookEventType) Enum: "JOB_POSTING_RELEASED" "JOB_POSTING_UPDATED" "CANDIDATE_UPDATED" "CANDIDATE_SUBMISSION_SUCCEEDED" "CANDIDATE_SUBMISSION_FAILED" The event type the supplier wants to subscribe to. |
{- "secretKey": "string",
- "eventType": "JOB_POSTING_RELEASED"
}
{- "uid": "string",
- "secretKey": "string",
- "eventType": "JOB_POSTING_RELEASED"
}
Retrieves all active webhook subscriptions for your account. The response includes:
Use this endpoint to:
limit | integer Limit |
offset | integer Offset |
{- "items": [
- {
- "uid": "string",
- "secretKey": "string",
- "eventType": "JOB_POSTING_RELEASED"
}
], - "limit": 0,
- "offset": 0,
- "totalCount": 0
}
Get subscription details for a particular subscription.
uid required | string Uid of the subscription to get. |
{- "uid": "string",
- "secretKey": "string",
- "eventType": "JOB_POSTING_RELEASED"
}
Update one or more fields of an existing subscription. Only the provided fields will be updated.
uid required | string Uid of the subscription to update. |
callbackUrl | string <uri> The URL to which notifications will be sent. |
secretKey | string A secret key used for HMAC signature validation. |
eventType | string (WebhookEventType) Enum: "JOB_POSTING_RELEASED" "JOB_POSTING_UPDATED" "CANDIDATE_UPDATED" "CANDIDATE_SUBMISSION_SUCCEEDED" "CANDIDATE_SUBMISSION_FAILED" The event type the supplier wants to subscribe to. |
{- "secretKey": "string",
- "eventType": "JOB_POSTING_RELEASED"
}
{- "uid": "string",
- "secretKey": "string",
- "eventType": "JOB_POSTING_RELEASED"
}
Job Posting Released
Webhook event triggered when a new job posting becomes available for sourcing.
source | string URI to get this resource in the Supplier Public API. |
system | string Beeline system from which the event originated. |
eventType required | string (WebhookEventType) Enum: "JOB_POSTING_RELEASED" "JOB_POSTING_UPDATED" "CANDIDATE_UPDATED" "CANDIDATE_SUBMISSION_SUCCEEDED" "CANDIDATE_SUBMISSION_FAILED" The event type the supplier wants to subscribe to. |
eventTime | string Time event was released. |
id | string or null Unique identifier for the event. |
required | object |
{- "source": "job posting update service",
- "system": "system",
- "eventType": "JOB_POSTING_UPDATED",
- "eventTime": "2025-05-07T09:32:12.136939Z",
- "id": "123",
- "data": {
- "supplierUid": "LE4fc4e011-1ea2-4c1d-90f1-c4a52de35ctr",
- "supplierName": "supplierName",
- "clientUid": "LE7ht4e011-1ea2-4c1d-90f1-c4a52de35uzo",
- "postingUid": "GJR8c07e2df-219e-4a51-81b4-77584f95363e",
- "clientName": "clientName",
- "enterpriseEventDate": "2025-05-07T09:32:12.136939Z",
- "supplierEnterpriseConnectionUid": "SR2a1e8b5e-fa43-40e6-b06b-6fd9e844bb1b"
}
}
Job Posting Updated
Webhook event triggered when an existing job posting is modified.
source | string URI to get this resource in the Supplier Public API. |
system | string Beeline system from which the event originated. |
eventType | string (WebhookEventType) Enum: "JOB_POSTING_RELEASED" "JOB_POSTING_UPDATED" "CANDIDATE_UPDATED" "CANDIDATE_SUBMISSION_SUCCEEDED" "CANDIDATE_SUBMISSION_FAILED" The event type the supplier wants to subscribe to. |
eventTime | string Time event was released. |
id | string or null Unique identifier for the event. |
object |
{- "source": "job posting update service",
- "system": "system",
- "eventType": "JOB_POSTING_UPDATED",
- "eventTime": "2025-05-07T09:32:12.136939Z",
- "id": "123",
- "data": {
- "supplierUid": "LE4fc4e011-1ea2-4c1d-90f1-c4a52de35ctr",
- "supplierName": "supplierName",
- "clientUid": "LE7ht4e011-1ea2-4c1d-90f1-c4a52de35uzo",
- "postingUid": "GJR8c07e2df-219e-4a51-81b4-77584f95363e",
- "clientName": "clientName",
- "enterpriseEventDate": "2025-05-07T09:32:12.136939Z",
- "supplierEnterpriseConnectionUid": "SR2a1e8b5e-fa43-40e6-b06b-6fd9e844bb1b"
}
}
Candidate Updated
Information about a candidate that was updated by the source system.
source | string Full API endpoint URL where you can retrieve the updated candidate details. |
system | string Identifies which Beeline platform (Enterprise or Professional) generated this event. |
eventType required | string (WebhookEventType) Enum: "JOB_POSTING_RELEASED" "JOB_POSTING_UPDATED" "CANDIDATE_UPDATED" "CANDIDATE_SUBMISSION_SUCCEEDED" "CANDIDATE_SUBMISSION_FAILED" The event type the supplier wants to subscribe to. |
eventTime | string ISO 8601 formatted timestamp indicating when the candidate update occurred. |
id | string or null Unique identifier for tracking this specific event notification. May be null for legacy events. |
required | object |
{- "source": "Candidate update service",
- "system": "system",
- "eventType": "CANDIDATE_UPDATED",
- "eventTime": "2025-05-07T09:32:12.136939Z",
- "id": "123",
- "data": {
- "supplierUid": "LE4fc4e011-1ea2-4c1d-90f1-c4a52de35ctr",
- "supplierName": "supplierName",
- "clientUid": "LE7ht4e011-1ea2-4c1d-90f1-c4a52de35uzo",
- "postingUid": "GJR8c07e2df-219e-4a51-81b4-77584f95363e",
- "clientName": "clientName",
- "enterpriseEventDate": "2025-05-07T09:32:12.136939Z",
- "enterpriseCandidateId": "1234",
- "supplierEnterpriseConnectionUid": "SR2a1e8b5e-fa43-40e6-b06b-6fd9e844bb1b",
- "enterpriseEventType": "candidate.inserted"
}
}
Candidate Submission Succeeded
Webhook event triggered when a candidate submission is successfully completed.
source required | string Source of the event (e.g., service or controller name). |
system required | string Origin system name (e.g., BEELINE_ENTERPRISE). |
eventType required | string Value: "CANDIDATE_SUBMISSION_SUCCEEDED" Time event was released. |
eventTime required | string <date-time> |
id | string or null Unique event identifier, optional. |
required | object |
property name* additional property | any |
{- "source": "SupplierCandidateController",
- "system": "BEELINE_ENTERPRISE",
- "eventType": "CANDIDATE_SUBMISSION_SUCCEEDED",
- "eventTime": "2025-04-28T14:30:00Z",
- "id": null,
- "data": {
- "supplierUid": "LE4fc4e011-1ea2-4c1d-90f1-c4a52de35ctr",
- "clientUid": "LE7ht4e011-1ea2-4c1d-90f1-c4a52de35uzo",
- "postingUid": "GJR8c07e2df-219e-4a51-81b4-77584f95363e",
- "candidateUid": "GCN2e27fb1b-3f27-4109-8f6e-c4e3e10ef6a6"
}
}
Candidate Submission Failed
Webhook event triggered when a candidate submission fails.
source required | string Source of the event (e.g., service or controller name). |
system required | string Origin system name (e.g., BEELINE_ENTERPRISE). |
eventType required | string Value: "CANDIDATE_SUBMISSION_FAILED" Time event was released. |
eventTime required | string <date-time> |
id | string or null Unique event identifier, optional. |
required | object |
property name* additional property | any |
{- "source": "SupplierCandidateController",
- "system": "BEELINE_ENTERPRISE",
- "eventType": "CANDIDATE_SUBMISSION_FAILED",
- "eventTime": "2025-04-28T14:30:00Z",
- "id": null,
- "data": {
- "supplierUid": "LE4fc4e011-1ea2-4c1d-90f1-c4a52de35ctr",
- "clientUid": "LE7ht4e011-1ea2-4c1d-90f1-c4a52de35uzo",
- "postingUid": "GJR8c07e2df-219e-4a51-81b4-77584f95363e",
- "candidateUid": "GCN2e27fb1b-3f27-4109-8f6e-c4e3e10ef6a6",
- "failureReason": "Validation error: missing required fields"
}
}
Test API connection by requesting a pong message on a callback route.
callback_url | string <uri> The URL to which notifications will be sent. |
{
}