Slash Payment Intent API
The Payment Intent API from Slash — 2 operation(s) for payment intent.
The Payment Intent API from Slash — 2 operation(s) for payment intent.
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-payment-intent-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 Payment Intent 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: Payment Intent
paths:
/payment-intent:
x-api-key-scopes:
- revenue
x-reference-path: paths/payment-intent/route.yaml
get:
deprecated: true
description: List payment intents for your legal entity, newest first. Supports cursor pagination and filtering by status.
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: The legal entity ID. Required if authenticating with access to multiple legal entities.
in: query
required: false
schema:
type: string
- name: filter:status
description: Filter payment intents by status.
in: query
required: false
schema:
type: string
enum:
- pending
- processing
- succeeded
- failed
- canceled
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/PaymentIntent'
x-entrypoint:
virtualPath: schemas/PaymentIntent
sourcePath: schemas/PaymentIntent.yaml
title: PaymentIntent
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:
- Payment Intent
summary: Get payment intent
x-summary-source: derived
operationId: getPaymentIntent
x-operation-id-source: derived
/payment-intent/{paymentIntentId}:
x-api-key-scopes:
- revenue
x-reference-path: paths/payment-intent/{paymentIntentId}/route.yaml
get:
deprecated: true
description: Get a single payment intent by ID. Use this to check whether a payment has settled (`status` becomes `succeeded`) as an alternative or reconciliation fallback to webhooks.
parameters:
- name: paymentIntentId
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:
allOf:
- $ref: '#/components/schemas/PaymentIntent'
x-entrypoint:
virtualPath: schemas/PaymentIntent
sourcePath: schemas/PaymentIntent.yaml
title: PaymentIntent
origin: ./src/publicApi
- type: object
properties:
paymentIntent:
deprecated: true
description: Deprecated compatibility wrapper. Use the flattened payment intent fields on this response instead.
$ref: '#/components/schemas/PaymentIntent'
x-entrypoint:
virtualPath: schemas/PaymentIntent
sourcePath: schemas/PaymentIntent.yaml
title: PaymentIntent
origin: ./src/publicApi
required:
- paymentIntent
'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:
- Payment Intent
summary: Get payment intent by payment intent id
x-summary-source: derived
operationId: getPaymentIntentByPaymentIntentId
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
PaymentIntent:
type: object
description: The payment intent object. Its `status` tracks the payment from creation through settlement.
properties:
id:
type: string
description: Unique identifier for the payment intent.
status:
type: string
description: Status of the payment intent. `pending` intents have not been paid yet; `processing` intents have a payment in flight awaiting settlement; `succeeded` intents have a confirmed settled payment; `canceled` intents were canceled and can no longer be paid.
enum:
- pending
- processing
- succeeded
- canceled
amount:
type: integer
description: Payment amount in the smallest unit of `currency`.
currency:
type: string
description: ISO currency code for the payment. Supported currencies are `usd` and `eur`.
enum:
- usd
- eur
metadata:
type: object
description: Merchant-defined metadata stored on the payment intent and echoed in payment intent responses and the payment-intent success webhook.
additionalProperties: true
clientSecret:
type: string
description: Sensitive PaymentIntent-scoped browser capability. Do not log or store it in browser persistence.
allowedPaymentMethods:
type: array
items:
$ref: '#/components/schemas/slashfi.models.enums.Acquiring.PaymentMethod.yaml'
x-entrypoint:
virtualPath: enums/Acquiring/PaymentMethod
sourcePath: enums/Acquiring/PaymentMethod.yaml
title: PaymentMethod
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.enums.Acquiring.PaymentMethod
typeValue: models.enums.Acquiring.PaymentMethod
description: Payment methods the merchant allows, exactly as set on create or update. Omitted when all supported methods are allowed.
createdAt:
type: string
format: date-time
description: ISO-8601 timestamp the payment intent was created at.
updatedAt:
type: string
format: date-time
description: ISO-8601 timestamp the payment intent last changed status.
required:
- id
- status
- amount
- currency
- createdAt
- updatedAt
x-entrypoint:
virtualPath: schemas/PaymentIntent
sourcePath: schemas/PaymentIntent.yaml
title: PaymentIntent
origin: ./src/publicApi
title: PaymentIntent
slashfi.models.enums.Acquiring.PaymentMethod.yaml:
type: string
description: Payment method available for an acquiring PaymentIntent checkout.
enum:
- card
- apple_pay
- google_pay
x-entrypoint:
virtualPath: enums/Acquiring/PaymentMethod
sourcePath: enums/Acquiring/PaymentMethod.yaml
title: PaymentMethod
origin: /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
globalImport: true
title: PaymentMethod
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
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