openapi: 3.1.0 info: title: Justworks Company Payrolls API description: 'Read company-level data from the Justworks Partner API including company identity, bank account on file, verified business information, custom field definitions, and operating jurisdictions. ' version: '2026-05-25' contact: name: Justworks Partner Support url: https://public-api.justworks.com/v1/docs servers: - url: https://public-api.justworks.com description: Production Server security: - OAuth2: [] tags: - name: Payrolls description: Read access to payroll runs and per-payroll fees paths: /v1/payrolls: get: summary: Justworks List Payrolls description: List payroll runs within a date range. operationId: listPayrolls tags: - Payrolls parameters: - name: start_date in: query required: true schema: type: string format: date - name: end_date in: query required: true schema: type: string format: date - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/Limit' responses: '200': description: A paginated list of payroll runs content: application/json: schema: $ref: '#/components/schemas/PayrollList' /v1/payrolls/{payroll_id}/fees: get: summary: Justworks List Payroll Fees description: List per-member fees applied to a payroll run. operationId: listPayrollFees tags: - Payrolls parameters: - $ref: '#/components/parameters/PayrollId' - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/Limit' responses: '200': description: A paginated list of payroll fees content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PayrollFee' next_cursor: type: string nullable: true components: parameters: PayrollId: name: payroll_id in: path required: true schema: type: string Cursor: name: cursor in: query schema: type: string Limit: name: limit in: query schema: type: integer minimum: 1 maximum: 100 default: 100 schemas: PayrollFee: type: object properties: member_id: type: string reference_id: type: string name: type: string reference_type: type: string type: type: string amount: type: integer currency: type: string Payroll: type: object description: 'A payroll run. Monetary amounts use zero-decimal currency units — $45.00 is represented as the integer 4500. ' properties: id: type: string company_debit: type: integer employee_taxes: type: integer employer_taxes: type: integer gross_pay: type: integer net_pay: type: integer currency: type: string debit_date: type: string format: date pay_date: type: string format: date payment_method: type: string PayrollList: type: object properties: items: type: array items: $ref: '#/components/schemas/Payroll' next_cursor: type: string nullable: true securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://secure.justworks.com/oauth/authorize tokenUrl: https://public-api.justworks.com/oauth/token refreshUrl: https://public-api.justworks.com/oauth/token scopes: company.basic:read: Read basic company data company.detail:read: Read detailed company data company.bank_account:read: Read company bank account on file