Stripe · Schema
PostSourcesSourceRequest
CommerceFinancial ServicesFintechPaymentsT1StripeAgentic CommercePoint-of-SalePayment Processing
Properties
| Name | Type | Description |
|---|---|---|
| amount | integer | Amount associated with the source. |
| expand | array | Specifies which fields in the response should be expanded. |
| mandate | object | Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. |
| metadata | object | Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individu |
| owner | object | Information about the owner of the payment instrument that may be used or required by particular source types. |
| source_order | object | Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-post-sources-source-request-schema.json",
"title": "PostSourcesSourceRequest",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/stripe-sources-api-openapi.yml#/components/schemas/PostSourcesSourceRequest",
"type": "object",
"properties": {
"amount": {
"description": "Amount associated with the source.",
"type": "integer"
},
"expand": {
"description": "Specifies which fields in the response should be expanded.",
"items": {
"maxLength": 5000,
"type": "string"
},
"type": "array"
},
"mandate": {
"description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.",
"properties": {
"acceptance": {
"properties": {
"date": {
"format": "unix-time",
"type": "integer"
},
"ip": {
"type": "string"
},
"offline": {
"properties": {
"contact_email": {
"type": "string"
}
},
"required": [
"contact_email"
],
"title": "mandate_offline_acceptance_params",
"type": "object"
},
"online": {
"properties": {
"date": {
"format": "unix-time",
"type": "integer"
},
"ip": {
"type": "string"
},
"user_agent": {
"maxLength": 5000,
"type": "string"
}
},
"title": "mandate_online_acceptance_params",
"type": "object"
},
"status": {
"enum": [
"accepted",
"pending",
"refused",
"revoked"
],
"maxLength": 5000,
"type": "string"
},
"type": {
"enum": [
"offline",
"online"
],
"maxLength": 5000,
"type": "string"
},
"user_agent": {
"maxLength": 5000,
"type": "string"
}
},
"required": [
"status"
],
"title": "mandate_acceptance_params",
"type": "object"
},
"amount": {
"anyOf": [
{
"type": "integer"
},
{
"enum": [
""
],
"type": "string"
}
]
},
"currency": {
"type": "string"
},
"interval": {
"enum": [
"one_time",
"scheduled",
"variable"
],
"maxLength": 5000,
"type": "string"
},
"notification_method": {
"enum": [
"deprecated_none",
"email",
"manual",
"none",
"stripe_email"
],
"maxLength": 5000,
"type": "string"
}
},
"title": "mandate_params",
"type": "object"
},
"metadata": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"enum": [
""
],
"type": "string"
}
],
"description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
},
"owner": {
"description": "Information about the owner of the payment instrument that may be used or required by particular source types.",
"properties": {
"address": {
"properties": {
"city": {
"maxLength": 5000,
"type": "string"
},
"country": {
"maxLength": 5000,
"type": "string"
},
"line1": {
"maxLength": 5000,
"type": "string"
},
"line2": {
"maxLength": 5000,
"type": "string"
},
"postal_code": {
"maxLength": 5000,
"type": "string"
},
"state": {
"maxLength": 5000,
"type": "string"
}
},
"title": "source_address",
"type": "object"
},
"email": {
"type": "string"
},
"name": {
"maxLength": 5000,
"type": "string"
},
"phone": {
"maxLength": 5000,
"type": "string"
}
},
"title": "owner",
"type": "object"
},
"source_order": {
"description": "Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.",
"properties": {
"items": {
"items": {
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": "string"
},
"description": {
"maxLength": 1000,
"type": "string"
},
"parent": {
"maxLength": 5000,
"type": "string"
},
"quantity": {
"type": "integer"
},
"type": {
"enum": [
"discount",
"shipping",
"sku",
"tax"
],
"maxLength": 5000,
"type": "string"
}
},
"title": "order_item_specs",
"type": "object"
},
"type": "array"
},
"shipping": {
"properties": {
"address": {
"properties": {
"city": {
"maxLength": 5000,
"type": "string"
},
"country": {
"maxLength": 5000,
"type": "string"
},
"line1": {
"maxLength": 5000,
"type": "string"
},
"line2": {
"maxLength": 5000,
"type": "string"
},
"postal_code": {
"maxLength": 5000,
"type": "string"
},
"state": {
"maxLength": 5000,
"type": "string"
}
},
"required": [
"line1"
],
"title": "address",
"type": "object"
},
"carrier": {
"maxLength": 5000,
"type": "string"
},
"name": {
"maxLength": 5000,
"type": "string"
},
"phone": {
"maxLength": 5000,
"type": "string"
},
"tracking_number": {
"maxLength": 5000,
"type": "string"
}
},
"required": [
"address"
],
"title": "order_shipping",
"type": "object"
}
},
"title": "order_params",
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stripe-post-sources-source-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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.