@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Paylocity API
@base https://api.paylocity.com/api
@version 2
@auth OAuth2
@common_fields {companyId: any}
@endpoints 32
@hint download_for_search
@toc companies(30), credentials(1), weblinkstaging(1)

@group companies
@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/additionalRates
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endgroup

@group credentials
@endpoint POST /v2/credentials/secrets
@required {json: map}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endgroup

@group companies
@endpoint GET /v2/companies/{companyId}/codes/{codeResource}
@required {codeResource: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/openapi
@required {Authorization: any}
@returns(200)
@errors {400, 403, 429, 500}

@endpoint GET /v2/companies/{companyId}/customfields/{category}
@required {category: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/directDeposit
@required {employeeId: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/earnings
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/earnings
@required {employeeId: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}
@required {employeeId: any, earningCode: any, startDate: any}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}
@required {employeeId: any, earningCode: any, startDate: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}
@required {employeeId: any, earningCode: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/emergencyContacts
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/benefitSetup
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endgroup

@group weblinkstaging
@endpoint POST /v2/weblinkstaging/companies/{companyId}/employees/newemployees
@required {json: map}
@returns(201)
@errors {400, 403, 429, 500}

@endgroup

@group companies
@endpoint POST /v2/companies/{companyId}/employees
@required {json: map}
@returns(201)
@errors {400, 401, 403, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/
@optional {pagesize: any, pagenumber: any, includetotalcount: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}
@required {employeeId: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /v2/companies/{companyId}/employees/{employeeId}
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint POST /v2/companies/{companyId}/employees/{employeeId}/localTaxes
@required {json: map, employeeId: any}
@returns(201)
@errors {400, 401, 403, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/localTaxes
@required {employeeId: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /v2/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
@required {employeeId: any, taxCode: any}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
@required {employeeId: any, taxCode: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/nonprimaryStateTax
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint POST /v2/companies/{companyId}/employeePayRateSearches
@required {searchModel: map}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/details/{year}/{checkDate}
@required {employeeId: any, year: any, checkDate: any}
@optional {pagesize: any, pagenumber: any, includetotalcount: any, codegroup: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/details/{year}
@required {employeeId: any, year: any}
@optional {pagesize: any, pagenumber: any, includetotalcount: any, codegroup: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/summary/{year}/{checkDate}
@required {employeeId: any, year: any, checkDate: any}
@optional {pagesize: any, pagenumber: any, includetotalcount: any, codegroup: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/paystatement/summary/{year}
@required {employeeId: any, year: any}
@optional {pagesize: any, pagenumber: any, includetotalcount: any, codegroup: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/primaryStateTax
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint PUT /v2/companies/{companyId}/employees/{employeeId}/sensitivedata
@required {json: map, employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint GET /v2/companies/{companyId}/employees/{employeeId}/sensitivedata
@required {employeeId: any}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint POST /v2/companies/{companyId}/employeeStatusSearches
@required {request: map}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endgroup

@end
