Slash Customer API
The Customer API from Slash — 3 operation(s) for customer.
The Customer API from Slash — 3 operation(s) for customer.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/joinslash-com:joinslash-com-customer-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Slash Public Customer API
description: API description
version: 0.0.1
contact: {}
servers:
- url: https://api.slash.com
description: production
security:
- api_key: []
- partner_api_key: []
- bearer: []
- developer_application: []
tags:
- name: Customer
paths:
/customer:
x-api-key-scopes:
- revenue
x-reference-path: paths/customer/route.yaml
get:
description: List all customers for your legal entity. Customers represent billing recipients for invoices.
parameters:
- name: cursor
required: false
in: query
schema:
type: string
description: A cursor string to fetch the next page of results
x-reference-path: schemas/Pagination/CursorParameter.yaml
- name: filter:legalEntityId
description: Filter customers by legal entity ID. Required if authenticating via bearer token with access to multiple legal entities.
in: query
required: false
schema:
type: string
- name: filter:name
description: Filter customers by name (partial match).
in: query
required: false
schema:
type: string
- name: filter:status
description: Filter customers by status.
in: query
required: false
schema:
type: string
enum:
- active
- archived
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Customer'
x-entrypoint:
virtualPath: schemas/Customer
sourcePath: schemas/Customer.yaml
title: Customer
origin: ./src/publicApi
metadata:
$ref: '#/components/schemas/Pagination.PaginationResponse'
x-entrypoint:
virtualPath: schemas/Pagination/PaginationResponse
sourcePath: schemas/Pagination/PaginationResponse.yaml
title: PaginationResponse
origin: ./src/publicApi
required:
- items
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- api_key: []
- bearer: []
tags:
- Customer
summary: Get customer
x-summary-source: derived
operationId: getCustomer
x-operation-id-source: derived
post:
description: Create a new customer for your legal entity. Customers are used as invoice recipients.
parameters:
- name: filter:legalEntityId
description: The legal entity ID. Required if authenticating with access to multiple legal entities.
in: query
required: false
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Display name of the customer.
email:
type: string
description: Email address of the customer.
phone:
type: string
description: Phone number of the customer.
address:
$ref: '#/components/schemas/slashfi.models.entity.IAddressModel.yaml'
x-entrypoint:
virtualPath: entity/IAddressModel
sourcePath: entity/IAddressModel.yaml
title: IAddressModel
origin: /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
globalImport: true
typescript:
importPath: import * as models from '@slashfi/models';
symbolValue: models.entity.IAddressModel
typeValue: models.entity.IAddressModel
customMetadata:
type: object
description: Custom metadata to associate with the customer.
additionalProperties: true
required:
- name
- email
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
customer:
$ref: '#/components/schemas/Customer'
x-entrypoint:
virtualPath: schemas/Customer
sourcePath: schemas/Customer.yaml
title: Customer
origin: ./src/publicApi
required:
- customer
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- api_key: []
- bearer: []
tags:
- Customer
summary: Create customer
x-summary-source: derived
operationId: postCustomer
x-operation-id-source: derived
/customer/{customerId}:
x-api-key-scopes:
- revenue
x-reference-path: paths/customer/{customerId}/route.yaml
get:
description: Get a single customer by ID.
parameters:
- name: customerId
in: path
required: true
schema:
type: string
- name: filter:legalEntityId
description: The legal entity ID. Required if authenticating with access to multiple legal entities.
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
customer:
$ref: '#/components/schemas/Customer'
x-entrypoint:
virtualPath: schemas/Customer
sourcePath: schemas/Customer.yaml
title: Customer
origin: ./src/publicApi
required:
- customer
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- api_key: []
- bearer: []
tags:
- Customer
summary: Get customer by customer id
x-summary-source: derived
operationId: getCustomerByCustomerId
x-operation-id-source: derived
patch:
description: Update a customer's information.
parameters:
- name: customerId
in: path
required: true
schema:
type: string
- name: filter:legalEntityId
description: The legal entity ID. Required if authenticating with access to multiple legal entities.
in: query
required: false
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Updated display name.
email:
type: string
description: Updated email address.
phone:
type: string
description: Updated phone number.
address:
$ref: '#/components/schemas/slashfi.models.entity.IAddressModel.yaml'
x-entrypoint:
virtualPath: entity/IAddressModel
sourcePath: entity/IAddressModel.yaml
title: IAddressModel
origin: /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
globalImport: true
typescript:
importPath: import * as models from '@slashfi/models';
symbolValue: models.entity.IAddressModel
typeValue: models.entity.IAddressModel
customMetadata:
type: object
description: Updated custom metadata.
additionalProperties: true
status:
type: string
description: Updated status.
enum:
- active
- archived
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
customer:
$ref: '#/components/schemas/Customer'
x-entrypoint:
virtualPath: schemas/Customer
sourcePath: schemas/Customer.yaml
title: Customer
origin: ./src/publicApi
required:
- customer
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- api_key: []
- bearer: []
tags:
- Customer
summary: Update customer by customer id
x-summary-source: derived
operationId: patchCustomerByCustomerId
x-operation-id-source: derived
/customer/{customerId}/ach-debit-recurring:
x-api-key-scopes:
- revenue
x-reference-path: paths/customer/{customerId}/ach-debit-recurring/route.yaml
get:
description: Check whether a customer has an active recurring ACH debit authorization. When active, the issuer can automatically debit the payer's bank account for future invoices with auto-pull enabled.
parameters:
- name: customerId
in: path
required: true
schema:
type: string
- name: filter:legalEntityId
description: The legal entity ID. Required if authenticating with access to multiple legal entities.
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
hasActiveRecurringAuth:
type: boolean
description: Whether the customer has authorized recurring ACH debits.
required:
- hasActiveRecurringAuth
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- api_key: []
- bearer: []
tags:
- Customer
summary: Get customer by customer id ach debit recurring
x-summary-source: derived
operationId: getCustomerByCustomerIdAchDebitRecurring
x-operation-id-source: derived
components:
schemas:
Error:
type: object
properties:
message:
type: string
name:
type: string
identifier:
type: string
rawStatus:
type: number
meta:
type: object
additionalProperties: true
required:
- message
- name
- identifier
- rawStatus
x-entrypoint:
origin: ./src/publicApi
sourcePath: ./src/publicApi/main.yaml
title: Error
virtualPath: components/Error
title: Error
slashfi.models.entity.IAddressModel.yaml:
title: IAddressModel
type: object
properties:
addressLine:
type: string
addressLine2:
type: string
addressCity:
type: string
addressState:
type: string
addressZip:
type: string
addressCountry:
type: string
minLength: 2
maxLength: 2
description: ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...).
required:
- addressLine
- addressCity
- addressState
- addressZip
x-entrypoint:
virtualPath: entity/IAddressModel
sourcePath: entity/IAddressModel.yaml
title: IAddressModel
origin: /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
globalImport: true
Pagination.PaginationResponse:
type: object
description: Response sent when requesting a list of data
properties:
nextCursor:
type: string
description: The cursor to use to retrieve the next page of data. If this is not sent, there is no more data to retrieve.
count:
type: number
description: The number of items in the current page of data.
x-entrypoint:
virtualPath: schemas/Pagination/PaginationResponse
sourcePath: schemas/Pagination/PaginationResponse.yaml
title: PaginationResponse
origin: ./src/publicApi
title: PaginationResponse
Customer:
type: object
description: A customer represents a billing recipient associated with a legal entity.
properties:
id:
type: string
description: Unique identifier for the customer.
name:
type: string
description: Display name of the customer.
email:
type: string
description: Email address of the customer.
phone:
type: string
description: Phone number of the customer.
address:
type: object
description: Address of the customer.
additionalProperties: true
customMetadata:
type: object
description: Custom metadata associated with the customer.
additionalProperties: true
status:
type: string
description: Status of the customer.
enum:
- active
- archived
required:
- id
- name
- email
- status
x-entrypoint:
virtualPath: schemas/Customer
sourcePath: schemas/Customer.yaml
title: Customer
origin: ./src/publicApi
title: Customer
securitySchemes:
api_key:
type: apiKey
description: "API key authentication for public API requests.\n\nKeys come in two flavors:\n\n- *Legal-entity-scoped keys* are pinned to a single legal entity.\n Minted via the dashboard under a specific entity; every request\n acts on that entity.\n- *User-scoped keys* are pinned to a user and span every legal\n entity that user has access to. Every request made with a\n user-scoped key (except `GET /legal-entity`, which lists the\n legal entities the user can access) must include an\n `x-legal-entity` header naming the legal entity the request is\n operating on. Requests without the header are rejected with\n `400`. The authenticated user must have an active permission\n role on the supplied legal entity, otherwise the request is\n rejected with `403`.\n"
name: X-API-Key
in: header
partner_api_key:
type: apiKey
description: 'Partner-program API key authentication.
Keys are minted in the partner dashboard (Developers → API Keys),
are scoped to a single partner program, and are prefixed with
`sk_partner_`. Partner keys are only accepted by routes that
declare this scheme; they are rejected by `api_key` routes and
vice versa.
'
name: X-API-Key
in: header
bearer:
type: http
scheme: bearer
developer_application:
type: http
scheme: basic