Assembly Payments · Schema

InitiatePaymentStatusResponse

Definition of PayTo Payment Details. **Property descriptions**: - **payment_request_uuid** - Unique identifier for the payment request in UUID format. - **instruction_id** - Unique identifier for the payment request generated as per NPPA guidelines. This identifier is used to identify the payment uniquely with NPPA and payer as well. - **agreement_uuid** - Unique agreement identifier. - **agreement_id** - Unique agreement identifier generated by NPPA. - **status** - Current status of the payment or retry request. - **status_description** - Details/description for the status. - **status_reason_code** - Reason code for the current payment initiation request status. - **status_reason_description** - Detailed description of the status reason code. - **payment_reconciled** - Indicator to say whether the payment has been reconciled successfully on user's wallet or not. - **created_at** - Date representation of the payment request creation. - **updated_at** - Date representation of the last update of the payment request. - **payment_info** - Payment information for the payment request. - **retry_attempts** - Payment information for all retry attempts.

CompanyPaymentsFintechMarketplacesDigital WalletsPayoutsAustraliaPayTo

Properties

Name Type Description
payment_request_uuid string Unique identifier for the payment request in UUID format.
instruction_id string Unique identifier for each payment and retry request generated as per NPPA guidelines.
agreement_uuid string Unique agreement identifier.
agreement_id string Unique agreement identifier generated by NPPA.
status string Possible statuses for payment or retry requests:
CodeDescription
PENDING_PAYMENT_INITIATIONPayment request is pending for initiation.
status_description string Free text field to provide description status
status_reason_code string Free text field to provide reason code:
Reason CodeDescriptionRetry eligible
ClearingAndSettlementError An error occurred during clearing and
status_reason_description string Free text field to provide reason description.
payment_reconciled boolean Indicator to say whether the payment has been reconciled successfully on user's wallet or not.
created_at string Payment request creation date.
updated_at string Payment request modification date.
payment_info object
retry_attempts object

JSON Schema

