@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Adyen Payout API
@base https://pal-test.adyen.com/pal/servlet/Payout/v68
@version 68
@auth ApiKey X-API-Key in header | Bearer basic
@common_fields {merchantAccount: str}
@endpoints 6
@toc confirmThirdParty(1), declineThirdParty(1), payout(1), storeDetail(1), storeDetailAndSubmitThirdParty(1), submitThirdParty(1)

@group confirmThirdParty
@endpoint POST /confirmThirdParty
@required {originalReference: str}
@optional {additionalData: map}
@returns(200) {additionalData: map, pspReference: str, response: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@group declineThirdParty
@endpoint POST /declineThirdParty
@required {originalReference: str}
@optional {additionalData: map}
@returns(200) {additionalData: map, pspReference: str, response: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@group payout
@endpoint POST /payout
@required {amount: map{currency!: str, value!: int(int64)}, reference: str}
@optional {billingAddress: map{city!: str, country!: str, houseNumberOrName!: str, postalCode!: str, stateOrProvince: str, street!: str}, card: map{cvc: str, expiryMonth: str, expiryYear: str, holderName: str, issueNumber: str, number: str, startMonth: str, startYear: str}, fraudOffset: int(int32), fundSource: map{additionalData: map, billingAddress: map, card: map, shopperEmail: str, shopperName: map, telephoneNumber: str}, recurring: map{contract: str, recurringDetailName: str, recurringExpiry: str(date-time), recurringFrequency: str, tokenService: str}, selectedRecurringDetailReference: str, shopperEmail: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS), shopperName: map{firstName!: str, lastName!: str}, shopperReference: str, telephoneNumber: str}
@returns(200) {additionalData: map, authCode: str, dccAmount: map{currency: str, value: int(int64)}, dccSignature: str, fraudResult: map{accountScore: int(int32), results: [any]}, issuerUrl: str, md: str, paRequest: str, pspReference: str, refusalReason: str, resultCode: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@group storeDetail
@endpoint POST /storeDetail
@required {dateOfBirth: str(date), entityType: str(NaturalPerson/Company), nationality: str, recurring: map{contract: str, recurringDetailName: str, recurringExpiry: str(date-time), recurringFrequency: str, tokenService: str}, shopperEmail: str, shopperReference: str}
@optional {additionalData: map, bank: map{bankAccountNumber: str, bankCity: str, bankLocationId: str, bankName: str, bic: str, countryCode: str, iban: str, ownerName: str, taxId: str}, billingAddress: map{city!: str, country!: str, houseNumberOrName!: str, postalCode!: str, stateOrProvince: str, street!: str}, card: map{cvc: str, expiryMonth: str, expiryYear: str, holderName: str, issueNumber: str, number: str, startMonth: str, startYear: str}, fraudOffset: int(int32), selectedBrand: str, shopperName: map{firstName!: str, lastName!: str}, socialSecurityNumber: str, telephoneNumber: str}
@returns(200) {additionalData: map, pspReference: str, recurringDetailReference: str, resultCode: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@group storeDetailAndSubmitThirdParty
@endpoint POST /storeDetailAndSubmitThirdParty
@required {amount: map{currency!: str, value!: int(int64)}, dateOfBirth: str(date), entityType: str(NaturalPerson/Company), nationality: str, recurring: map{contract: str, recurringDetailName: str, recurringExpiry: str(date-time), recurringFrequency: str, tokenService: str}, reference: str, shopperEmail: str, shopperReference: str}
@optional {additionalData: map, bank: map{bankAccountNumber: str, bankCity: str, bankLocationId: str, bankName: str, bic: str, countryCode: str, iban: str, ownerName: str, taxId: str}, billingAddress: map{city!: str, country!: str, houseNumberOrName!: str, postalCode!: str, stateOrProvince: str, street!: str}, card: map{cvc: str, expiryMonth: str, expiryYear: str, holderName: str, issueNumber: str, number: str, startMonth: str, startYear: str}, fraudOffset: int(int32), selectedBrand: str, shopperName: map{firstName!: str, lastName!: str}, shopperStatement: str, socialSecurityNumber: str, telephoneNumber: str}
@returns(200) {additionalData: map, pspReference: str, refusalReason: str, resultCode: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@group submitThirdParty
@endpoint POST /submitThirdParty
@required {amount: map{currency!: str, value!: int(int64)}, recurring: map{contract: str, recurringDetailName: str, recurringExpiry: str(date-time), recurringFrequency: str, tokenService: str}, reference: str, selectedRecurringDetailReference: str, shopperEmail: str, shopperReference: str}
@optional {additionalData: map, dateOfBirth: str(date), entityType: str(NaturalPerson/Company), fraudOffset: int(int32), nationality: str, shopperName: map{firstName!: str, lastName!: str}, shopperStatement: str, socialSecurityNumber: str}
@returns(200) {additionalData: map, pspReference: str, refusalReason: str, resultCode: str}
@errors {400, 401, 403, 422, 500}

@endgroup

@end
