canonical: https://jentic.com/apis/adyen.com/adyen-recurring

# Adyen Recurring API (deprecated)

The Adyen Recurring API is the classic-integration surface for managing stored payment tokens (recurring details), permits that grant third parties limited charging rights against those tokens, and ancillary tasks such as scheduling Account Updater runs and notifying shoppers. The six endpoints cover listing stored details for a shopperReference, disabling a token, creating and revoking permits, and asking the issuer to push a payment notification to the shopper. Adyen has deprecated this API for new integrations and recommends the Checkout API stored payment methods endpoints instead; the Recurring API remains live for existing classic integrations.

## For AI agents

List, disable, and permit-manage Adyen stored payment tokens for subscription billing on classic integrations.

## Scope

Does not authorise card payments, run payouts, or manage account holders - use only for managing stored payment tokens, permits, and Account Updater on the classic integration.

## Capabilities

- List stored payment tokens for a shopper via POST /listRecurringDetails
- Disable a stored token to stop future charges via POST /disable
- Issue a third-party permit against a token via POST /createPermit and revoke one via POST /disablePermit
- Trigger a card-update sweep on stored tokens via POST /scheduleAccountUpdater
- Ask the card issuer to push a payment notification to the shopper via POST /notifyShopper
- Use shopperReference and recurringDetailReference identifiers to operate on stored tokens

## Use cases

### Subscription Token Lifecycle

Subscription merchants on Adyen's classic integration store a payment token at first charge, then list it via POST /listRecurringDetails when the customer logs in to manage billing. POST /disable removes a token when the customer cancels or replaces a card, ensuring future renewal attempts fail cleanly rather than authorising on stale data. POST /scheduleAccountUpdater requests Adyen to push expired or replaced card numbers from the issuers, reducing involuntary churn.

Example prompt: Call POST /listRecurringDetails with shopperReference and merchantAccount, then call POST /disable with the chosen recurringDetailReference when the shopper cancels

### Third-Party Permits for Marketplace Charging

When a marketplace seller needs to charge a buyer's stored card on the marketplace platform, POST /createPermit issues a scoped permit referencing a shopper's recurringDetailReference, with restrictions such as profile, currency, or amount cap. POST /disablePermit revokes the permit later. This is the classic-platform mechanism for delegated charging without sharing the underlying token.

Example prompt: Call POST /createPermit with shopperReference, recurringDetailReference, and a permit object specifying restrictAccount and amount cap

### Issuer-Initiated Shopper Notifications

Some markets require advance notice before a stored card is charged. POST /notifyShopper instructs the card issuer to push a notification to the shopper through their banking app or SMS for the upcoming recurring debit. This supports compliance with mandate rules in regions where issuer-driven shopper notifications are the standard, and improves charge success by reducing dispute rates.

Example prompt: Call POST /notifyShopper with shopperReference, recurringDetailReference, amount, and merchantAccount to request issuer-driven shopper notification

### AI Agent Token Management via Jentic

A subscription operations agent that needs to disable tokens for cancelled customers searches Jentic for 'disable an Adyen stored payment token', loads the schema for /disable, and executes per cancelled subscription. Jentic injects X-API-Key from the encrypted vault. The agent never sees the raw secret and confirms each disable succeeded by checking the response code.

Example prompt: Search Jentic for 'disable an Adyen stored payment token', load the disable schema, then execute one call per cancelled subscription with shopperReference and recurringDetailReference

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /listRecurringDetails | List stored payment tokens for a shopper |
| POST | /disable | Disable a stored payment token |
| POST | /createPermit | Create a third-party permit |
| POST | /disablePermit | Revoke a permit |
| POST | /scheduleAccountUpdater | Refresh expired card tokens |
| POST | /notifyShopper | Trigger an issuer-driven shopper notification |

## Key resources

- **Recurring Details** — List stored payment tokens for a shopper and disable individual tokens
- **Permits** — Create and revoke third-party permits scoped to a stored token
- **Account Updater & Shopper Notifications** — Schedule Account Updater runs and trigger issuer-driven shopper notifications

## Why Jentic

- **Setup:** Wiring this deprecated Adyen Recurring API by hand means handling its X-API-Key or basic auth, targeting the classic PAL host, and managing stored tokens and permits yourself. Through Jentic you install once, import the Recurring API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** The Recurring API takes the shopper reference in the request body rather than a resource id in the URL path, so you limit the agent to the operations it needs, such as listing stored tokens for a shopper. Because you pick the operations, disabling a token or a permit stays out unless you include it.
- **Credential handling:** Your Adyen X-API-Key and basic auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list stored tokens for a shopper' or 'disable a recurring token', and Jentic returns the matching Recurring operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Adyen Checkout API** — Modern stored payment methods endpoints replace the deprecated Recurring API
- **Adyen Payment API** — Charge stored tokens via /authorise on the classic Payment API
- **Adyen BIN Lookup API** — Determine card properties before charging a stored token
- **Adyen Disputes API** — Defend chargebacks raised against recurring charges

## FAQ

### What authentication does the Adyen Recurring API use?

The API supports an API key in the X-API-Key header (ApiKeyAuth) and HTTP Basic auth (BasicAuth) using web-service user credentials. Through Jentic, the credential is held encrypted in the vault and only a scoped execution token is exposed to the agent at runtime.

### Can I list stored cards for a shopper with the Adyen Recurring API?

Yes. POST /listRecurringDetails returns the stored payment tokens (recurringDetailReference values) attached to a shopperReference, along with their metadata such as last-four digits and contract type. Use this to render a saved-cards UI or to choose a token before a recurring charge.

### Is the Adyen Recurring API still recommended for new integrations?

No. Adyen has marked Recurring as deprecated and recommends the Checkout API stored payment methods endpoints (/storedPaymentMethods) for new integrations. Existing classic integrations continue to work, and this enrichment covers the v68 surface for those integrations.

### How do I disable a stored token with the Adyen Recurring API through Jentic?

Search Jentic for 'disable an Adyen stored payment token', load the disable schema, then execute with shopperReference, recurringDetailReference, and merchantAccount. Jentic injects X-API-Key from the encrypted vault. Get an account through Jentic One, the self-hosted execution layer.

### What are the rate limits for the Adyen Recurring API?

Adyen does not publish a fixed quantitative rate limit for Recurring in the spec; usage is generally administrative and not per-transaction. If 429 responses appear in production, contact Adyen support to review the merchant account's quota.

### What is a permit on the Recurring API?

A permit is a scoped charging right against a stored token, issued via POST /createPermit. It can be restricted by merchant account, amount, currency, or profile, and is used in classic platform setups where one entity stores the token and another charges against it. POST /disablePermit revokes a permit before its natural expiry.

### Can I limit what my agent is allowed to do with the Adyen Recurring API?

Yes. Because Jentic One is self-hosted and your own rules decide which operations and credentials the agent may use, you choose exactly which Recurring API calls it can make. If you only want it listing a shopper's stored tokens, you expose POST /listRecurringDetails and leave POST /disable, POST /createPermit, POST /disablePermit, POST /scheduleAccountUpdater, and POST /notifyShopper out. Since the API takes the shopperReference in the request body rather than a resource id in the path, you scope the agent by the operations you grant rather than by URL, and your Adyen key is injected at execution time so it never reaches the agent's prompt or context.