assembly-payments-initiate-payment-status-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/assembly-payments/main/json-schema/assembly-payments-initiate-payment-status-response-schema.json",
  "title": "InitiatePaymentStatusResponse",
  "description": "Definition of PayTo Payment Details. \n\n **Property descriptions**: \n\n- **payment_request_uuid** - Unique identifier for the payment request in UUID format.\n- **instruction_id** - Unique identifier for the payment request generated as per NPPA guidelines. This identifier is used to identify the payment uniquely with NPPA and payer as well.\n- **agreement_uuid** - Unique agreement identifier.\n- **agreement_id** - Unique agreement identifier generated by NPPA.\n- **status** - Current status of the payment or retry request.\n- **status_description** - Details/description for the status.\n- **status_reason_code** - Reason code for the current payment initiation request status.\n- **status_reason_description** - Detailed description of the status reason code.\n- **payment_reconciled** - Indicator to say whether the payment has been reconciled successfully on user's wallet or not.\n - **created_at** - Date representation of the payment request creation.\n - **updated_at** - Date representation of the last update of the payment request.\n- **payment_info** - Payment information for the payment request.\n- **retry_attempts** - Payment information for all retry attempts.",
  "x-generated": "2026-10-22",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/assembly-payments-payto-api-openapi.yml#/components/schemas/InitiatePaymentStatusResponse",
  "type": "object",
  "properties": {
    "payment_request_uuid": {
      "type": "string",
      "description": "Unique identifier for the payment request in UUID format."
    },
    "instruction_id": {
      "type": "string",
      "description": "Unique identifier for each payment and retry request generated as per NPPA guidelines."
    },
    "agreement_uuid": {
      "type": "string",
      "description": "Unique agreement identifier."
    },
    "agreement_id": {
      "type": "string",
      "description": "Unique agreement identifier generated by NPPA."
    },
    "status": {
      "title": "Status",
      "type": "string",
      "description": "Possible statuses for payment or retry requests:<table><tr><td>Code</td><td>Description</td></tr><tr><td>PENDING_PAYMENT_INITIATION</td><td>Payment request is pending for initiation.</td></tr><tr><td>PAYMENT_INITIATED</td><td>Payment request is initiated.</td></tr><tr><td>PAYMENT_INITIATION_COMPLETED</td><td>Payment request is completed.</td></tr><tr><td>PAYMENT_INITIATION_REJECTED</td><td>Payment request is rejected.</td></tr></table>",
      "enum": [
        "PENDING_PAYMENT_INITIATION",
        "PAYMENT_INITIATED",
        "PAYMENT_INITIATION_COMPLETED",
        "PAYMENT_INITIATION_REJECTED"
      ]
    },
    "status_description": {
      "type": "string",
      "description": "Free text field to provide description status"
    },
    "status_reason_code": {
      "type": "string",
      "description": "Free text field to provide reason code:<table><tr><td>Reason Code</td><td>Description</td><td>Retry eligible</td></tr><tr><td>ClearingAndSettlementError </td><td>An error occurred during clearing and settlement of the payment. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>PayeeBankOffline </td><td>Payee institution is offline. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerAccountNumberInvalid </td><td>Payer account details or PayID provided is invalid or does not exist within NPP. Please update the agreement with correct account details and try again.</td><td>No</td></tr><tr><td>PayeeAccountNumberInvalid </td><td>Payee account details provided is invalid or does not exist within NPP. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerAccountClosed </td><td>Payer account provided is closed. Please update the agreement with correct account details and try again.</td><td>No</td></tr><tr><td>InsufficientFunds </td><td>Payer account has insufficient funds at the moment. Please contact the payer and retry the same payment again after funds availability.</td><td>Yes</td></tr><tr><td>BlockedAccount </td><td>Account provided is temporarily blocked. Please retry the same payment again after some time or contact the payer.</td><td>Yes</td></tr><tr><td>PayeeAccountClosed </td><td>Payee account provided is closed. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerAccountTypeInvalid </td><td>Payer account type is invalid - unable to debit funds within NPP. Please update the agreement with correct account details and try again or contact the payer.</td><td>No</td></tr><tr><td>PayeeAccountTypeInvalid </td><td>Payee account type is invalid - unable to credit funds within NPP. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnexpectedError </td><td>Unexpected error occurred while processing the payment initiation request. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>TransactionForbiddenOnPayerAccount</td><td>Either the Payer account does not allow debits within NPP or agreement to debit the account is not active. Please update the agreement with correct account details and try again or contact the Payer.</td><td>No</td></tr><tr><td>NPPTransactionNotSupported </td><td>Payee institution has rejected the NPP payment from Payer institution. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnspecifiedReason </td><td>Payment initiation request has been rejected by the Payer institution without any specified reason.</td><td>Yes</td></tr><tr><td>RequestedByPayer </td><td>Payment rejection has been requested by the Payer. Please contact the Payer or retry the same payment again.</td><td>Yes</td></tr><tr><td>UndisclosedReason </td><td>Payment has been rejected due to undisclosed reasons.</td><td>No</td></tr><tr><td>RequestedByPayer-UnspecifiedReason </td><td>Payment has been rejected by the Payer without any specified reason. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>Prohibited </td><td>Payment has been rejected as it is considered prohibited.</td><td>No</td></tr><tr><td>RequestedByPayerBank-UnspecifiedReason</td><td>Payment has been rejected by the Payer institution without any specified reason. Please try again or contact the Payer institution.</td><td>No</td></tr><tr><td>PayeeNotOnAllowlistOfPayer </td><td>Payee not on the allowlist/trusted list of the Payer. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>PayeeOnBlocklistOfPayer </td><td>Payee is blocked/blacklisted by the Payer. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>ExceedsMaxAllowedDirectDebitTransactions </td><td>The payment request exceeds the maximum number of direct debit transactions allowed on the Payer account. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>ExceedsMaxAllowedDirectDebitTransactionAmount</td><td>The payment amount requested exceeds the maximum amount that can be debited from the Payer account via direct debit. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>UnexpectedError-RetrySamePayment </td><td>Unexpected error occurred while processing the payment initiation request. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>PayerUnavailable </td><td>Payer institution is unavailable. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>InvalidPayerPayID </td><td>PayID details of the Payer are no longer valid. Please update the agreement with correct details and try again or contact the Payer.</td><td>No</td></tr><tr><td>PayerBSBNotNPPReachable </td><td>Payer BSB is not NPP reachable. Please update the agreement with correct details and try again or contact the Payer.</td><td>No</td></tr><tr><td>PayerNotNPPReachable </td><td>Payer is no longer reachable on NPP. Please try again or cancel the agreement.</td><td>No</td></tr><tr><td>PayeeNotNPPReachable </td><td>Payee is no longer reachable on NPP. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>IncorrectPayerPayID </td><td>PayID details of the Payer are no longer valid as the PayID has been ported incorrectly. Please update the agreement with correct details and try again or contact the Payer.</td><td>No</td></tr><tr><td>NotRetryEligible </td><td>Retries are allowed only if the payment has been rejected with retry eligible rejection reasons.</td><td>No</td></tr><tr><td>EndToEndIDInvalidOrMissing </td><td>EndToEndID is either invalid or missing. Please correct the end to end id and retry the same payment again.</td><td>Yes</td></tr><tr><td>Non-CompliantPayment </td><td>Payment amount is not as per the agreed payment terms and conditions. Please correct the amount and retry the same payment again.</td><td>Yes</td></tr><tr><td>NPPLimitExceeded </td><td>Payment amount requested exceeds the agreed limits for the Payer account. Please correct the amount and retry the same payment again.</td><td>Yes</td></tr><tr><td>UnrecognisedInitiatingParty </td><td>The Payer has requested the payment rejection as the Initiating party is not recognised by them. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>UnknownPayer </td><td>The payment has been rejected by the Payer institution as the Payer is not known as per records. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>PayeeBSBNotNPPReachable </td><td>Payee BSB is not NPP reachable. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerNameOrAddressDetailsMissing </td><td>Payer name or address details are missing. Please update the agreement with complete Payer details and try again.</td><td>No</td></tr><tr><td>PayeeNameOrAddressDetailsMissing </td><td>Payee name or address details are missing. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnknownReason </td><td>Payment has been rejected due to unknown reason.</td><td>No</td></tr><tr><td>PayeeUnavailable </td><td>Payee institution is unavailable. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>PayerNameMissing </td><td>Payer name is missing. Please update the agreement with complete Payer details and try again.</td><td>No</td></tr><tr><td>PayeeNameMissing </td><td>Payee name is missing in the agreement. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnsupportedCurrency </td><td>Unable to debit funds in AUD from the provided Payer account.</td><td>No</td></tr><tr><td>AmountExceedsMaxNPPLimit </td><td>Payment amount either exceeds the maximum allowed NPP limit of $99,999,999,999 or maximum allowed NPP limit for the Payer account.</td><td>No</td></tr></table>"
    },
    "status_reason_description": {
      "type": "string",
      "description": "Free text field to provide reason description."
    },
    "payment_reconciled": {
      "type": "boolean",
      "description": "Indicator to say whether the payment has been reconciled successfully on user's wallet or not."
    },
    "created_at": {
      "type": "string",
      "description": "Payment request creation date."
    },
    "updated_at": {
      "type": "string",
      "description": "Payment request modification date."
    },
    "payment_info": {
      "$ref": "#/$defs/PaymentInfo"
    },
    "retry_attempts": {
      "$ref": "#/$defs/RetryAttempts"
    }
  },
  "$defs": {
    "PaymentInfo": {
      "type": "object",
      "properties": {
        "instruction_id": {
          "type": "string",
          "description": "Unique identifier for each payment and retry request generated as per NPPA guidelines."
        },
        "instructed_amount": {
          "type": "string",
          "description": "Specifies an amount in cents"
        },
        "last_payment": {
          "type": "boolean",
          "description": "Indicates a \"Yes\" or \"No\" type of answer for an element.",
          "default": false
        },
        "end_to_end_id": {
          "type": "string",
          "description": "Specifies a character string with a maximum length of 35 characters."
        },
        "remittance_info": {
          "type": "string",
          "description": "Specifies a character string with a maximum length of 280 characters."
        },
        "unique_superannuation_id": {
          "type": "string",
          "description": "Specifies a character string with a maximum length of 35 ASCII printable characters."
        },
        "unique_superannuation_code": {
          "type": "string",
          "description": "Specifies a character string with a maximum length of 35 ASCII printable characters."
        }
      },
      "description": "Payment Request details.\n \n **Property descriptions**: \n \n- **instruction_id** - Unique identifier for the payment request generated as per NPPA guidelines. This identifier is used to identify the payment uniquely with NPPA and payer as well.\n- **instructed_amount** - Specifies the amount to be debited the from debtor's bank account before deduction of charges.\n- **last_payment** - Indicates that it is the last payment associated with the agreement. Post this, the agreement will be marked as CANCELLED automatically and no further payments can be requested on this agreement.\n- **end_to_end_id** - Unique identification to unambiguously identify the payment. This identification is passed on, unchanged, throughout the entire end-to-end chain. It is recommended to provide this identifier which can be passed between entities to identify the payment during queries/investigations if any. If not provided, debtor reference (if available) from the agreement will be populated. If none available, default value \"NOTPROVIDED\" will be populated in the payment initiation request.\n- **remittance_info** - Free text field to provide any narrative for the payment.\n- **unique_superannuation_code** - For agreements created with PURPOSE_CODE = PENS (pension payments), this should be the USI number for the superannuation fund.\n- **unique_superannuation_id** - For agreements created with PURPOSE_CODE = PENS (pension payments), this should be the USI - code indicating the identifier to whom the superannuation fund will be provided."
    },
    "RetryAttempts": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "description": "Retries count.",
          "format": "int32"
        },
        "retry_info": {
          "type": "array",
          "description": "Retry info for initiate payment.",
          "items": {
            "$ref": "#/$defs/RetryInfo"
          }
        }
      },
      "description": "List of retry attempts for the payment request. \n \n **Property descriptions**: \n\n- **count** - Payment retry count. \n\n- **retry_info** - Payment information for each retry attempt, listed in descending order of retry attempts."
    },
    "RetryInfo": {
      "type": "object",
      "properties": {
        "instruction_id": {
          "type": "string",
          "description": "Unique identifier for each payment and retry request generated as per NPPA guidelines."
        },
        "status": {
          "title": "Status",
          "type": "string",
          "description": "Possible statuses for payment or retry requests:<table><tr><td>Code</td><td>Description</td></tr><tr><td>PAYMENT_INITIATION_REJECTED</td><td>Payment request is rejected.</td></tr></table>",
          "enum": [
            "PAYMENT_REJECTED"
          ]
        },
        "status_description": {
          "type": "string",
          "description": "Free text field to provide description status:"
        },
        "status_reason_code": {
          "type": "string",
          "description": "Free text field to provide reason code:<table><tr><td>Reason Code</td><td>Description</td><td>Retry eligible</td></tr><tr><td>ClearingAndSettlementError </td><td>An error occurred during clearing and settlement of the payment. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>PayeeBankOffline </td><td>Payee institution is offline. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerAccountNumberInvalid </td><td>Payer account details or PayID provided is invalid or does not exist within NPP. Please update the agreement with correct account details and try again.</td><td>No</td></tr><tr><td>PayeeAccountNumberInvalid </td><td>Payee account details provided is invalid or does not exist within NPP. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerAccountClosed </td><td>Payer account provided is closed. Please update the agreement with correct account details and try again.</td><td>No</td></tr><tr><td>InsufficientFunds </td><td>Payer account has insufficient funds at the moment. Please contact the payer and retry the same payment again after funds availability.</td><td>Yes</td></tr><tr><td>BlockedAccount </td><td>Account provided is temporarily blocked. Please retry the same payment again after some time or contact the payer.</td><td>Yes</td></tr><tr><td>PayeeAccountClosed </td><td>Payee account provided is closed. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerAccountTypeInvalid </td><td>Payer account type is invalid - unable to debit funds within NPP. Please update the agreement with correct account details and try again or contact the payer.</td><td>No</td></tr><tr><td>PayeeAccountTypeInvalid </td><td>Payee account type is invalid - unable to credit funds within NPP. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnexpectedError </td><td>Unexpected error occurred while processing the payment initiation request. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>TransactionForbiddenOnPayerAccount</td><td>Either the Payer account does not allow debits within NPP or agreement to debit the account is not active. Please update the agreement with correct account details and try again or contact the Payer.</td><td>No</td></tr><tr><td>NPPTransactionNotSupported </td><td>Payee institution has rejected the NPP payment from Payer institution. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnspecifiedReason </td><td>Payment initiation request has been rejected by the Payer institution without any specified reason.</td><td>Yes</td></tr><tr><td>RequestedByPayer </td><td>Payment rejection has been requested by the Payer. Please contact the Payer or retry the same payment again.</td><td>Yes</td></tr><tr><td>ClearingAndSettlementError </td><td>An error occurred during clearing and settlement of the payment. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>UndisclosedReason </td><td>Payment has been rejected due to undisclosed reasons.</td><td>No</td></tr><tr><td>RequestedByPayer-UnspecifiedReason </td><td>Payment has been rejected by the Payer without any specified reason. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>Prohibited </td><td>Payment has been rejected as it is considered prohibited.</td><td>No</td></tr><tr><td>RequestedByPayerBank-UnspecifiedReason</td><td>Payment has been rejected by the Payer institution without any specified reason. Please try again or contact the Payer institution.</td><td>No</td></tr><tr><td>PayeeNotOnAllowlistOfPayer </td><td>Payee not on the allowlist/trusted list of the Payer. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>PayeeOnBlocklistOfPayer </td><td>Payee is blocked/blacklisted by the Payer. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>ExceedsMaxAllowedDirectDebitTransactions </td><td>The payment request exceeds the maximum number of direct debit transactions allowed on the Payer account. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>ExceedsMaxAllowedDirectDebitTransactionAmount</td><td>The payment amount requested exceeds the maximum amount that can be debited from the Payer account via direct debit. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>UnexpectedError-RetrySamePayment </td><td>Unexpected error occurred while processing the payment initiation request. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>PayerUnavailable </td><td>Payer institution is unavailable. Please retry the same payment again or contact the Payer.</td><td>Yes</td></tr><tr><td>InvalidPayerPayID </td><td>PayID details of the Payer are no longer valid. Please update the agreement with correct details and try again or contact the Payer.</td><td>No</td></tr><tr><td>PayerBSBNotNPPReachable </td><td>Payer BSB is not NPP reachable. Please update the agreement with correct details and try again or contact the Payer.</td><td>No</td></tr><tr><td>PayerNotNPPReachable </td><td>Payer is no longer reachable on NPP. Please try again or cancel the agreement.</td><td>No</td></tr><tr><td>PayeeNotNPPReachable </td><td>Payee is no longer reachable on NPP. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>IncorrectPayerPayID </td><td>PayID details of the Payer are no longer valid as the PayID has been ported incorrectly. Please update the agreement with correct details and try again or contact the Payer.</td><td>No</td></tr><tr><td>NotRetryEligible </td><td>Retries are allowed only if the payment has been rejected with retry eligible rejection reasons.</td><td>No</td></tr><tr><td>EndToEndIDInvalidOrMissing </td><td>EndToEndID is either invalid or missing. Please correct the end to end id and retry the same payment again.</td><td>Yes</td></tr><tr><td>Non-CompliantPayment </td><td>Payment amount is not as per the agreed payment terms and conditions. Please correct the amount and retry the same payment again.</td><td>Yes</td></tr><tr><td>NPPLimitExceeded </td><td>Payment amount requested exceeds the agreed limits for the Payer account. Please correct the amount and retry the same payment again.</td><td>Yes</td></tr><tr><td>UnrecognisedInitiatingParty </td><td>The Payer has requested the payment rejection as the Initiating party is not recognised by them. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>UnknownPayer </td><td>The payment has been rejected by the Payer institution as the Payer is not known as per records. Please try again or contact the Payer.</td><td>No</td></tr><tr><td>PayeeBSBNotNPPReachable </td><td>Payee BSB is not NPP reachable. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>PayerNameOrAddressDetailsMissing </td><td>Payer name or address details are missing. Please update the agreement with complete Payer details and try again.</td><td>No</td></tr><tr><td>PayeeNameOrAddressDetailsMissing </td><td>Payee name or address details are missing. Please try again or contact Zai support.</td><td>No</td></tr><tr><td>UnknownReason </td><td>Payment has been rejected due to unknown reason.</td><td>No</td></tr><tr><td>PayeeUnavailable </td><td>Payee institution is unavailable. Please retry the same payment again or contact Zai support.</td><td>Yes</td></tr><tr><td>PayerNameMissing </td><td>Payer name is missing. Please update the agreement with complete Payer details and try again.</td><td>No</td></tr><tr><td>UnsupportedCurrency </td><td>Unable to debit funds in AUD from the provided Payer account.</td><td>No</td></tr><tr><td>AmountExceedsMaxNPPLimit </td><td>Payment amount either exceeds the maximum allowed NPP limit of $99,999,999,999 or maximum allowed NPP limit for the Payer account.</td><td>No</td></tr>"
        },
        "status_reason_description": {
          "type": "string",
          "description": "Free text field to provide reason description."
        },
        "created_at": {
          "type": "string",
          "description": "Payment request creation date."
        },
        "updated_at": {
          "type": "string",
          "description": "Payment request modification date."
        },
        "payment_info": {
          "$ref": "#/$defs/PaymentInfo"
        }
      },
      "description": "Payment information for each retry attempt. \n \n **Property descriptions**: \n \n- **instruction_id** - Unique identifier for the payment request generated as per NPPA guidelines. This identifier is used to identify the payment uniquely with NPPA and payer as well.\n- **status** - Current status of Initiate Payment Request.\n- **status_description** - Details/description for the status.\n - **created_at** - Date representation of the payment request creation.\n - **updated_at** - Date representation of the last update of the payment request.\n- **payment_info** - Payment info for payment request."
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/assembly-payments-initiate-payment-status-response"
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.