Stripe Issuing API
An API for businesses to instantly create, manage, and distribute payment cards.
An API for businesses to instantly create, manage, and distribute payment cards.
openapi: 3.0.0
info:
title: Stripe Accounts Account Issuing API
description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
contact:
email: dev-platform@stripe.com
name: Stripe Dev Platform Team
url: https://stripe.com
termsOfService: https://stripe.com/us/terms/
version: '2023-10-16'
x-stripeSpecFilename: spec3
servers:
- url: https://api.stripe.com/
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Issuing
paths:
/v1/issuing/authorizations:
get:
description: <p>Returns a list of Issuing <code>Authorization</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>
operationId: GetIssuingAuthorizations
parameters:
- description: Only return authorizations that belong to the given card.
in: query
name: card
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return authorizations that belong to the given cardholder.
in: query
name: cardholder
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return authorizations that were created during the given date interval.
explode: true
in: query
name: created
required: false
schema:
anyOf:
- properties:
gt:
type: integer
gte:
type: integer
lt:
type: integer
lte:
type: integer
title: range_query_specs
type: object
- type: integer
style: deepObject
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`.
in: query
name: status
required: false
schema:
enum:
- closed
- pending
- reversed
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingAuthorizationsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/IssuingAuthorizationList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/authorizations/{authorization}:
get:
description: <p>Retrieves an Issuing <code>Authorization</code> object.</p>
operationId: GetIssuingAuthorizationsAuthorization
parameters:
- in: path
name: authorization
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingAuthorizationsAuthorizationRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.authorization'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
post:
description: <p>Updates the specified Issuing <code>Authorization</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>
operationId: PostIssuingAuthorizationsAuthorization
parameters:
- in: path
name: authorization
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingAuthorizationsAuthorizationRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.authorization'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/authorizations/{authorization}/approve:
post:
description: "<p>[Deprecated] Approves a pending Issuing <code>Authorization</code> object. This request should be made within the timeout window of the <a href=\"/docs/issuing/controls/real-time-authorizations\">real-time authorization</a> flow. \nThis method is deprecated. Instead, <a href=\"/docs/issuing/controls/real-time-authorizations#authorization-handling\">respond directly to the webhook request to approve an authorization</a>.</p>"
operationId: PostIssuingAuthorizationsAuthorizationApprove
parameters:
- in: path
name: authorization
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingAuthorizationsAuthorizationApproveRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.authorization'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/authorizations/{authorization}/decline:
post:
description: '<p>[Deprecated] Declines a pending Issuing <code>Authorization</code> object. This request should be made within the timeout window of the <a href="/docs/issuing/controls/real-time-authorizations">real time authorization</a> flow.
This method is deprecated. Instead, <a href="/docs/issuing/controls/real-time-authorizations#authorization-handling">respond directly to the webhook request to decline an authorization</a>.</p>'
operationId: PostIssuingAuthorizationsAuthorizationDecline
parameters:
- in: path
name: authorization
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingAuthorizationsAuthorizationDeclineRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.authorization'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/cardholders:
get:
description: <p>Returns a list of Issuing <code>Cardholder</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>
operationId: GetIssuingCardholders
parameters:
- description: Only return cardholders that were created during the given date interval.
explode: true
in: query
name: created
required: false
schema:
anyOf:
- properties:
gt:
type: integer
gte:
type: integer
lt:
type: integer
lte:
type: integer
title: range_query_specs
type: object
- type: integer
style: deepObject
- description: Only return cardholders that have the given email address.
in: query
name: email
required: false
schema:
type: string
style: form
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: Only return cardholders that have the given phone number.
in: query
name: phone_number
required: false
schema:
type: string
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`.
in: query
name: status
required: false
schema:
enum:
- active
- blocked
- inactive
type: string
style: form
- description: Only return cardholders that have the given type. One of `individual` or `company`.
in: query
name: type
required: false
schema:
enum:
- company
- individual
type: string
x-stripeBypassValidation: true
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingCardholdersRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/IssuingCardholderList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
post:
description: <p>Creates a new Issuing <code>Cardholder</code> object that can be issued cards.</p>
operationId: PostIssuingCardholders
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
billing:
explode: true
style: deepObject
company:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
individual:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
preferred_locales:
explode: true
style: deepObject
spending_controls:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingCardholdersRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.cardholder'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/cardholders/{cardholder}:
get:
description: <p>Retrieves an Issuing <code>Cardholder</code> object.</p>
operationId: GetIssuingCardholdersCardholder
parameters:
- in: path
name: cardholder
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingCardholdersCardholderRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.cardholder'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
post:
description: <p>Updates the specified Issuing <code>Cardholder</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>
operationId: PostIssuingCardholdersCardholder
parameters:
- in: path
name: cardholder
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
billing:
explode: true
style: deepObject
company:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
individual:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
preferred_locales:
explode: true
style: deepObject
spending_controls:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingCardholdersCardholderRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.cardholder'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/cards:
get:
description: <p>Returns a list of Issuing <code>Card</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>
operationId: GetIssuingCards
parameters:
- description: Only return cards belonging to the Cardholder with the provided ID.
in: query
name: cardholder
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return cards that were issued during the given date interval.
explode: true
in: query
name: created
required: false
schema:
anyOf:
- properties:
gt:
type: integer
gte:
type: integer
lt:
type: integer
lte:
type: integer
title: range_query_specs
type: object
- type: integer
style: deepObject
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return cards that have the given expiration month.
in: query
name: exp_month
required: false
schema:
type: integer
style: form
- description: Only return cards that have the given expiration year.
in: query
name: exp_year
required: false
schema:
type: integer
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: Only return cards that have the given last four digits.
in: query
name: last4
required: false
schema:
maxLength: 5000
type: string
style: form
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Only return cards that have the given status. One of `active`, `inactive`, or `canceled`.
in: query
name: status
required: false
schema:
enum:
- active
- canceled
- inactive
type: string
x-stripeBypassValidation: true
style: form
- description: Only return cards that have the given type. One of `virtual` or `physical`.
in: query
name: type
required: false
schema:
enum:
- physical
- virtual
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingCardsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/IssuingCardList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
post:
description: <p>Creates an Issuing <code>Card</code> object.</p>
operationId: PostIssuingCards
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
shipping:
explode: true
style: deepObject
spending_controls:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingCardsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.card'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/cards/{card}:
get:
description: <p>Retrieves an Issuing <code>Card</code> object.</p>
operationId: GetIssuingCardsCard
parameters:
- in: path
name: card
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingCardsCardRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.card'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
post:
description: <p>Updates the specified Issuing <code>Card</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>
operationId: PostIssuingCardsCard
parameters:
- in: path
name: card
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
pin:
explode: true
style: deepObject
spending_controls:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingCardsCardRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.card'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/disputes:
get:
description: <p>Returns a list of Issuing <code>Dispute</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>
operationId: GetIssuingDisputes
parameters:
- description: Select Issuing disputes that were created during the given date interval.
explode: true
in: query
name: created
required: false
schema:
anyOf:
- properties:
gt:
type: integer
gte:
type: integer
lt:
type: integer
lte:
type: integer
title: range_query_specs
type: object
- type: integer
style: deepObject
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Select Issuing disputes with the given status.
in: query
name: status
required: false
schema:
enum:
- expired
- lost
- submitted
- unsubmitted
- won
type: string
style: form
- description: Select the Issuing dispute for the given transaction.
in: query
name: transaction
required: false
schema:
maxLength: 5000
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetIssuingDisputesRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/IssuingDisputeList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
post:
description: <p>Creates an Issuing <code>Dispute</code> object. Individual pieces of evidence within the <code>evidence</code> object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to <a href="/docs/issuing/purchases/disputes#dispute-reasons-and-evidence">Dispute reasons and evidence</a> for more details about evidence requirements.</p>
operationId: PostIssuingDisputes
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
evidence:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
treasury:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostIssuingDisputesRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/issuing.dispute'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Issuing
/v1/issuing/disputes/{dispute}:
get:
description: <p>Retrieves an Issuing <code>Dis
# --- truncated at 32 KB (302 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/openapi/stripe-issuing-api-openapi.yml