openapi: 3.0.1 info: title: Salsa Payroll Companies Webhooks API description: Representative OpenAPI description of the Salsa embedded payroll REST API. Salsa is partner-gated payroll infrastructure - approved platform partners receive separate sandbox and production Bearer API keys and use these endpoints to provision employers and workers, run payroll, disburse worker payments, configure tax, and manage webhooks for US and Canada. This is a faithful, representative subset of the surface documented at https://docs.salsa.dev/reference and is not the vendor's official machine specification. 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: Webhooks description: Webhook endpoint management. paths: /webhook-endpoints: post: operationId: createWebhookEndpoint tags: - Webhooks summary: Register a webhook endpoint. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookEndpointCreate' responses: '201': description: Webhook endpoint created. content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' get: operationId: listWebhookEndpoints tags: - Webhooks summary: Retrieve all webhook endpoints. responses: '200': description: A list of webhook endpoints. /webhook-endpoints/{webhookEndpointId}: parameters: - name: webhookEndpointId in: path required: true schema: type: string get: operationId: getWebhookEndpoint tags: - Webhooks summary: Retrieve a webhook endpoint. responses: '200': description: The webhook endpoint. patch: operationId: updateWebhookEndpoint tags: - Webhooks summary: Update a webhook endpoint. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookEndpointCreate' responses: '200': description: The updated webhook endpoint. components: schemas: WebhookEndpoint: type: object properties: id: type: string url: type: string format: uri eventTypes: type: array items: type: string secret: type: string description: Signing secret used to verify webhook payloads. WebhookEndpointCreate: type: object required: - url properties: url: type: string format: uri eventTypes: type: array items: type: string example: - Employer.created - Worker.created - PayrollRun.statusChanged - Transmission.completed 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}`.'