Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/adyen-rules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '2'
x-publicVersion: true
title: Adyen Configuration Rules API
description: The Configuration API enables you to create a platform where you can onboard your users as account holders and create balance accounts, cards, and business accounts.
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
servers:
- url: https://balanceplatform-api-test.adyen.com/bcl/v2
tags:
- name: Rules
paths:
/transactionRules:
post:
tags:
- Rules
summary: Adyen Create a Transaction Rule
description: Creates a [transaction rule](https://docs.adyen.com/issuing/transaction-rules). When your user makes a transaction with their Adyen-issued card, the transaction is allowed or declined based on the conditions and outcome defined in the transaction rule. You can apply the transaction rule to several cards, such as all the cards in your platform, or to a specific card. For use cases, see [examples](https://docs.adyen.com/issuing/transaction-rules/examples).
x-addedInVersion: '1'
operationId: post-transactionRules
x-sortIndex: 1
x-methodName: createTransactionRule
security:
- clientKey: []
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
createTransactionRuleAllowPos:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleAllowPos'
createTransactionRuleIncreaseScore:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleIncreaseScore'
createTransactionRuleLimitSliding:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleLimitSliding'
createTransactionRuleLimitTransaction:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleLimitTransaction'
schema:
$ref: '#/components/schemas/TransactionRuleInfo'
responses:
'200':
content:
application/json:
examples:
createTransactionRuleAllowPos:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleAllowPos-200'
createTransactionRuleIncreaseScore:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleIncreaseScore-200'
createTransactionRuleLimitSliding:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleLimitSliding-200'
createTransactionRuleLimitTransaction:
$ref: '#/components/examples/post-transactionRules-createTransactionRuleLimitTransaction-200'
schema:
$ref: '#/components/schemas/TransactionRule'
description: OK - the request has succeeded.
'400':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-400'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-401'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-403'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-422'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-500'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/transactionRules/{transactionRuleId}:
delete:
tags:
- Rules
summary: Adyen Delete a Transaction Rule
description: Deletes a transaction rule.
x-addedInVersion: '1'
operationId: delete-transactionRules-transactionRuleId
x-sortIndex: 5
x-methodName: deleteTransactionRule
security:
- clientKey: []
- BasicAuth: []
- ApiKeyAuth: []
parameters:
- description: The unique identifier of the transaction rule.
name: transactionRuleId
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
examples:
success:
$ref: '#/components/examples/delete-transactionRules-transactionRuleId-success-200'
schema:
$ref: '#/components/schemas/TransactionRule'
description: OK - the request has succeeded.
'400':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-400'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-401'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-403'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-422'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-500'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
tags:
- Rules
summary: Adyen Get a Transaction Rule
description: Returns the details of a transaction rule.
x-addedInVersion: '1'
operationId: get-transactionRules-transactionRuleId
x-sortIndex: 2
x-methodName: getTransactionRule
security:
- clientKey: []
- BasicAuth: []
- ApiKeyAuth: []
parameters:
- description: The unique identifier of the transaction rule.
name: transactionRuleId
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
examples:
success:
$ref: '#/components/examples/get-transactionRules-transactionRuleId-success-200'
schema:
$ref: '#/components/schemas/TransactionRuleResponse'
description: OK - the request has succeeded.
'400':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-400'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-401'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-403'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-422'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-500'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
tags:
- Rules
summary: Adyen Update a Transaction Rule
description: "Updates a transaction rule. \n\n* To update only the status of a transaction rule, send only the `status` parameter. All other parameters not provided in the request are left unchanged.\n\n* When updating any other parameter, you need to send all existing resource parameters. If you omit a parameter in the request, that parameter is removed from the resource."
x-addedInVersion: '1'
operationId: patch-transactionRules-transactionRuleId
x-sortIndex: 3
x-methodName: updateTransactionRule
security:
- clientKey: []
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
updateTransactionRuleStatus:
$ref: '#/components/examples/patch-transactionRules-transactionRuleId-updateTransactionRuleStatus'
schema:
$ref: '#/components/schemas/TransactionRuleInfo'
parameters:
- description: The unique identifier of the transaction rule.
name: transactionRuleId
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
examples:
updateTransactionRuleStatus:
$ref: '#/components/examples/patch-transactionRules-transactionRuleId-updateTransactionRuleStatus-200'
schema:
$ref: '#/components/schemas/TransactionRule'
description: OK - the request has succeeded.
'400':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-400'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-401'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-403'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-422'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-500'
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
examples:
post-transactionRules-createTransactionRuleLimitSliding-200:
summary: Transaction rule for limiting total amount in the last 12 hours
description: Example response to limit the total amount in a sliding interval
value:
aggregationLevel: paymentInstrument
description: Up to 1000 EUR per card for the last 12 hours
entityKey:
entityReference: BA3227C223222B5FN65355NR3
entityType: balanceAccount
interval:
duration:
unit: hours
value: 12
timeZone: UTC
type: sliding
outcomeType: hardBlock
reference: YOUR_REFERENCE_2918A
requestType: authorization
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 100000
startDate: '2023-06-29T22:39:06.887628679+02:00'
status: active
type: velocity
id: TR32272223222H5J4D9Z8C97H
post-transactionRules-createTransactionRuleIncreaseScore:
summary: Increase the score of a card
description: Example request to increase the score of a card
value:
description: Assign score if more than 500 EUR in 2 hours
entityKey:
entityType: paymentInstrument
entityReference: PI3227C223222B5FG88SB8BHR
interval:
type: sliding
duration:
value: 2
unit: hours
outcomeType: scoreBased
reference: myRule11789
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 50000
score: 20
type: velocity
generic-422:
summary: Response code - 422 Unprocessable Entity.
value:
type: https://docs.adyen.com/errors/general/invalid-field-value
title: Invalid Payment Instrument information provided
status: 422
detail: The balanceAccountId can only be changed when the status is Inactive or Requested
requestId: 1W1UI15PLVGC9V8O
errorCode: '30_031'
post-transactionRules-createTransactionRuleAllowPos:
summary: Allow only point-of-sale transactions
description: Example request to allow only point-of-sale transactions
value:
description: Allow only point-of-sale transactions
reference: YOUR_REFERENCE_4F7346
entityKey:
entityType: paymentInstrument
entityReference: PI3227C223222B5FG88SB8BHR
status: active
interval:
type: perTransaction
ruleRestrictions:
processingTypes:
operation: noneMatch
value:
- pos
type: blockList
patch-transactionRules-transactionRuleId-updateTransactionRuleStatus-200:
summary: Transaction rule status updated
description: Example response for successfully updating the status of a transaction rule
value:
aggregationLevel: paymentInstrument
description: Up to 1000 EUR per card for the last 12 hours
entityKey:
entityReference: PG3227C223222C5GXR3M5592Q
entityType: paymentInstrumentGroup
interval:
duration:
unit: hours
value: 12
timeZone: UTC
type: sliding
outcomeType: hardBlock
reference: YOUR_REFERENCE_2918A
requestType: authorization
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 100000
startDate: '2022-11-17T00:07:09.10057663+01:00'
status: inactive
type: velocity
id: TR3227C223222C5GXR3XP596N
post-transactionRules-createTransactionRuleAllowPos-200:
summary: Transaction rule to allow only point-of-sale transactions
description: Example response for allowing only point-of-sale transactions
value:
description: Allow only point-of-sale transactions
entityKey:
entityReference: PI3227C223222B5FG88SB8BHR
entityType: paymentInstrument
interval:
timeZone: UTC
type: perTransaction
outcomeType: hardBlock
reference: YOUR_REFERENCE_4F7346
requestType: authorization
ruleRestrictions:
processingTypes:
operation: noneMatch
value:
- pos
startDate: '2023-06-29T22:34:36.173226192+02:00'
status: active
type: blockList
id: TR3227C223222H5J4D9ML9V4D
delete-transactionRules-transactionRuleId-success-200:
summary: Transaction rule deleted
description: Example response for successfully deleting a transaction rule
value:
aggregationLevel: paymentInstrument
description: Up to 1000 EUR per card for the last 12 hours
entityKey:
entityReference: PG3227C223222C5GXR3M5592Q
entityType: paymentInstrumentGroup
interval:
duration:
unit: hours
value: 12
timeZone: UTC
type: sliding
outcomeType: hardBlock
reference: myRule12345
requestType: authorization
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 100000
type: velocity
id: TR3227C223222C5GXT3DD5VCF
post-transactionRules-createTransactionRuleLimitTransaction-200:
summary: Transaction rule for limiting international payments
description: Example response to limit total amount of international transations
value:
description: Up to 50 EUR international transactions
entityKey:
entityReference: BA3227C223222B5FN65355NR3
entityType: balanceAccount
interval:
timeOfDay: 00:00:00
timeZone: UTC
type: daily
outcomeType: hardBlock
reference: YOUR_REFERENCE_B2634
requestType: authorization
ruleRestrictions:
internationalTransaction:
operation: equals
value: true
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 5000
startDate: '2023-06-29T22:39:54.068487152+02:00'
status: active
type: velocity
id: TR3227C223222H5J4DB2X9V65
generic-401:
summary: Response code - 401 Unauthorized
value:
type: https://docs.adyen.com/errors/security/unauthorized
title: Unauthorized
status: 401
detail: Not authorized to access this service.
errorCode: '00_401'
generic-403:
summary: Response code - 403 Forbidden.
value:
type: https://docs.adyen.com/errors/security/unauthorized
title: Forbidden
status: 403
detail: Not the right permission to access this service.
errorCode: '00_403'
get-transactionRules-transactionRuleId-success-200:
summary: Transaction rules retrieved
description: Example response when retrieving a transaction rule
value:
transactionRule:
description: Only allow point-of-sale transactions
entityKey:
entityReference: PI3227C223222B5FN65FN5NS9
entityType: paymentInstrument
interval:
timeZone: UTC
type: perTransaction
outcomeType: hardBlock
reference: YOUR_REFERENCE_4F7346
requestType: authorization
ruleRestrictions:
processingTypes:
operation: noneMatch
value:
- pos
startDate: '2022-08-02T16:07:00.851374+02:00'
status: active
type: blockList
id: TR32272223222B5GFSGFLFCHM
generic-500:
summary: Response code - 500 Internal Server Error
value:
type: https://docs.adyen.com/errors/general/internal
title: An internal error happened
status: 500
detail: Unrecoverable error while trying to create payment instrument
requestId: 1WAF555PLWNTLYOQ
errorCode: '00_500'
post-transactionRules-createTransactionRuleLimitTransaction:
summary: Limit international payments
description: Example request to limit total amount of international transations
value:
description: Up to 50 EUR international transactions
reference: YOUR_REFERENCE_B2634
status: active
entityKey:
entityType: balanceAccount
entityReference: BA3227C223222B5FN65355NR3
interval:
type: daily
outcomeType: hardBlock
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 5000
internationalTransaction:
operation: equals
value: true
type: velocity
post-transactionRules-createTransactionRuleIncreaseScore-200:
summary: Transaction rule for increasing the score of a card
description: Example response to increase the score of a card
value:
description: Assign score if more than 500 EUR in 2 hours
entityKey:
entityReference: PI3227C223222B5FG88SB8BHR
entityType: paymentInstrument
interval:
duration:
unit: hours
value: 2
timeZone: UTC
type: sliding
outcomeType: scoreBased
reference: myRule11789
requestType: authorization
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
currency: EUR
value: 50000
score: 20
status: inactive
type: velocity
id: TR3227C223222H5J4D9S39V59
patch-transactionRules-transactionRuleId-updateTransactionRuleStatus:
summary: Update the interval of transaction rule
description: Example request for updating the interval of a transaction rule
value:
description: Allow only point-of-sale transactions
reference: YOUR_REFERENCE_4F7346
entityKey:
entityType: paymentInstrument
entityReference: PI3227C223222B5FG88SB8BHR
status: inactive
interval:
type: weekly
ruleRestrictions:
processingTypes:
operation: noneMatch
value:
- pos
type: blockList
post-transactionRules-createTransactionRuleLimitSliding:
summary: Limit total amount in the last 12 hours
description: Example request to limit the total amount in a sliding interval
value:
description: Up to 1000 EUR per card for the last 12 hours
reference: YOUR_REFERENCE_2918A
status: active
entityKey:
entityReference: BA3227C223222B5FN65355NR3
entityType: balanceAccount
aggregationLevel: paymentInstrument
interval:
type: sliding
duration:
value: 12
unit: hours
outcomeType: hardBlock
ruleRestrictions:
totalAmount:
operation: greaterThan
value:
value: 100000
currency: EUR
type: velocity
generic-400:
summary: Response code - 400 Bad request
value:
type: https://docs.adyen.com/errors/general/bad-request
title: Bad request
status: 400
detail: Empty input which would have resulted in a null result.
errorCode: '00_400'
schemas:
TimeOfDayRestriction:
properties:
operation:
description: Defines how the condition must be evaluated.
type: string
value:
$ref: '#/components/schemas/TimeOfDay'
required:
- operation
type: object
InvalidField:
properties:
message:
description: Description of the validation error.
type: string
name:
description: The field that has an invalid value.
type: string
value:
description: The invalid value.
type: string
required:
- name
- value
- message
type: object
RestServiceError:
properties:
detail:
description: A human-readable explanation specific to this occurrence of the problem.
type: string
errorCode:
description: A code that identifies the problem type.
type: string
instance:
description: A unique URI that identifies the specific occurrence of the problem.
type: string
invalidFields:
description: Detailed explanation of each validation error, when applicable.
items:
$ref: '#/components/schemas/InvalidField'
type: array
requestId:
description: A unique reference for the request, essentially the same as `pspReference`.
type: string
response:
description: JSON response payload.
$ref: '#/components/schemas/JSONObject'
status:
description: The HTTP status code.
format: int32
type: integer
title:
description: A short, human-readable summary of the problem type.
type: string
type:
description: A URI that identifies the problem type, pointing to human-readable documentation on this problem type.
type: string
required:
- type
- errorCode
- title
- detail
- status
type: object
Duration:
properties:
unit:
description: 'The unit of time. You can only use **minutes** and **hours** if the `interval.type` is **sliding**.
Possible values: **minutes**, **hours**, **days**, **weeks**, or **months**'
enum:
- days
- hours
- minutes
- months
- weeks
type: string
value:
description: 'The length of time by the unit. For example, 5 days.
The maximum duration is 90 days or an equivalent in other units. For example, 3 months.'
format: int32
type: integer
type: object
Amount:
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
maxLength: 3
minLength: 3
type: string
value:
description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
format: int64
type: integer
required:
- value
- currency
type: object
TransactionRuleEntityKey:
properties:
entityReference:
description: The unique identifier of the resource.
type: string
entityType:
description: 'The type of resource.
Possible values: **balancePlatform**, **paymentInstrumentGroup**, **accountHolder**, **balanceAccount**, or **paymentInstrument**.'
type: string
type: object
BrandVariantsRestriction:
properties:
operation:
description: Defines how the condition must be evaluated.
type: string
value:
description: "List of card brand variants.\n\nPossible values: \n\n- **mc**, **mccredit**, **mccommercialcredit_b2b**, **mcdebit**, **mcbusinessdebit**, **mcbusinessworlddebit**, **mcprepaid**, **mcmaestro**\n\n - **visa**, **visacredit**, **visadebit**, **visaprepaid**.\n\nYou can specify a rule for a generic variant. For example, to create a rule for all Mastercard payment instruments, use **mc**. The rule is applied to all payment instruments under **mc**, such as **mcbusinessdebit** and **mcdebit**.\n\n"
items:
type: string
type: array
required:
- operation
type: object
CountriesRestriction:
properties:
operation:
description: Defines how the condition must be evaluated.
type: string
value:
description: List of two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes.
items:
type: string
type: array
required:
- operation
type: object
TotalAmountRestriction:
properties:
operation:
description: Defines how the condition must be evaluated.
type: string
value:
description: The amount value and currency.
$ref: '#/components/schemas/Amount'
required:
- operation
type: object
MccsRestriction:
properties:
operation:
description: Defines how the condition must be evaluated.
type: string
value:
description: List of merchant category codes (MCCs).
items:
type: string
type: array
required:
- operation
type: object
DayOfWeekRestriction:
properties:
operation:
description: Defines how the condition must be evaluated.
type: string
value:
description: 'List of days of the week.
Possible values: **monday**, **tuesday**, **wednesday**, **thursday**, **friday**, **saturday**, **sunday**.
'
items:
enum:
- friday
- monday
- saturday
- sunday
- thursday
- tuesday
- wednesday
type: string
type: array
required:
- operation
type: object
TransactionRuleInterval:
properties:
dayOfMonth:
x-addedInVersion: '2'
description: The day of month, used when the `duration.unit` is **months**. If not provided, by default, this is set to **1**, the first day of the month.
format: int32
type: integer
dayOfWeek:
x-addedInVersion: '2'
description: 'The day of week, used when the `duration.unit` is **weeks**. If not provided, by default, this is set to **monday**.
Possible values: **sunday**, **monday**, **tuesday**, **wednesday**, **thursday**, **friday**.'
enum:
- friday
- monday
- saturday
- sunday
- thursday
- tuesday
- wednesday
type: string
duration:
x-addedInVersion: '2'
description: The duration, which you can specify in hours, days, weeks, or months. The maximum duration is 90 days or an equivalent in other units. Required when the `type` is **rolling** or **sliding**.
$ref: '#/components/schemas/Duration'
timeOfDay:
x-addedInVersion: '2'
description: The time of day, in **hh:mm:ss** format, used when the `duration.unit` is **hours**. If not provided, by default, this is set to **00:00:00**.
type: string
timeZone:
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/adyen-rules-api-openapi.yml