Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/salsa-workers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Salsa Payroll Workers API
description: Representative OpenAPI description of the Salsa embedded payroll REST API.
termsOfService: https://www.salsa.dev/legal
contact:
name: Salsa Support
url: https://docs.salsa.dev/
version: rest-v1
servers:
- url: https://api.salsa.dev/api/rest/v1
description: Production (partner production API key)
- url: https://api.sandbox.salsa.dev/api/rest/v1
description: Sandbox (partner sandbox API key)
security:
- bearerAuth: []
tags:
- name: Workers
description: Employees and contractors.
paths:
/employers/{employerId}/workers:
parameters:
- $ref: '#/components/parameters/EmployerId'
post:
operationId: createWorker
tags:
- Workers
summary: Create a worker
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkerCreate'
responses:
'201':
description: Worker created.
content:
application/json:
schema:
$ref: '#/components/schemas/Worker'
get:
operationId: listWorkers
tags:
- Workers
summary: Retrieve an employer's workers
responses:
'200':
description: A list of workers.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Worker'
/employers/{employerId}/workers/{workerId}:
parameters:
- $ref: '#/components/parameters/EmployerId'
- $ref: '#/components/parameters/WorkerId'
get:
operationId: getWorker
tags:
- Workers
summary: Retrieve a worker
responses:
'200':
description: The worker.
content:
application/json:
schema:
$ref: '#/components/schemas/Worker'
patch:
operationId: updateWorker
tags:
- Workers
summary: Update a worker
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkerCreate'
responses:
'200':
description: The updated worker.
delete:
operationId: deleteWorker
tags:
- Workers
summary: Delete a worker
responses:
'204':
description: Deleted.
/employers/{employerId}/workers/{workerId}/contracts:
parameters:
- $ref: '#/components/parameters/EmployerId'
- $ref: '#/components/parameters/WorkerId'
get:
operationId: listWorkerContracts
tags:
- Workers
summary: List a worker's contracts
responses:
'200':
description: A list of contracts.
post:
operationId: createWorkerContract
tags:
- Workers
summary: Create a worker contract (W-2 employee or 1099 contractor terms)
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Contract created.
/employers/{employerId}/workers/{workerId}/bank-accounts:
parameters:
- $ref: '#/components/parameters/EmployerId'
- $ref: '#/components/parameters/WorkerId'
get:
operationId: listWorkerBankAccounts
tags:
- Workers
summary: List a worker's bank accounts
responses:
'200':
description: A list of bank accounts.
post:
operationId: createWorkerBankAccount
tags:
- Workers
summary: Create a bank account for a worker
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Bank account created.
components:
schemas:
WorkerCreate:
type: object
required:
- firstName
- lastName
- workerType
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
format: email
workerType:
type: string
enum:
- EMPLOYEE
- CONTRACTOR
Worker:
type: object
properties:
id:
type: string
employerId:
type: string
firstName:
type: string
lastName:
type: string
workerType:
type: string
enum:
- EMPLOYEE
- CONTRACTOR
onboardingStatus:
type: string
parameters:
EmployerId:
name: employerId
in: path
required: true
description: The employer (company) identifier.
schema:
type: string
WorkerId:
name: workerId
in: path
required: true
description: The worker identifier.
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Partner Bearer API key. Approved Salsa platform partners receive separate sandbox and production keys. Send as `Authorization: Bearer ${YOUR_API_TOKEN}`.'