@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Management API
@base https://management-test.adyen.com/v1
@version 1
@auth ApiKey X-API-Key in header | Bearer basic
@endpoints 130
@hint download_for_search
@toc companies(43), me(6), merchants(67), stores(8), terminals(6)

@group companies
@endpoint GET /companies
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}
@required {companyId: str}
@returns(200) {_links: map{apiCredentials: map{href: str}, self: map{href: str}, users: map{href: str}, webhooks: map{href: str}}, dataCenters: [map], description: str, id: str, name: str, reference: str, status: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/androidApps
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32), packageName: str, versionCode: int(int32)}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/androidApps/{id}
@required {companyId: str, id: str}
@returns(200) {description: str, errorCode: str, id: str, label: str, packageName: str, status: str, versionCode: int(int32), versionName: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/androidCertificates
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32), certificateName: str}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/apiCredentials
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/apiCredentials
@required {companyId: str}
@optional {allowedOrigins: [str], associatedMerchantAccounts: [str], description: str, roles: [str]}
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], apiKey: str, associatedMerchantAccounts: [str], clientKey: str, description: str, id: str, password: str, roles: [str], username: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/apiCredentials/{apiCredentialId}
@required {companyId: str, apiCredentialId: str}
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], associatedMerchantAccounts: [str], clientKey: str, description: str, id: str, roles: [str], username: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /companies/{companyId}/apiCredentials/{apiCredentialId}
@required {companyId: str, apiCredentialId: str}
@optional {active: bool, allowedOrigins: [str], associatedMerchantAccounts: [str], description: str, roles: [str]}
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], associatedMerchantAccounts: [str], clientKey: str, description: str, id: str, roles: [str], username: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins
@required {companyId: str, apiCredentialId: str}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins
@required {companyId: str, apiCredentialId: str, domain: str}
@optional {_links: map{self!: map}, id: str}
@returns(200) {_links: map{self: map{href: str}}, domain: str, id: str}
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId}
@required {companyId: str, apiCredentialId: str, originId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId}
@required {companyId: str, apiCredentialId: str, originId: str}
@returns(200) {_links: map{self: map{href: str}}, domain: str, id: str}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/apiCredentials/{apiCredentialId}/generateApiKey
@required {companyId: str, apiCredentialId: str}
@returns(200) {apiKey: str}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/apiCredentials/{apiCredentialId}/generateClientKey
@required {companyId: str, apiCredentialId: str}
@returns(200) {clientKey: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/billingEntities
@required {companyId: str}
@optional {name: str}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/merchants
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/shippingLocations
@required {companyId: str}
@optional {name: str, offset: int(int32), limit: int(int32)}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/shippingLocations
@required {companyId: str}
@optional {address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}
@returns(200) {address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalActions
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32), status: str, type: str}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalActions/{actionId}
@required {companyId: str, actionId: str}
@returns(200) {actionType: str, config: str, confirmedAt: str(date-time), id: str, result: str, scheduledAt: str(date-time), status: str, terminalId: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalLogos
@required {companyId: str, model: str}
@returns(200) {data: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /companies/{companyId}/terminalLogos
@required {companyId: str, model: str}
@optional {data: str}
@returns(200) {data: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalModels
@required {companyId: str}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalOrders
@required {companyId: str}
@optional {customerOrderReference: str, status: str, offset: int(int32), limit: int(int32)}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/terminalOrders
@required {companyId: str}
@optional {billingEntityId: str, customerOrderReference: str, items: [map{id: str, installments: int(int64), name: str, quantity: int(int32)}], orderType: str, shippingLocationId: str, taxId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalOrders/{orderId}
@required {companyId: str, orderId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /companies/{companyId}/terminalOrders/{orderId}
@required {companyId: str, orderId: str}
@optional {billingEntityId: str, customerOrderReference: str, items: [map{id: str, installments: int(int64), name: str, quantity: int(int32)}], orderType: str, shippingLocationId: str, taxId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/terminalOrders/{orderId}/cancel
@required {companyId: str, orderId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalProducts
@required {companyId: str, country: str}
@optional {terminalModelId: str, offset: int(int32), limit: int(int32)}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/terminalSettings
@required {companyId: str}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /companies/{companyId}/terminalSettings
@required {companyId: str}
@optional {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map}, gratuities: [map{allowCustomAmount: bool, currency: str, predefinedTipEntries: [str], usePredefinedTipEntries: bool}], hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map, encryptionKey: map, eventUrls: map, nexoEventUrls: [str], notification: map}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map, unreferenced: map}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map}}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/users
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32), username: str}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/users
@required {companyId: str, email: str, name: map{firstName!: str, lastName!: str}, username: str}
@optional {accountGroups: [str], associatedMerchantAccounts: [str], loginMethod: str, roles: [str], timeZoneCode: str}
@returns(200) {_links: map{self: map{href: str}}, accountGroups: [str], active: bool, apps: [str], associatedMerchantAccounts: [str], email: str, id: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str, username: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/users/{userId}
@required {companyId: str, userId: str}
@returns(200) {_links: map{self: map{href: str}}, accountGroups: [str], active: bool, apps: [str], associatedMerchantAccounts: [str], email: str, id: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str, username: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /companies/{companyId}/users/{userId}
@required {companyId: str, userId: str}
@optional {accountGroups: [str], active: bool, associatedMerchantAccounts: [str], email: str, loginMethod: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str}
@returns(200) {_links: map{self: map{href: str}}, accountGroups: [str], active: bool, apps: [str], associatedMerchantAccounts: [str], email: str, id: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str, username: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/webhooks
@required {companyId: str}
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, accountReference: str, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/webhooks
@required {companyId: str, active: bool, communicationFormat: str(http/json/soap), filterMerchantAccountType: str(allAccounts/excludeAccounts/includeAccounts), filterMerchantAccounts: [str], type: str, url: str}
@optional {acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, additionalSettings: map{includeEventCodes: [str], properties: map}, description: str, networkType: str(local/public), password: str, populateSoapActionHeader: bool, sslVersion: str(HTTP/TLSv1.2/TLSv1.3), username: str}
@returns(200) {_links: map{company: map{href: str}, generateHmac: map{href: str}, merchant: map{href: str}, self: map{href: str}, testWebhook: map{href: str}}, acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, accountReference: str, active: bool, additionalSettings: map{excludeEventCodes: [str], includeEventCodes: [str], properties: map}, certificateAlias: str, communicationFormat: str, description: str, filterMerchantAccountType: str, filterMerchantAccounts: [str], hasError: bool, hasPassword: bool, hmacKeyCheckValue: str, id: str, networkType: str, populateSoapActionHeader: bool, sslVersion: str, type: str, url: str, username: str}
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /companies/{companyId}/webhooks/{webhookId}
@required {companyId: str, webhookId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /companies/{companyId}/webhooks/{webhookId}
@required {companyId: str, webhookId: str}
@returns(200) {_links: map{company: map{href: str}, generateHmac: map{href: str}, merchant: map{href: str}, self: map{href: str}, testWebhook: map{href: str}}, acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, accountReference: str, active: bool, additionalSettings: map{excludeEventCodes: [str], includeEventCodes: [str], properties: map}, certificateAlias: str, communicationFormat: str, description: str, filterMerchantAccountType: str, filterMerchantAccounts: [str], hasError: bool, hasPassword: bool, hmacKeyCheckValue: str, id: str, networkType: str, populateSoapActionHeader: bool, sslVersion: str, type: str, url: str, username: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /companies/{companyId}/webhooks/{webhookId}
@required {companyId: str, webhookId: str}
@optional {acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, active: bool, additionalSettings: map{includeEventCodes: [str], properties: map}, communicationFormat: str(http/json/soap), description: str, filterMerchantAccountType: str(allAccounts/excludeAccounts/includeAccounts), filterMerchantAccounts: [str], networkType: str(local/public), password: str, populateSoapActionHeader: bool, sslVersion: str(HTTP/TLSv1.2/TLSv1.3), url: str, username: str}
@returns(200) {_links: map{company: map{href: str}, generateHmac: map{href: str}, merchant: map{href: str}, self: map{href: str}, testWebhook: map{href: str}}, acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, accountReference: str, active: bool, additionalSettings: map{excludeEventCodes: [str], includeEventCodes: [str], properties: map}, certificateAlias: str, communicationFormat: str, description: str, filterMerchantAccountType: str, filterMerchantAccounts: [str], hasError: bool, hasPassword: bool, hmacKeyCheckValue: str, id: str, networkType: str, populateSoapActionHeader: bool, sslVersion: str, type: str, url: str, username: str}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/webhooks/{webhookId}/generateHmac
@required {companyId: str, webhookId: str}
@returns(200) {hmacKey: str}
@errors {400, 401, 403, 422, 500}

@endpoint POST /companies/{companyId}/webhooks/{webhookId}/test
@required {companyId: str, webhookId: str}
@optional {merchantIds: [str], notification: map{amount: map, eventCode: str, eventDate: str(date-time), merchantReference: str, paymentMethod: str, reason: str, success: bool}, types: [str]}
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endgroup

@group me
@endpoint GET /me
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], clientKey: str, companyName: str, description: str, id: str, roles: [str], username: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /me/allowedOrigins
@returns(200) {data: [map]}
@errors {400, 401, 403, 422, 500}

@endpoint POST /me/allowedOrigins
@required {domain: str}
@optional {_links: map{self!: map}, id: str}
@returns(200) {_links: map{self: map{href: str}}, domain: str, id: str}
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /me/allowedOrigins/{originId}
@required {originId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /me/allowedOrigins/{originId}
@required {originId: str}
@returns(200) {_links: map{self: map{href: str}}, domain: str, id: str}
@errors {400, 401, 403, 422, 500}

@endpoint POST /me/generateClientKey
@returns(200) {clientKey: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@group merchants
@endpoint GET /merchants
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants
@required {companyId: str}
@optional {businessLineId: str, description: str, legalEntityId: str, pricingPlan: str, reference: str, salesChannels: [str]}
@returns(200) {businessLineId: str, companyId: str, description: str, id: str, legalEntityId: str, pricingPlan: str, reference: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}
@required {merchantId: str}
@returns(200) {_links: map{apiCredentials: map{href: str}, self: map{href: str}, users: map{href: str}, webhooks: map{href: str}}, captureDelay: str, companyId: str, dataCenters: [map], defaultShopperInteraction: str, description: str, id: str, merchantCity: str, name: str, pricingPlan: str, primarySettlementCurrency: str, reference: str, shopWebAddress: str, status: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/activate
@required {merchantId: str}
@returns(200) {companyId: str, merchantId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/apiCredentials
@required {merchantId: str}
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/apiCredentials
@required {merchantId: str}
@optional {allowedOrigins: [str], description: str, roles: [str]}
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], apiKey: str, clientKey: str, description: str, id: str, password: str, roles: [str], username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/apiCredentials/{apiCredentialId}
@required {merchantId: str, apiCredentialId: str}
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], clientKey: str, description: str, id: str, roles: [str], username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/apiCredentials/{apiCredentialId}
@required {merchantId: str, apiCredentialId: str}
@optional {active: bool, allowedOrigins: [str], description: str, roles: [str]}
@returns(200) {_links: map{allowedOrigins: map{href: str}, company: map{href: str}, generateApiKey: map{href: str}, generateClientKey: map{href: str}, merchant: map{href: str}, self: map{href: str}}, active: bool, allowedIpAddresses: [str], allowedOrigins: [map], clientKey: str, description: str, id: str, roles: [str], username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins
@required {merchantId: str, apiCredentialId: str}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins
@required {merchantId: str, apiCredentialId: str, domain: str}
@optional {_links: map{self!: map}, id: str}
@returns(200) {_links: map{self: map{href: str}}, domain: str, id: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId}
@required {merchantId: str, apiCredentialId: str, originId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId}
@required {merchantId: str, apiCredentialId: str, originId: str}
@returns(200) {_links: map{self: map{href: str}}, domain: str, id: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/apiCredentials/{apiCredentialId}/generateApiKey
@required {merchantId: str, apiCredentialId: str}
@returns(200) {apiKey: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/apiCredentials/{apiCredentialId}/generateClientKey
@required {merchantId: str, apiCredentialId: str}
@returns(200) {clientKey: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/billingEntities
@required {merchantId: str}
@optional {name: str}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/paymentMethodSettings
@required {merchantId: str}
@optional {storeId: str, businessLineId: str, pageSize: int(int32), pageNumber: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [any], itemsTotal: int(int32), pagesTotal: int(int32), typesWithErrors: [str]}
@returns(204)
@errors {400, 401, 403, 422, 429, 500}

@endpoint POST /merchants/{merchantId}/paymentMethodSettings
@required {merchantId: str, type: str(abrapetite/abrapetite_credit/abrapetite_debit/abrapetite_prepaid/accel/ach/affirm/afterpaytouch/alelo/alipay/alipay_hk/alipay_plus/alipay_wap/amex/applepay/avancard/avancard_credit/avancard_debit/banese_card/banese_card_credit/banese_card_debit/banese_card_prepaid/bcmc/blik/blik_pos/br_schemes/cartebancaire/clearpay/clicktopay/cooper/cooper_credit/cooper_debit/cooper_food_debit/cooper_meal_debit/cooper_prepaid/cooper_private_credit/cooper_retail_credit/credtodos/credtodos_private_credit/credtodos_private_debit/cup/diners/directdebit_GB/discover/ebanking_FI/eft_directdebit_CA/eftpos_australia/elo/elocredit/elodebit/girocard/givex/googlepay/green_card/green_card_credit/green_card_debit/green_card_food_prepaid/green_card_meal_prepaid/green_card_prepaid/hiper/hipercard/ideal/interac_card/jcb/klarna/klarna_account/klarna_b2b/klarna_paynow/le_card/le_card_credit/le_card_debit/maestro/maestro_usa/maxifrota/maxifrota_prepaid/mbway/mc/mcdebit/mealVoucher_FR/megaleve/megaleve_credit/megaleve_debit/mobilepay/multibanco/nutricash/nutricash_prepaid/nyce/onlineBanking_PL/paybybank/paybybank_plaid/payme/payme_pos/paynow/paynow_pos/paypal/payto/personal_card/personal_card_credit/personal_card_debit/pulse/romcard/romcard_credit/romcard_debit/senff/senff_credit/sepadirectdebit/sodexo/star/svs/swish/ticket/todo_giftcard/trustly/twint/twint_pos/up_brazil/up_brazil_credit/up_brazil_debit/up_brazil_prepaid/vale_refeicao/vale_refeicao_prepaid/valuelink/vegas_card/vegas_card_credit/vegas_card_debit/vero_card/vero_card_credit/vero_card_debit/vero_card_prepaid/vipps/visa/visadebit/vpay/wechatpay/wechatpay_pos)}
@optional {accel: map{processingType!: str, transactionDescription: map}, affirm: map{pricePlan: str, supportEmail!: str}, afterpayTouch: map{supportEmail: str, supportUrl!: str}, alipayPlus: map{settlementCurrencyCode: str}, amex: map{midNumber: str, reuseMidNumber: bool, serviceLevel!: str}, applePay: map{domains!: [str]}, bcmc: map{enableBcmcMobile: bool}, businessLineId: str, cartesBancaires: map{siret!: str, transactionDescription: map}, clearpay: map{supportUrl!: str}, countries: [str], cup: map{transactionDescription: map}, currencies: [str], customRoutingFlags: [str], diners: map{midNumber: str, reuseMidNumber!: bool, serviceLevel: str, transactionDescription: map}, discover: map{transactionDescription: map}, eft_directdebit_CA: map{transactionDescription: map}, eftpos_australia: map{transactionDescription: map}, girocard: map{transactionDescription: map}, givex: map{currencyCode!: str, password!: str, paymentFlow!: str, username!: str}, googlePay: map{merchantId!: str, reuseMerchantId: bool}, ideal: map{transactionDescription: map}, interac_card: map{transactionDescription: map}, jcb: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map}, klarna: map{autoCapture: bool, disputeEmail!: str, region!: str, supportEmail!: str}, maestro: map{transactionDescription: map}, maestro_usa: map{transactionDescription: map}, mc: map{transactionDescription: map}, mealVoucher_FR: map{conecsId!: str, siret!: str, subTypes!: [str]}, nyce: map{processingType!: str, transactionDescription: map}, paybybank_plaid: map{logo: str, transactionDescription: map}, payme: map{displayName!: str, logo!: str, supportEmail!: str}, paypal: map{directCapture: bool, payerId!: str, subject!: str}, payto: map{merchantName!: str, payToPurpose!: str}, pulse: map{processingType!: str, transactionDescription: map}, reference: str, sepadirectdebit: map{creditorId: str, transactionDescription: map}, shopperInteraction: str(eCommerce/pos/moto/contAuth), sodexo: map{merchantContactPhone!: str}, sofort: map{currencyCode!: str, logo!: str}, star: map{processingType!: str, transactionDescription: map}, storeId: str, svs: map{authorisationMid!: str, currencyCode!: str}, swish: map{swishNumber!: str}, ticket: map{requestorId: str}, twint: map{logo!: str}, valuelink: map{authorisationMid!: str, pinSupport!: str, submitterId: str, terminalId: str}, vipps: map{logo!: str, subscriptionCancelUrl: str}, visa: map{transactionDescription: map}, wechatpay: map{contactPersonName!: str, email!: str}, wechatpay_pos: map{contactPersonName!: str, email!: str}}
@returns(200) {accel: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, affirm: map{pricePlan: str, supportEmail: str}, afterpayTouch: map{supportEmail: str, supportUrl: str}, alipayPlus: map{settlementCurrencyCode: str}, allowed: bool, amex: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str}, applePay: map{domains: [str]}, bcmc: map{enableBcmcMobile: bool}, businessLineId: str, cartesBancaires: map{siret: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, clearpay: map{supportUrl: str}, countries: [str], cup: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, currencies: [str], customRoutingFlags: [str], diners: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, discover: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, eft_directdebit_CA: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, eftpos_australia: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, enabled: bool, girocard: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, givex: map{currencyCode: str, password: str, paymentFlow: str, username: str}, googlePay: map{merchantId: str, reuseMerchantId: bool}, id: str, ideal: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, interac_card: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, jcb: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, klarna: map{autoCapture: bool, disputeEmail: str, region: str, supportEmail: str}, maestro: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, maestro_usa: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, mc: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, mealVoucher_FR: map{conecsId: str, siret: str, subTypes: [str]}, nyce: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, paybybank_plaid: map{logo: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, payme: map{displayName: str, logo: str, supportEmail: str}, paypal: map{directCapture: bool, payerId: str, subject: str}, payto: map{merchantName: str, payToPurpose: str}, pulse: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, reference: str, sepadirectdebit: map{creditorId: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, shopperInteraction: str, sodexo: map{merchantContactPhone: str}, sofort: map{currencyCode: str, logo: str}, star: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, storeId: str, svs: map{authorisationMid: str, currencyCode: str}, swish: map{swishNumber: str}, ticket: map{requestorId: str}, twint: map{logo: str}, type: str, valuelink: map{authorisationMid: str, pinSupport: str, submitterId: str, terminalId: str}, verificationStatus: str, vipps: map{logo: str, subscriptionCancelUrl: str}, visa: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, wechatpay: map{contactPersonName: str, email: str}, wechatpay_pos: map{contactPersonName: str, email: str}}
@returns(204)
@errors {400, 401, 403, 422, 429, 500}

@endpoint GET /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId}
@required {merchantId: str, paymentMethodId: str}
@returns(200) {accel: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, affirm: map{pricePlan: str, supportEmail: str}, afterpayTouch: map{supportEmail: str, supportUrl: str}, alipayPlus: map{settlementCurrencyCode: str}, allowed: bool, amex: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str}, applePay: map{domains: [str]}, bcmc: map{enableBcmcMobile: bool}, businessLineId: str, cartesBancaires: map{siret: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, clearpay: map{supportUrl: str}, countries: [str], cup: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, currencies: [str], customRoutingFlags: [str], diners: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, discover: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, eft_directdebit_CA: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, eftpos_australia: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, enabled: bool, girocard: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, givex: map{currencyCode: str, password: str, paymentFlow: str, username: str}, googlePay: map{merchantId: str, reuseMerchantId: bool}, id: str, ideal: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, interac_card: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, jcb: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, klarna: map{autoCapture: bool, disputeEmail: str, region: str, supportEmail: str}, maestro: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, maestro_usa: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, mc: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, mealVoucher_FR: map{conecsId: str, siret: str, subTypes: [str]}, nyce: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, paybybank_plaid: map{logo: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, payme: map{displayName: str, logo: str, supportEmail: str}, paypal: map{directCapture: bool, payerId: str, subject: str}, payto: map{merchantName: str, payToPurpose: str}, pulse: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, reference: str, sepadirectdebit: map{creditorId: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, shopperInteraction: str, sodexo: map{merchantContactPhone: str}, sofort: map{currencyCode: str, logo: str}, star: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, storeId: str, svs: map{authorisationMid: str, currencyCode: str}, swish: map{swishNumber: str}, ticket: map{requestorId: str}, twint: map{logo: str}, type: str, valuelink: map{authorisationMid: str, pinSupport: str, submitterId: str, terminalId: str}, verificationStatus: str, vipps: map{logo: str, subscriptionCancelUrl: str}, visa: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, wechatpay: map{contactPersonName: str, email: str}, wechatpay_pos: map{contactPersonName: str, email: str}}
@returns(204)
@errors {400, 401, 403, 422, 429, 500}

@endpoint PATCH /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId}
@required {merchantId: str, paymentMethodId: str}
@optional {accel: map{processingType!: str, transactionDescription: map}, bcmc: map{enableBcmcMobile: bool}, cartesBancaires: map{siret!: str, transactionDescription: map}, countries: [str], cup: map{transactionDescription: map}, currencies: [str], customRoutingFlags: [str], diners: map{transactionDescription: map}, discover: map{transactionDescription: map}, eft_directdebit_CA: map{transactionDescription: map}, eftpos_australia: map{transactionDescription: map}, enabled: bool, girocard: map{transactionDescription: map}, ideal: map{transactionDescription: map}, interac_card: map{transactionDescription: map}, jcb: map{transactionDescription: map}, maestro: map{transactionDescription: map}, maestro_usa: map{transactionDescription: map}, mc: map{transactionDescription: map}, nyce: map{processingType!: str, transactionDescription: map}, paybybank_plaid: map{logo: str, transactionDescription: map}, pulse: map{processingType!: str, transactionDescription: map}, sepadirectdebit: map{creditorId: str, transactionDescription: map}, star: map{processingType!: str, transactionDescription: map}, storeIds: [str], visa: map{transactionDescription: map}}
@returns(200) {accel: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, affirm: map{pricePlan: str, supportEmail: str}, afterpayTouch: map{supportEmail: str, supportUrl: str}, alipayPlus: map{settlementCurrencyCode: str}, allowed: bool, amex: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str}, applePay: map{domains: [str]}, bcmc: map{enableBcmcMobile: bool}, businessLineId: str, cartesBancaires: map{siret: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, clearpay: map{supportUrl: str}, countries: [str], cup: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, currencies: [str], customRoutingFlags: [str], diners: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, discover: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, eft_directdebit_CA: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, eftpos_australia: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, enabled: bool, girocard: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, givex: map{currencyCode: str, password: str, paymentFlow: str, username: str}, googlePay: map{merchantId: str, reuseMerchantId: bool}, id: str, ideal: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, interac_card: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, jcb: map{midNumber: str, reuseMidNumber: bool, serviceLevel: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, klarna: map{autoCapture: bool, disputeEmail: str, region: str, supportEmail: str}, maestro: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, maestro_usa: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, mc: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, mealVoucher_FR: map{conecsId: str, siret: str, subTypes: [str]}, nyce: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, paybybank_plaid: map{logo: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, payme: map{displayName: str, logo: str, supportEmail: str}, paypal: map{directCapture: bool, payerId: str, subject: str}, payto: map{merchantName: str, payToPurpose: str}, pulse: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, reference: str, sepadirectdebit: map{creditorId: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, shopperInteraction: str, sodexo: map{merchantContactPhone: str}, sofort: map{currencyCode: str, logo: str}, star: map{processingType: str, transactionDescription: map{doingBusinessAsName: str, type: str}}, storeId: str, svs: map{authorisationMid: str, currencyCode: str}, swish: map{swishNumber: str}, ticket: map{requestorId: str}, twint: map{logo: str}, type: str, valuelink: map{authorisationMid: str, pinSupport: str, submitterId: str, terminalId: str}, verificationStatus: str, vipps: map{logo: str, subscriptionCancelUrl: str}, visa: map{transactionDescription: map{doingBusinessAsName: str, type: str}}, wechatpay: map{contactPersonName: str, email: str}, wechatpay_pos: map{contactPersonName: str, email: str}}
@returns(204)
@errors {400, 401, 403, 422, 429, 500}

@endpoint POST /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId}/addApplePayDomains
@required {merchantId: str, paymentMethodId: str, domains: [str]}
@returns(204)
@errors {400, 401, 403, 422, 429, 500}

@endpoint GET /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId}/getApplePayDomains
@required {merchantId: str, paymentMethodId: str}
@returns(200) {domains: [str]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/payoutSettings
@required {merchantId: str}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/payoutSettings
@required {merchantId: str, transferInstrumentId: str}
@optional {enabled: bool, enabledFromDate: str}
@returns(200) {allowed: bool, enabled: bool, enabledFromDate: str, id: str, priority: str, transferInstrumentId: str, verificationStatus: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /merchants/{merchantId}/payoutSettings/{payoutSettingsId}
@required {merchantId: str, payoutSettingsId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/payoutSettings/{payoutSettingsId}
@required {merchantId: str, payoutSettingsId: str}
@returns(200) {allowed: bool, enabled: bool, enabledFromDate: str, id: str, priority: str, transferInstrumentId: str, verificationStatus: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/payoutSettings/{payoutSettingsId}
@required {merchantId: str, payoutSettingsId: str}
@optional {enabled: bool}
@returns(200) {allowed: bool, enabled: bool, enabledFromDate: str, id: str, priority: str, transferInstrumentId: str, verificationStatus: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/shippingLocations
@required {merchantId: str}
@optional {name: str, offset: int(int32), limit: int(int32)}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/shippingLocations
@required {merchantId: str}
@optional {address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}
@returns(200) {address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/splitConfigurations
@required {merchantId: str}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/splitConfigurations
@required {merchantId: str, description: str, rules: [map{cardRegion: str, currency!: str, fundingSource!: str, paymentMethod!: str, ruleId: str, shopperInteraction!: str, splitLogic!: map}]}
@optional {splitConfigurationId: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}
@required {merchantId: str, splitConfigurationId: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}
@required {merchantId: str, splitConfigurationId: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}
@required {merchantId: str, splitConfigurationId: str, description: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}
@required {merchantId: str, splitConfigurationId: str, currency: str, fundingSource: str(charged/credit/debit/deferred_debit/prepaid/ANY), paymentMethod: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS/ANY), splitLogic: map{acquiringFees: str, additionalCommission: map, adyenCommission: str, adyenFees: str, adyenMarkup: str, chargeback: str, chargebackCostAllocation: str, commission!: map, interchange: str, paymentFee: str, refund: str, refundCostAllocation: str, remainder: str, schemeFee: str, splitLogicId: str, surcharge: str, tip: str}}
@optional {cardRegion: str(international/intraRegional/interRegional/domestic/ANY), ruleId: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}
@required {merchantId: str, splitConfigurationId: str, ruleId: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}
@required {merchantId: str, splitConfigurationId: str, ruleId: str, currency: str, fundingSource: str, paymentMethod: str, shopperInteraction: str}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}/splitLogic/{splitLogicId}
@required {merchantId: str, splitConfigurationId: str, ruleId: str, splitLogicId: str, commission: map{fixedAmount: int(int64), variablePercentage: int(int64)}}
@optional {acquiringFees: str(deductFromLiableAccount/deductFromOneBalanceAccount), additionalCommission: map{balanceAccountId: str, fixedAmount: int(int64), variablePercentage: int(int64)}, adyenCommission: str(deductFromLiableAccount/deductFromOneBalanceAccount), adyenFees: str(deductFromLiableAccount/deductFromOneBalanceAccount), adyenMarkup: str(deductFromLiableAccount/deductFromOneBalanceAccount), chargeback: str(deductFromLiableAccount/deductFromOneBalanceAccount/deductAccordingToSplitRatio), chargebackCostAllocation: str(deductFromLiableAccount/deductFromOneBalanceAccount), interchange: str(deductFromLiableAccount/deductFromOneBalanceAccount), paymentFee: str(deductFromLiableAccount/deductFromOneBalanceAccount), refund: str(deductFromLiableAccount/deductFromOneBalanceAccount/deductAccordingToSplitRatio), refundCostAllocation: str(deductFromLiableAccount/deductFromOneBalanceAccount), remainder: str(addToLiableAccount/addToOneBalanceAccount), schemeFee: str(deductFromLiableAccount/deductFromOneBalanceAccount), splitLogicId: str, surcharge: str(addToLiableAccount/addToOneBalanceAccount), tip: str(addToLiableAccount/addToOneBalanceAccount)}
@returns(200) {description: str, rules: [map], splitConfigurationId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/stores
@required {merchantId: str}
@optional {pageNumber: int(int32), pageSize: int(int32), reference: str}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/stores
@required {merchantId: str, address: map{city: str, country!: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, description: str, phoneNumber: str, shopperStatement: str}
@optional {businessLineIds: [str], externalReferenceId: str, localizedInformation: map{localShopperStatement!: [map]}, reference: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}}
@returns(200) {_links: map{self: map{href: str}}, address: map{city: str, country: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, id: str, localizedInformation: map{localShopperStatement: [map]}, merchantId: str, phoneNumber: str, reference: str, shopperStatement: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/stores/{reference}/terminalLogos
@required {merchantId: str, reference: str, model: str}
@returns(200) {data: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/stores/{reference}/terminalLogos
@required {merchantId: str, reference: str, model: str}
@optional {data: str}
@returns(200) {data: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/stores/{reference}/terminalSettings
@required {merchantId: str, reference: str}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/stores/{reference}/terminalSettings
@required {merchantId: str, reference: str}
@optional {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map}, gratuities: [map{allowCustomAmount: bool, currency: str, predefinedTipEntries: [str], usePredefinedTipEntries: bool}], hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map, encryptionKey: map, eventUrls: map, nexoEventUrls: [str], notification: map}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map, unreferenced: map}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map}}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/stores/{storeId}
@required {merchantId: str, storeId: str}
@returns(200) {_links: map{self: map{href: str}}, address: map{city: str, country: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, id: str, localizedInformation: map{localShopperStatement: [map]}, merchantId: str, phoneNumber: str, reference: str, shopperStatement: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/stores/{storeId}
@required {merchantId: str, storeId: str}
@optional {address: map{city: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, phoneNumber: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str(active/closed/inactive)}
@returns(200) {_links: map{self: map{href: str}}, address: map{city: str, country: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, id: str, localizedInformation: map{localShopperStatement: [map]}, merchantId: str, phoneNumber: str, reference: str, shopperStatement: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/terminalLogos
@required {merchantId: str, model: str}
@returns(200) {data: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/terminalLogos
@required {merchantId: str, model: str}
@optional {data: str}
@returns(200) {data: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/terminalModels
@required {merchantId: str}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/terminalOrders
@required {merchantId: str}
@optional {customerOrderReference: str, status: str, offset: int(int32), limit: int(int32)}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/terminalOrders
@required {merchantId: str}
@optional {billingEntityId: str, customerOrderReference: str, items: [map{id: str, installments: int(int64), name: str, quantity: int(int32)}], orderType: str, shippingLocationId: str, taxId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/terminalOrders/{orderId}
@required {merchantId: str, orderId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/terminalOrders/{orderId}
@required {merchantId: str, orderId: str}
@optional {billingEntityId: str, customerOrderReference: str, items: [map{id: str, installments: int(int64), name: str, quantity: int(int32)}], orderType: str, shippingLocationId: str, taxId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/terminalOrders/{orderId}/cancel
@required {merchantId: str, orderId: str}
@returns(200) {billingEntity: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, email: str, id: str, name: str, taxId: str}, customerOrderReference: str, id: str, items: [map], orderDate: str, shippingLocation: map{address: map{city: str, companyName: str, country: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, contact: map{email: str, firstName: str, infix: str, lastName: str, phoneNumber: str}, id: str, name: str}, status: str, trackingUrl: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/terminalProducts
@required {merchantId: str, country: str}
@optional {terminalModelId: str, offset: int(int32), limit: int(int32)}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/terminalSettings
@required {merchantId: str}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/terminalSettings
@required {merchantId: str}
@optional {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map}, gratuities: [map{allowCustomAmount: bool, currency: str, predefinedTipEntries: [str], usePredefinedTipEntries: bool}], hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map, encryptionKey: map, eventUrls: map, nexoEventUrls: [str], notification: map}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map, unreferenced: map}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map}}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/users
@required {merchantId: str}
@optional {pageNumber: int(int32), pageSize: int(int32), username: str}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/users
@required {merchantId: str, email: str, name: map{firstName!: str, lastName!: str}, username: str}
@optional {accountGroups: [str], loginMethod: str, roles: [str], timeZoneCode: str}
@returns(200) {_links: map{self: map{href: str}}, accountGroups: [str], active: bool, apps: [str], email: str, id: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str, username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/users/{userId}
@required {merchantId: str, userId: str}
@returns(200) {_links: map{self: map{href: str}}, accountGroups: [str], active: bool, apps: [str], email: str, id: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str, username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/users/{userId}
@required {merchantId: str, userId: str}
@optional {accountGroups: [str], active: bool, email: str, loginMethod: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str}
@returns(200) {_links: map{self: map{href: str}}, accountGroups: [str], active: bool, apps: [str], email: str, id: str, name: map{firstName: str, lastName: str}, roles: [str], timeZoneCode: str, username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/webhooks
@required {merchantId: str}
@optional {pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, accountReference: str, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/webhooks
@required {merchantId: str, active: bool, communicationFormat: str(http/json/soap), type: str, url: str}
@optional {acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, additionalSettings: map{includeEventCodes: [str], properties: map}, description: str, networkType: str(local/public), password: str, populateSoapActionHeader: bool, sslVersion: str(HTTP/TLSv1.2/TLSv1.3), username: str}
@returns(200) {_links: map{company: map{href: str}, generateHmac: map{href: str}, merchant: map{href: str}, self: map{href: str}, testWebhook: map{href: str}}, acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, accountReference: str, active: bool, additionalSettings: map{excludeEventCodes: [str], includeEventCodes: [str], properties: map}, certificateAlias: str, communicationFormat: str, description: str, filterMerchantAccountType: str, filterMerchantAccounts: [str], hasError: bool, hasPassword: bool, hmacKeyCheckValue: str, id: str, networkType: str, populateSoapActionHeader: bool, sslVersion: str, type: str, url: str, username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint DELETE /merchants/{merchantId}/webhooks/{webhookId}
@required {merchantId: str, webhookId: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint GET /merchants/{merchantId}/webhooks/{webhookId}
@required {merchantId: str, webhookId: str}
@returns(200) {_links: map{company: map{href: str}, generateHmac: map{href: str}, merchant: map{href: str}, self: map{href: str}, testWebhook: map{href: str}}, acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, accountReference: str, active: bool, additionalSettings: map{excludeEventCodes: [str], includeEventCodes: [str], properties: map}, certificateAlias: str, communicationFormat: str, description: str, filterMerchantAccountType: str, filterMerchantAccounts: [str], hasError: bool, hasPassword: bool, hmacKeyCheckValue: str, id: str, networkType: str, populateSoapActionHeader: bool, sslVersion: str, type: str, url: str, username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /merchants/{merchantId}/webhooks/{webhookId}
@required {merchantId: str, webhookId: str}
@optional {acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, active: bool, additionalSettings: map{includeEventCodes: [str], properties: map}, communicationFormat: str(http/json/soap), description: str, networkType: str(local/public), password: str, populateSoapActionHeader: bool, sslVersion: str(HTTP/TLSv1.2/TLSv1.3), url: str, username: str}
@returns(200) {_links: map{company: map{href: str}, generateHmac: map{href: str}, merchant: map{href: str}, self: map{href: str}, testWebhook: map{href: str}}, acceptsExpiredCertificate: bool, acceptsSelfSignedCertificate: bool, acceptsUntrustedRootCertificate: bool, accountReference: str, active: bool, additionalSettings: map{excludeEventCodes: [str], includeEventCodes: [str], properties: map}, certificateAlias: str, communicationFormat: str, description: str, filterMerchantAccountType: str, filterMerchantAccounts: [str], hasError: bool, hasPassword: bool, hmacKeyCheckValue: str, id: str, networkType: str, populateSoapActionHeader: bool, sslVersion: str, type: str, url: str, username: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/webhooks/{webhookId}/generateHmac
@required {merchantId: str, webhookId: str}
@returns(200) {hmacKey: str}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endpoint POST /merchants/{merchantId}/webhooks/{webhookId}/test
@required {merchantId: str, webhookId: str}
@optional {notification: map{amount: map, eventCode: str, eventDate: str(date-time), merchantReference: str, paymentMethod: str, reason: str, success: bool}, types: [str]}
@returns(200) {data: [map]}
@returns(204)
@errors {400, 401, 403, 422, 500}

@endgroup

@group stores
@endpoint GET /stores
@optional {pageNumber: int(int32), pageSize: int(int32), reference: str, merchantId: str}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint POST /stores
@required {address: map{city: str, country!: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, description: str, merchantId: str, phoneNumber: str, shopperStatement: str}
@optional {businessLineIds: [str], externalReferenceId: str, localizedInformation: map{localShopperStatement!: [map]}, reference: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}}
@returns(200) {_links: map{self: map{href: str}}, address: map{city: str, country: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, id: str, localizedInformation: map{localShopperStatement: [map]}, merchantId: str, phoneNumber: str, reference: str, shopperStatement: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /stores/{storeId}
@required {storeId: str}
@returns(200) {_links: map{self: map{href: str}}, address: map{city: str, country: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, id: str, localizedInformation: map{localShopperStatement: [map]}, merchantId: str, phoneNumber: str, reference: str, shopperStatement: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /stores/{storeId}
@required {storeId: str}
@optional {address: map{city: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, phoneNumber: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str(active/closed/inactive)}
@returns(200) {_links: map{self: map{href: str}}, address: map{city: str, country: str, line1: str, line2: str, line3: str, postalCode: str, stateOrProvince: str}, businessLineIds: [str], description: str, externalReferenceId: str, id: str, localizedInformation: map{localShopperStatement: [map]}, merchantId: str, phoneNumber: str, reference: str, shopperStatement: str, splitConfiguration: map{balanceAccountId: str, splitConfigurationId: str}, status: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /stores/{storeId}/terminalLogos
@required {storeId: str, model: str}
@returns(200) {data: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /stores/{storeId}/terminalLogos
@required {storeId: str, model: str}
@optional {data: str}
@returns(200) {data: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /stores/{storeId}/terminalSettings
@required {storeId: str}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /stores/{storeId}/terminalSettings
@required {storeId: str}
@optional {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map}, gratuities: [map{allowCustomAmount: bool, currency: str, predefinedTipEntries: [str], usePredefinedTipEntries: bool}], hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map, encryptionKey: map, eventUrls: map, nexoEventUrls: [str], notification: map}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map, unreferenced: map}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map}}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@errors {400, 401, 403, 422, 500}

@endgroup

@group terminals
@endpoint GET /terminals
@optional {searchQuery: str, otpQuery: str, countries: str, merchantIds: str, storeIds: str, brandModels: str, pageNumber: int(int32), pageSize: int(int32)}
@returns(200) {_links: map{first: map{href: str}, last: map{href: str}, next: map{href: str}, prev: map{href: str}, self: map{href: str}}, data: [map], itemsTotal: int(int32), pagesTotal: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint POST /terminals/scheduleActions
@optional {actionDetails: any, scheduledAt: str, storeId: str, terminalIds: [str]}
@returns(200) {actionDetails: any, items: [map], scheduledAt: str, storeId: str, terminalIds: [str], terminalsWithErrors: map, totalErrors: int(int32), totalScheduled: int(int32)}
@errors {400, 401, 403, 422, 500}

@endpoint GET /terminals/{terminalId}/terminalLogos
@required {terminalId: str}
@returns(200) {data: str}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /terminals/{terminalId}/terminalLogos
@required {terminalId: str}
@optional {data: str}
@returns(200) {data: str}
@errors {400, 401, 403, 422, 500}

@endpoint GET /terminals/{terminalId}/terminalSettings
@required {terminalId: str}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@errors {400, 401, 403, 422, 500}

@endpoint PATCH /terminals/{terminalId}/terminalSettings
@required {terminalId: str}
@optional {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map}, gratuities: [map{allowCustomAmount: bool, currency: str, predefinedTipEntries: [str], usePredefinedTipEntries: bool}], hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map, encryptionKey: map, eventUrls: map, nexoEventUrls: [str], notification: map}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map, unreferenced: map}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map}}
@returns(200) {cardholderReceipt: map{headerForAuthorizedReceipt: str}, connectivity: map{simcardStatus: str, terminalIPAddressURL: map{eventLocalUrls: [map], eventPublicUrls: [map]}}, gratuities: [map]?, hardware: map{displayMaximumBackLight: int(int32), resetTotalsHour: int(int32), restartHour: int(int32)}, homeScreen: map{hideNavigationBar: bool, showPaymentsMenu: bool, showSettingsMenu: bool}, kioskMode: map{allowedAppsInKioskMode: [str], kioskAppOnStartup: str}, localization: map{language: str, secondaryLanguage: str, timezone: str}, moto: map{enableMoto: bool, maxAmount: int(int32)}, nexo: map{displayUrls: map{localUrls: [map], publicUrls: [map]}, encryptionKey: map{identifier: str, passphrase: str, version: int(int32)}, eventUrls: map{eventLocalUrls: [map], eventPublicUrls: [map]}, nexoEventUrls: [str], notification: map{category: str, details: str, enabled: bool, showButton: bool, title: str}}, offlineProcessing: map{chipFloorLimit: int(int32), offlineSwipeLimits: [map]}, opi: map{enablePayAtTable: bool, payAtTableStoreNumber: str, payAtTableURL: str}, passcodes: map{adminMenuPin: str, refundPin: str, screenLockPin: str, txMenuPin: str}, payAtTable: map{authenticationMethod: str, enablePayAtTable: bool, paymentInstrument: str?}, payment: map{contactlessCurrency: str, hideMinorUnitsInCurrencies: [str]}, receiptOptions: map{logo: str, promptBeforePrinting: bool, qrCodeData: str}, receiptPrinting: map{merchantApproved: bool, merchantCancelled: bool, merchantCaptureApproved: bool, merchantCaptureRefused: bool, merchantRefundApproved: bool, merchantRefundRefused: bool, merchantRefused: bool, merchantVoid: bool, shopperApproved: bool, shopperCancelled: bool, shopperCaptureApproved: bool, shopperCaptureRefused: bool, shopperRefundApproved: bool, shopperRefundRefused: bool, shopperRefused: bool, shopperVoid: bool}, refunds: map{referenced: map{enableStandaloneRefunds: bool}, unreferenced: map{enableUnreferencedRefunds: bool}}, signature: map{askSignatureOnScreen: bool, deviceName: str, deviceSlogan: str, skipSignature: bool}, standalone: map{currencyCode: str, enableGratuities: bool, enableStandalone: bool}, storeAndForward: map{maxAmount: [map], maxPayments: int(int32), supportedCardTypes: map{credit: bool, debit: bool, deferredDebit: bool, prepaid: bool, unknown: bool}}, surcharge: map{askConfirmation: bool, configurations: [map], excludeGratuityFromSurcharge: bool}, tapToPay: map{merchantDisplayName: str}, terminalInstructions: map{adyenAppRestart: bool}, timeouts: map{fromActiveToSleep: int(int32)}, wifiProfiles: map{profiles: [map], settings: map{band: str, roaming: bool, timeout: int(int32)}}}
@errors {400, 401, 403, 422, 500}

@endgroup

@end
