### Provide example Everee API response JSON Source: https://developer.everee.com/reference/update-w4-tax-withholding-settings Shows a sample JSON payload returned by the Everee API on a successful request. This example reflects the defined schema with fields for job count, dependents, income, deductions, marital status, and effective date. Useful for developers to understand expected data formats. ```json { "haveExactlyTwoJobs": false, "countOfChildren": 1, "countOfOtherDependents": 0, "otherIncomeAnnually": { "amount": "0.00", "currency": "USD" }, "deductionsAnnually": { "amount": "0.00", "currency": "USD" }, "extraWithholdingsMonthly": { "amount": "0.00", "currency": "USD" }, "maritalStatus": "MARRIED_FILING_JOINTLY", "exempt": false, "effectiveDate": "2023-06-03" } ``` -------------------------------- ### GET /api/payments/batch/{batchId}/settings Source: https://developer.everee.com/index Retrieves the settings for an existing batch of one-time payments. ```APIDOC ## GET /api/payments/batch/{batchId}/settings ### Description Retrieves the settings for an existing batch of one-time payments to perform reconciliation tasks. ### Method GET ### Endpoint /api/payments/batch/{batchId}/settings ### Parameters #### Path Parameters - **batchId** (string) - Required - The ID of the batch. ### Response #### Success Response (200) - **settings** (object) - The settings of the batch. #### Response Example { "settings": { "paymentMethod": "direct_deposit", "currency": "USD" } } ``` -------------------------------- ### GET /integration/v1/labor/timesheet/worked-shifts/{shiftId} Source: https://developer.everee.com/reference/retrieve-shift-by-id Retrieves a specific worked shift by its unique identifier. This endpoint is useful for fetching detailed information about a past shift, including start and end times, breaks, and pay details. ```APIDOC ## GET /integration/v1/labor/timesheet/worked-shifts/{shiftId} ### Description Retrieves one shift using its ID. ### Method GET ### Endpoint /integration/v1/labor/timesheet/worked-shifts/{shiftId} #### Path Parameters - **shiftId** (string) - Required - The unique identifier of the shift to retrieve. #### Request Example ``` (No request body for GET request) ``` ### Response #### Success Response (200) - **workerId** (string) - The ID of the worker associated with the shift. - **workedShiftId** (integer) - The unique identifier for the worked shift. - **legalWorkTimeZone** (string) - The legal work time zone for the shift. - **shiftStartAt** (object) - The start time of the shift. - **effectivePunchAt** (string) - The timestamp when the shift effectively started. - **shiftEndAt** (object) - The end time of the shift. - **effectivePunchAt** (string) - The timestamp when the shift effectively ended. - **verifiedAt** (string) - The timestamp when the shift was verified. - **verifiedByUserId** (integer) - The ID of the user who verified the shift. - **effectivePayRate** (object) - The effective pay rate for the shift. - **amount** (string) - The pay rate amount. - **currency** (string) - The currency of the pay rate. - **payRateOverridden** (boolean) - Indicates if the pay rate was overridden. - **payableDetails** (object) - Details about the payable amount for the shift. - **totalPayableAmount** (object) - The total payable amount. - **amount** (string) - The amount payable. - **currency** (string) - The currency of the payable amount. - **paid** (boolean) - Indicates if the amount has been paid. - **shiftBreaks** (array) - An array of shift break objects. - **segmentId** (integer) - The ID of the break segment. - **segmentConfigCode** (string) - The code for the break segment configuration. - **segmentConfigTitle** (string) - The title for the break segment configuration. - **breakStartAt** (object) - The start time of the break. - **effectivePunchAt** (string) - The timestamp when the break effectively started. - **breakEndAt** (object) - The end time of the break. - **effectivePunchAt** (string) - The timestamp when the break effectively ended. - **segmentDuration** (string) - The duration of the break. - **shiftDurations** (object) - Durations related to the shift. - **shiftDuration** (string) - The total duration of the shift. - **paidBreakDuration** (string) - The duration of paid breaks. - **unpaidBreakDuration** (string) - The duration of unpaid breaks. - **regularTimeWorked** (object) - Details about regular time worked. - **totalDuration** (string) - The total duration of regular time worked. - **totalPayableAmount** (object) - The payable amount for regular time worked. - **amount** (string) - The amount. - **currency** (string) - The currency. - **overtimeWorked** (object) - Details about overtime worked. - **totalDuration** (string) - The total duration of overtime worked. - **totalPayableAmount** (object) - The payable amount for overtime worked. - **amount** (string) - The amount. - **currency** (string) - The currency. - **doubleTimeWorked** (object) - Details about double time worked. - **totalDuration** (string) - The total duration of double time worked. - **totalPayableAmount** (object) - The payable amount for double time worked. - **amount** (string) - The amount. - **currency** (string) - The currency. #### Response Example ```json { "workerId": "94cae9c4-a52c-4731-969f-83540f45c2e2", "workedShiftId": 123456789, "legalWorkTimeZone": "America/Denver", "shiftStartAt": { "effectivePunchAt": "2024-02-19T19:02:00-07:00" }, "shiftEndAt": { "effectivePunchAt": "2024-02-19T19:19:00-07:00" }, "verifiedAt": "2024-02-21T07:04:19.41373Z", "verifiedByUserId": 166, "effectivePayRate": { "amount": "15.00", "currency": "USD" }, "payRateOverridden": false, "payableDetails": { "totalPayableAmount": { "amount": "2.00", "currency": "USD" }, "paid": false }, "shiftBreaks": [ { "segmentId": 20, "segmentConfigCode": "DEFAULT_UNPAID", "segmentConfigTitle": "Break", "breakStartAt": { "effectivePunchAt": "2024-02-19T19:10:00-07:00" }, "breakEndAt": { "effectivePunchAt": "2024-02-19T19:19:00-07:00" }, "segmentDuration": "PT9M" } ], "shiftDurations": { "shiftDuration": "PT17M", "paidBreakDuration": "PT0S", "unpaidBreakDuration": "PT9M", "regularTimeWorked": { "totalDuration": "PT8M", "totalPayableAmount": { "amount": "2.00", "currency": "USD" } }, "overtimeWorked": { "totalDuration": "PT0S", "totalPayableAmount": { "amount": "0.00", "currency": "USD" } }, "doubleTimeWorked": { "totalDuration": "PT0S", "totalPayableAmount": { "amount": "0.00", "currency": "USD" } } } } ``` ``` -------------------------------- ### POST /api/v2/onboarding/employee Source: https://developer.everee.com/reference/kick-off-onboarding-for-an-employee Creates a partial profile for a new employee, requiring only minimal data. The rest of the employee's information will be captured during an Everee-managed onboarding process or directly entered by a payroll administrator, in order for the employee to be payable. ```APIDOC ## POST /api/v2/onboarding/employee ### Description Creates a partial profile for a new employee, requiring only minimal data. The rest of the employee's information will be captured during an Everee-managed onboarding process or directly entered by a payroll administrator, in order for the employee to be payable. ### Method POST ### Endpoint /api/v2/onboarding/employee ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **firstName** (string) - Required - Employee's first name - **middleName** (string) - Optional - Employee's middle name - **lastName** (string) - Required - Employee's last name - **phoneNumber** (string) - Required - 10 digits - **email** (string) - Required - email format - **payType** (string) - Required - one of: "HOURLY", "SALARY" (default: "HOURLY") - **payRate** (object) - Required - Money object with amount and currency - **typicalWeeklyHours** (integer) - Required - integer in range 1-40 inclusive (default: 40) - **paySchedule** (string) - Optional - The desired pay schedule for this employee. Only options that have been enabled for the current Company are available - **eligibleForOvertime** (boolean) - Optional - Whether to include this employee in overtime classification (default: true) - **hireDate** (string) - Required - ISO8601 date - **legalWorkAddress** (object) - Required - Work location address with useHomeAddress and workLocationId - **externalWorkerId** (string) - Optional - External worker identifier - **approvalGroupId** (integer) - Optional - Approval group identifier - **timeOffPolicyId** (integer) - Optional - The Leave Policy ID in which to enroll this employee ### Request Example { "firstName": "John", "lastName": "Doe", "phoneNumber": "5551234567", "email": "john.doe@company.com", "payType": "HOURLY", "payRate": { "amount": "25.00", "currency": "USD" }, "typicalWeeklyHours": 40, "hireDate": "2024-01-15", "legalWorkAddress": { "useHomeAddress": true } } ### Response #### Success Response (200) - Response structure and fields will be returned upon successful employee creation #### Response Example { "employeeId": "emp_123456", "status": "onboarding_initiated", "message": "Employee onboarding process has been started" } ``` -------------------------------- ### POST /api/v2/onboarding/contractor Source: https://developer.everee.com/reference/kick-off-onboarding-for-a-contractor Initiates the onboarding process for a contractor. Requires basic information, with additional details collected later. Designates the worker as a 1099 contractor. ```APIDOC ## POST /api/v2/onboarding/contractor ### Description Initiates the onboarding process for a contractor. Requires basic information, with additional details collected later. Designates the worker as a 1099 contractor. ### Method POST ### Endpoint /api/v2/onboarding/contractor ### Parameters #### Request Body - **firstName** (string) - Required - Contractor's first name - **middleName** (string) - Optional - Contractor's middle name - **lastName** (string) - Required - Contractor's last name - **phoneNumber** (string) - Required - 10 digits - **email** (string) - Required - Email format - **hireDate** (string) - Required - ISO8601 date - **legalWorkAddress** (object) - Required - Work address details - **useHomeAddress** (boolean) - Optional - Defaults to true - **workLocationId** (integer) - Optional - Ignored if useHomeAddress is true - **externalWorkerId** (string) - Optional - External identifier for the worker - **approvalGroupId** (integer) - Optional - ID of the approval group ### Request Example { "firstName": "John", "lastName": "Doe", "phoneNumber": "1234567890", "email": "john.doe@example.com", "hireDate": "2023-01-01", "legalWorkAddress": { "useHomeAddress": true } } ### Response #### Success Response (201) - **workerId** (string) - Unique identifier for the worker - **externalWorkerId** (string) - Optional - External identifier for the worker - **firstName** (string) - Worker's first name - **middleName** (string) - Optional - Worker's middle name - **lastName** (string) - Worker's last name - **phoneNumber** (string) - Worker's phone number (10 digits) - **email** (string) - Worker's email - **position** (object) - Worker's position details - **current** (object) - **payType** (string) - One of "HOURLY" or "SALARY" - **payRate** (object) - Money object - **title** (string) - Optional - Job title - **hireDate** (string) - ISO8601 date - **legalWorkAddress** (object) - Work address details - **current** (object) - **useHomeAddress** (boolean) - **workLocationId** (number) - Optional - **approvalGroup** (object) - Approval group details - **id** (number) - **name** (string) #### Response Example { "workerId": "12345", "firstName": "John", "lastName": "Doe", "phoneNumber": "1234567890", "email": "john.doe@example.com", "position": { "current": { "payType": "HOURLY", "payRate": { "amount": 20, "currency": "USD" } } }, "hireDate": "2023-01-01", "legalWorkAddress": { "current": { "useHomeAddress": true } }, "approvalGroup": { "id": 1, "name": "Default Group" } } ``` -------------------------------- ### OpenAPI Definition for Get Hiring Eligibility Source: https://developer.everee.com/reference/get-hiring-eligibility This OpenAPI 3.1.0 definition outlines the 'Get Hiring Eligibility' GET request. It specifies the endpoint '/api/v2/candidates/eligibility', required query parameters like 'taxpayer-identifier', and the structure of the JSON response, including 'items' with 'taxpayerIdentifier', 'lifecycleStatus', 'eligibleForRehire', 'fullName', and 'mostRecentHireDate'. ```json { "openapi": "3.1.0", "info": { "title": "default", "version": "1.0" }, "servers": [ { "url": "https://api.everee.com" } ], "components": { "securitySchemes": { "sec0": { "type": "apiKey", "in": "header", "name": "Authorization", "x-bearer-format": "basic" } } }, "security": [ { "sec0": [] } ], "paths": { "/api/v2/candidates/eligibility": { "get": { "summary": "Get Hiring Eligibility", "description": "Clients can retrieve the hiring eligibility status of an employee by providing the candidate's taxpayer identifier.", "operationId": "get-hiring-eligibility", "parameters": [ { "name": "taxpayer-identifier", "in": "query", "description": "The candidate's taxpayer identifier (SSN). Format as 9 digits with no hyphens or other non-digit characters.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n\t\"items\": [\n\t\t{\n\t\t\t\"taxpayerIdentifier\": \"123456789\",\n\t\t\t\"lifecycleStatus\": \"SEPARATED\",\n\t\t\t\"eligibleForRehire\": true,\n\t\t\t\"fullName\": \"Appleseed, Johhny A\",\n\t\t\t\"mostRecentHireDate\": \"2022-03-01\"\n\t\t}\n\t],\n\t\"pageSize\": 20,\n\t\"pageNumber\": 0,\n\t\"totalPages\": 1,\n\t\"totalItems\": 1,\n\t\"sortOrders\": []\n}" } }, "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "taxpayerIdentifier": { "type": "string", "example": "123456789" }, "lifecycleStatus": { "type": "string", "example": "SEPARATED" }, "eligibleForRehire": { "type": "boolean", "example": true, "default": true }, "fullName": { "type": "string", "example": "Appleseed, Johhny A" }, "mostRecentHireDate": { "type": "string", "example": "2022-03-01" } } } }, "pageSize": { "type": "integer", "example": 20, "default": 0 }, "pageNumber": { "type": "integer", "example": 0, "default": 0 }, "totalPages": { "type": "integer", "example": 1, "default": 0 }, "totalItems": { "type": "integer", "example": 1, "default": 0 }, "sortOrders": { "type": "array" } } } } } } }, "deprecated": false } } }, "x-readme": { "headers": [ { "key": "x-everee-tenant-id", "value": "[numeric tenant or company ID]" }, { "key": "accept", "value": "application/json" }, { "key": "content-type", "value": "application/json" } ], "explorer-enabled": false, "proxy-enabled": false }, "x-readme-fauxas": true } ``` -------------------------------- ### POST /contractors Source: https://developer.everee.com/reference/add-a-complete-contractor-record Creates a new contractor profile in the Everee system. Submits contractor details including personal information, home and work addresses, bank accounts, tax withholding settings, and optional external IDs. If onboardingComplete is true, the profile is marked as complete and activated on the hire date; otherwise, it remains in progress for self-onboarding. ```APIDOC ## POST /contractors ### Description This endpoint creates a new contractor profile. It requires authentication via headers including the tenant ID. The request body includes comprehensive details about the contractor such as personal info, addresses, banking, and tax settings. Successful creation returns a 201 status with the new worker details. ### Method POST ### Endpoint /contractors ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body Content-Type: application/json - **firstName** (string) - Required - Contractor's first name - **lastName** (string) - Required - Contractor's last name - **email** (string) - Required - Email in valid format - **phoneNumber** (string) - Required - 10-digit phone number - **hireDate** (string) - Required - ISO8601 date for start date - **dateOfBirth** (string) - Required - ISO8601 date - **taxpayerIdentifier** (string) - Required - 10-digit SSN or EIN - **typicalWeeklyHours** (integer) - Required - Hours per week (1-40) - **homeAddress** (object) - Required - Current home address details - **line1** (string) - Required - Street address line 1 - **line2** (string) - Optional - Street address line 2 - **city** (string) - Required - City - **state** (string) - Required - 2-letter state code - **postalCode** (string) - Required - 5-digit ZIP code - **position** (object) - Required - Job position details - **current** (object) - Required - **payType** (string) - Required - "HOURLY" or "SALARY" - **payRate** (object) - Required - Money object with amount and currency - **title** (string) - Optional - Job title - **bankAccounts** (array) - Optional - Array of bank account objects - **bankName** (string) - Required - Bank name - **accountName** (string) - Required - Account holder name - **accountType** (string) - Required - "CHECKING" or "SAVINGS" - **routingNumber** (string) - Required - 9-digit routing number - **accountNumberLast4** (string) - Required - Last 4 digits of account number - **withholdingSettings** (object) - Optional - Tax withholding details - **current** (object) - Required - **haveExactlyTwoJobs** (boolean) - Optional - Indicates multiple jobs - **countOfChildren** (integer) - Optional - Number of child dependents - **countOfOtherDependents** (integer) - Optional - Number of other dependents - **otherIncomeAnnually** (object) - Optional - Money object for other income - **deductionsAnnually** (object) - Optional - Money object for deductions - **extraWithholdingsMonthly** (object) - Optional - Money object for extra withholding - **exempt** (boolean) - Optional - Tax exempt status - **maritalStatus** (string) - Optional - One of: "HEAD_OF_HOUSEHOLD", "MARRIED_FILING_JOINTLY", "SINGLE_OR_MARRIED_FILING_SEPARATELY" - **legalWorkAddress** (object) - Optional - Work address details - **current** (object) - Required - **useHomeAddress** (boolean) - Required - If true, uses home address for work - **name** (string) - Required - Work location name - **workLocationId** (integer) - Optional - ID of work location (ignored if useHomeAddress is true) - **address** (object) - Conditional - Full address if not using home - **line1** (string) - Required - Street line 1 - **line2** (string) - Optional - Street line 2 - **city** (string) - Required - City - **state** (string) - Required - 2-letter state - **postalCode** (string) - Required - 5-digit ZIP - **onboardingComplete** (boolean) - Optional - Default: true - Marks onboarding as complete if true - **externalWorkerId** (string) - Optional - External system ID for the worker - **approvalGroupId** (integer) - Optional - ID of the approval group ### Request Example { "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com", "phoneNumber": "1234567890", "hireDate": "2023-01-01", "dateOfBirth": "1990-01-01", "taxpayerIdentifier": "1234567890", "typicalWeeklyHours": 40, "homeAddress": { "current": { "line1": "123 Main St", "city": "Anytown", "state": "CA", "postalCode": "12345" } }, "position": { "current": { "payType": "HOURLY", "payRate": { "amount": 25.00, "currency": "USD" } } }, "onboardingComplete": true, "externalWorkerId": "EXT123" } ### Response #### Success Response (201) Returns the created contractor profile details. - **workerId** (string) - Unique Everee worker ID - **externalWorkerId** (string) - External ID if provided - **firstName** (string) - First name - **lastName** (string) - Last name - **phoneNumber** (string) - Phone number - **email** (string) - Email - **onboardingComplete** (boolean) - Onboarding status - **position** (object) - Position details - **hireDate** (string) - Hire date - **homeAddress** (object) - Home address - **dateOfBirth** (string) - DOB - **taxpayerIdentifier** (string) - Tax ID - **typicalWeeklyHours** (integer) - Weekly hours - **bankAccounts** (array) - Bank accounts - **withholdingSettings** (object) - Withholding settings - **legalWorkAddress** (object) - Work address - **team** (object) - Assigned team with id and name #### Response Example { "workerId": "W123456", "externalWorkerId": "EXT123", "firstName": "John", "lastName": "Doe", "phoneNumber": "1234567890", "email": "john.doe@example.com", "onboardingComplete": true, "position": { "current": { "payType": "HOURLY", "payRate": { "amount": 25.00, "currency": "USD" } } }, "hireDate": "2023-01-01", "homeAddress": { "current": { "line1": "123 Main St", "city": "Anytown", "state": "CA", "postalCode": "12345" } }, "dateOfBirth": "1990-01-01", "taxpayerIdentifier": "1234567890", "typicalWeeklyHours": 40, "bankAccounts": [], "withholdingSettings": { "current": {} }, "legalWorkAddress": { "current": { "useHomeAddress": true } }, "team": { "id": 1, "name": "Default Team" } } #### Error Response (400) Returns validation errors if the request body is invalid. - **errors** (object) - Details of validation failures #### Response Example (400) {} ### Headers - **x-everee-tenant-id** (string) - Required - Numeric tenant or company ID - **accept** (string) - Required - application/json - **content-type** (string) - Required - application/json ``` -------------------------------- ### GET /api/v2/candidates/eligibility Source: https://developer.everee.com/reference/get-hiring-eligibility Retrieves the hiring eligibility status of an employee by providing the candidate's taxpayer identifier. This endpoint is deprecated and replaced with the Look up hiring status for a worker endpoint. ```APIDOC ## GET /api/v2/candidates/eligibility ### Description Clients can retrieve the hiring eligibility status of an employee by providing the candidate's taxpayer identifier. This endpoint has been deprecated and replaced with the [Look up hiring status for a worker](ref:look-up-hiring-status-for-a-worker) endpoint. ### Method GET ### Endpoint /api/v2/candidates/eligibility ### Parameters #### Query Parameters - **taxpayer-identifier** (string) - Required - The candidate's taxpayer identifier (SSN). Format as 9 digits with no hyphens or other non-digit characters. ### Request Example ```json GET /api/v2/candidates/eligibility?taxpayer-identifier=123456789 ``` ### Response #### Success Response (200) - **items** (array) - Array of worker eligibility objects - **pageSize** (integer) - Number of items per page - **pageNumber** (integer) - Current page number - **totalPages** (integer) - Total number of pages - **totalItems** (integer) - Total number of items - **sortOrders** (array) - Sorting information #### Response Example ```json { "items": [ { "taxpayerIdentifier": "123456789", "lifecycleStatus": "SEPARATED", "eligibleForRehire": true, "fullName": "Appleseed, Johhny A", "mostRecentHireDate": "2022-03-01" } ], "pageSize": 20, "pageNumber": 0, "totalPages": 1, "totalItems": 1, "sortOrders": [] } ``` ### Lifecycle Statuses Possible values for lifecycleStatus are: `"ONBOARDING"`, `"ACTIVE"`, `"SEPARATED"` ``` -------------------------------- ### ClassifiedHoursPerWorker JSON payload examples Source: https://developer.everee.com/reference/update-classified-hours-for-pay-period-bulk These JSON snippets demonstrate valid and invalid request bodies for the bulk classified hours endpoint. They illustrate how to pair a single payRate with one hours type (regular, overtime, or double‑time) and show the resulting HTTP status codes. Use the good examples for correct payloads and avoid the ambiguous example to prevent 400 Bad Request errors. ```json { "payRate": { "amount": "20.00", "currency": "USD" }, "regularHoursWorked": "18.00" } ``` ```json { "payRate": { "amount": "65.00", "currency": "USD" }, "overtimeHoursWorked": "4.00" } ``` ```json { "payRate": { "amount": "20.00", "currency": "USD" }, "regularHoursWorked": "12.00", "overtimeHoursWorked": "2.25" } ``` -------------------------------- ### Create Component Session - Pay Card Signup Source: https://developer.everee.com/docs/embedding-everee-pay-card This endpoint is used to create a Component Session for the Pay Card signup experience. Setting the `experienceName` to `PAY_CARD_SIGNUP` and `experienceVersion` to `V1_0` initiates the signup process. ```APIDOC ## POST /api/component_sessions ### Description Creates a Component Session to start the Pay Card signup experience. ### Method POST ### Endpoint /api/component_sessions ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - `experienceName` (string) - Required - The name of the experience to start. Should be set to `PAY_CARD_SIGNUP`. - `experienceVersion` (string) - Required - The version of the experience to start. Should be set to `V1_0`. ### Request Example { "experienceName": "PAY_CARD_SIGNUP", "experienceVersion": "V1_0" } ### Response #### Success Response (200) - `url` (string) - The URL to display in a web view to initiate the Component Session. #### Response Example { "url": "https://example.com/paycard_signup" } ``` -------------------------------- ### Define OpenAPI Specification Source: https://developer.everee.com/reference/add-an-employee-for-embedded-onboarding This snippet outlines the core OpenAPI 3.1.0 specification including server URL, security scheme using an API key in the header, and path definitions. It sets up the foundational structure for API documentation and integration. ```json { "openapi": "3.1.0", "info": { "title": "everee-embed", "version": "1.0" }, "servers": [ { "url": "https://api-prod.everee.com" } ], "components": { "securitySchemes": { "sec0": { "type": "apiKey", "in": "header", "name": "Authorization", "x-bearer-format": "basic" } } }, "security": [ { "sec0": [] } ], "paths": { "/api/v2/embedded/workers/employee": { "post": { "summary": "Create employee for embedded onboarding", "description": "The rest of the employee’s information will be captured during the embedded onboarding process. Note that this operation will designate the worker as a W2-issued employee with a formal employment relationship.", "operationId": "add-an-employee-for-embedded-onboarding", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "firstName", "lastName", "phoneNumber", "email", "payType", "payRate", "typicalWeeklyHours", "hireDate", "legalWorkAddress", "homeAddress" ], "properties": { "firstName": { "type": "string" }, "middleName": { "type": "string" }, "lastName": { "type": "string" }, "phoneNumber": { "type": "string", "description": "10 digits" }, "email": { "type": "string", "description": "email format" }, "payType": { "type": "string", "description": "one of: \"HOURLY\", \"SALARY\"", "default": "HOURLY" }, "payRate": { "type": "object", "description": "Money", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "string", "description": "decimal amount, like \"100.00\"" }, "currency": { "type": "string", "description": "always \"USD\"", "default": "USD" } } }, "typicalWeeklyHours": { "type": "integer", "description": "integer in range 1-40 inclusive", "default": 40, "format": "int32" }, "hireDate": { "type": "string", "description": "ISO8601 date", "format": "date" }, "legalWorkAddress": { "type": "object", "required": [ "useHomeAddress" ], "properties": { "useHomeAddress": { "type": "boolean", "description": "whether to use the worker's Home Address as their legal work location", "default": false }, "workLocationId": { "type": "integer", "description": "the ID of an existing Work Location; ignored if \"useHomeAddress\" is \"true\"", "format": "int64" } } }, "homeAddress": { "type": "object", "required": [ "line1", "city", "state", "postalCode" ], "properties": { "line1": { "type": "string" }, "line2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string", "description": "two-letter ISO-3166:2 code (like \"CA\")" }, "postalCode": { "type": "string", "description": "5-digit postal code" } } } } } } } } } } } } ``` -------------------------------- ### GET /api/v2/workers/payment-history/{paymentId} Source: https://developer.everee.com/reference/retrieve-a-pay-history-item-by-id Retrieves a single payment from a worker’s pay history by payment ID, available only after successful processing for deposit. Use this endpoint to get detailed information about a specific payment. Requires authentication via Authorization header with basic auth. ```APIDOC ## GET /api/v2/workers/payment-history/{paymentId} ### Description Clients can retrieve a single payment from a worker’s pay history by “payment ID” if it has been successfully processed for deposit; attempting to request a payment by ID before it has been processed for deposit will result in an HTTP status 404. ### Method GET ### Endpoint /api/v2/workers/payment-history/{paymentId} ### Parameters #### Path Parameters - **paymentId** (string) - Required - The unique identifier for the payment in the worker's pay history. #### Query Parameters None #### Request Body None ### Request Example No request body required for GET request. ### Response #### Success Response (200) - Returns a JSON object representing the pay history item (schema: type object with properties as defined in the API). #### Response Example { "example": "pay history item details" } #### Error Response (400) - Returns an error object when the request is invalid (schema: type object). #### Error Response (404) - Returns a 404 status if the payment ID does not exist or is not yet processed for deposit. ### Headers - **Authorization** (string) - Required - Basic authentication token. - **x-everee-tenant-id** (string) - Required - Numeric tenant or company ID. - **Accept** (string) - application/json - **Content-Type** (string) - application/json ``` -------------------------------- ### POST /websites/developer_everee/session Source: https://developer.everee.com/reference/create-component-session Creates a Component session that can be started by opening the returned URL in a web view. Component sessions have a limited lifetime for security purposes and should be created immediately before use. ```APIDOC ## POST /websites/developer_everee/session ### Description Creates a Component session that can be started by opening the returned URL in a web view. Component sessions have a limited lifetime for security purposes and should be created immediately before use. ### Method POST ### Endpoint /websites/developer_everee/session ### Parameters #### Request Body - **componentType** (string) - Required - The type of component session to create. Accepted values are: `ONBOARDING`, `WORKER_HOME`, `PAYMENT_HISTORY`, `TAX_DOCUMENTS`, `PAYMENT_DEPOSIT`, `HOME_ADDRESS`. - **version** (string) - Required - The version of the component type to use. For example, `V2_0` or `V1_0`. ### Request Example ```json { "componentType": "ONBOARDING", "version": "V2_0" } ``` ### Response #### Success Response (200) - **session_url** (string) - The URL for the created Component session. #### Response Example ```json { "session_url": "https://everee.com/component/session/abcdef12345" } ``` ``` -------------------------------- ### Retrieve Worker by ID (OpenAPI) Source: https://developer.everee.com/reference/retrieve-a-worker This OpenAPI 3.1.0 definition specifies the 'retrieve-a-worker' GET endpoint. It requires the worker's ID in the path and returns comprehensive worker data upon successful retrieval. Error responses are also defined. ```json { "openapi": "3.1.0", "info": { "title": "default", "version": "1.0" }, "servers": [ { "url": "https://api.everee.com" } ], "components": { "securitySchemes": { "sec0": { "type": "apiKey", "in": "header", "name": "Authorization", "x-bearer-format": "basic" } } }, "security": [ { "sec0": [] } ], "paths": { "/integration/v1/workers/{id}": { "get": { "summary": "Get worker by Everee ID", "description": "Clients can retrieve the whole worker data structure on demand.", "operationId": "retrieve-a-worker", "responses": { "200": { "description": "200", "content": { "text/plain": { "examples": { "Result": { "value": "{\n workerId: string\n externalWorkerId: string\n firstName: string\n middleName: string\n lastName: string\n phoneNumber: string, 10 digits\n email: string, email format\n onboardingComplete: boolean\n position: object, with shape: {\n current: {\n payType: string, one of: \"HOURLY\", \"SALARY\"\n payRate: object, Money\n title: string [optional]\n }\n }\n hireDate: string, ISO8601 date\n homeAddress: object, with shape: {\n current: {\n line1: string\n line2: string\n city: string\n state: string, 2-letter state abbreviation\n postalCode: string, 5-digit ZIP code\n }\n }\n dateOfBirth: string, ISO8601 date\n taxpayerIdentifier: string, 9 digits\n tinVerificationStatus: string, one of:\n \"NEEDS_VERIFICATION\": TIN is pending verification\n \"SENT_FOR_VERIFICATION\": TIN has been submitted for verification\n \"VERIFIED\": TIN was verified successfully\n \"VERIFICATION_FAILED\": TIN failed verification and requires update\n \"UNABLE_TO_VERIFY\": TIN could not be submitted for verification\n typicalWeeklyHours: number, integer in range 1-40 inclusive\n preferredPaymentMethod: string, one of:\n \"DIRECT_DEPOSIT\": worker is paid via ACH to a bank account\n \"PAY_CARD\": worker is paid on an Everee-managed pay card\n bankAccounts: array of objects, with shape: {\n bankName: string\n accountName: string\n accountType: string, one of: \"CHECKING\", \"SAVINGS\"\n routingNumber: string, 9 digits\n accountNumberLast4: string\n }\n legalWorkAddress: object, with shape: {\n current: {\n useHomeAddress: boolean\n name: string\n workLocationId: number [optional]\n address: {\n line1: string\n line2: string\n city: string\n state: string, 2-letter state abbreviation\n postalCode: string, 5-digit ZIP code\n }\n }\n }\n approvalGroup: object, with shape: {\n id: number\n name: string\n }\n}" } } } } }, "400": { "description": "400", "content": { "application/json": { "examples": { "Result": { "value": "{}" } }, "schema": { "type": "object", "properties": {} } } } } }, "deprecated": false, "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string" }, "required": true, "description": "The 'externalWorkerId' you assigned to the worker, or Everee's generated 'workerId' if you don't use your own IDs." } ] } } }, "x-readme": { "headers": [ { "key": "x-everee-tenant-id", "value": "[numeric tenant or company ID]" }, { "key": "accept", "value": "application/json" }, { "key": "content-type", "value": "application/json" } ], "explorer-enabled": false, "proxy-enabled": false }, "x-readme-fauxas": true } ```