Salsa

Salsa is embedded payroll infrastructure that lets SaaS platforms add native, multi-country (US and Canada) payroll to their products through REST and GraphQL APIs, embeddable UI components (Salsa Express), and real-time webhooks. Partner platforms provision employers and workers, run payroll, disburse worker payments, and handle tax setup and filings without leaving their own app. API access is partner-gated - Salsa issues sandbox and production Bearer API keys to approved platform partners.

8 APIs 0 Features
PayrollEmbedded FinancePayroll as a ServiceFintechPaymentsHRTaxMulti-Country

APIs

Salsa Companies API

Create and manage employer (company) entities - business identity, addresses, bank accounts, signatories, work weeks, worker pay groups, and per-employer pay/deduction/benefit/t...

Salsa Workers API

Create and manage workers under an employer - W-2 employees and 1099 contractors - including contracts, work locations, bank accounts, personal information, capabilities, and te...

Salsa Pay Schedules API

Configure how and when workers are paid via worker pay groups, work weeks, and pay types that define pay frequency and cadence for an employer's payroll.

Salsa Payrolls API

Create, preview, modify, confirm, and delete payroll runs for an employer, inspect payroll run state and payment records, and pull payroll journal, cash requirements, and overti...

Salsa Payments API

Create and manage individual worker payments with pay, compensations, and deductions; confirm, advance, and inspect payment records for off-cycle or per-worker disbursements out...

Salsa Onboarding & Sessions API

Mint scoped user API tokens (EMPLOYER_ADMIN) that power the embeddable Salsa Express UI components, and create hosted onboarding flows plus mock-onboard helpers for employers an...

Salsa Tax API

Manage employer and worker tax setup and withholding configuration, surface tax documents, and receive tax-rate updates from agencies; tax calculation, filing, and remittance ru...

Salsa Webhooks API

Register and manage webhook endpoints to receive real-time events - employer and worker lifecycle, onboarding status, bank account verification, payroll run status, funding and ...

Collections

Pricing Plans

Salsa Plans Pricing

3 plans

PLANS

Rate Limits

Salsa Rate Limits

3 limits

RATE LIMITS

FinOps

Salsa Finops

FINOPS

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Salsa Payroll API
  version: rest-v1
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Companies
    type: folder
  items:
  - info:
      name: Create an employer (company).
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers
      body:
        type: json
        data: "{\n  \"businessName\": \"\",\n  \"country\": \"US\"\n}"
    docs: Create an employer (company) entity.
  - info:
      name: Retrieve employers.
      type: http
    http:
      method: GET
      url: https://api.salsa.dev/api/rest/v1/employers
    docs: Retrieve the partner's employers.
  - info:
      name: Retrieve an employer.
      type: http
    http:
      method: GET
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId
      params:
      - name: employerId
        value: ''
        type: path
    docs: Retrieve a single employer.
- info:
    name: Workers
    type: folder
  items:
  - info:
      name: Create a worker.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/workers
      params:
      - name: employerId
        value: ''
        type: path
      body:
        type: json
        data: "{\n  \"firstName\": \"\",\n  \"lastName\": \"\",\n  \"workerType\": \"EMPLOYEE\"\n}"
    docs: Create a W-2 employee or 1099 contractor under an employer.
  - info:
      name: Retrieve workers.
      type: http
    http:
      method: GET
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/workers
      params:
      - name: employerId
        value: ''
        type: path
    docs: Retrieve an employer's workers.
- info:
    name: Pay Schedules
    type: folder
  items:
  - info:
      name: Create a worker pay group.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/worker-pay-groups
      params:
      - name: employerId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create a worker pay group (pay schedule) defining frequency and cadence.
  - info:
      name: Create a work week.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/work-weeks
      params:
      - name: employerId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create a work week for an employer.
- info:
    name: Payrolls
    type: folder
  items:
  - info:
      name: Create a payroll run.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/payroll-runs
      params:
      - name: employerId
        value: ''
        type: path
      body:
        type: json
        data: "{\n  \"workerPayGroupId\": \"\",\n  \"payPeriodStart\": \"\",\n  \"payPeriodEnd\": \"\",\n  \"payDate\": \"\
          \"\n}"
    docs: Create a payroll run for a pay group.
  - info:
      name: Preview a payroll run.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/payroll-runs/:payrollRunId/preview
      params:
      - name: employerId
        value: ''
        type: path
      - name: payrollRunId
        value: ''
        type: path
    docs: Preview calculated gross-to-net before confirming.
  - info:
      name: Confirm a payroll run.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/payroll-runs/:payrollRunId/confirm
      params:
      - name: employerId
        value: ''
        type: path
      - name: payrollRunId
        value: ''
        type: path
    docs: Confirm a payroll run and initiate funding and disbursement.
- info:
    name: Payments
    type: folder
  items:
  - info:
      name: Create a worker payment.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/workers/:workerId/payments
      params:
      - name: employerId
        value: ''
        type: path
      - name: workerId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create an individual worker payment (off-cycle or per-worker).
  - info:
      name: Confirm a worker payment.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/workers/:workerId/payments/:paymentId/confirm
      params:
      - name: employerId
        value: ''
        type: path
      - name: workerId
        value: ''
        type: path
      - name: paymentId
        value: ''
        type: path
    docs: Confirm a worker payment for disbursement.
- info:
    name: Onboarding & Sessions
    type: folder
  items:
  - info:
      name: Create a user API token.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/user-tokens
      body:
        type: json
        data: "{\n  \"employerId\": \"\",\n  \"role\": \"EMPLOYER_ADMIN\"\n}"
    docs: Mint a scoped user token that powers the embeddable Salsa Express UI.
  - info:
      name: Mock-onboard an employer (sandbox).
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/mock-onboard
      params:
      - name: employerId
        value: ''
        type: path
    docs: Simulate employer onboarding in the sandbox.
- info:
    name: Tax
    type: folder
  items:
  - info:
      name: Retrieve employer tax setup.
      type: http
    http:
      method: GET
      url: https://api.salsa.dev/api/rest/v1/employers/:employerId/taxes-setup
      params:
      - name: employerId
        value: ''
        type: path
    docs: Retrieve an employer's tax setup and withholding configuration.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Register a webhook endpoint.
      type: http
    http:
      method: POST
      url: https://api.salsa.dev/api/rest/v1/webhook-endpoints
      body:
        type: json
        data: "{\n  \"url\": \"\",\n  \"eventTypes\": [\"Employer.created\", \"PayrollRun.statusChanged\"]\n}"
    docs: Register a webhook endpoint to receive real-time events.
  - info:
      name: Retrieve all webhook endpoints.
      type: http
    http:
      method: GET
      url: https://api.salsa.dev/api/rest/v1/webhook-endpoints
    docs: Retrieve all registered webhook endpoints.
bundled: true