Pluggy · Schema
PaymentRequest
Response with information related to a payment request
CompanyOpen FinanceBankingFinancial DataPaymentsBrazilFintech
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Primary identifier |
| amount | number | Requested amount. For automatic pix it won't be returned |
| fees | numbernull | Fees charged for the payment request. This includes both Pluggy's fees and any customer-specific fees. Fees are calculated based on the payment method (PIX or Boleto) and the client's pricing configur |
| description | string | Payment description |
| status | object | |
| clientPaymentId | stringnull | Client payment identifier |
| createdAt | string | Date when the payment request was created |
| updatedAt | string | Date when the payment request was updated |
| callbackUrls | object | |
| recipient | object | Recipient of the payment. Shape depends on the recipient `type`. |
| customer | object | Customer associated with the payment request |
| smartAccount | object | Smart account that receives the funds, when applicable |
| paymentUrl | string | URL to begin the payment intent creation flow for this payment request |
| pixQrCode | stringnull | Pix QR code generated by the payment receiver |
| boleto | object | |
| automaticPix | object | |
| schedule | object | |
| errorDetail | objectnull | Error details when payment request fails |
| isSandbox | boolean | Indicates if this payment request is in sandbox mode. Default: false. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/pluggy/main/json-schema/pluggy-payment-request-schema.json",
"title": "PaymentRequest",
"description": "Response with information related to a payment request",
"x-generated": "2026-10-18",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/pluggy-api-openapi.yml#/components/schemas/PaymentRequest",
"properties": {
"id": {
"type": "string",
"description": "Primary identifier"
},
"amount": {
"type": "number",
"description": "Requested amount. For automatic pix it won't be returned"
},
"fees": {
"type": [
"number",
"null"
],
"description": "Fees charged for the payment request. This includes both Pluggy's fees and any customer-specific fees. Fees are calculated based on the payment method (PIX or Boleto) and the client's pricing configuration. For sandbox accounts, fees are set to 0."
},
"description": {
"type": "string",
"description": "Payment description"
},
"status": {
"$ref": "#/$defs/PaymentRequestStatus"
},
"clientPaymentId": {
"type": [
"string",
"null"
],
"description": "Client payment identifier"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Date when the payment request was created"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Date when the payment request was updated"
},
"callbackUrls": {
"anyOf": [
{
"$ref": "#/$defs/PaymentRequestCallbackUrls"
},
{
"type": "null"
}
]
},
"recipient": {
"description": "Recipient of the payment. Shape depends on the recipient `type`.",
"anyOf": [
{
"$ref": "#/$defs/PaymentRequestRecipient"
},
{
"type": "null"
}
]
},
"customer": {
"description": "Customer associated with the payment request",
"anyOf": [
{
"$ref": "#/$defs/PaymentCustomer"
},
{
"type": "null"
}
]
},
"smartAccount": {
"description": "Smart account that receives the funds, when applicable",
"anyOf": [
{
"$ref": "#/$defs/SmartAccount"
},
{
"type": "null"
}
]
},
"paymentUrl": {
"type": "string",
"description": "URL to begin the payment intent creation flow for this payment request"
},
"pixQrCode": {
"type": [
"string",
"null"
],
"description": "Pix QR code generated by the payment receiver"
},
"boleto": {
"anyOf": [
{
"$ref": "#/$defs/Boleto"
},
{
"type": "null"
}
]
},
"automaticPix": {
"$ref": "#/$defs/AutomaticPix"
},
"schedule": {
"oneOf": [
{
"$ref": "#/$defs/SINGLE"
},
{
"$ref": "#/$defs/DAILY"
},
{
"$ref": "#/$defs/WEEKLY"
},
{
"$ref": "#/$defs/MONTHLY"
},
{
"$ref": "#/$defs/CUSTOM"
},
{
"type": "null"
}
]
},
"errorDetail": {
"type": [
"object",
"null"
],
"description": "Error details when payment request fails",
"properties": {
"code": {
"type": "string",
"description": "Error code"
},
"providerMessage": {
"type": "string",
"description": "Error message returned by the institution"
}
}
},
"isSandbox": {
"type": "boolean",
"description": "Indicates if this payment request is in sandbox mode. Default: false.",
"default": false
}
},
"type": "object",
"required": [
"id",
"status",
"createdAt",
"updatedAt",
"paymentUrl"
],
"$defs": {
"AutomaticPix": {
"description": "Automatic PIX data",
"type": "object",
"properties": {
"fixedAmount": {
"type": "number",
"description": "Fixed charge amount; if filled in, it represents consent for payments of fixed amounts, not subject to change during the validity of the consent. If it's sent, minimumVariableAmount and maximumVariableAmount cannot be provided."
},
"minimumVariableAmount": {
"type": "number",
"description": "Minimum amount allowed per charge; if filled in, it represents consent for payments of variable amounts. If it's sent, fixedAmount cannot be provided."
},
"maximumVariableAmount": {
"type": "number",
"description": "Maximum amount allowed per charge; if filled in, it represents consent for payments of variable amounts. If it's sent, fixedAmount cannot be provided."
},
"startDate": {
"type": "string",
"format": "date-time",
"description": "Represents the expected date for the first occurrence of a payment associated with the recurrence."
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "Expiration date for the automatic pix authorization"
},
"isRetryAccepted": {
"type": "boolean",
"description": "Indicates whether the receiving customer is allowed to make payment attempts, according to the rules established in the Pix arrangement."
},
"firstPayment": {
"$ref": "#/$defs/AutomaticPixFirstPayment"
},
"interval": {
"$ref": "#/$defs/AutomaticPixInterval"
},
"automaticRetriesConfiguration": {
"$ref": "#/$defs/AutomaticPixRetriesConfiguration"
},
"schedulerConfiguration": {
"$ref": "#/$defs/AutomaticPixSchedulerConfiguration"
}
},
"required": [
"startDate",
"interval"
]
},
"AutomaticPixFirstPayment": {
"description": "Definitions for the first payment. It is considered as the user's enrollment payment for the service.",
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time",
"description": "Defines the target settlement date of the first payment. If not provided, it will be settled immediately. Date format must be YYYY-MM-DD (for example: 2025-06-16)"
},
"description": {
"type": "string",
"description": "Description for the first payment. If not provided, the description will be the same as the description of the payment request"
},
"amount": {
"type": "number",
"description": "Amount for the first payment."
}
},
"required": [
"amount"
]
},
"AutomaticPixInterval": {
"type": "string",
"enum": [
"WEEKLY",
"MONTHLY",
"QUARTERLY",
"SEMESTER",
"YEARLY"
],
"description": "Permitted frequency for recurring PIX payments under a consent."
},
"AutomaticPixRetriesConfiguration": {
"description": "“Configuration for automatic retries. If provided, the scheduled payments associated with this consent will only be retried on the days specified in the array after the original payment date. This does not apply to the first payment, only for scheduled payments.",
"type": "object",
"properties": {
"retryDays": {
"type": "array",
"items": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5,
6,
7
]
}
}
},
"required": [
"retryDays"
]
},
"AutomaticPixSchedulerConfiguration": {
"description": "Configuration for automatic scheduling of payments. When enabled, the system will schedule payments according to the consent interval and start date.",
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "When true, payments are automatically scheduled by the system."
},
"description": {
"type": "string",
"maxLength": 140,
"description": "Optional description for the scheduled payment. Overrides the payment request description when set."
},
"valueForVariableAmount": {
"type": "number",
"minimum": 0.01,
"description": "Required when the consent has variable amounts (minimumVariableAmount/maximumVariableAmount). Default amount to use when scheduling the payment."
}
},
"required": [
"enabled"
]
},
"Boleto": {
"description": "Boleto data",
"properties": {
"digitableLine": {
"type": "string",
"description": "Boleto digitable line"
},
"barcode": {
"type": "string",
"description": "Boleto barcode"
},
"payer": {
"$ref": "#/$defs/BoletoPayer"
},
"recipient": {
"$ref": "#/$defs/BoletoRecipient"
},
"date": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Boleto issue date"
},
"dueDate": {
"type": "string",
"format": "date-time",
"description": "Boleto due date"
},
"expirationDate": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "After this date, the boleto cannot be paid"
},
"baseAmount": {
"type": "number",
"description": "Boleto original amount, without interests, penalties and discounts"
},
"penaltyAmount": {
"type": "number",
"description": "Boleto penalty amount. If there is no penalty, it will be returned as zero"
},
"interestAmount": {
"type": "number",
"description": "Boleto interest amount. If there is no interest, it will be returned as zero"
},
"discountAmount": {
"type": "number",
"description": "Boleto discount amount. If there is no discounts, it will be returned as zero"
},
"totalAmount": {
"type": "number",
"description": "Boleto final amount. It is equal to the base amount plus penalties and interests, minus discounts"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Date when the lastest information of this boleto has been retrieved"
}
},
"type": "object",
"required": [
"digitableLine",
"barcode",
"payer",
"recipient",
"dueDate",
"baseAmount",
"penaltyAmount",
"discountAmount",
"totalAmount"
]
},
"BoletoPayer": {
"description": "Payer of a boleto being paid. Only identity data — this is not the payer of an issued boleto, which carries the full address block under `IssuedBoleto.payer`.",
"properties": {
"taxNumber": {
"type": "string",
"description": "Payer CPF or CNPJ"
},
"name": {
"type": "string",
"description": "Payer name"
}
},
"type": "object",
"required": [
"taxNumber",
"name"
]
},
"BoletoPaymentRecipient": {
"type": "object",
"description": "Payment recipient inferred from a boleto.",
"properties": {
"type": {
"type": "string",
"enum": [
"BOLETO"
]
},
"name": {
"type": "string",
"description": "Recipient name from the boleto"
},
"taxNumber": {
"type": "string",
"description": "Recipient CPF or CNPJ from the boleto"
}
},
"required": [
"type"
]
},
"BoletoRecipient": {
"description": "Boleto recipient information",
"properties": {
"taxNumber": {
"type": "string",
"description": "Recipient CPF or CNPJ"
},
"name": {
"type": "string",
"description": "Recipient name"
}
},
"type": "object",
"required": [
"taxNumber",
"name"
]
},
"CUSTOM": {
"title": "Customized option",
"description": "Schedule attribute to generate payments on an explicit list of dates.",
"properties": {
"type": {
"type": "string",
"description": "Schedule discriminator. Always `CUSTOM` for this variant.",
"enum": [
"CUSTOM"
]
},
"dates": {
"type": "array",
"description": "Explicit list of dates (YYYY-MM-DD) on which payments will be settled.",
"items": {
"type": "string",
"format": "date"
}
},
"additionalInformation": {
"type": "string",
"description": "Additional information about the custom schedule"
}
},
"type": "object",
"required": [
"type",
"dates"
]
},
"Connector": {
"description": "Connector object",
"properties": {
"id": {
"type": "number",
"format": "integer",
"description": "Primary identifier"
},
"name": {
"type": "string",
"description": "Name of the institution"
},
"institutionUrl": {
"type": "string",
"description": "Homepage of the institution"
},
"imageUrl": {
"type": "string",
"description": "Image of the logo hosted by Pluggy"
},
"primaryColor": {
"type": "string",
"description": "Primary color"
},
"type": {
"type": "string",
"description": "Type of institution"
},
"country": {
"type": "string",
"description": "Country located"
},
"credentials": {
"type": "array",
"items": {
"$ref": "#/$defs/ConnectorCredential"
},
"description": "Parameters required to start the connection"
},
"hasMFA": {
"type": "boolean",
"description": "Does the connector require an MFA to execute?"
},
"products": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ACCOUNTS",
"CREDIT_CARDS",
"TRANSACTIONS",
"PAYMENT_DATA",
"INVESTMENTS",
"INVESTMENTS_TRANSACTIONS",
"IDENTITY",
"BROKERAGE_NOTE",
"MOVE_SECURITY",
"LOANS"
]
},
"description": "Products supported by the connector"
},
"productCoverage": {
"type": "array",
"items": {
"type": "string"
},
"description": "Which sub-products the institution serves, in the Open Finance directory's own vocabulary (for example INVESTMENTS:TREASURE_TITLES, CREDIT_OPERATIONS:INVOICE_FINANCINGS). Where products says whether the connector serves investments at all, this says which ones: a connector listing INVESTMENTS may serve one of the five investment resources or all five. Absent for direct connectors, which have no Open Finance participant."
},
"oauth": {
"type": "boolean",
"description": "If 'true', the connector requires an Oauth flow to execute"
},
"oauthUrl": {
"type": "string",
"description": "URL to perform Oauth flow if needed"
},
"resetPasswordUrl": {
"type": "string",
"description": "URL to the financial institution to reset the password"
},
"health": {
"$ref": "#/$defs/ConnectorHealth"
},
"isOpenFinance": {
"type": "boolean",
"description": "Indicates if the connector uses the regulated Open Finance APIs"
},
"isSandbox": {
"type": "boolean",
"description": "Indicates if the connector is a sandbox connector, meant for testing rather than a real institution"
},
"supportsPaymentInitiation": {
"type": "boolean",
"description": "Indicates if the connector supports the payment initiation API"
},
"supportsScheduledPayments": {
"type": "boolean",
"description": "Indicates if the connector supports scheduled payments"
},
"supportsSmartTransfers": {
"type": "boolean",
"description": "Indicates if the connector supports smart transfers"
},
"supportsBoletoManagement": {
"type": "boolean",
"description": "Indicates if the connector supports boleto management"
},
"supportsAutomaticPix": {
"type": "boolean",
"description": "Indicates if the connector supports automatic Pix"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Date of creation"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Date of last modification"
}
},
"type": "object",
"required": [
"id"
]
},
"ConnectorCredential": {
"description": "Credential details for a connector",
"properties": {
"name": {
"type": "string",
"description": "Name of the key"
},
"label": {
"type": "string",
"description": "Label for input"
},
"type": {
"enum": [
"text",
"password",
"number",
"image",
"select"
],
"type": "string",
"description": "Type of credential required"
},
"assistiveText": {
"type": "string",
"description": "Text to help the user when completing the input"
},
"data": {
"type": "string",
"description": "Used to return base64 images"
},
"placeholder": {
"type": "string",
"description": "Placeholder text for the input"
},
"validation": {
"type": "string",
"description": "Regex validation for the user's input"
},
"validationMessage": {
"type": "string",
"description": "Validation message when input doesn't match the regex"
},
"mfa": {
"type": "boolean",
"description": "Credential is an MFA parameter and must be refreshed on each execution"
},
"options": {
"type": "array",
"items": {
"$ref": "#/$defs/CredentialSelectOption"
},
"description": "List of possible values for the input"
},
"optional": {
"type": "boolean",
"description": "Whether the credential can be left empty. Always present; defaults to false"
},
"instructions": {
"type": "string",
"description": "Instructions to help the user obtain this credential"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "Expiration date of the credential value, when the institution sets one"
}
},
"type": "object",
"required": [
"name",
"label",
"type",
"optional"
]
},
"ConnectorHealth": {
"description": "Connector health status",
"properties": {
"status": {
"type": "string",
"description": "'ONLINE' | 'OFFLINE' | 'UNSTABLE'"
},
"stage": {
"type": [
"string",
"null"
]
},
"incidents": {
"type": "array",
"description": "Incidents currently affecting this connector, as published on https://status.pluggy.ai. Absent when the connector has none, so a healthy connector's payload is unchanged. Ordered worst-first, so the first entry is the one to show if you only show one. Note this is about the institution, not about your own connections: use it to warn a user before they pick a bank that is known to be failing right now.",
"items": {
"$ref": "#/$defs/ConnectorIncident"
}
},
"details": {
"type": "object",
"description": "Statistics about your recent connections on the connector and recent connection rate (percentage of healthy connections). This field is only present if you include the parameter healthDetails=true. This will be null if there was an error obtaining health details.",
"properties": {
"connectionRateLast6Hours": {
"type": "number",
"description": "A number from 0 to 100: the percentage of executions that succesfully connect to the institution: status of CONNECTION_ERROR,ERROR,SITE_NOT_AVAILABLE decrease the percentage. Any other status (like SUCCESS/LOGIN_ERROR) increase the percentage. The value will be null if there were no connections"
},
"connectionsLast6Hours": {
"type": "number",
"description": "Amount of your connections for this connector during the last 6 hours. 0 if there were no connections"
}
}
}
}
},
"ConnectorIncident": {
"description": "An incident affecting a connector right now, as published on the Pluggy status page. Only incidents active at this moment are listed: a scheduled maintenance appears once its window opens, not when it is announced, and disappears when the window closes.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Status page identifier of the incident"
},
"title": {
"type": "string",
"description": "Short, customer-facing summary, for example 'XP Banking - Compras parceladas não sendo retornadas'"
},
"description": {
"type": [
"string",
"null"
],
"description": "Longer explanation, when there is one"
},
"type": {
"enum": [
"CONNECTOR_UNAVAILABLE",
"CONNECTOR_DEGRADED",
"INSTITUTION_OUTAGE",
"SCHEDULED_MAINTENANCE",
"CONSENT_ERROR",
"CONNECTION_NOT_UPDATING",
"PARTIAL_SUCCESS",
"ACCOUNTS_MISSING",
"BALANCE_INCORRECT",
"TRANSACTIONS_MISSING",
"TRANSACTIONS_INCORRECT",
"TRANSACTIONS_INSTALLMENTS_ISSUE",
"INVESTMENTS_MISSING",
"INVESTMENTS_INCORRECT",
"IDENTITY_MISSING",
"HISTORICAL_DATA_MISSING",
"WEBHOOK_DELAY",
"PAYMENT_FAILURE",
"OTHER"
],
"type": "string",
"description": "What is broken, as opposed to how badly (severity) or how far along we are (state). Use it to group the same problem across institutions, and to decide which incidents are worth showing your own users: a SCHEDULED_MAINTENANCE and a TRANSACTIONS_MISSING both read as 'degraded' otherwise. OTHER means Pluggy has not classified it, not that nothing is wrong"
},
"product": {
"enum": [
"dados",
"pis",
"pis-agendado",
"pixauto",
"smart",
"infra"
],
"type": "string",
"description": "Which Pluggy product line the incident affects"
},
"kind": {
"enum": [
"INCIDENT",
"MAINTENANCE"
],
"type": "string",
"description": "Whether this is an unplanned incident or a planned maintenance window"
},
"severity": {
"enum": [
"DEGRADED",
"PARTIAL_OUTAGE",
"MAJOR_OUTAGE",
"MAINTENANCE"
],
"type": "string",
"description": "How badly the institution is affected"
},
"state": {
"enum": [
"INVESTIGATING",
"IDENTIFIED",
"MONITORING",
"SCHEDULED"
],
"type": "string",
"description": "Where the incident is in its lifecycle. Resolved incidents are not listed"
},
"startedAt": {
"type": "string",
"format": "date-time",
"description": "When the incident began"
},
"updatedAt": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "When the incident was last updated"
},
"url": {
"type": "string",
"description": "Permalink to the incident on the status page, with its full timeline and postmortem. Safe to show to your own users"
}
},
"type": "object",
"required": [
"id",
"title",
"type",
"product",
"kind",
"severity",
"state",
"startedAt",
"url"
]
},
"CredentialSelectOption": {
"description": "Option for ConnectorCredential of type select",
"properties": {
"value": {
"type": "string",
"description": "Value for the option"
},
"label": {
"type": "string",
"description": "Label for the option"
}
},
"type": "object",
"required": [
"value",
"label"
]
},
"DAILY": {
"title": "Daily option",
"description": "Schedule attribute to generate daily payments starting from `startDate`.",
"properties": {
"type": {
"type": "string",
"description": "Schedule discriminator. Always `DAILY` for this variant.",
"enum": [
"DAILY"
]
},
"startDate": {
"type": "string",
"format": "date",
"description": "The start date of the validity of the scheduled payment authorization."
},
"occurrences": {
"type": "number",
"description": "Under the specified schedule frequency, how many payments will be scheduled to occur.",
"format": "integer",
"minimum": 3,
"maximum": 59
}
},
"type": "object",
"required": [
"type",
"startDate",
"occurrences"
]
},
"MONTHLY": {
"title": "Monthly option",
"description": "Schedule attribute to generate monthly payments on a specific day of the month.",
"properties": {
"type": {
"type": "string",
"description": "Schedule discriminator. Always `MONTHLY` for this variant.",
"enum": [
"MONTHLY"
]
},
"startDate": {
"type": "string",
"format": "date",
"description": "The start date of the validity of the scheduled payment authorization."
},
"dayOfMonth": {
"type": "number",
"description": "Day of the month on which each payment will occur. For example, if `10`, the first payment will occur on the next 10th day of the month after `startDate` (or the same day if it is already the 10th), and every 10th day after that.",
"minimum": 1,
"maximum": 30
},
"occurrences": {
"type": "number",
"description": "Under the specified schedule frequency, how many payments will be scheduled to occur.",
"format": "integer",
"minimum": 3,
"maximum": 23
}
},
"type": "object",
"required": [
"type",
"startDate",
"dayOfMonth",
"occurrences"
]
},
"PaymentCustomer": {
"description": "Response with information related to a payment customer",
"properties": {
"id": {
"type": "string",
"description": "Primary identifier"
},
"type": {
"$ref": "#/$defs/PaymentCustomerType"
},
"name": {
"type": "string",
"description": "Customer name"
},
"email": {
"type": "string",
"description": "Customer email"
},
"cpf": {
"type": "string",
"description": "Customer CPF"
},
"cnpj": {
"type": "string",
"description": "Customer CNPJ, if type is `BUSINESS`"
},
"connector": {
"$ref": "#/$defs/Connector",
"description": "Default institution to be used in the Pluggy's payment initiation flow (https://pay.pluggy.ai) by the payer."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Date when the customer was created"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Date when the customer was last updated"
}
},
"type": "object",
"required": [
"id",
"type",
"name",
"createdAt",
"updatedAt"
]
},
"PaymentCustomerType": {
"type": "string",
"enum": [
"INDIVIDUAL",
"BUSINESS"
],
"description": "Customer type.\n- `INDIVIDUAL`: identified by `cpf`.\n- `BUSINESS`: identified by `cnpj`."
},
"PaymentInstitution": {
"description": "Response with information related to a payment institution",
"properties": {
"id": {
"type": "string",
"description": "Primary identifier"
},
"name": {
"type": "string",
"description": "Payment institution name"
},
"tradeName": {
"type": "string",
"description": "Payment institution trade name"
},
"ispb": {
"type": "string",
"description": "Payment institution ISPB"
},
"compe": {
"type": "string",
"description": "Payment institution COMPE"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Date when the payment institution was created"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Date when the payment institution was updated"
}
},
"type": "object",
"required": [
"id",
"name",
"ispb",
"tradeName",
"createdAt",
"updatedAt"
]
},
"PaymentRecipient": {
"description": "Bank-account payment recipient. Returned by `/payments/recipients` endpoints and embedded inside payment requests when the request targets a registered recipient.",
"properties": {
"type": {
"type": "string",
"enum": [
"BANK_ACCOUNT"
],
"description": "Recipient discriminator. Always `BANK_ACCOUNT` for this schema."
},
"id": {
"type": "string",
"description": "Primary identifier"
},
"taxNumber": {
"type": "string",
"description": "Account owner tax number. Can be CPF or CNPJ (only numbers)."
},
"name": {
"type": "string",
"description": "Account owner name."
},
"paymentInstitution": {
"allOf": [
{
"$ref": "#/$defs/PaymentInstitution"
}
],
"description": "Institution that holds the recipient's bank account."
},
"isDefault": {
"type": "boolean",
"description": "Indicates if the recipient is the default one"
},
"account": {
"$ref": "#/$defs/PaymentRecipientAccount"
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://artifacts.apis.io/pluggy/json-schema/pluggy-payment-request-schema.json
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/pluggy-payment-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.