Slash Refund API
The Refund API from Slash — 2 operation(s) for refund.
The Refund API from Slash — 2 operation(s) for refund.
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-refund-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 Refund 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: Refund
paths:
/refund:
x-api-key-scopes:
- revenue
x-reference-path: paths/refund/route.yaml
get:
deprecated: true
description: List refunds for your legal entity, newest first. Supports cursor pagination and filtering by payment intent and 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:paymentIntentId
description: Filter refunds by payment intent ID.
in: query
required: false
schema:
type: string
- name: filter:status
description: Filter refunds by status.
in: query
required: false
schema:
type: string
enum:
- pending
- processing
- succeeded
- failed
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Refund'
x-entrypoint:
virtualPath: schemas/Refund
sourcePath: schemas/Refund.yaml
title: Refund
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:
- Refund
summary: Get refund
x-summary-source: derived
operationId: getRefund
x-operation-id-source: derived
post:
deprecated: true
description: Refund all or part of a succeeded payment. Optionally provide an `X-Idempotency-Key` header so retries with the same key and request return the existing refund.
parameters:
- name: X-Idempotency-Key
description: An optional unique key for this refund. Retrying the same request with the same key returns the previously created refund.
in: header
required: false
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
paymentIntentId:
type: string
description: The payment intent to refund.
amount:
type: integer
minimum: 1
description: Required amount to refund in cents.
required:
- paymentIntentId
- amount
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Refund'
x-entrypoint:
virtualPath: schemas/Refund
sourcePath: schemas/Refund.yaml
title: Refund
origin: ./src/publicApi
- type: object
properties:
refund:
deprecated: true
description: Deprecated compatibility wrapper. Use the flattened refund fields on this response instead.
$ref: '#/components/schemas/Refund'
x-entrypoint:
virtualPath: schemas/Refund
sourcePath: schemas/Refund.yaml
title: Refund
origin: ./src/publicApi
required:
- refund
'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:
- Refund
summary: Create refund
x-summary-source: derived
operationId: postRefund
x-operation-id-source: derived
/refund/{refundId}:
x-api-key-scopes:
- revenue
x-reference-path: paths/refund/{refundId}/route.yaml
get:
deprecated: true
description: Get a single refund by ID.
parameters:
- name: refundId
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/Refund'
x-entrypoint:
virtualPath: schemas/Refund
sourcePath: schemas/Refund.yaml
title: Refund
origin: ./src/publicApi
- type: object
properties:
refund:
deprecated: true
description: Deprecated compatibility wrapper. Use the flattened refund fields on this response instead.
$ref: '#/components/schemas/Refund'
x-entrypoint:
virtualPath: schemas/Refund
sourcePath: schemas/Refund.yaml
title: Refund
origin: ./src/publicApi
required:
- refund
'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:
- Refund
summary: Get refund by refund id
x-summary-source: derived
operationId: getRefundByRefundId
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
Refund:
type: object
description: The refund object. Its `status` tracks the refund from creation through completion.
properties:
id:
type: string
description: Unique identifier for the refund.
status:
type: string
description: Current refund processing status.
enum:
- pending
- processing
- succeeded
- failed
amount:
type: integer
description: Refund amount in the smallest unit of `currency`. Refunds are always in the currency of the payment intent being refunded.
currency:
type: string
description: ISO currency code for the refund. Supported currencies are `usd` and `eur`.
enum:
- usd
- eur
paymentIntentId:
type: string
description: The payment intent being refunded.
createdAt:
type: string
format: date-time
description: ISO-8601 timestamp the refund was created at.
updatedAt:
type: string
format: date-time
description: ISO-8601 timestamp the refund last changed status.
required:
- id
- status
- amount
- currency
- paymentIntentId
- createdAt
- updatedAt
x-entrypoint:
virtualPath: schemas/Refund
sourcePath: schemas/Refund.yaml
title: Refund
origin: ./src/publicApi
title: Refund
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