- Brand
- Justworks
- Category
- HR & Recruiting
- Primary Subcategory
- Payroll, EOR & HR Operations
Integration details
Description
Learn more about billing hours, payroll, insurance, and other information from Justworks platform via MCP
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Payroll, EOR & HR Operations
- Secondary Subcategories
- None listed
- Brand
- Justworks
- Access
- Account required
- First tracked
- 2026-08-26
- Tool count
- 21
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Justworks
Get updates when Justworks’s Discoverability Score or category rank changes.
Competing in ChatGPT Payroll, EOR & HR Operations
View Category21 tools agents can invoke
Cancels existing deductions for the authenticated company and returns per-item cancellation results. Use when the user asks to cancel scheduled deductions. Requires `body.deduction_ids` with the exact IDs of the deductions to cancel. Check each item's `success` and `error_message` before reporting cancellation; a batch can contain failures. Output schema: ```json {"$defs":{"CancelDeductionsResponse":{"properties":{"items":{"description":"Results for each deduction cancellation request.","items":{"$ref":"#/$defs/CancelDeductionsResponseItem"},"type":"array"}},"required":["items"],"type":"object"},"CancelDeductionsResponseItem":{"properties":{"deduction_id":{"description":"Unique identifier of the canceled deduction.","type":"string"},"error_message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Error message when success is false."},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the deduction."},"success":{"description":"Whether the deduction was canceled successfully.","type":"boolean"}},"required":["deduction_id","member_id","success"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"}},"$ref":"#/$defs/CancelDeductionsResponse","type":"object"} ```
cancel_deductions
Creates member deductions for the authenticated company and returns per-item creation results. Use when the user asks to add deductions for specific members. Requires `body.items` with member IDs, deduction type codes, amounts, frequencies, and start dates. Fixed amounts are in cents and require a currency; percentage amounts use four-decimal precision. Optional per-item `operation_id` values are idempotency keys; reuse them when retrying the same creation. Check each item's `success` and `error_message` before reporting creation; a batch can contain failures. Output schema: ```json {"$defs":{"CreateDeductionsResponse":{"properties":{"items":{"description":"Results for each deduction creation request.","items":{"$ref":"#/$defs/CreateDeductionsResponseItem"},"type":"array"}},"required":["items"],"type":"object"},"CreateDeductionsResponseItem":{"properties":{"deduction_id":{"description":"Unique identifier of the created deduction.","type":"string"},"error_message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Error message when success is false."},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the deduction."},"operation_id":{"description":"Client-generated idempotency key echoed back from the request.","type":"string"},"success":{"description":"Whether the deduction was created successfully.","type":"boolean"}},"required":["deduction_id","member_id","success"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"}},"$ref":"#/$defs/CreateDeductionsResponse","type":"object"} ```
create_deductions
Creates a time off balances report for the authenticated company. Use when the user asks to generate a report of used and available leave. Requires `body`, which can be empty; optional `body.as_of_date`, `body.member_id`, and `body.policy_id` narrow the report. Returns a `report_id`. Output schema: ```json {"$defs":{"CreateTimeOffBalancesReportResponse":{"properties":{"report_id":{"description":"Unique identifier of the generated report.","type":"string"}},"required":["report_id"],"type":"object"}},"$ref":"#/$defs/CreateTimeOffBalancesReportResponse","type":"object"} ```
create_time_off_balances_report
Returns the authenticated company's profile, including names, EIN, legal entity structure, contact information, departments, and offices. Use when answering questions about company identity or organizational structure. Output schema: ```json {"$defs":{"Address":{"properties":{"city":{"description":"City of the address.","type":"string"},"country_code":{"description":"ISO 3166-1 alpha-2 country code of the address.","type":"string"},"line1":{"description":"Primary address line of the address. Usually the street number and name.","type":"string"},"line2":{"description":"Secondary address line of the address. Usually the apartment, suite, or unit number.","type":"string"},"postal_code":{"description":"Postal or ZIP code of the address.","type":"string"},"type":{"allOf":[{"$ref":"#/$defs/AddressType"}],"description":"Type of the address."},"zone_code":{"description":"State, province, or region code of the address.","type":"string"}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"],"type":"object"},"AddressType":{"enum":["home","office","mailing","primary"],"type":"string"},"Company":{"properties":{"addresses":{"description":"List of addresses associated with the company.","items":{"$ref":"#/$defs/Address"},"maxItems":2,"type":"array"},"country_data":{"allOf":[{"$ref":"#/$defs/CountryCompanyData"}],"description":"Country-specific data of the company, keyed by ISO 3166-1 alpha-2 country code."},"created_at":{"description":"Timestamp when the company was created.","format":"date-time","type":"string"},"departments":{"description":"List of departments within the company.","items":{"$ref":"#/$defs/Department"},"maxItems":1000,"type":"array"},"display_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Display name of the company."},"id":{"allOf":[{"$ref":"#/$defs/CompanyIDString"}],"description":"Unique identifier of the company."},"legal_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Legal name of the company. Requires the **company.detail:read** scope."},"offices":{"description":"List of offices within the company.","items":{"$ref":"#/$defs/Office"},"maxItems":500,"type":"array"},"phones":{"description":"List of phone numbers associated with the company.","items":{"$ref":"#/$defs/Phone"},"maxItems":1,"type":"array"},"tax_id":{"description":"Tax identification number of the company. Requires the **company.detail:read** scope.","type":"string"},"updated_at":{"description":"Timestamp when the company was last updated.","format":"date-time","type":"string"}},"required":["id","display_name","country_data","addresses","phones","departments","offices","created_at","updated_at"],"type":"object"},"CompanyDataUS":{"properties":{"structure":{"allOf":[{"$ref":"#/$defs/LegalEntityStructure"}],"description":"Legal entity structure of the company."}},"type":"object"},"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"CountryCompanyData":{"properties":{"US":{"allOf":[{"$ref":"#/$defs/CompanyDataUS"}],"description":"Country-specific data of the company for the United States."}},"type":"object"},"Department":{"properties":{"id":{"allOf":[{"$ref":"#/$defs/DepartmentIDString"}],"description":"Unique identifier of the department."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the department."}},"required":["id","name"],"type":"object"},"DepartmentIDString":{"description":"Prefixed ULID identifier for a department.","pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"LegalEntityStructure":{"enum":["corporation","llc","single_member_llc","partnership","sole_proprietorship","nonprofit"],"type":"string"},"Office":{"properties":{"address":{"allOf":[{"$ref":"#/$defs/Address"}],"description":"Address of the office. Requires the **company.detail:read** scope."},"id":{"allOf":[{"$ref":"#/$defs/OfficeIDString"}],"description":"Unique identifier of the office."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the office."}},"required":["id","name"],"type":"object"},"OfficeIDString":{"description":"Prefixed ULID identifier for an office.","pattern":"^office_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"Phone":{"properties":{"phone":{"description":"Phone number in E.164 format.","type":"string"},"type":{"allOf":[{"$ref":"#/$defs/PhoneType"}],"description":"Type of the phone number"}},"required":["type","phone"],"type":"object"},"PhoneType":{"enum":["home","cell","office","primary"],"type":"string"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"}},"$ref":"#/$defs/Company","type":"object"} ```
get_company
Returns officer names and titles and state entity filings for the authenticated company. Use when identifying company leadership or reviewing state registration records. Output schema: ```json {"$defs":{"CompanyBusinessInfo":{"properties":{"entity_identifiers":{"description":"Entity identifiers filed for the company.","items":{"$ref":"#/$defs/EntityIdentifier"},"maxItems":500,"type":"array"},"officers":{"description":"Officers associated with the company.","items":{"$ref":"#/$defs/CompanyOfficer"},"maxItems":50,"type":"array"}},"required":["officers","entity_identifiers"],"type":"object"},"CompanyOfficer":{"properties":{"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Full name of the company officer."},"titles":{"description":"Titles held by the company officer.","items":{"$ref":"#/$defs/SingleLineText"},"maxItems":20,"type":"array"}},"required":["name","titles"],"type":"object"},"EntityIdentifier":{"properties":{"file_number":{"description":"Filing number assigned to the entity identifier.","type":"string"},"issue_date":{"description":"Date when the entity identifier was issued.","format":"date","type":"string"},"state":{"description":"State where the entity identifier was issued.","type":"string"}},"required":["state","issue_date","file_number"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"}},"$ref":"#/$defs/CompanyBusinessInfo","type":"object"} ```
get_company_business_info
Returns one member's profile in the authenticated company, including names, contact information, current employment and pay with their histories, department, office, and manager. Use when answering questions about a specific person's work, compensation, or contact details. Requires the exact `member_id`. Output schema: ```json {"$defs":{"Address":{"properties":{"city":{"description":"City of the address.","type":"string"},"country_code":{"description":"ISO 3166-1 alpha-2 country code of the address.","type":"string"},"line1":{"description":"Primary address line of the address. Usually the street number and name.","type":"string"},"line2":{"description":"Secondary address line of the address. Usually the apartment, suite, or unit number.","type":"string"},"postal_code":{"description":"Postal or ZIP code of the address.","type":"string"},"type":{"allOf":[{"$ref":"#/$defs/AddressType"}],"description":"Type of the address."},"zone_code":{"description":"State, province, or region code of the address.","type":"string"}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"],"type":"object"},"AddressType":{"enum":["home","office","mailing","primary"],"type":"string"},"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"CountryPayData":{"properties":{"US":{"allOf":[{"$ref":"#/$defs/PayDataUS"}],"description":"Country-specific data of the pay rate for the United States."}},"type":"object"},"Department":{"properties":{"id":{"allOf":[{"$ref":"#/$defs/DepartmentIDString"}],"description":"Unique identifier of the department."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the department."}},"required":["id","name"],"type":"object"},"DepartmentIDString":{"description":"Prefixed ULID identifier for a department.","pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"Email":{"properties":{"email":{"description":"Email address.","type":"string"},"type":{"allOf":[{"$ref":"#/$defs/EmailType"}],"description":"Type of the email address."}},"required":["type","email"],"type":"object"},"EmailType":{"enum":["home","work"],"type":"string"},"Employment":{"properties":{"effective_date":{"description":"Date when the employment became effective.","format":"date","type":"string"},"job_title":{"description":"Job title of the member of the employment.","type":"string"},"status":{"allOf":[{"$ref":"#/$defs/MemberStatus"}],"description":"Status of the member of the employment."},"type":{"allOf":[{"$ref":"#/$defs/MemberType"}],"description":"Type of the member of the employment."}},"required":["effective_date"],"type":"object"},"EmploymentLocationType":{"enum":["office","remote"],"type":"string"},"FLSAExemptStatus":{"enum":["exempt","non_exempt","unset"],"type":"string"},"Manager":{"properties":{"full_preferred_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Full preferred name of the manager."},"id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the manager."}},"required":["id","full_preferred_name"],"type":"object"},"Member":{"properties":{"active":{"description":"Indicates whether the member is currently active.","type":"boolean"},"addresses":{"description":"List of addresses associated with the member. Requires the **member.detail:read** scope.","items":{"$ref":"#/$defs/Address"},"maxItems":1,"type":"array"},"company_id":{"allOf":[{"$ref":"#/$defs/CompanyIDString"}],"description":"Unique identifier of the company the member belongs to."},"created_at":{"description":"Timestamp when the member record was created.","format":"date-time","type":"string"},"current_employment":{"allOf":[{"$ref":"#/$defs/Employment"}],"description":"Current employment details of the member. Requires the **member.employment:read** scope."},"current_pay":{"allOf":[{"$ref":"#/$defs/MemberPay"}],"description":"Current pay details of the member. Requires the **member.pay:read** scope."},"current_pay_frequency":{"allOf":[{"$ref":"#/$defs/PayFrequency"}],"description":"Current pay frequency of the member. Requires the **member.pay:read** scope."},"date_added_to_justworks":{"description":"Date the member was added to the platform.","format":"date","type":"string"},"date_of_birth":{"description":"Date of birth of the member. Requires the **member.dob:read** scope.","format":"date","type":"string"},"department":{"allOf":[{"$ref":"#/$defs/Department"}],"description":"Department the member belongs to within the company."},"emails":{"description":"List of email addresses associated with the member. Requires the **member.detail:read** scope.","items":{"$ref":"#/$defs/Email"},"maxItems":2,"type":"array"},"employment_history":{"description":"Historical employment records for the member, ordered by the oldest effective date first. Requires the **member.employment:read** scope.","items":{"$ref":"#/$defs/Employment"},"maxItems":500,"type":"array"},"employment_location_type":{"allOf":[{"$ref":"#/$defs/EmploymentLocationType"}],"description":"Location type where the member works."},"employment_start_date":{"description":"Date the member started working at the company.","format":"date","type":"string"},"employment_termination_date":{"description":"Date the member was terminated from the company. Requires the **member.employment:read** scope.","format":"date","type":"string"},"id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member."},"job_title":{"description":"Job title of the member.","type":"string"},"manager":{"allOf":[{"$ref":"#/$defs/Manager"}],"description":"Manager of the member. Requires the **member.detail:read** scope."},"name":{"allOf":[{"$ref":"#/$defs/Name"}],"description":"Name of the member."},"office":{"allOf":[{"$ref":"#/$defs/Office"}],"description":"Office the member belongs to within the company."},"partner_settings":{"allOf":[{"$ref":"#/$defs/OAuthApplicationSettings"}],"description":"Partner settings associated with the member."},"pay_history":{"description":"Historical pay records for the member, ordered by the oldest effective date first. Requires the **member.pay:read** scope.","items":{"$ref":"#/$defs/MemberPay"},"maxItems":200,"type":"array"},"phones":{"description":"List of phone numbers associated with the member. Requires the **member.detail:read** scope.","items":{"$ref":"#/$defs/Phone"},"maxItems":3,"type":"array"},"sex_assigned_at_birth":{"allOf":[{"$ref":"#/$defs/SexAssignedAtBirth"}],"description":"Sex assigned at birth of the member. Requires the **member.sex:read** scope."},"type":{"allOf":[{"$ref":"#/$defs/MemberType"}],"description":"Type of the member. Requires the **member.detail:read** scope."},"updated_at":{"description":"Timestamp when the member record was last updated.","format":"date-time","type":"string"},"work_id":{"description":"Company-assigned work identifier of the member.","type":"string"}},"required":["id","company_id","name","active","emails","employment_history","partner_settings","created_at","updated_at"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MemberPay":{"properties":{"country_data":{"allOf":[{"$ref":"#/$defs/CountryPayData"}],"description":"Country-specific data of the pay rate, keyed by ISO 3166-1 alpha-2 country code."},"effective_date":{"description":"Date when the pay rate becomes effective.","format":"date","type":"string"},"pay_basis":{"allOf":[{"$ref":"#/$defs/PayBasis"}],"description":"Pay basis of the pay rate."},"pay_currency":{"description":"Currency code of the pay rate.","type":"string"},"pay_rate":{"description":"Pay rate amount in cents.","format":"int32","maximum":2147483647,"minimum":0,"type":"integer"}},"required":["pay_rate","country_data","effective_date","pay_currency"],"type":"object"},"MemberStatus":{"enum":["active","terminated"],"type":"string"},"MemberType":{"enum":["unpaid_owner","paid_owner","contractor","full_time_employee","third_party_admin","part_time_employee","temp","vendor","international_employee","international_contractor","employee_eor","paid_intern"],"type":"string"},"Name":{"properties":{"additional_names":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Additional names or middle name."},"family_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Family name or last name."},"full_preferred_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Full name combining preferred name, additional names, and family name."},"given_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Given name or first name."},"preferred_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Preferred name or given name."}},"required":["full_preferred_name","given_name","family_name"],"type":"object"},"OAuthApplicationSettings":{"additionalProperties":true,"type":"object"},"Office":{"properties":{"address":{"allOf":[{"$ref":"#/$defs/Address"}],"description":"Address of the office. Requires the **company.detail:read** scope."},"id":{"allOf":[{"$ref":"#/$defs/OfficeIDString"}],"description":"Unique identifier of the office."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the office."}},"required":["id","name"],"type":"object"},"OfficeIDString":{"description":"Prefixed ULID identifier for an office.","pattern":"^office_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"PayBasis":{"enum":["annual","hourly","unpaid","unknown"],"type":"string"},"PayDataUS":{"properties":{"flsa_status":{"allOf":[{"$ref":"#/$defs/FLSAExemptStatus"}],"description":"FLSA (Fair Labor Standards Act) exempt status of the member."}},"type":"object"},"PayFrequency":{"enum":["monthly","semimonthly","biweekly","biweekly_in_arrears","weekly","weekly_in_arrears"],"type":"string"},"Phone":{"properties":{"phone":{"description":"Phone number in E.164 format.","type":"string"},"type":{"allOf":[{"$ref":"#/$defs/PhoneType"}],"description":"Type of the phone number"}},"required":["type","phone"],"type":"object"},"PhoneType":{"enum":["home","cell","office","primary"],"type":"string"},"SexAssignedAtBirth":{"enum":["male","female"],"type":"string"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"}},"$ref":"#/$defs/Member","type":"object"} ```
get_member_by_id
Returns one paystub in the authenticated company, including its member ID, pay period, pay date, gross and net pay, pay group, and itemized earnings, employee deductions, and employer contributions. Use when explaining how a specific payment was calculated. Requires the exact `paystub_id`. All monetary amounts are in cents. Output schema: ```json {"$defs":{"DateString":{"description":"Date in YYYY-MM-DD format.","pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$","type":"string"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"Paystub":{"properties":{"currency":{"description":"Currency of the paystub.","type":"string"},"earnings":{"description":"List of earnings associated with the paystub.","items":{"$ref":"#/$defs/PaystubEarningsItem"},"maxItems":100,"type":"array"},"employee_deductions":{"description":"List of deductions taken from the employee's pay.","items":{"$ref":"#/$defs/PaystubDeductionsItem"},"maxItems":100,"type":"array"},"employer_contributions":{"description":"List of employer contributions associated with the paystub.","items":{"$ref":"#/$defs/PaystubContributionsItem"},"maxItems":100,"type":"array"},"gross_pay":{"description":"Gross pay amount, in cents.","format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the paystub."},"minutes_not_worked":{"description":"Total compensated minutes not worked during the pay period, such as PTO and holidays. Omitted when service hours are unavailable.","format":"int32","maximum":2147483647,"minimum":0,"type":"integer"},"minutes_worked":{"description":"Total compensated minutes worked during the pay period. Omitted when service hours are unavailable.","format":"int32","maximum":2147483647,"minimum":0,"type":"integer"},"net_pay":{"description":"Net pay amount, in cents.","format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"pay_date":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"Date when the paystub was issued."},"pay_group":{"description":"Pay group the employee belonged to at the time of the paystub.","type":"string"},"pay_period_end":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"End date of the pay period."},"pay_period_start":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"Start date of the pay period."},"paystub_id":{"description":"Unique identifier of the paystub.","type":"string"}},"required":["paystub_id","member_id","pay_date","currency","gross_pay","net_pay","earnings","employee_deductions","employer_contributions"],"type":"object"},"PaystubContributionCategory":{"enum":["tax","hsa","401k","benefit","unknown"],"type":"string"},"PaystubContributionsItem":{"properties":{"amount":{"description":"Amount of the employer contribution, in cents.","format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"category":{"allOf":[{"$ref":"#/$defs/PaystubContributionCategory"}],"description":"Category of the employer contribution."},"currency":{"description":"Currency of the employer contribution.","type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the employer contribution."},"type":{"description":"Type of the employer contribution.","type":"string"}},"required":["name","amount","currency","category"],"type":"object"},"PaystubDeductionCategory":{"enum":["pretax","tax","aftertax","unknown"],"type":"string"},"PaystubDeductionsItem":{"properties":{"amount":{"description":"Amount of the deduction, in cents.","format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"category":{"allOf":[{"$ref":"#/$defs/PaystubDeductionCategory"}],"description":"Category of the deduction."},"currency":{"description":"Currency of the deduction.","type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the employee deduction."},"source_deduction_id":{"description":"Identifier of the deduction that produced this line, matching the `deduction_id` returned by `POST /v1/deductions`. Treat it as an opaque string; it is not always a UUID. Omitted when the line was not produced by a deduction, such as taxes or plan-driven benefits.","pattern":"^[A-Za-z0-9_-]+$","type":"string"},"type":{"description":"Type of the deduction.","type":"string"}},"required":["name","amount","currency","category"],"type":"object"},"PaystubEarningsItem":{"properties":{"amount":{"description":"Amount of the earnings item, in cents.","format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"currency":{"description":"Currency of the earnings item.","type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the earnings item."},"type":{"description":"Type of the earnings item.","type":"string"}},"required":["name","amount","currency","type"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"}},"$ref":"#/$defs/Paystub","type":"object"} ```
get_paystub_by_id
Returns the authenticated member's identity and profile. Use when a request refers to "me" or "my" and requires information about the current user. Only member sessions are supported. Output schema: ```json {"type":"object","properties":{"data":{"type":"object","$ref":"#/$defs/Member"},"subject_id":{"type":"string"},"subject_type":{"type":"string","description":"Type of the authenticated subject. Currently only member sessions are supported."}},"$defs":{"Address":{"type":"object","properties":{"city":{"type":"string","description":"City of the address."},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code of the address."},"line1":{"type":"string","description":"Primary address line of the address. Usually the street number and name."},"line2":{"type":"string","description":"Secondary address line of the address. Usually the apartment, suite, or unit number."},"postal_code":{"type":"string","description":"Postal or ZIP code of the address."},"type":{"description":"Type of the address.","allOf":[{"$ref":"#/$defs/AddressType"}]},"zone_code":{"type":"string","description":"State, province, or region code of the address."}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"]},"AddressType":{"type":"string","enum":["home","office","mailing","primary"]},"CompanyIDString":{"type":"string","description":"Prefixed ULID identifier for a company.","pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"CountryPayData":{"type":"object","properties":{"US":{"description":"Country-specific data of the pay rate for the United States.","allOf":[{"$ref":"#/$defs/PayDataUS"}]}}},"Department":{"type":"object","properties":{"id":{"description":"Unique identifier of the department.","allOf":[{"$ref":"#/$defs/DepartmentIDString"}]},"name":{"description":"Name of the department.","allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["id","name"]},"DepartmentIDString":{"type":"string","description":"Prefixed ULID identifier for a department.","pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"Email":{"type":"object","properties":{"email":{"type":"string","description":"Email address."},"type":{"description":"Type of the email address.","allOf":[{"$ref":"#/$defs/EmailType"}]}},"required":["type","email"]},"EmailType":{"type":"string","enum":["home","work"]},"Employment":{"type":"object","properties":{"effective_date":{"type":"string","description":"Date when the employment became effective.","format":"date"},"job_title":{"type":"string","description":"Job title of the member of the employment."},"status":{"description":"Status of the member of the employment.","allOf":[{"$ref":"#/$defs/MemberStatus"}]},"type":{"description":"Type of the member of the employment.","allOf":[{"$ref":"#/$defs/MemberType"}]}},"required":["effective_date"]},"EmploymentLocationType":{"type":"string","enum":["office","remote"]},"FLSAExemptStatus":{"type":"string","enum":["exempt","non_exempt","unset"]},"Manager":{"type":"object","properties":{"full_preferred_name":{"description":"Full preferred name of the manager.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"id":{"description":"Unique identifier of the manager.","allOf":[{"$ref":"#/$defs/MemberIDString"}]}},"required":["id","full_preferred_name"]},"Member":{"type":"object","properties":{"active":{"type":"boolean","description":"Indicates whether the member is currently active."},"addresses":{"type":"array","items":{"$ref":"#/$defs/Address"},"description":"List of addresses associated with the member. Requires the **member.detail:read** scope.","maxItems":1},"company_id":{"description":"Unique identifier of the company the member belongs to.","allOf":[{"$ref":"#/$defs/CompanyIDString"}]},"created_at":{"type":"string","description":"Timestamp when the member record was created.","format":"date-time"},"current_employment":{"description":"Current employment details of the member. Requires the **member.employment:read** scope.","allOf":[{"$ref":"#/$defs/Employment"}]},"current_pay":{"description":"Current pay details of the member. Requires the **member.pay:read** scope.","allOf":[{"$ref":"#/$defs/MemberPay"}]},"current_pay_frequency":{"description":"Current pay frequency of the member. Requires the **member.pay:read** scope.","allOf":[{"$ref":"#/$defs/PayFrequency"}]},"date_added_to_justworks":{"type":"string","description":"Date the member was added to the platform.","format":"date"},"date_of_birth":{"type":"string","description":"Date of birth of the member. Requires the **member.dob:read** scope.","format":"date"},"department":{"description":"Department the member belongs to within the company.","allOf":[{"$ref":"#/$defs/Department"}]},"emails":{"type":"array","items":{"$ref":"#/$defs/Email"},"description":"List of email addresses associated with the member. Requires the **member.detail:read** scope.","maxItems":2},"employment_history":{"type":"array","items":{"$ref":"#/$defs/Employment"},"description":"Historical employment records for the member, ordered by the oldest effective date first. Requires the **member.employment:read** scope.","maxItems":500},"employment_location_type":{"description":"Location type where the member works.","allOf":[{"$ref":"#/$defs/EmploymentLocationType"}]},"employment_start_date":{"type":"string","description":"Date the member started working at the company.","format":"date"},"employment_termination_date":{"type":"string","description":"Date the member was terminated from the company. Requires the **member.employment:read** scope.","format":"date"},"id":{"description":"Unique identifier of the member.","allOf":[{"$ref":"#/$defs/MemberIDString"}]},"job_title":{"type":"string","description":"Job title of the member."},"manager":{"description":"Manager of the member. Requires the **member.detail:read** scope.","allOf":[{"$ref":"#/$defs/Manager"}]},"name":{"description":"Name of the member.","allOf":[{"$ref":"#/$defs/Name"}]},"office":{"description":"Office the member belongs to within the company.","allOf":[{"$ref":"#/$defs/Office"}]},"partner_settings":{"description":"Partner settings associated with the member.","allOf":[{"$ref":"#/$defs/OAuthApplicationSettings"}]},"pay_history":{"type":"array","items":{"$ref":"#/$defs/MemberPay"},"description":"Historical pay records for the member, ordered by the oldest effective date first. Requires the **member.pay:read** scope.","maxItems":200},"phones":{"type":"array","items":{"$ref":"#/$defs/Phone"},"description":"List of phone numbers associated with the member. Requires the **member.detail:read** scope.","maxItems":3},"sex_assigned_at_birth":{"description":"Sex assigned at birth of the member. Requires the **member.sex:read** scope.","allOf":[{"$ref":"#/$defs/SexAssignedAtBirth"}]},"type":{"description":"Type of the member. Requires the **member.detail:read** scope.","allOf":[{"$ref":"#/$defs/MemberType"}]},"updated_at":{"type":"string","description":"Timestamp when the member record was last updated.","format":"date-time"},"work_id":{"type":"string","description":"Company-assigned work identifier of the member."}},"required":["id","company_id","name","active","emails","employment_history","partner_settings","created_at","updated_at"]},"MemberIDString":{"type":"string","description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"MemberPay":{"type":"object","properties":{"country_data":{"description":"Country-specific data of the pay rate, keyed by ISO 3166-1 alpha-2 country code.","allOf":[{"$ref":"#/$defs/CountryPayData"}]},"effective_date":{"type":"string","description":"Date when the pay rate becomes effective.","format":"date"},"pay_basis":{"description":"Pay basis of the pay rate.","allOf":[{"$ref":"#/$defs/PayBasis"}]},"pay_currency":{"type":"string","description":"Currency code of the pay rate."},"pay_rate":{"type":"integer","description":"Pay rate amount in cents.","minimum":0,"maximum":2147483647,"format":"int32"}},"required":["pay_rate","country_data","effective_date","pay_currency"]},"MemberStatus":{"type":"string","enum":["active","terminated"]},"MemberType":{"type":"string","enum":["unpaid_owner","paid_owner","contractor","full_time_employee","third_party_admin","part_time_employee","temp","vendor","international_employee","international_contractor","employee_eor","paid_intern"]},"Name":{"type":"object","properties":{"additional_names":{"description":"Additional names or middle name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"family_name":{"description":"Family name or last name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"full_preferred_name":{"description":"Full name combining preferred name, additional names, and family name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"given_name":{"description":"Given name or first name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"preferred_name":{"description":"Preferred name or given name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["full_preferred_name","given_name","family_name"]},"OAuthApplicationSettings":{"type":"object","additionalProperties":true},"Office":{"type":"object","properties":{"address":{"description":"Address of the office. Requires the **company.detail:read** scope.","allOf":[{"$ref":"#/$defs/Address"}]},"id":{"description":"Unique identifier of the office.","allOf":[{"$ref":"#/$defs/OfficeIDString"}]},"name":{"description":"Name of the office.","allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["id","name"]},"OfficeIDString":{"type":"string","description":"Prefixed ULID identifier for an office.","pattern":"^office_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"PayBasis":{"type":"string","enum":["annual","hourly","unpaid","unknown"]},"PayDataUS":{"type":"object","properties":{"flsa_status":{"description":"FLSA (Fair Labor Standards Act) exempt status of the member.","allOf":[{"$ref":"#/$defs/FLSAExemptStatus"}]}}},"PayFrequency":{"type":"string","enum":["monthly","semimonthly","biweekly","biweekly_in_arrears","weekly","weekly_in_arrears"]},"Phone":{"type":"object","properties":{"phone":{"type":"string","description":"Phone number in E.164 format."},"type":{"description":"Type of the phone number","allOf":[{"$ref":"#/$defs/PhoneType"}]}},"required":["type","phone"]},"PhoneType":{"type":"string","enum":["home","cell","office","primary"]},"SexAssignedAtBirth":{"type":"string","enum":["male","female"]},"SingleLineText":{"type":"string","description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$"}},"required":["subject_id","subject_type","data"]} ```
get_session
Returns a time off balances report for the authenticated company, including report status, an available status or error message, and used and available leave with units by member and policy. Use when checking report progress or reviewing remaining leave balances. Requires the exact `report_id`. Use `params.limit` and `params.cursor` to page through balances, following `next_cursor` when present. While `status` is `pending`, poll again as needed; stop when it is `ready` or `error`. Output schema: ```json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"GetTimeOffBalancesReportResponse":{"properties":{"items":{"description":"Time off balances returned in the report response.","items":{"$ref":"#/$defs/TimeOffBalance"},"type":"array"},"message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Message describing the report status or error."},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of this report. Omitted when no additional pages are available."},"status":{"allOf":[{"$ref":"#/$defs/ReportStatus"}],"description":"Status of the report."}},"required":["status","items"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"},"ReportStatus":{"enum":["pending","ready","error"],"type":"string"},"TimeOffBalance":{"properties":{"available":{"description":"Amount of time off available.","format":"float","type":"number"},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the balance."},"policy_id":{"description":"Unique identifier of the time off policy associated with the balance.","type":"string"},"unit_type":{"allOf":[{"$ref":"#/$defs/TimeOffUnitType"}],"description":"Unit of time represented by `used` and `available`."},"used":{"description":"Amount of time off used.","format":"float","type":"number"}},"required":["member_id","policy_id","unit_type","used","available"],"type":"object"},"TimeOffUnitType":{"enum":["minutes","hours","days"],"type":"string"}},"$ref":"#/$defs/GetTimeOffBalancesReportResponse","type":"object"} ```
get_time_off_balances_report_by_id
Lists the authenticated company's custom field definitions, including labels, types, and selection options. Use when discovering available custom fields or understanding how their values are structured. Use `fields` to select only the top-level custom field definition fields needed for the task and reduce response size. `id` is always returned, even when omitted from `fields`; selecting it explicitly is allowed. Omit `fields` or pass an empty array to return all available custom field definition fields. The response contains all configured field definitions, not member-specific values. Output schema: ```json {"type":"object","$ref":"#/$defs/ListCompanyCustomFieldsResponse","$defs":{"CustomField":{"type":"object","properties":{"cardinality":{"description":"Number of values the custom field can contain.","allOf":[{"$ref":"#/$defs/CustomFieldCardinality"}]},"category":{"description":"Category of member information captured by the custom field.","allOf":[{"$ref":"#/$defs/CustomFieldCategory"}]},"id":{"type":"string","description":"Unique identifier of the custom field."},"label":{"description":"Display label of the custom field.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"options":{"type":"array","items":{"$ref":"#/$defs/SingleLineText"},"description":"Available values for selection custom fields."},"type":{"description":"Data entry type of the custom field.","allOf":[{"$ref":"#/$defs/CustomFieldType"}]}},"required":["id"]},"CustomFieldCardinality":{"type":"string","enum":["single","multiple","unknown"]},"CustomFieldCategory":{"type":"string","enum":["personal","job","other","unknown"]},"CustomFieldType":{"type":"string","enum":["text","selection","unknown"]},"ListCompanyCustomFieldsResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/CustomField"},"description":"List of custom fields configured for the company.","maxItems":200}},"required":["items"]},"SingleLineText":{"type":"string","description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$"}}} ```
list_company_custom_fields
Lists one member's custom field values in the authenticated company, including custom field IDs and their assigned values. Use when reviewing custom information recorded for a specific member. Use `fields` to select only the top-level custom field value fields needed for the task and reduce response size. `id` is always returned, even when omitted from `fields`; selecting it explicitly is allowed. Omit `fields` or pass an empty array to return all available custom field value fields. Requires the exact `member_id`. The response contains the complete list. Output schema: ```json {"type":"object","$ref":"#/$defs/ListCustomFieldValuesByMemberIDResponse","$defs":{"CustomFieldValue":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the custom field."},"values":{"type":"array","items":{"$ref":"#/$defs/MultiLineText"},"description":"Values assigned to the custom field for the member."}},"required":["id"]},"ListCustomFieldValuesByMemberIDResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/CustomFieldValue"},"description":"List of custom field values associated with the member.","maxItems":200}},"required":["items"]},"MultiLineText":{"type":"string","description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$"}}} ```
list_custom_field_values_by_member_id
Lists the authenticated company's available deduction types, including codes and descriptions. Use when identifying supported deduction categories or interpreting a type code. The response contains the complete list. Output schema: ```json {"$defs":{"DeductionType":{"properties":{"code":{"description":"Unique code of the deduction type.","type":"string"},"description":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Description of the deduction type."}},"required":["code","description"],"type":"object"},"ListDeductionTypesResponse":{"properties":{"items":{"description":"Deduction types returned in the response.","items":{"$ref":"#/$defs/DeductionType"},"maxItems":200,"type":"array"}},"required":["items"],"type":"object"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"}},"$ref":"#/$defs/ListDeductionTypesResponse","type":"object"} ```
list_deduction_types
Returns a paginated list of the authenticated company's deductions, including member IDs, type codes, descriptions, frequency, amounts and amount types, currencies, and start and end dates. Use when reviewing scheduled deductions or identifying a member's deduction records. Use `fields` to select only the top-level deduction fields needed for the task and reduce response size. `id` is always returned, even when omitted from `fields`; selecting it explicitly is allowed. Select `member_id` when matching deductions to members across the company. Pagination metadata is always included. Omit `fields` or pass an empty array to return all available deduction fields. Optional `params.deduction_type`, `params.frequency`, `params.description`, and `params.member_id` narrow the results. Optional `params.limit` sets the page size and `params.cursor` requests the next page. Select `amount_type` and `currency` whenever selecting `amount`. When `amount_type` is `fixed`, `amount` is in cents and `currency` is non-empty. When `amount_type` is `percent`, `amount` is a percentage with four-decimal precision and `currency` is empty; present it as a percentage, not money. Output schema: ```json {"type":"object","$ref":"#/$defs/ListDeductionsResponse","$defs":{"CursorString":{"type":"string","description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$"},"DeductionAmountType":{"type":"string","enum":["fixed","percent"]},"DeductionFrequency":{"type":"string","enum":["one_time","every_paycheck","first","second","first_second","regular","split_month","split_year","never"]},"DeductionsListItem":{"type":"object","properties":{"amount":{"type":"integer","description":"Amount of the deduction, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"amount_type":{"description":"Type of the deduction amount.","allOf":[{"$ref":"#/$defs/DeductionAmountType"}]},"currency":{"type":"string","description":"Currency of the deduction amount."},"deduction_type_code":{"type":"string","description":"Type code of the deduction."},"description":{"description":"Description of the deduction.","allOf":[{"$ref":"#/$defs/MultiLineText"}]},"end_date":{"type":"string","description":"Date when the deduction ends.","format":"date"},"frequency":{"description":"Frequency at which the deduction is taken.","allOf":[{"$ref":"#/$defs/DeductionFrequency"}]},"id":{"type":"string","description":"Unique identifier of the deduction."},"member_id":{"description":"Unique identifier of the member associated with the deduction.","allOf":[{"$ref":"#/$defs/MemberIDString"}]},"start_date":{"type":"string","description":"Date when the deduction starts.","format":"date"}},"required":["id"]},"ListDeductionsResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/DeductionsListItem"},"description":"Deductions returned in the current page.","maxItems":100},"next_cursor":{"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","allOf":[{"$ref":"#/$defs/CursorString"}]}},"required":["items"]},"MemberIDString":{"type":"string","description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"MultiLineText":{"type":"string","description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$"}}} ```
list_deductions
Lists fees by payroll ID. Use when you need fees associated with a specific payroll. The 'amount' field is in cents — divide by 100 and display as dollars (e.g. 150000 → $1,500.00).
list_fees_by_payroll_id
Returns a paginated list of the authenticated company's members, including names, contact information, current employment and pay with their histories, departments, offices, and managers. Use when browsing the workforce or identifying a member by name, email address, or other profile details. Use `fields` to select only the top-level member fields needed for the task and reduce response size. `id` is always returned, even when omitted from `fields`; selecting it explicitly is allowed. Selected nested objects are returned in full, and pagination metadata is always included. Omit `fields` or pass an empty array to return all available member fields. Optional `params.status` and `params.updated_at` filters, including date comparison variants, narrow the results. Optional `params.limit` sets the page size and `params.cursor` requests the next page. There is no name or email search filter; match those details against the returned members. Output schema: ```json {"type":"object","$ref":"#/$defs/ListMembersResponse","$defs":{"Address":{"type":"object","properties":{"city":{"type":"string","description":"City of the address."},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code of the address."},"line1":{"type":"string","description":"Primary address line of the address. Usually the street number and name."},"line2":{"type":"string","description":"Secondary address line of the address. Usually the apartment, suite, or unit number."},"postal_code":{"type":"string","description":"Postal or ZIP code of the address."},"type":{"description":"Type of the address.","allOf":[{"$ref":"#/$defs/AddressType"}]},"zone_code":{"type":"string","description":"State, province, or region code of the address."}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"]},"AddressType":{"type":"string","enum":["home","office","mailing","primary"]},"CompanyIDString":{"type":"string","description":"Prefixed ULID identifier for a company.","pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"CountryPayData":{"type":"object","properties":{"US":{"description":"Country-specific data of the pay rate for the United States.","allOf":[{"$ref":"#/$defs/PayDataUS"}]}}},"CursorString":{"type":"string","description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$"},"Department":{"type":"object","properties":{"id":{"description":"Unique identifier of the department.","allOf":[{"$ref":"#/$defs/DepartmentIDString"}]},"name":{"description":"Name of the department.","allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["id","name"]},"DepartmentIDString":{"type":"string","description":"Prefixed ULID identifier for a department.","pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"Email":{"type":"object","properties":{"email":{"type":"string","description":"Email address."},"type":{"description":"Type of the email address.","allOf":[{"$ref":"#/$defs/EmailType"}]}},"required":["type","email"]},"EmailType":{"type":"string","enum":["home","work"]},"Employment":{"type":"object","properties":{"effective_date":{"type":"string","description":"Date when the employment became effective.","format":"date"},"job_title":{"type":"string","description":"Job title of the member of the employment."},"status":{"description":"Status of the member of the employment.","allOf":[{"$ref":"#/$defs/MemberStatus"}]},"type":{"description":"Type of the member of the employment.","allOf":[{"$ref":"#/$defs/MemberType"}]}},"required":["effective_date"]},"EmploymentLocationType":{"type":"string","enum":["office","remote"]},"FLSAExemptStatus":{"type":"string","enum":["exempt","non_exempt","unset"]},"ListMembersResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Member"},"description":"Members returned in the current page.","maxItems":100},"next_cursor":{"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","allOf":[{"$ref":"#/$defs/CursorString"}]}},"required":["items"]},"Manager":{"type":"object","properties":{"full_preferred_name":{"description":"Full preferred name of the manager.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"id":{"description":"Unique identifier of the manager.","allOf":[{"$ref":"#/$defs/MemberIDString"}]}},"required":["id","full_preferred_name"]},"Member":{"type":"object","properties":{"active":{"type":"boolean","description":"Indicates whether the member is currently active."},"addresses":{"type":"array","items":{"$ref":"#/$defs/Address"},"description":"List of addresses associated with the member. Requires the **member.detail:read** scope.","maxItems":1},"company_id":{"description":"Unique identifier of the company the member belongs to.","allOf":[{"$ref":"#/$defs/CompanyIDString"}]},"created_at":{"type":"string","description":"Timestamp when the member record was created.","format":"date-time"},"current_employment":{"description":"Current employment details of the member. Requires the **member.employment:read** scope.","allOf":[{"$ref":"#/$defs/Employment"}]},"current_pay":{"description":"Current pay details of the member. Requires the **member.pay:read** scope.","allOf":[{"$ref":"#/$defs/MemberPay"}]},"current_pay_frequency":{"description":"Current pay frequency of the member. Requires the **member.pay:read** scope.","allOf":[{"$ref":"#/$defs/PayFrequency"}]},"date_added_to_justworks":{"type":"string","description":"Date the member was added to the platform.","format":"date"},"date_of_birth":{"type":"string","description":"Date of birth of the member. Requires the **member.dob:read** scope.","format":"date"},"department":{"description":"Department the member belongs to within the company.","allOf":[{"$ref":"#/$defs/Department"}]},"emails":{"type":"array","items":{"$ref":"#/$defs/Email"},"description":"List of email addresses associated with the member. Requires the **member.detail:read** scope.","maxItems":2},"employment_history":{"type":"array","items":{"$ref":"#/$defs/Employment"},"description":"Historical employment records for the member, ordered by the oldest effective date first. Requires the **member.employment:read** scope.","maxItems":500},"employment_location_type":{"description":"Location type where the member works.","allOf":[{"$ref":"#/$defs/EmploymentLocationType"}]},"employment_start_date":{"type":"string","description":"Date the member started working at the company.","format":"date"},"employment_termination_date":{"type":"string","description":"Date the member was terminated from the company. Requires the **member.employment:read** scope.","format":"date"},"id":{"description":"Unique identifier of the member.","allOf":[{"$ref":"#/$defs/MemberIDString"}]},"job_title":{"type":"string","description":"Job title of the member."},"manager":{"description":"Manager of the member. Requires the **member.detail:read** scope.","allOf":[{"$ref":"#/$defs/Manager"}]},"name":{"description":"Name of the member.","allOf":[{"$ref":"#/$defs/Name"}]},"office":{"description":"Office the member belongs to within the company.","allOf":[{"$ref":"#/$defs/Office"}]},"partner_settings":{"description":"Partner settings associated with the member.","allOf":[{"$ref":"#/$defs/OAuthApplicationSettings"}]},"pay_history":{"type":"array","items":{"$ref":"#/$defs/MemberPay"},"description":"Historical pay records for the member, ordered by the oldest effective date first. Requires the **member.pay:read** scope.","maxItems":200},"phones":{"type":"array","items":{"$ref":"#/$defs/Phone"},"description":"List of phone numbers associated with the member. Requires the **member.detail:read** scope.","maxItems":3},"sex_assigned_at_birth":{"description":"Sex assigned at birth of the member. Requires the **member.sex:read** scope.","allOf":[{"$ref":"#/$defs/SexAssignedAtBirth"}]},"type":{"description":"Type of the member. Requires the **member.detail:read** scope.","allOf":[{"$ref":"#/$defs/MemberType"}]},"updated_at":{"type":"string","description":"Timestamp when the member record was last updated.","format":"date-time"},"work_id":{"type":"string","description":"Company-assigned work identifier of the member."}},"required":["id"]},"MemberIDString":{"type":"string","description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"MemberPay":{"type":"object","properties":{"country_data":{"description":"Country-specific data of the pay rate, keyed by ISO 3166-1 alpha-2 country code.","allOf":[{"$ref":"#/$defs/CountryPayData"}]},"effective_date":{"type":"string","description":"Date when the pay rate becomes effective.","format":"date"},"pay_basis":{"description":"Pay basis of the pay rate.","allOf":[{"$ref":"#/$defs/PayBasis"}]},"pay_currency":{"type":"string","description":"Currency code of the pay rate."},"pay_rate":{"type":"integer","description":"Pay rate amount in cents.","minimum":0,"maximum":2147483647,"format":"int32"}},"required":["pay_rate","country_data","effective_date","pay_currency"]},"MemberStatus":{"type":"string","enum":["active","terminated"]},"MemberType":{"type":"string","enum":["unpaid_owner","paid_owner","contractor","full_time_employee","third_party_admin","part_time_employee","temp","vendor","international_employee","international_contractor","employee_eor","paid_intern"]},"Name":{"type":"object","properties":{"additional_names":{"description":"Additional names or middle name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"family_name":{"description":"Family name or last name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"full_preferred_name":{"description":"Full name combining preferred name, additional names, and family name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"given_name":{"description":"Given name or first name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"preferred_name":{"description":"Preferred name or given name.","allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["full_preferred_name","given_name","family_name"]},"OAuthApplicationSettings":{"type":"object","additionalProperties":true},"Office":{"type":"object","properties":{"address":{"description":"Address of the office. Requires the **company.detail:read** scope.","allOf":[{"$ref":"#/$defs/Address"}]},"id":{"description":"Unique identifier of the office.","allOf":[{"$ref":"#/$defs/OfficeIDString"}]},"name":{"description":"Name of the office.","allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["id","name"]},"OfficeIDString":{"type":"string","description":"Prefixed ULID identifier for an office.","pattern":"^office_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"PayBasis":{"type":"string","enum":["annual","hourly","unpaid","unknown"]},"PayDataUS":{"type":"object","properties":{"flsa_status":{"description":"FLSA (Fair Labor Standards Act) exempt status of the member.","allOf":[{"$ref":"#/$defs/FLSAExemptStatus"}]}}},"PayFrequency":{"type":"string","enum":["monthly","semimonthly","biweekly","biweekly_in_arrears","weekly","weekly_in_arrears"]},"Phone":{"type":"object","properties":{"phone":{"type":"string","description":"Phone number in E.164 format."},"type":{"description":"Type of the phone number","allOf":[{"$ref":"#/$defs/PhoneType"}]}},"required":["type","phone"]},"PhoneType":{"type":"string","enum":["home","cell","office","primary"]},"SexAssignedAtBirth":{"type":"string","enum":["male","female"]},"SingleLineText":{"type":"string","description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$"}}} ```
list_members
Returns a paginated list of the authenticated company's settled payrolls, including pay and debit dates, gross and net pay, employee and employer taxes, and company debit amounts. Use when reviewing completed payroll activity or reconciling payroll costs for a period. Use `fields` to select only the top-level payroll fields needed for the task and reduce response size. `id` is always returned, even when omitted from `fields`; selecting it explicitly is allowed. Pagination metadata is always included. Omit `fields` or pass an empty array to return all available payroll fields. Requires `params.start_date` and `params.end_date` to select payrolls by processing date. Optional `params.limit` sets the page size and `params.cursor` requests the next page. All monetary amounts are in cents. Select `currency` whenever selecting monetary amounts. Output schema: ```json {"type":"object","$ref":"#/$defs/ListPayrollsResponse","$defs":{"CursorString":{"type":"string","description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$"},"DateString":{"type":"string","description":"Date in YYYY-MM-DD format.","pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"},"ListPayrollsResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Payroll"},"description":"Payrolls returned in the current page.","maxItems":100},"next_cursor":{"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","allOf":[{"$ref":"#/$defs/CursorString"}]}},"required":["items"]},"PaymentMethod":{"type":"string","enum":["bank_account","wallet","unknown"]},"Payroll":{"type":"object","properties":{"company_debit":{"type":"integer","description":"Amount debited from the company's account, in cents.","minimum":-2147483648,"maximum":2147483647,"format":"int64"},"currency":{"type":"string","description":"Currency of the payroll."},"debit_date":{"description":"Date when the payroll was debited from the company's account.","allOf":[{"$ref":"#/$defs/DateString"}]},"employee_taxes":{"type":"integer","description":"Sum of taxes paid by employees, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"employer_taxes":{"type":"integer","description":"Sum of taxes paid by the employer, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"gross_pay":{"type":"integer","description":"Sum of employees' gross pay, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"id":{"type":"string","description":"Unique identifier of the payroll."},"net_pay":{"type":"integer","description":"Sum of employees' net pay, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"pay_date":{"description":"Date when employees were paid.","allOf":[{"$ref":"#/$defs/DateString"}]},"payment_method":{"description":"Payment method used for the payroll.","allOf":[{"$ref":"#/$defs/PaymentMethod"}]}},"required":["id"]}}} ```
list_payrolls
Returns a paginated list of paystub summaries for one payroll in the authenticated company, including paystub and member IDs, pay periods, pay dates, gross and net pay, currencies, and pay groups. Use when reviewing individual payments within a payroll or identifying a member's paystub. Use `fields` to select only the top-level paystub fields needed for the task and reduce response size. `paystub_id` is always returned, even when omitted from `fields`; selecting it explicitly is allowed. Select `member_id` when identifying a member's paystub. Pagination metadata is always included. Omit `fields` or pass an empty array to return all available paystub fields. Requires the exact `payroll_id`. Optional `params.limit` sets the page size and `params.cursor` requests the next page. All monetary amounts are in cents. Select `currency` whenever selecting monetary amounts. Output schema: ```json {"type":"object","$ref":"#/$defs/ListPaystubsByPayrollIDResponse","$defs":{"CursorString":{"type":"string","description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$"},"DateString":{"type":"string","description":"Date in YYYY-MM-DD format.","pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"},"ListPaystubsByPayrollIDResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/PaystubListItem"},"description":"Paystubs returned in the current page."},"next_cursor":{"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","allOf":[{"$ref":"#/$defs/CursorString"}]}},"required":["items"]},"MemberIDString":{"type":"string","description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"PaystubListItem":{"type":"object","properties":{"currency":{"type":"string","description":"Currency of the paystub."},"gross_pay":{"type":"integer","description":"Gross pay amount, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"member_id":{"description":"Unique identifier of the member associated with the paystub.","allOf":[{"$ref":"#/$defs/MemberIDString"}]},"net_pay":{"type":"integer","description":"Net pay amount, in cents.","minimum":0,"maximum":2147483647,"format":"int64"},"pay_date":{"description":"Date when the paystub was issued.","allOf":[{"$ref":"#/$defs/DateString"}]},"pay_group":{"type":"string","description":"Pay group the employee belonged to at the time of the paystub."},"pay_period_end":{"description":"End date of the pay period.","allOf":[{"$ref":"#/$defs/DateString"}]},"pay_period_start":{"description":"Start date of the pay period.","allOf":[{"$ref":"#/$defs/DateString"}]},"paystub_id":{"type":"string","description":"Unique identifier of the paystub."}},"required":["paystub_id"]}}} ```
list_paystubs_by_payroll_id
Lists the authenticated company's subscriptions, including product names, status, billing start and end dates, pricing, discounts, and add-ons. Use when reviewing subscribed services or understanding their pricing arrangements. Optional `params.include_expired` includes expired subscriptions when true and defaults to false. Set it to true for historical questions. The response contains the complete matching list, with child subscriptions nested under `add_ons`. Output schema: ```json {"$defs":{"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"DateTimeString":{"description":"Timestamp in ISO 8601 date-time format.","pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(\\.\\d+)?(Z|[+-]([01]\\d|2[0-3]):[0-5]\\d)$","type":"string"},"Discount":{"properties":{"amount":{"$ref":"#/$defs/DiscountAmount"},"end_date":{"anyOf":[{"allOf":[{"$ref":"#/$defs/DateTimeString"}],"description":"ISO 8601 date-time when the discount ends."},{"type":"null"}]},"id":{"description":"Unique identifier for the discount.","type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Display name of the discount."},"rule_type":{"description":"Rule type governing discount eligibility: STANDARD, CUSTOM, or OVERRIDE.","type":"string"},"start_date":{"allOf":[{"$ref":"#/$defs/DateTimeString"}],"description":"ISO 8601 date-time when the discount takes effect."},"strategy":{"description":"How the discount is calculated: FIXED_ENTITY, FIXED_TOTAL, PERCENTAGE, or PREPAID_SEAT.","type":"string"}},"required":["id","name","amount","strategy","rule_type","start_date"],"type":"object"},"DiscountAmount":{"description":"Discount amount broken down by entity type. Which fields are populated depends on the discount strategy and the entity types it applies to.","properties":{"administrator":{"$ref":"#/$defs/DiscountAmountTiers"},"company":{"$ref":"#/$defs/DiscountAmountTiers"},"contractor":{"$ref":"#/$defs/DiscountAmountTiers"},"employee_any":{"$ref":"#/$defs/DiscountAmountTiers"},"employee_full_time":{"$ref":"#/$defs/DiscountAmountTiers"},"employee_part_time":{"$ref":"#/$defs/DiscountAmountTiers"},"intl_contractor":{"$ref":"#/$defs/DiscountAmountTiers"},"vendor_company":{"$ref":"#/$defs/DiscountAmountTiers"},"workplace":{"$ref":"#/$defs/DiscountAmountTiers"}},"type":"object"},"DiscountAmountTiers":{"description":"Tier-based adjustment amounts for a single entity type.","properties":{"consumable_current_counts":{"description":"Current un-used prepaid seat counts.","type":"integer"},"consumable_initial_counts":{"description":"Initial prepaid seat counts at purchase or migration.","type":"integer"},"consumable_unit_price":{"description":"Per-seat unit price for prepaid adjustments.","type":"string"},"flat":{"description":"Flat discount amount.","type":"string"},"tier_1":{"description":"Tier 1 (low) discount amount.","type":"string"},"tier_2":{"description":"Tier 2 (high) discount amount.","type":"string"}},"type":"object"},"ListSubscriptionsResponse":{"properties":{"items":{"description":"Subscriptions associated with the company.","items":{"$ref":"#/$defs/Subscription"},"maxItems":25,"type":"array"}},"required":["items"],"type":"object"},"Price":{"properties":{"amount":{"description":"Unit price amount for this entity type.","type":"string"},"style":{"description":"Pricing style: FLAT or STEP_TIER.","type":"string"},"type":{"description":"The entity type this price applies to (e.g. EMPLOYEE_FULL_TIME, CONTRACTOR).","type":"string"}},"required":["type","style","amount"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"},"Subscription":{"properties":{"add_ons":{"description":"Child subscriptions bundled under this subscription.","items":{"$ref":"#/$defs/Subscription"},"maxItems":25,"type":"array"},"company_id":{"allOf":[{"$ref":"#/$defs/CompanyIDString"}],"description":"Canonical ID of the company this subscription belongs to."},"discounts":{"description":"Pricing adjustments that reduce the subscription cost.","items":{"$ref":"#/$defs/Discount"},"maxItems":50,"type":"array"},"end_date":{"anyOf":[{"allOf":[{"$ref":"#/$defs/DateTimeString"}],"description":"ISO 8601 date-time when the subscription ends."},{"type":"null"}]},"id":{"description":"Unique identifier for the subscription.","type":"string"},"prices":{"description":"Pricing per entity type for this subscription.","items":{"$ref":"#/$defs/Price"},"type":"array"},"product_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the subscribed product (e.g. PEO, Payroll PEPM, Payroll Base)."},"start_date":{"allOf":[{"$ref":"#/$defs/DateTimeString"}],"description":"ISO 8601 date-time when billing for this subscription began."},"status":{"description":"Lifecycle status of the subscription: ACTIVE, EXPIRED, or PENDING.","type":"string"}},"required":["id","company_id","product_name","start_date","status","discounts","prices","add_ons"],"type":"object"}},"$ref":"#/$defs/ListSubscriptionsResponse","type":"object"} ```
list_subscriptions
Returns a paginated list of the authenticated company's time off policies, including IDs, names, types, status, effective dates, and deactivation dates. Use when reviewing available leave categories or identifying a policy by name. Optional `params.status` filters by policy status. Optional `params.limit` sets the page size and `params.cursor` requests the next page. Match policy names or IDs against the returned policies. Output schema: ```json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"ListTimeOffPoliciesResponse":{"properties":{"items":{"description":"Time off policies returned in the current page.","items":{"$ref":"#/$defs/TimeOffPolicy"},"maxItems":100,"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available."}},"required":["items"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"},"TimeOffPolicy":{"properties":{"deactivation_date":{"description":"Date when the time off policy is deactivated.","format":"date","type":"string"},"effective_date":{"description":"Date when the time off policy becomes effective.","format":"date","type":"string"},"id":{"description":"Unique identifier of the time off policy.","type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the time off policy."},"status":{"allOf":[{"$ref":"#/$defs/TimeOffPolicyStatus"}],"description":"Status of the time off policy."},"type":{"allOf":[{"$ref":"#/$defs/TimeOffPolicyType"}],"description":"Type of the time off policy."}},"required":["id","name","status","type","effective_date"],"type":"object"},"TimeOffPolicyStatus":{"enum":["active","inactive"],"type":"string"},"TimeOffPolicyType":{"enum":["vacation","sick_leave","other","international"],"type":"string"}},"$ref":"#/$defs/ListTimeOffPoliciesResponse","type":"object"} ```
list_time_off_policies
Returns a paginated list of the authenticated company's time off requests, including member and policy IDs, dates, requested amounts and units, status, and employee notes. Use when reviewing absences or identifying a request to approve or decline. Requires `params.start_date` and `params.end_date` to filter requests by date range. Optional `params.member_id`, `params.policy_id`, and `params.status` narrow the results. Optional `params.limit` sets the page size and `params.cursor` requests the next page. Output schema: ```json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"ListTimeOffRequestsResponse":{"properties":{"items":{"description":"Time off requests returned in the current page.","items":{"$ref":"#/$defs/TimeOffRequest"},"maxItems":100,"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available."}},"required":["items"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"},"TimeOffRequest":{"properties":{"amount":{"description":"Amount of time off requested.","format":"float","type":"number"},"created_at":{"description":"Timestamp when the time off request was created.","format":"date-time","type":"string"},"end_date":{"description":"Date when the time off request ends.","format":"date","type":"string"},"id":{"description":"Unique identifier of the time off request.","type":"string"},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member who requested the time off."},"notes":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Notes submitted by the employee for the request."},"policy_id":{"description":"Unique identifier of the time off policy associated with the request.","type":"string"},"private_review_note":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Internal review note."},"review_note":{"description":"Employee-facing explanation of the review decision.","type":"string"},"start_date":{"description":"Date when the time off request starts.","format":"date","type":"string"},"status":{"allOf":[{"$ref":"#/$defs/TimeOffRequestStatus"}],"description":"Status of the time off request."},"unit_type":{"allOf":[{"$ref":"#/$defs/TimeOffUnitType"}],"description":"Unit of time represented by `amount`."},"updated_at":{"description":"Timestamp when the time off request was last updated.","format":"date-time","type":"string"}},"required":["id","member_id","policy_id","start_date","end_date","unit_type","amount","status","updated_at"],"type":"object"},"TimeOffRequestStatus":{"enum":["requested","approved","declined","cancelled","deleted","manual"],"type":"string"},"TimeOffUnitType":{"enum":["minutes","hours","days"],"type":"string"}},"$ref":"#/$defs/ListTimeOffRequestsResponse","type":"object"} ```
list_time_off_requests
Updates existing deductions for the authenticated company and returns per-item update results. Use when the user asks to change scheduled deductions. Requires `body.items` with exact deduction IDs and the fields to change; omitted fields remain unchanged. Fixed amounts are in cents and require a currency; percentage amounts use four-decimal precision. Check each item's `success` and `error_message` before reporting an update; a batch can contain failures. Output schema: ```json {"$defs":{"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"},"UpdateDeductionsResponse":{"properties":{"items":{"description":"Results for each deduction update request.","items":{"$ref":"#/$defs/UpdateDeductionsResponseItem"},"type":"array"}},"required":["items"],"type":"object"},"UpdateDeductionsResponseItem":{"properties":{"deduction_id":{"description":"Unique identifier of the updated deduction.","type":"string"},"error_message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Error message when success is false."},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the deduction."},"operation_id":{"description":"Client-generated idempotency key echoed back from the request.","type":"string"},"success":{"description":"Whether the deduction was updated successfully.","type":"boolean"}},"required":["deduction_id","member_id","success"],"type":"object"}},"$ref":"#/$defs/UpdateDeductionsResponse","type":"object"} ```
update_deductions
Justworks ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Justworks's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Justworks alternatives on ChatGPT?
As of 2026-11-02, Justworks competes with Aboard, Asanify, Deel, Gusto, Gusto, Kronjop, Leo HR, LIVD and 5 more in ChatGPT Payroll, EOR & HR Operations, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.