{"note":"OpenAPI conversion -- returning structured metadata","name":"paylocity-com","description":"Paylocity API","version":"2","base_url":"https://api.paylocity.com/api","endpoints":32,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Paylocity API\n@base https://api.paylocity.com/api\n@version 2\n@auth OAuth2\n@common_fields {companyId: any # Company Id}\n@endpoints 32\n@hint download_for_search\n@toc companies(30), credentials(1), weblinkstaging(1)\n\n@group companies\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/additionalRates\n@desc Add/update additional rates\n@required {json: map # Additional Rate Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@group credentials\n@endpoint POST /v2/credentials/secrets\n@desc Obtain new client secret.\n@required {json: map # Add Client Secret Model}\n@returns(200) Successfully added\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@group companies\n@endpoint GET /v2/companies/{companyId}/codes/{codeResource}\n@desc Get All Company Codes\n@required {codeResource: any # Type of Company Code. Common values costcenter1, costcenter2, costcenter3, deductions, earnings, taxes, paygrade, positions.}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: Invalid Code Resource, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/openapi\n@desc Get Company-Specific Open API Documentation\n@required {Authorization: any # Bearer + JWT}\n@returns(200) Successfully retrieved\n@errors {400: Bad Request, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/customfields/{category}\n@desc Get All Custom Fields\n@required {category: any # Custom Fields Category}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: Invalid Category, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/directDeposit\n@desc Get All Direct Deposit\n@required {employeeId: any # Employee Id}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee, or direct deposit does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/earnings\n@desc Add/Update Earning\n@required {json: map # Earning Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/earnings\n@desc Get All Earnings\n@required {employeeId: any # Employee Id}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint DELETE /v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}\n@desc Delete Earning by Earning Code and Start Date\n@required {employeeId: any # Employee Id, earningCode: any # Earning Code, startDate: any # Start Date}\n@returns(204) Successfully deleted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: The employee does not exist, or the specified earningCode-startDate combination does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}\n@desc Get Earning by Earning Code and Start Date\n@required {employeeId: any # Employee Id, earningCode: any # Earning Code, startDate: any # Start Date}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee does not exist, or the specified earningCode-startDate combination does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}\n@desc Get Earnings by Earning Code\n@required {employeeId: any # Employee Id, earningCode: any # Earning Code}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/emergencyContacts\n@desc Add/update emergency contacts\n@required {json: map # Emergency Contact Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/benefitSetup\n@desc Add/update employee's benefit setup\n@required {json: map # BenefitSetup Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@group weblinkstaging\n@endpoint POST /v2/weblinkstaging/companies/{companyId}/employees/newemployees\n@desc Add new employee to Web Link\n@required {json: map # StagedEmployee Model}\n@returns(201) Successfully Added\n@errors {400: Bad Request, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@group companies\n@endpoint POST /v2/companies/{companyId}/employees\n@desc Add new employee\n@required {json: map # Employee Model}\n@returns(201) Successfully added\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/\n@desc Get all employees\n@optional {pagesize: any # Number of records per page. Default value is 25., pagenumber: any # Page number to retrieve; page numbers are 0-based (so to get the first page of results, pass pagenumber=0). Default value is 0., includetotalcount: any # Whether to include the total record count in the header's X-Pcty-Total-Count property. Default value is true.}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The company does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}\n@desc Get employee\n@required {employeeId: any # Employee Id}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PATCH /v2/companies/{companyId}/employees/{employeeId}\n@desc Update employee\n@required {json: map # Employee Model, employeeId: any # Employee Id}\n@returns(200) Successfully Updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint POST /v2/companies/{companyId}/employees/{employeeId}/localTaxes\n@desc Add new local tax\n@required {json: map # LocalTax Model, employeeId: any # Employee Id}\n@returns(201) Successfully added\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/localTaxes\n@desc Get all local taxes\n@required {employeeId: any # Employee Id}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint DELETE /v2/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}\n@desc Delete local tax by tax code\n@required {employeeId: any # Employee Id, taxCode: any # Tax Code}\n@returns(204) Successfully deleted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: The employee does not exist, or the specified tax code does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}\n@desc Get local taxes by tax code\n@required {employeeId: any # Employee Id, taxCode: any # Tax Code}\n@returns(200) Successfully retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee does not exist, or the specified tax code does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/nonprimaryStateTax\n@desc Add/update non-primary state tax\n@required {json: map # Non-Primary State Tax Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint POST /v2/companies/{companyId}/employeePayRateSearches\n@desc Searches for pay rates for the specified company.\n@required {searchModel: map # PayRateSearchesRequestModelV2}\n@returns(200) Successfully Retrieved\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/details/{year}/{checkDate}\n@desc Get employee pay statement details data for the specified year and check date.\n@required {employeeId: any # Employee Id, year: any # The year for which to retrieve pay statement data, checkDate: any # The check date for which to retrieve pay statement data}\n@optional {pagesize: any # Number of records per page. Default value is 25., pagenumber: any # Page number to retrieve; page numbers are 0-based (so to get the first page of results, pass pagenumber=0). Default value is 0., includetotalcount: any # Whether to include the total record count in the header's X-Pcty-Total-Count property. Default value is true., codegroup: any # Retrieve pay statement details related to specific deduction, earning or tax types. Common values include 401k, Memo, Reg, OT, Cash Tips, FED and SITW.}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee, specified year, or check date does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/details/{year}\n@desc Get employee pay statement details data for the specified year.\n@required {employeeId: any # Employee Id, year: any # The year for which to retrieve pay statement data}\n@optional {pagesize: any # Number of records per page. Default value is 25., pagenumber: any # Page number to retrieve; page numbers are 0-based (so to get the first page of results, pass pagenumber=0). Default value is 0., includetotalcount: any # Whether to include the total record count in the header's X-Pcty-Total-Count property. Default value is true., codegroup: any # Retrieve pay statement details related to specific deduction, earning or tax types. Common values include 401k, Memo, Reg, OT, Cash Tips, FED and SITW.}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee, specified year, or check date does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/summary/{year}/{checkDate}\n@desc Get employee pay statement summary data for the specified year and check date.\n@required {employeeId: any # Employee Id, year: any # The year for which to retrieve pay statement data, checkDate: any # The check date for which to retrieve pay statement data}\n@optional {pagesize: any # Number of records per page. Default value is 25., pagenumber: any # Page number to retrieve; page numbers are 0-based (so to get the first page of results, pass pagenumber=0). Default value is 0., includetotalcount: any # Whether to include the total record count in the header's X-Pcty-Total-Count property. Default value is true., codegroup: any # Retrieve pay statement details related to specific deduction, earning or tax types. Common values include 401k, Memo, Reg, OT, Cash Tips, FED and SITW.}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee, specified year, or check date does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/summary/{year}\n@desc Get employee pay statement summary data for the specified year.\n@required {employeeId: any # Employee Id, year: any # The year for which to retrieve pay statement data}\n@optional {pagesize: any # Number of records per page. Default value is 25., pagenumber: any # Page number to retrieve; page numbers are 0-based (so to get the first page of results, pass pagenumber=0). Default value is 0., includetotalcount: any # Whether to include the total record count in the header's X-Pcty-Total-Count property. Default value is true., codegroup: any # Retrieve pay statement details related to specific deduction, earning or tax types. Common values include 401k, Memo, Reg, OT, Cash Tips, FED and SITW.}\n@returns(200) Successfully Retrieved\n@errors {401: Unauthorized, 403: Forbidden, 404: The employee, specified year, or check date does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/primaryStateTax\n@desc Add/update primary state tax\n@required {json: map # Primary State Tax Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/sensitivedata\n@desc Add/update sensitive data\n@required {json: map # Sensitive Data Model, employeeId: any # Employee Id}\n@returns(200) Successfully added or updated\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/sensitivedata\n@desc Get sensitive data\n@required {employeeId: any # Employee Id}\n@returns(200) Successfully Retrieved\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint POST /v2/companies/{companyId}/employeeStatusSearches\n@desc Searches for employee statuses for the specified company.\n@required {request: map # StatusSearchesV2Request Model}\n@returns(200) Successfully Retrieved\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: The employee does not exist, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@end\n"}