# April API Version: 3.0 ## Servers Sandbox ``` https://api.sandbox.au.meetapril.io ``` Production ``` https://api.au.meetapril.io ``` ## Security ### Enterprise API Key | Marketplace API Key | Admin JWT | Marketplace JWT | Customer JWT Enterprise API Key or Marketplace API Key or Admin JWT or Marketplace JWT or Customer JWT Type: http Scheme: bearer ### Enterprise API Key | Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT Enterprise API Key or Marketplace API Key or Merchant Secret Token or Admin JWT or Merchant JWT or Marketplace JWT or Customer JWT Type: http Scheme: bearer ### Enterprise API Key | Marketplace API Key | Merchant Secret Token | Customer API Key | Merchant JWT | Customer JWT Enterprise API Key or Marketplace API Key or Merchant Secret Token or Customer API Key or Merchant JWT or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Admin JWT | Customer JWT Marketplace API Key or Admin JWT or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Admin JWT | Marketplace JWT Marketplace API Key or Admin JWT or Marketplace JWT Type: http Scheme: bearer ### Marketplace API Key | Admin JWT | Merchant JWT | Marketplace JWT Marketplace API Key or Admin JWT or Merchant JWT or Marketplace JWT Type: http Scheme: bearer ### Marketplace API Key | Enterprise API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT Marketplace API Key or Enterprise API Key or Merchant Secret Token or Admin JWT or Merchant JWT or Marketplace JWT or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Marketplace JWT | Admin JWT Marketplace API Key or Marketplace JWT or Admin JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant JWT | Marketplace JWT | Admin JWT Marketplace API Key or Merchant JWT or Marketplace JWT or Admin JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT Marketplace API Key or Merchant Public Token or Merchant Secret Token or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT Marketplace API Key or Merchant Public Token or Merchant Secret Token or Customer JWT or Merchant JWT or Marketplace JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT Marketplace API Key or Merchant Public Token or Merchant Secret Token or Customer JWT or Merchant JWT or Marketplace JWT or Admin JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token Marketplace API Key or Merchant Secret Token Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Admin JWT | Customer JWT Marketplace API Key or Merchant Secret Token or Admin JWT or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT Marketplace API Key or Merchant Secret Token or Admin JWT or Marketplace JWT or Merchant JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT Marketplace API Key or Merchant Secret Token or Admin JWT or Merchant JWT or Marketplace JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT Marketplace API Key or Merchant Secret Token or Admin JWT or Merchant JWT or Marketplace JWT or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Customer JWT Marketplace API Key or Merchant Secret Token or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Marketplace JWT | Merchant JWT Marketplace API Key or Merchant Secret Token or Marketplace JWT or Merchant JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Merchant JWT Marketplace API Key or Merchant Secret Token or Merchant JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT Marketplace API Key or Merchant Secret Token or Merchant JWT or Marketplace JWT or Admin JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT Marketplace API Key or Merchant Secret Token or Merchant JWT or Marketplace JWT or Admin JWT or Customer JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Pay By Link Token Marketplace API Key or Merchant Secret Token or Pay By Link Token Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Marketplace JWT | Merchant JWT Marketplace API Key or Merchant Secret Token or Pay By Link Token or Admin JWT or Marketplace JWT or Merchant JWT Type: http Scheme: bearer ### Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Merchant JWT | Marketplace JWT Marketplace API Key or Merchant Secret Token or Pay By Link Token or Admin JWT or Merchant JWT or Marketplace JWT Type: http Scheme: bearer ## Download OpenAPI description [April API](https://docs.meetapril.io/_bundle/openapi/april-public/index.yaml) ## Authentication These endpoints provide various methods for authenticating users from a backend service. * **POST** [/auth/signin](/openapi/april-public/operation/SignInCustomer/) Sign-in from a backend service on behalf of a consumer customer (B2C) or customer delegate (B2B) ### Sign In Customer - [POST /auth/signin](https://docs.meetapril.io/openapi/april-public/authentication/signincustomer.md): Sign-in from a backend service on behalf of a consumer customer (B2C) or customer delegate (B2B). Used by custom integrations and e-commerce plugins as a form of single-sign-on for the checkout. If the customer has been authenticated with the merchant's website, this lets them also authenticate a known customer with April. This is a pre-requisite for using the checkout for a B2B customer. For both B2B and B2C customers having an authenticated session with the checkout also unlocks access to saved cards as a payment source. Note merchants need to have been registered as supporting B2B customer when onboarded to be able to support B2B customers in the checkout. ## Customers A person or business purchasing goods or services from a merchant using Spenda to facilitate the payment. Customers are defined at the merchant level, so if an individual makes payments with multiple merchants, they will have a customer record for each of these merchants. Spenda supports two broad categories of customers: **Consumer customers** are individuals typically making purchases from the merchant via e-commerce websites. They are uniquely identified by `emailAddress` for a given merchant. **Organisation customers** represent businesses wishing to make purchases from the merchant. They are uniquely identified by `referenceCustomerId` for a given merchant. * **GET** [/customers](/openapi/april-public/operation/QueryCustomers/) Return a paginated list of matching customers * **POST** [/customers](/openapi/april-public/operation/UpsertCustomer/) Create a new customer or update the details of an existing customer * **GET** [/customers/{customerId}](/openapi/april-public/operation/GetCustomer/) Return details of a customer * **POST** [/customers/kyc](/openapi/april-public/operation/KycCustomer/) Perform a Know Your Customer (KYC) check on a consumer customer * **GET** [/customers/delegates](/openapi/april-public/operation/QueryCustomerDelegates/) Return a paginated list of matching customer delegates * **GET** [/customers/delegates/{customerDelegateId}](/openapi/april-public/operation/GetCustomerDelegate/) Return details of a customer delegate * **PATCH** [/customers/delegates/{customerDelegateId}](/openapi/april-public/operation/UpdateCustomerDelegate/) Various actions for updating a customer delegate such as linking to a new customer * **DELETE** [/customers/delegates/{customerDelegateId}](/openapi/april-public/operation/DeleteCustomerDelegate/) Delete a customer delegate ### Query Customers - [GET /customers](https://docs.meetapril.io/openapi/april-public/customers/querycustomers.md): Return a paginated list of matching customers. ### Upsert Customer - [POST /customers](https://docs.meetapril.io/openapi/april-public/customers/upsertcustomer.md): Create a new customer or update the details of an existing customer. For consumer customers, the email address and merchant identifier constitute the business key. For organisation customers, the customer reference id and the merchant identifier constitute the business key. If a record with the same business key already exists, then it is updated with the provided details, otherwise a new customer is added. ### Get Customer - [GET /customers/{customerId}](https://docs.meetapril.io/openapi/april-public/customers/getcustomer.md): Return details of a customer. ### Kyc Customer - [POST /customers/kyc](https://docs.meetapril.io/openapi/april-public/customers/kyccustomer.md): Perform a Know Your Customer (KYC) check on a consumer customer. The response may indicate that more details are required in which case subsequent calls with the additional details can be made. See Know Your Customer for more details. Alpha release - Consider this endpoint experimental and very likely to change in future. ### Query Customer Delegates - [GET /customers/delegates](https://docs.meetapril.io/openapi/april-public/customers/querycustomerdelegates.md): Return a paginated list of matching customer delegates. ### Get Customer Delegate - [GET /customers/delegates/{customerDelegateId}](https://docs.meetapril.io/openapi/april-public/customers/getcustomerdelegate.md): Return details of a customer delegate. ### Delete Customer Delegate - [DELETE /customers/delegates/{customerDelegateId}](https://docs.meetapril.io/openapi/april-public/customers/deletecustomerdelegate.md): Delete a customer delegate. ### Update Customer Delegate - [PATCH /customers/delegates/{customerDelegateId}](https://docs.meetapril.io/openapi/april-public/customers/updatecustomerdelegate.md): Various actions for updating a customer delegate such as linking to a new customer. ## Merchants A business or individual that uses Spenda to facilitate payments for their customers. * **GET** [/merchants](/openapi/april-public/operation/QueryMerchants/) Return a paginated list of matching merchants * **POST** [/merchants](/openapi/april-public/operation/CreateMerchant/) Create a new sub-merchant within the context of a marketplace * **GET** [/merchants/{merchantId}](/openapi/april-public/operation/GetMerchant/) Return details of a merchant * **PATCH** [/merchants/{merchantId}](/openapi/april-public/operation/UpdateMerchant/) Various actions for updating a merchant such as updating the bank account used for payouts * **GET** [/merchants/{merchantId}/balances](/openapi/april-public/operation/QueryBalances/) Query the account balances of a merchant * **POST** [/merchants/{merchantId}/files](/openapi/april-public/operation/UploadMerchantFile/) Upload a document scan as part of the merchant onboarding profile * **GET** [/merchants/{merchantId}/files/{fileId}](/openapi/april-public/operation/GetMerchantFile/) Get details on a merchant onboarding file * **GET** [/merchants/{merchantId}/applepay](/openapi/april-public/operation/GetMerchantApplePayDomains/) Get the domains registered for ApplePay for the specified merchant * **GET** [/merchants/{merchantId}/owners](/openapi/april-public/operation/ListBeneficialOwners/) Return details of all beneficial owners for the given merchant * **POST** [/merchants/{merchantId}/owners](/openapi/april-public/operation/CreateBeneficialOwner/) Create a beneficial owner for the given merchant * **GET** [/merchants/{merchantId}/owners/{ownerId}](/openapi/april-public/operation/GetBeneficialOwner/) Return details of a beneficial owner * **PUT** [/merchants/{merchantId}/owners/{ownerId}](/openapi/april-public/operation/ReplaceBeneficialOwner/) Overwrite an existing beneficial owner * **DELETE** [/merchants/{merchantId}/owners/{ownerId}](/openapi/april-public/operation/DeleteBeneficialOwner/) Delete a beneficial owner * **GET** [/merchants/industries](/openapi/april-public/operation/GetIndustries/) List all industries we currently support ### Query Merchants - [GET /merchants](https://docs.meetapril.io/openapi/april-public/merchants/querymerchants.md): Return a paginated list of matching merchants. ### Create Merchant - [POST /merchants](https://docs.meetapril.io/openapi/april-public/merchants/createmerchant.md): Create a new sub-merchant within the context of a marketplace. ### Get Merchant - [GET /merchants/{merchantId}](https://docs.meetapril.io/openapi/april-public/merchants/getmerchant.md): Return details of a merchant. ### Update Merchant - [PATCH /merchants/{merchantId}](https://docs.meetapril.io/openapi/april-public/merchants/updatemerchant.md): Various actions for updating a merchant such as updating the bank account used for payouts. ### Query Balances - [GET /merchants/{merchantId}/balances](https://docs.meetapril.io/openapi/april-public/merchants/querybalances.md): Query the account balances of a merchant. ### Upload Merchant File - [POST /merchants/{merchantId}/files](https://docs.meetapril.io/openapi/april-public/merchants/uploadmerchantfile.md): Upload a document scan as part of the merchant onboarding profile. The maximum permitted file size is 10MB. Supported file types are JPEG, PNG and PDF. ### Get Merchant File - [GET /merchants/{merchantId}/files/{fileId}](https://docs.meetapril.io/openapi/april-public/merchants/getmerchantfile.md): Get details on a merchant onboarding file ### Get Merchant Apple Pay Domains - [GET /merchants/{merchantId}/applepay](https://docs.meetapril.io/openapi/april-public/merchants/getmerchantapplepaydomains.md): Get the domains registered for ApplePay for the specified merchant ### List Beneficial Owners - [GET /merchants/{merchantId}/owners](https://docs.meetapril.io/openapi/april-public/merchants/listbeneficialowners.md): Return details of all beneficial owners for the given merchant. ### Create Beneficial Owner - [POST /merchants/{merchantId}/owners](https://docs.meetapril.io/openapi/april-public/merchants/createbeneficialowner.md): Create a beneficial owner for the given merchant. ### Get Beneficial Owner - [GET /merchants/{merchantId}/owners/{ownerId}](https://docs.meetapril.io/openapi/april-public/merchants/getbeneficialowner.md): Return details of a beneficial owner. ### Replace Beneficial Owner - [PUT /merchants/{merchantId}/owners/{ownerId}](https://docs.meetapril.io/openapi/april-public/merchants/replacebeneficialowner.md): Overwrite an existing beneficial owner. ### Delete Beneficial Owner - [DELETE /merchants/{merchantId}/owners/{ownerId}](https://docs.meetapril.io/openapi/april-public/merchants/deletebeneficialowner.md): Delete a beneficial owner. ### Get Industries - [GET /merchants/industries](https://docs.meetapril.io/openapi/april-public/merchants/getindustries.md): List all industries we currently support. Merchants in April need to be assigned an industry during onboarding. ## Payment sources A payment source represents a reusable source of funds to use for payments. * **GET** [/sources/{sourceId}](/openapi/april-public/operation/GetPaymentSource/) * **DELETE** [/sources/{sourceId}](/openapi/april-public/operation/DeletePaymentSource/) * **POST** [/sources](/openapi/april-public/operation/CreatePaymentSource/) Register a payment source that may be used to pay for one or more payments * **GET** [/sources](/openapi/april-public/operation/QueryPaymentSources/) Return a paginated list of matching payment sources * **GET** [/sources/blockedcards](/openapi/april-public/operation/QueryBlockedCardEvents/) Return a paginated list of events related to cards that have been blocked * **PATCH** [/sources/blockedcards/{cardBlockId}](/openapi/april-public/operation/UpdateBlockedCard/) Update actions on blocked cards ### Get Payment Source - [GET /sources/{sourceId}](https://docs.meetapril.io/openapi/april-public/payment-sources/getpaymentsource.md) ### Delete Payment Source - [DELETE /sources/{sourceId}](https://docs.meetapril.io/openapi/april-public/payment-sources/deletepaymentsource.md) ### Query Payment Sources - [GET /sources](https://docs.meetapril.io/openapi/april-public/payment-sources/querypaymentsources.md): Return a paginated list of matching payment sources. ### Create Payment Source - [POST /sources](https://docs.meetapril.io/openapi/april-public/payment-sources/createpaymentsource.md): Register a payment source that may be used to pay for one or more payments. For integrators who wish to call this endpoint directly, you must be PCI certified since you will be handling raw card details. ### Query Blocked Card Events - [GET /sources/blockedcards](https://docs.meetapril.io/openapi/april-public/payment-sources/queryblockedcardevents.md): Return a paginated list of events related to cards that have been blocked. ### Update Blocked Card - [PATCH /sources/blockedcards/{cardBlockId}](https://docs.meetapril.io/openapi/april-public/payment-sources/updateblockedcard.md): Update actions on blocked cards. ## Payment tokens A payment token represents a single use reference to a source of funds that can be used to pay for an order. * **POST** [/tokens](/openapi/april-public/operation/CreatePaymentToken/) Generate a pay-in-full payment token based on the provided payment source * **GET** [/tokens/{paymentTokenId}](/openapi/april-public/operation/QueryPaymentToken/) Get the details for a pay-in-full payment token * **POST** [/tokens/{merchantId}/surchargequote](/openapi/april-public/operation/CalculateSurcharge/) Calculates the surcharged amounts for the specified payment type ### Create Payment Token - [POST /tokens](https://docs.meetapril.io/openapi/april-public/payment-tokens/createpaymenttoken.md): Generate a pay-in-full payment token based on the provided payment source. The token can be used to pay for an order of the given amount and currency. Authenticated customers can only create tokens for themselves and not for other customers. All other clients may specify the customer they wish to be associated with the payment token using the Customer-Id header or by providing a customer specific payment source. If authenticating with a merchant public key, you cannot use a customer specific payment source. For marketplace clients, you will need to indicate the merchant to create the token against using the Merchant-Id header. ### Query Payment Token - [GET /tokens/{paymentTokenId}](https://docs.meetapril.io/openapi/april-public/payment-tokens/querypaymenttoken.md): Get the details for a pay-in-full payment token. ### Calculate Surcharge - [POST /tokens/{merchantId}/surchargequote](https://docs.meetapril.io/openapi/april-public/payment-tokens/calculatesurcharge.md): Calculates the surcharged amounts for the specified payment type. ## Pay plans A pay plan represents a payment where the Spenda platform has extended a loan to make a purchase that the customer pays back over one or more instalments. * **POST** [/payplans/offer](/openapi/april-public/operation/CreatePayPlanOffer/) Create a pay plan offer for a registered and KYC'd merchant customer * **GET** [/payplans](/openapi/april-public/operation/QueryPayPlans/) Return a paginated list of matching pay plans * **POST** [/payplans](/openapi/april-public/operation/CreatePayPlan/) Create a pay plan and payment token from a successful pay plan offer * **GET** [/payplans/{payPlanId}](/openapi/april-public/operation/GetPayPlan/) Return details of a pay plan * **POST** [/payplans/max](/openapi/april-public/operation/CalculatePayPlanMaxLoan/) Return the maximum loan amount the given customer is currently eligible for * **POST** [/payplans/parameters](/openapi/april-public/operation/CalculatePayPlanParameters/) Calculate the pay plan parameters for the given amount and list of variants ### Create Pay Plan Offer - [POST /payplans/offer](https://docs.meetapril.io/openapi/april-public/pay-plans/createpayplanoffer.md): Create a pay plan offer for a registered and KYC'd merchant customer. The offer returned must be used to create a pay plan within 10 minutes. After this point, generate a new offer by calling this endpoint again. If called with a customer JWT, the pay plan is created for that customer, otherwise the customer must be provided via the Customer-Id request header. ### Query Pay Plans - [GET /payplans](https://docs.meetapril.io/openapi/april-public/pay-plans/querypayplans.md): Return a paginated list of matching pay plans. ### Create Pay Plan - [POST /payplans](https://docs.meetapril.io/openapi/april-public/pay-plans/createpayplan.md): Create a pay plan and payment token from a successful pay plan offer. The payment token can be used to pay for an order for the matching amount and merchant. If called with a customer JWT, the pay plan is created for that customer, otherwise the customer must be provided via the Customer-Id request header. ### Get Pay Plan - [GET /payplans/{payPlanId}](https://docs.meetapril.io/openapi/april-public/pay-plans/getpayplan.md): Return details of a pay plan. ### Calculate Pay Plan Max Loan - [POST /payplans/max](https://docs.meetapril.io/openapi/april-public/pay-plans/calculatepayplanmaxloan.md): Return the maximum loan amount the given customer is currently eligible for. ### Calculate Pay Plan Parameters - [POST /payplans/parameters](https://docs.meetapril.io/openapi/april-public/pay-plans/calculatepayplanparameters.md): Calculate the pay plan parameters for the given amount and list of variants. Beta release - This endpoint is close to being finalised but non-backward compatible changes to parameters and behaviour may still occur. ## Orders An order captures the details of the goods or services that the customer is purchasing from the merchant. * **GET** [/orders](/openapi/april-public/operation/QueryOrders/) Return a paginated list of matching orders * **POST** [/orders](/openapi/april-public/operation/CreateOrder/) Creates a new order * **POST** [/orders/{orderId}/pay](/openapi/april-public/operation/PayOrder/) Pay for an order using a payment token * **GET** [/orders/{orderId}](/openapi/april-public/operation/GetOrder/) Retrieves an order * **DELETE** [/orders/{orderId}](/openapi/april-public/operation/CancelOrder/) Cancels an order, invalidating it from being payable * **PATCH** [/orders/{orderId}](/openapi/april-public/operation/UpdateOrder/) Actions for modifying an existing order ### Query Orders - [GET /orders](https://docs.meetapril.io/openapi/april-public/orders/queryorders.md): Return a paginated list of matching orders ### Create Order - [POST /orders](https://docs.meetapril.io/openapi/april-public/orders/createorder.md): Creates a new order ### Pay Order - [POST /orders/{orderId}/pay](https://docs.meetapril.io/openapi/april-public/orders/payorder.md): Pay for an order using a payment token. Make sure you read the Error Handling page as you will need to add some logic to handle a 3DS challenge for card based payments. 3DS may be required for several reasons including * Explicitly requesting it in the request * An eligibility requirement to establish a pay plan * Required by the card issuer ### Get Order - [GET /orders/{orderId}](https://docs.meetapril.io/openapi/april-public/orders/getorder.md): Retrieves an order ### Cancel Order - [DELETE /orders/{orderId}](https://docs.meetapril.io/openapi/april-public/orders/cancelorder.md): Cancels an order, invalidating it from being payable. ### Update Order - [PATCH /orders/{orderId}](https://docs.meetapril.io/openapi/april-public/orders/updateorder.md): Actions for modifying an existing order ## Simulation Sandbox only endpoints for simulating external events such as a bank transfer. * **POST** [/simulation](/openapi/april-public/operation/Simulation/) Sandbox only endpoint to simulate external events such as a bank transfer being performed ### Simulation - [POST /simulation](https://docs.meetapril.io/openapi/april-public/simulation/simulation.md): Sandbox only endpoint to simulate external events such as a bank transfer being performed ## Transactions A transaction is a payment from the perspective of a merchant. The transaction shows how much the merchant will be paid, if they have been paid already and whether there have been any refunds. * **GET** [/transactions/{transactionId}](/openapi/april-public/operation/GetTransaction/) Return details of a transaction * **GET** [/transactions](/openapi/april-public/operation/QueryTransactions/) Return a paginated list of matching transactions * **PATCH** [/transactions/{transactionId}](/openapi/april-public/operation/UpdateTransaction/) Various actions for updating a transaction such as issuing a refund * **POST** [/transactions/payouts](/openapi/april-public/operation/CreateManualPayout/) Request to create a manual payout for a merchant * **GET** [/transactions/payouts](/openapi/april-public/operation/QueryPayoutSummaries/) Return a paginated list of matching payout summaries * **GET** [/transactions/payouts/{payoutId}](/openapi/april-public/operation/GetPayoutDetails/) Return an aggregated breakdown of the money movements included in the payout along with details of the disbursement itself * **GET** [/transactions/invoices](/openapi/april-public/operation/QueryMerchantInvoices/) Return a paginated list of matching merchant invoices * **GET** [/transactions/invoices/{invoiceId}](/openapi/april-public/operation/GetMerchantInvoiceDetails/) Return an aggregated breakdown of the money movements included in the invoice along with billing details * **GET** [/transactions/invoices/{invoiceId}/pdf](/openapi/april-public/operation/GetMerchantInvoicePdf/) Return a PDF of the merchant invoice intended to be sent to the payer merchant * **GET** [/transactions/settlement](/openapi/april-public/operation/QuerySettlementEntries/) Return a paginated list of all settlement entries matching the given search criteria * **GET** [/transactions/settlement/report](/openapi/april-public/operation/ReportSettlementEntries/) Return a list of all settlement entries matching the given search criteria * **GET** [/transactions/disputes](/openapi/april-public/operation/QueryDisputes/) Return a paginated list of all disputes matching the given search criteria * **GET** [/transactions/refunds](/openapi/april-public/operation/QueryRefunds/) Return a paginated list of matching refunds ### Get Transaction - [GET /transactions/{transactionId}](https://docs.meetapril.io/openapi/april-public/transactions/gettransaction.md): Return details of a transaction. ### Update Transaction - [PATCH /transactions/{transactionId}](https://docs.meetapril.io/openapi/april-public/transactions/updatetransaction.md): Various actions for updating a transaction such as issuing a refund. ### Query Transactions - [GET /transactions](https://docs.meetapril.io/openapi/april-public/transactions/querytransactions.md): Return a paginated list of matching transactions. ### Query Payout Summaries - [GET /transactions/payouts](https://docs.meetapril.io/openapi/april-public/transactions/querypayoutsummaries.md): Return a paginated list of matching payout summaries. ### Create Manual Payout - [POST /transactions/payouts](https://docs.meetapril.io/openapi/april-public/transactions/createmanualpayout.md): Request to create a manual payout for a merchant. Merchants can only request manual payouts if they have a sufficient available balance. This call requires manual payouts to be enabled for the merchant. ### Get Payout Details - [GET /transactions/payouts/{payoutId}](https://docs.meetapril.io/openapi/april-public/transactions/getpayoutdetails.md): Return an aggregated breakdown of the money movements included in the payout along with details of the disbursement itself. ### Query Merchant Invoices - [GET /transactions/invoices](https://docs.meetapril.io/openapi/april-public/transactions/querymerchantinvoices.md): Return a paginated list of matching merchant invoices. ### Get Merchant Invoice Details - [GET /transactions/invoices/{invoiceId}](https://docs.meetapril.io/openapi/april-public/transactions/getmerchantinvoicedetails.md): Return an aggregated breakdown of the money movements included in the invoice along with billing details. ### Get Merchant Invoice Pdf - [GET /transactions/invoices/{invoiceId}/pdf](https://docs.meetapril.io/openapi/april-public/transactions/getmerchantinvoicepdf.md): Return a PDF of the merchant invoice intended to be sent to the payer merchant. ### Query Settlement Entries - [GET /transactions/settlement](https://docs.meetapril.io/openapi/april-public/transactions/querysettlemententries.md): Return a paginated list of all settlement entries matching the given search criteria. If payoutId is not specified, currency, createdAfter and createdBefore must all be provided. ### Report Settlement Entries - [GET /transactions/settlement/report](https://docs.meetapril.io/openapi/april-public/transactions/reportsettlemententries.md): Return a list of all settlement entries matching the given search criteria. If payoutId is not specified, currency, createdAfter and createdBefore must all be provided. Use Accept request header to specify either application/json or text/csv responses. The JSON variant includes an aggregated summary of the matching entries. ### Query Disputes - [GET /transactions/disputes](https://docs.meetapril.io/openapi/april-public/transactions/querydisputes.md): Return a paginated list of all disputes matching the given search criteria. ### Query Refunds - [GET /transactions/refunds](https://docs.meetapril.io/openapi/april-public/transactions/queryrefunds.md): Return a paginated list of matching refunds. ## Marketplaces A B2B2C setup where an entity with business customers (sub-merchants) uses Spenda to facilitate payments for their customers' customers. * **GET** [/marketplaces/{marketplaceId}](/openapi/april-public/operation/GetMarketplace/) Return details of a marketplace * **POST** [/marketplaces/customer](/openapi/april-public/operation/UpsertMarketplaceCustomer/) Marketplace customers allow marketplaces to onboard their customers once and have them available over all their sub-merchants ### Get Marketplace - [GET /marketplaces/{marketplaceId}](https://docs.meetapril.io/openapi/april-public/marketplaces/getmarketplace.md): Return details of a marketplace. ### Upsert Marketplace Customer - [POST /marketplaces/customer](https://docs.meetapril.io/openapi/april-public/marketplaces/upsertmarketplacecustomer.md): Marketplace customers allow marketplaces to onboard their customers once and have them available over all their sub-merchants. To set up payments for these payments, generate the merchant customer for the relevant sub-merchant using Upsert Customer ## Webhooks Webhooks are a mechanism where merchants and marketplaces can register an endpoints against one or more events. When these events occur, a POST HTTP request is made to the registered endpoint with the event details. * **GET** [/webhooks](/openapi/april-public/operation/QueryWebhookSubscriptions/) Return a paginated list of matching webhook subscriptions * **POST** [/webhooks](/openapi/april-public/operation/CreateWebhookSubscription/) Create a new webhook subscription * **GET** [/webhooks/{id}](/openapi/april-public/operation/GetWebhookSubscription/) Return details of a webhook subscription * **PATCH** [/webhooks/{id}](/openapi/april-public/operation/UpdateWebhookSubscription/) Update an existing webhook subscription ### Query Webhook Subscriptions - [GET /webhooks](https://docs.meetapril.io/openapi/april-public/webhooks/querywebhooksubscriptions.md): Return a paginated list of matching webhook subscriptions. ### Create Webhook Subscription - [POST /webhooks](https://docs.meetapril.io/openapi/april-public/webhooks/createwebhooksubscription.md): Create a new webhook subscription. If called with a marketplace API key, the subscription will be at the marketplace level. If called with merchant credentials or if the Merchant-Id header is provided, the subscription will be at the merchant level. ### Get Webhook Subscription - [GET /webhooks/{id}](https://docs.meetapril.io/openapi/april-public/webhooks/getwebhooksubscription.md): Return details of a webhook subscription. ### Update Webhook Subscription - [PATCH /webhooks/{id}](https://docs.meetapril.io/openapi/april-public/webhooks/updatewebhooksubscription.md): Update an existing webhook subscription. ## Loans Loans are payment products where credit is extended by a loan facility to a borrower. The borrower can be either an individual or a business depending on the loan product in question. * **GET** [/loans](/openapi/april-public/operation/QueryLoanSummaries/) Return a paginated list of matching loan summaries * **GET** [/loans/statements/{loanStatementId}](/openapi/april-public/operation/GetLoanStatementSummary/) Return a loan statement summary * **GET** [/loans/statements](/openapi/april-public/operation/QueryLoanStatementSummaries/) Return a paginated list of matching loan statement summaries * **GET** [/loans/statements/entries](/openapi/april-public/operation/QueryLoanStatementEntries/) Return a paginated list of matching loan statement entries * **GET** [/loans/enterprise/statements/{loanStatementId}/download](/openapi/april-public/operation/DownloadLoanStatement/) Return a loan statement report in either CSV, PDF or XML format * **GET** [/loans/statements/entries/report](/openapi/april-public/operation/ReportLoanStatementEntries/) Return a list of all loan statement entries matching the given search criteria ### Query Loan Summaries - [GET /loans](https://docs.meetapril.io/openapi/april-public/loans/queryloansummaries.md): Return a paginated list of matching loan summaries. ### Get Loan Statement Summary - [GET /loans/statements/{loanStatementId}](https://docs.meetapril.io/openapi/april-public/loans/getloanstatementsummary.md): Return a loan statement summary. ### Query Loan Statement Summaries - [GET /loans/statements](https://docs.meetapril.io/openapi/april-public/loans/queryloanstatementsummaries.md): Return a paginated list of matching loan statement summaries. ### Query Loan Statement Entries - [GET /loans/statements/entries](https://docs.meetapril.io/openapi/april-public/loans/queryloanstatemententries.md): Return a paginated list of matching loan statement entries. Alpha release - Consider this endpoint experimental and very likely to change in future. ### Download Loan Statement - [GET /loans/enterprise/statements/{loanStatementId}/download](https://docs.meetapril.io/openapi/april-public/loans/downloadloanstatement.md): Return a loan statement report in either CSV, PDF or XML format. The report is provided in a password protected zip file. ### Report Loan Statement Entries - [GET /loans/statements/entries/report](https://docs.meetapril.io/openapi/april-public/loans/reportloanstatemententries.md): Return a list of all loan statement entries matching the given search criteria. If loanSettlementId or loanId is not specified, currency, and a date range (either created at or due on) must be provided. Alpha release - Consider this endpoint experimental and very likely to change in future. ## Card issuer Endpoints related to the issuing of digital cards, typically associated with a trade account based loan. * **POST** [/issuer/card](/openapi/april-public/operation/AdministerDigitalCard/) Administer digital card(s) * **GET** [/issuer/card](/openapi/april-public/operation/QueryDigitalCards/) Return a paginated list of matching digital card summaries ### Query Digital Cards - [GET /issuer/card](https://docs.meetapril.io/openapi/april-public/card-issuer/querydigitalcards.md): Return a paginated list of matching digital card summaries. ### Administer Digital Card - [POST /issuer/card](https://docs.meetapril.io/openapi/april-public/card-issuer/administerdigitalcard.md): Administer digital card(s). ## PayTo ### Pay To Lookup Alias - [GET /payto/alias](https://docs.meetapril.io/openapi/april-public/payto/paytolookupalias.md): Returns the display name for the account alias ### Pay To Get Agreement State - [GET /payto/agreement](https://docs.meetapril.io/openapi/april-public/payto/paytogetagreementstate.md): Get agreement state ### Pay To Send Agreement - [POST /payto/agreement](https://docs.meetapril.io/openapi/april-public/payto/paytosendagreement.md): Send agreement request to customer