Webhook Customer Endpoint - API Documentation
This document describes the webhook-based integration approaches supported for customer endpoints. These approaches allow customers to securely receive job-related payloads from the LaborEdge platform.
This document describes the webhook-based integration approaches supported for customer endpoints. These approaches allow customers to securely receive job-related payloads from the LaborEdge platform.
Currently, two approaches are supported:
- Two-Step Authentication + Webhook Configuration
- Pre-Signed Webhook URL with Access Token
Both approaches are designed to ensure secure communication using access tokens.
https://api-jobs.laboredge.com| Parameter | Description |
|---|---|
| <integration> | Integration identifier |
| <agency_code> | Unique agency code assigned to the customer |
| <accesstoken> | Access token used for authentication |
Step 1: Generate Access Token
An API is provided to generate an access token. This token must be used as a Bearer Token while invoking the webhook endpoint.
/<integration>/<agency_code>/accesstokenhttps://api-jobs.laboredge.com/spark/FSM/accesstoken- This endpoint will be secured as per integration-specific authentication (shared separately).
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Step 2: Configure Webhook Endpoint
Once the access token is generated, the webhook endpoint must be configured to receive job-related events.
/<integration>/<agency_code>/jobhttps://api-jobs.laboredge.com/spark/FSM/jobAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... Content-Type: application/json
{"status": 200, "failureMessage": ""}
{"status": 401, "failureMessage": "Invalid authentication details provided"}- The webhook endpoint will be invoked by LaborEdge.
- The Bearer token obtained from Step 1 must be included in the Authorization header.
In this approach, the webhook URL itself contains the access token as a path parameter. This simplifies webhook configuration by eliminating the need to manage headers dynamically.
Webhook Endpoint Configuration
/<integration>/<agency_code>/job/<accesstoken>https://api-jobs.laboredge.com/spark/FSM/job/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...{"status": 200, "failureMessage": ""}
{"status": 401, "failureMessage": "Invalid authentication details provided"}- The access token is embedded directly in the endpoint URL.
- This endpoint can be configured directly as a webhook.
- No Authorization header is required unless explicitly agreed.
The webhook payload will be sent as a JSON request body. The structure of the payload depends on the integration and event type and will be shared separately as part of the integration contract.
- Tokens should be stored securely and never exposed publicly.
- For Approach 2, ensure the webhook URL is not logged or shared externally.
| HTTP Status Code | Description |
|---|---|
| 200 | Webhook received successfully |
| 401 | Unauthorized / Invalid or expired access token |
| 403 | Forbidden |
| 500 | Internal server error |
For token credentials, payload schemas, or integration-specific questions, please contact the LaborEdge integration support team.
Sample Payload - Travel Job Type
{
"Client Name": "Denver Medical Center",
"Job Posting Id": 4133,
"Job Type": "TRAVEL",
"Status": "Open",
"Hot Job": true,
"Position Urgency": "NORMAL",
"Offering": "ALLIED",
"Sub Offering": "REHAB",
"Profession": "OT",
"Specialty": "OT",
"Job Title": "Radiology MRI",
"VMS Job Board URL": "",
"Display on External Job Board": "Enable",
"Display On Indeed": "Yes",
"Job Qty": 2,
"Shift": "07:00AM-03:00PM",
"Start Date": "08/19/2024",
"ASAP": "No",
"Assignment Length": 13,
"Duration Type": "WEEKS",
"End Date": "11/13/2024",
"VMS": "NVMS",
"Computer Charting": "McKesson",
"Setting": "Hospital",
"NBO Hours": "",
"Additional Information": "",
"Job Description": "Occupational therapists treat disabled, ill or injured patients with special equipment and the therapeutic use of daily activities.",
"Sales Representative": "",
"Staffing Specialist": "",
"Floating Required Units": "Sample Floating required text",
"Amount Call Required": "Sample call Required text",
"Preferred Certifications": "",
"Bill Rate": 1,
"High Bill Rate": null,
"> 8 Bill Rate": null,
"> 12 Bill Rate": null,
"37-40 Bill Rate": null,
"> 40 Bill Rate": null,
"> 48 Bill Rate": null,
"> 60 Bill Rate": null,
"On Call Bill Rate": null,
"Charge Bill Rate": null,
"Call Back Rate": null,
"Holiday Rate": null,
"Show Location City ?": "",
"City Alias": "",
"Client Type": "Direct",
"MSA": "",
"Auto Offer": 1,
"Bonus": 0.00,
"City": "Salem",
"Department": "X-RAY",
"Featured": 1,
"MSP": "AMN",
"Recruiter": "William Ana",
"Salary Maximum Bill Rate": null,
"Salary Minimum Bill Rate": null,
"Salary High Pay Rate": null,
"Salary Low Pay Rate": null,
"Custom Shift": "Yes",
"Custom Shift Start Time": "07:00",
"Custom Shift End Time": "15:00",
"Custom Shift Scheduled Hours": 40.00,
"Custom Shift Shifts Per Week": 5
}Sample Payload - Per Diem Job Type
{
"Client Name": "Denver Medical Center",
"Job Posting Id": 4133,
"Job Type": "PERDIEM",
"Status": "Open",
"Hot Job": true,
"Position Urgency": "NORMAL",
"Offering": "ALLIED",
"Sub Offering": "REHAB",
"Profession": "OT",
"Specialty": "OT",
"Job Title": "Radiology MRI",
"VMS Job Board URL": "",
"Display on External Job Board": "Enable",
"Job Qty": 2,
"Shift": "07:00AM-03:00PM",
"Order Date": "08/19/2024",
"VMS": "NVMS",
"Computer Charting": "McKesson",
"Setting": "Hospital",
"NBO Hours": "",
"Additional Information": "",
"Job Description": "Occupational therapists treat disabled, ill or injured patients with equipment and the therapeutic use of daily activities.",
"Sales Representative": "",
"Staffing Specialist": "",
"Floating Required Units": "Sample Floating required text",
"Amount Call Required": "Sample call Required text",
"Preferred Certifications": "",
"Bill Rate": 1,
"High Bill Rate": null,
"> 8 Bill Rate": null,
"> 12 Bill Rate": null,
"37-40 Bill Rate": null,
"> 40 Bill Rate": null,
"> 48 Bill Rate": null,
"> 60 Bill Rate": null,
"On Call Bill Rate": null,
"Charge Bill Rate": null,
"Call Back Rate": null,
"Holiday Rate": null,
"Show Location City ?": "",
"City Alias": "",
"Client Type": "Direct",
"MSA": "",
"Auto Offer": 1,
"Bonus": 0.00,
"City": "Salem",
"Department": "X-RAY",
"Featured": 1,
"MSP": "AMN",
"Recruiter": "William Ana",
"Orientation": "NO",
"Primary Specialty": "OT -> OT"
}Sample Payload - Permanent Job Type
{
"Client Name": "Southwest Medical Center - TRS",
"Start Date": "06/01/2026",
"Status": "Open",
"Shift": "9 HR Days, 07:00:00-16:00:00, 9.00-4",
"Division": "Radiology / Sonography",
"Offering": "Radiology / Sonography",
"Profession": "Radiology / Sonography",
"Sub Offering": "Radiology / Sonography",
"Specialty": "CT Tech",
"Additional Information": "ID: 62897733 Shift: 36 Hours Per Week",
"Bill Rate": 0,
"Salary Maximum Bill Rate": "0.0000",
"Job Posting Id": "18778",
"On Call Bill Rate": 0,
"Call Back Rate": 0,
"Holiday Rate": 0,
"Job Type": "Perm",
"Job Qty": "1",
"VMS": "Conexus",
"State Code": "Kansas",
"City": "Liberal",
"Zip": "67901",
"Bonus": "0.0000",
"Sign on Bonus": "0.0000",
"OT Rate": 0,
"Hot Job": "No",
"Show Location City ?": "Yes",
"Association": "",
"ASAP": "No",
"Charge Bill Rate": 0,
"VMS Job Board URL": "https://app.centrafi.net/Login/Details.aspx",
"Job Title": "Radiology / Sonography - CT Tech",
"Sales Representative": "Select-Value",
"Position Urgency": "",
"Preferred Certifications": "",
"Salary Low Pay Rate": "0.00",
"Salary High Pay Rate": "0.00",
"Salary Minimum Bill Rate": "0.00",
"NBO Hours": "",
"Display on External Job Board": -1,
"Display On Indeed": "No",
"Recruiter": "",
"Department": "",
"Auto Offer": 0,
"Featured": -1,
"Setting": "",
"Computer Charting": "",
"> 8 Bill Rate": "",
"> 12 Bill Rate": "",
"37-40 Bill Rate": "",
"> 48 Bill Rate": "",
"> 40 Bill Rate": 0,
"MSP": "",
"Client Type": "VMS",
"MSA": "Yes",
"Agency": "Axis",
"Staffing Specialist": "Select-Value",
"Placement Fee": "",
"Placement fee type": "",
"Relocation Package": "",
"> 60 Bill Rate": "",
"Custom Shift": "Yes",
"Custom Shift Start Time": "07:00",
"Custom Shift End Time": "15:00",
"Custom Shift Scheduled Hours": 40.00,
"Custom Shift Shifts Per Week": 5
}| Field Name | Data Type | Required | Applicable Job Type | Description |
|---|---|---|---|---|
| Client Name | String | Yes | TRAVEL, PERDIEM, PERM | Must match existing client |
| Job Posting Id | String/Integer | Yes | TRAVEL, PERDIEM, PERM | Unique job identifier |
| Job Type | Enum | Yes | TRAVEL, PERDIEM, PERM | TRAVEL, LOCAL, PERM, PERDIEM |
| Status | Enum | Yes | TRAVEL, PERDIEM, PERM | Open, Closed, etc. |
| Hot Job | Boolean/String | Yes | TRAVEL, PERDIEM, PERM | true / false / "true" / "false" |
| Position Urgency | Enum | Yes | TRAVEL, PERDIEM, PERM | NORMAL, URGENT |
| Offering | Enum | Yes | TRAVEL, PERDIEM, PERM | ALLIED, NURSING, etc. |
| Sub Offering | Enum | Yes | TRAVEL, PERDIEM, PERM | Category under Offering |
| Profession | String | Yes | TRAVEL, PERDIEM, PERM | Must exist in system |
| Specialty | String | Yes | TRAVEL, PERDIEM, PERM | Must exist in system |
| Job Title | String | No | TRAVEL, PERDIEM, PERM | Public job title |
| VMS Job Board URL | URL | No | TRAVEL, PERDIEM, PERM | Valid URL format |
| Display on External Job Board | Enum/Boolean | Yes | TRAVEL, PERDIEM, PERM | Enable / Disable / 0 / 1 |
| Display On Indeed | String | No | TRAVEL, PERM | "Yes" / "No" - Controls whether the job is displayed on Indeed |
| Job Qty | Integer | Yes | TRAVEL, PERDIEM, PERM | Must be > 0 |
| Shift | String | Yes/No | TRAVEL, PERDIEM, PERM | Must match configured shift |
| Custom Shift | String | No | TRAVEL, PERM | "Yes" / "No" |
| Custom Shift Start Time | Time (HH:mm) | No | TRAVEL, PERM | Shift start time |
| Custom Shift End Time | Time (HH:mm) | No | TRAVEL, PERM | Shift end time |
| Custom Shift Scheduled Hours | Decimal | No | TRAVEL, PERM | Total hours per week |
| Custom Shift Shifts Per Week | Integer | No | TRAVEL, PERM | Shifts per week |
| Start Date | Date (MM/DD/YYYY) | Yes | TRAVEL, PERM | Required |
| Order Date | Date (MM/DD/YYYY) | Yes | PERDIEM | Required for Per Diem jobs |
| ASAP | Boolean/Enum | Yes | TRAVEL, PERM | True / False / Yes / No |
| Assignment Length | Integer | Yes | TRAVEL | Numeric duration |
| Duration Type | Enum | Yes | TRAVEL | DAYS / WEEKS / MONTHS |
| End Date | Date | Yes | TRAVEL | Must be > Start Date |
| VMS | String | No | TRAVEL, PERDIEM, PERM | Configured VMS |
| Computer Charting | String | No | TRAVEL, PERDIEM, PERM | Charting system |
| Setting | String | No | TRAVEL, PERDIEM, PERM | Hospital, Clinic etc. |
| NBO Hours | Integer | No | TRAVEL, PERDIEM, PERM | Inherited if blank |
| Additional Information | Text | No | TRAVEL, PERDIEM, PERM | Optional |
| Job Description | Text | No | TRAVEL, PERDIEM, PERM | Detailed description |
| Sales Representative | String | No | TRAVEL, PERDIEM, PERM | Must match system user |
| Staffing Specialist | String | No | TRAVEL, PERDIEM, PERM | Must match system user |
| Floating Required Units | Text | No | TRAVEL, PERDIEM | Optional |
| Amount Call Required | Text | No | TRAVEL, PERDIEM | Optional |
| Preferred Certifications | Text | No | TRAVEL, PERDIEM, PERM | Optional |
| Bill Rate | Decimal | Yes | TRAVEL, PERDIEM, PERM | Base bill rate |
| High Bill Rate | Decimal | No | TRAVEL, PERDIEM | Optional |
| > 8 Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Overtime rate |
| > 12 Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Overtime rate |
| 37-40 Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Optional override |
| > 40 Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Overtime rate |
| > 48 Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Overtime rate |
| > 60 Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Overtime rate |
| On Call Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | On-call rate |
| Charge Bill Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Charge rate |
| Call Back Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Callback rate |
| Holiday Rate | Decimal | No | TRAVEL, PERDIEM, PERM | Holiday rate |
| Show Location City ? | String | No | TRAVEL, PERDIEM, PERM | Show city flag |
| City Alias | String | No | TRAVEL, PERDIEM | Alternate display |
| Client Type | Enum | No | TRAVEL, PERDIEM, PERM | Direct / MSP |
| MSA | String | No | TRAVEL, PERDIEM, PERM | Yes / No |
| Auto Offer | Bool/String/Int | No | TRAVEL, PERDIEM, PERM | Auto offer enabled |
| Bonus | Decimal | No | TRAVEL, PERDIEM, PERM | Bonus amount |
| City | String | Yes | TRAVEL, PERDIEM, PERM | Job location |
| Department | String | No | TRAVEL, PERDIEM, PERM | Internal reference |
| Featured | Boolean (0/1) | No | TRAVEL, PERDIEM, PERM | Featured job flag |
| MSP | String | No | TRAVEL, PERDIEM, PERM | MSP name |
| Recruiter | String | No | TRAVEL, PERDIEM, PERM | Must match user |
| Salary Maximum Bill Rate | Decimal | No | TRAVEL, PERM | Optional |
| Salary Minimum Bill Rate | Decimal | No | TRAVEL, PERM | Optional |
| Salary High Pay Rate | Decimal | No | TRAVEL, PERM | Optional |
| Salary Low Pay Rate | Decimal | No | TRAVEL, PERM | Optional |
| Orientation | String | No | PERDIEM | Orientation requirement |
| Primary Specialty | String | No | PERDIEM | Primary specialty mapping |
| Division | String | No | PERM | Division or department grouping |
| State Code | String | No | PERM | State name/code |
| Zip | String | No | PERM | Postal code |
| Sign on Bonus | Decimal | No | PERM | Sign-on bonus amount |
| OT Rate | Decimal | No | PERM | Overtime rate |
| Association | String | No | PERM | Association information |
| Agency | String | No | PERM | Agency name |
| Placement Fee | Decimal/String | No | PERM | Placement fee |
| Placement fee type | String | No | PERM | Placement fee type |
| Relocation Package | String | No | PERM | Relocation package details |
"Custom Shift" Configuration Notes
- Applicable only to TRAVEL and PERM job types.
- When Custom Shift is set to true, Custom Shift Start Time, Custom Shift End Time, Custom Shift Scheduled Hours and Custom Shift Shifts Per Week should be provided.
- These fields are not applicable to PERDIEM jobs and may be omitted.