"Management API skill. Use when working with Management for companies, me, merchants. Covers 130 endpoints."
Resources
1Install
npx skillscat add lap-platform/claude-marketplace/management-api Install via the SkillsCat registry.
SKILL.md
Management API
API version: 1
Auth
ApiKey X-API-Key in header | Bearer basic
Base URL
https://management-test.adyen.com/v1
Setup
- Set Authorization header with your Bearer token
- GET /companies -- verify access
- POST /companies/{companyId}/apiCredentials -- create first apiCredentials
Endpoints
130 endpoints across 5 groups. See references/api-spec.lap for full details.
companies
| Method | Path | Description |
|---|---|---|
| GET | /companies | Get a list of company accounts |
| GET | /companies/{companyId} | Get a company account |
| GET | /companies/{companyId}/androidApps | Get a list of Android apps |
| GET | /companies/{companyId}/androidApps/{id} | Get Android app |
| GET | /companies/{companyId}/androidCertificates | Get a list of Android certificates |
| GET | /companies/{companyId}/apiCredentials | Get a list of API credentials |
| POST | /companies/{companyId}/apiCredentials | Create an API credential. |
| GET | /companies/{companyId}/apiCredentials/{apiCredentialId} | Get an API credential |
| PATCH | /companies/{companyId}/apiCredentials/{apiCredentialId} | Update an API credential. |
| GET | /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins | Get a list of allowed origins |
| POST | /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins | Create an allowed origin |
| DELETE | /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId} | Delete an allowed origin |
| GET | /companies/{companyId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId} | Get an allowed origin |
| POST | /companies/{companyId}/apiCredentials/{apiCredentialId}/generateApiKey | Generate new API key |
| POST | /companies/{companyId}/apiCredentials/{apiCredentialId}/generateClientKey | Generate new client key |
| GET | /companies/{companyId}/billingEntities | Get a list of billing entities |
| GET | /companies/{companyId}/merchants | Get a list of merchant accounts |
| GET | /companies/{companyId}/shippingLocations | Get a list of shipping locations |
| POST | /companies/{companyId}/shippingLocations | Create a shipping location |
| GET | /companies/{companyId}/terminalActions | Get a list of terminal actions |
| GET | /companies/{companyId}/terminalActions/{actionId} | Get terminal action |
| GET | /companies/{companyId}/terminalLogos | Get the terminal logo |
| PATCH | /companies/{companyId}/terminalLogos | Update the terminal logo |
| GET | /companies/{companyId}/terminalModels | Get a list of terminal models |
| GET | /companies/{companyId}/terminalOrders | Get a list of orders |
| POST | /companies/{companyId}/terminalOrders | Create an order |
| GET | /companies/{companyId}/terminalOrders/{orderId} | Get an order |
| PATCH | /companies/{companyId}/terminalOrders/{orderId} | Update an order |
| POST | /companies/{companyId}/terminalOrders/{orderId}/cancel | Cancel an order |
| GET | /companies/{companyId}/terminalProducts | Get a list of terminal products |
| GET | /companies/{companyId}/terminalSettings | Get terminal settings |
| PATCH | /companies/{companyId}/terminalSettings | Update terminal settings |
| GET | /companies/{companyId}/users | Get a list of users |
| POST | /companies/{companyId}/users | Create a new user |
| GET | /companies/{companyId}/users/{userId} | Get user details |
| PATCH | /companies/{companyId}/users/{userId} | Update user details |
| GET | /companies/{companyId}/webhooks | List all webhooks |
| POST | /companies/{companyId}/webhooks | Set up a webhook |
| DELETE | /companies/{companyId}/webhooks/{webhookId} | Remove a webhook |
| GET | /companies/{companyId}/webhooks/{webhookId} | Get a webhook |
| PATCH | /companies/{companyId}/webhooks/{webhookId} | Update a webhook |
| POST | /companies/{companyId}/webhooks/{webhookId}/generateHmac | Generate an HMAC key |
| POST | /companies/{companyId}/webhooks/{webhookId}/test | Test a webhook |
me
| Method | Path | Description |
|---|---|---|
| GET | /me | Get API credential details |
| GET | /me/allowedOrigins | Get allowed origins |
| POST | /me/allowedOrigins | Add allowed origin |
| DELETE | /me/allowedOrigins/{originId} | Remove allowed origin |
| GET | /me/allowedOrigins/{originId} | Get allowed origin details |
| POST | /me/generateClientKey | Generate a client key |
merchants
| Method | Path | Description |
|---|---|---|
| GET | /merchants | Get a list of merchant accounts |
| POST | /merchants | Create a merchant account |
| GET | /merchants/{merchantId} | Get a merchant account |
| POST | /merchants/{merchantId}/activate | Request to activate a merchant account |
| GET | /merchants/{merchantId}/apiCredentials | Get a list of API credentials |
| POST | /merchants/{merchantId}/apiCredentials | Create an API credential |
| GET | /merchants/{merchantId}/apiCredentials/{apiCredentialId} | Get an API credential |
| PATCH | /merchants/{merchantId}/apiCredentials/{apiCredentialId} | Update an API credential |
| GET | /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins | Get a list of allowed origins |
| POST | /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins | Create an allowed origin |
| DELETE | /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId} | Delete an allowed origin |
| GET | /merchants/{merchantId}/apiCredentials/{apiCredentialId}/allowedOrigins/{originId} | Get an allowed origin |
| POST | /merchants/{merchantId}/apiCredentials/{apiCredentialId}/generateApiKey | Generate new API key |
| POST | /merchants/{merchantId}/apiCredentials/{apiCredentialId}/generateClientKey | Generate new client key |
| GET | /merchants/{merchantId}/billingEntities | Get a list of billing entities |
| GET | /merchants/{merchantId}/paymentMethodSettings | Get all payment methods |
| POST | /merchants/{merchantId}/paymentMethodSettings | Request a payment method |
| GET | /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId} | Get payment method details |
| PATCH | /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId} | Update a payment method |
| POST | /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId}/addApplePayDomains | Add an Apple Pay domain |
| GET | /merchants/{merchantId}/paymentMethodSettings/{paymentMethodId}/getApplePayDomains | Get Apple Pay domains |
| GET | /merchants/{merchantId}/payoutSettings | Get a list of payout settings |
| POST | /merchants/{merchantId}/payoutSettings | Add a payout setting |
| DELETE | /merchants/{merchantId}/payoutSettings/{payoutSettingsId} | Delete a payout setting |
| GET | /merchants/{merchantId}/payoutSettings/{payoutSettingsId} | Get a payout setting |
| PATCH | /merchants/{merchantId}/payoutSettings/{payoutSettingsId} | Update a payout setting |
| GET | /merchants/{merchantId}/shippingLocations | Get a list of shipping locations |
| POST | /merchants/{merchantId}/shippingLocations | Create a shipping location |
| GET | /merchants/{merchantId}/splitConfigurations | Get a list of split configuration profiles |
| POST | /merchants/{merchantId}/splitConfigurations | Create a split configuration profile |
| DELETE | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId} | Delete a split configuration profile |
| GET | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId} | Get a split configuration profile |
| PATCH | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId} | Update the description of the split configuration profile |
| POST | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId} | Create a rule |
| DELETE | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId} | Delete a rule |
| PATCH | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId} | Update the split conditions |
| PATCH | /merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}/splitLogic/{splitLogicId} | Update the split logic |
| GET | /merchants/{merchantId}/stores | Get a list of stores |
| POST | /merchants/{merchantId}/stores | Create a store |
| GET | /merchants/{merchantId}/stores/{reference}/terminalLogos | Get the terminal logo |
| PATCH | /merchants/{merchantId}/stores/{reference}/terminalLogos | Update the terminal logo |
| GET | /merchants/{merchantId}/stores/{reference}/terminalSettings | Get terminal settings |
| PATCH | /merchants/{merchantId}/stores/{reference}/terminalSettings | Update terminal settings |
| GET | /merchants/{merchantId}/stores/{storeId} | Get a store |
| PATCH | /merchants/{merchantId}/stores/{storeId} | Update a store |
| GET | /merchants/{merchantId}/terminalLogos | Get the terminal logo |
| PATCH | /merchants/{merchantId}/terminalLogos | Update the terminal logo |
| GET | /merchants/{merchantId}/terminalModels | Get a list of terminal models |
| GET | /merchants/{merchantId}/terminalOrders | Get a list of orders |
| POST | /merchants/{merchantId}/terminalOrders | Create an order |
| GET | /merchants/{merchantId}/terminalOrders/{orderId} | Get an order |
| PATCH | /merchants/{merchantId}/terminalOrders/{orderId} | Update an order |
| POST | /merchants/{merchantId}/terminalOrders/{orderId}/cancel | Cancel an order |
| GET | /merchants/{merchantId}/terminalProducts | Get a list of terminal products |
| GET | /merchants/{merchantId}/terminalSettings | Get terminal settings |
| PATCH | /merchants/{merchantId}/terminalSettings | Update terminal settings |
| GET | /merchants/{merchantId}/users | Get a list of users |
| POST | /merchants/{merchantId}/users | Create a new user |
| GET | /merchants/{merchantId}/users/{userId} | Get user details |
| PATCH | /merchants/{merchantId}/users/{userId} | Update a user |
| GET | /merchants/{merchantId}/webhooks | List all webhooks |
| POST | /merchants/{merchantId}/webhooks | Set up a webhook |
| DELETE | /merchants/{merchantId}/webhooks/{webhookId} | Remove a webhook |
| GET | /merchants/{merchantId}/webhooks/{webhookId} | Get a webhook |
| PATCH | /merchants/{merchantId}/webhooks/{webhookId} | Update a webhook |
| POST | /merchants/{merchantId}/webhooks/{webhookId}/generateHmac | Generate an HMAC key |
| POST | /merchants/{merchantId}/webhooks/{webhookId}/test | Test a webhook |
stores
| Method | Path | Description |
|---|---|---|
| GET | /stores | Get a list of stores |
| POST | /stores | Create a store |
| GET | /stores/{storeId} | Get a store |
| PATCH | /stores/{storeId} | Update a store |
| GET | /stores/{storeId}/terminalLogos | Get the terminal logo |
| PATCH | /stores/{storeId}/terminalLogos | Update the terminal logo |
| GET | /stores/{storeId}/terminalSettings | Get terminal settings |
| PATCH | /stores/{storeId}/terminalSettings | Update terminal settings |
terminals
| Method | Path | Description |
|---|---|---|
| GET | /terminals | Get a list of terminals |
| POST | /terminals/scheduleActions | Create a terminal action |
| GET | /terminals/{terminalId}/terminalLogos | Get the terminal logo |
| PATCH | /terminals/{terminalId}/terminalLogos | Update the logo |
| GET | /terminals/{terminalId}/terminalSettings | Get terminal settings |
| PATCH | /terminals/{terminalId}/terminalSettings | Update terminal settings |
Enhanced Skill Content
Question Mapping
- "What companies do I have access to?" -> GET /companies
- "Show me details for a specific company" -> GET /companies/{companyId}
- "Who are the users under this merchant account?" -> GET /merchants/{merchantId}/users
- "What API credentials exist for my company?" -> GET /companies/{companyId}/apiCredentials
- "How do I rotate an API key for a credential?" -> POST /companies/{companyId}/apiCredentials/{apiCredentialId}/generateApiKey
- "What payment methods are configured for this merchant?" -> GET /merchants/{merchantId}/paymentMethodSettings
- "How do I enable Apple Pay on a merchant?" -> POST /merchants/{merchantId}/paymentMethodSettings (type: "applepay", with domains)
- "What terminals do I have and where are they?" -> GET /terminals
- "How do I order new terminals for a merchant?" -> POST /merchants/{merchantId}/terminalOrders
- "What webhooks are configured and are any failing?" -> GET /companies/{companyId}/webhooks
- "How do I test if a webhook endpoint is reachable?" -> POST /companies/{companyId}/webhooks/{webhookId}/test
- "What stores belong to this merchant?" -> GET /merchants/{merchantId}/stores
- "How do I create a new merchant account under my company?" -> POST /merchants
- "What are the current terminal settings at the store level?" -> GET /merchants/{merchantId}/stores/{reference}/terminalSettings
- "Who am I authenticated as right now?" -> GET /me
Response Tips
- Paginated lists (companies, merchants, users, credentials, webhooks, stores, terminals): Check
pagesTotalanditemsTotal; follow_links.next.hrefto page forward. An emptydataarray or 204 means no results. - Entity details (company, merchant, store, user): The
_linksobject contains HATEOAS URLs for related resources (credentials, webhooks, users) -- use these instead of constructing URLs manually. - Terminal settings: Deeply nested object with 20+ top-level config sections. PATCH merges at the section level -- only send the sections you want to change.
- Payment method settings: Response contains config blocks for every supported method (visa, mc, klarna, etc.) but only the one matching
typeis populated. Checkenabled,allowed, andverificationStatusto understand actual state. - Webhooks:
hasError: truesignals delivery failures;hasPassword: trueconfirms auth is set without exposing the value. The HMAC key is only returned from the/generateHmacendpoint. - Terminal orders:
statustracks order lifecycle;trackingUrlis only populated after shipment. 204 responses on merchant-scoped endpoints indicate the merchant exists but has no matching data. - Error responses (400/401/403/422/500): All endpoints share the same error code set. 422 typically means valid JSON but failed business validation (e.g., duplicate domain, invalid role).
Anomaly Flags
- Webhook
hasError: true: Proactively warn when any webhook shows delivery errors -- this means notifications are being dropped. - API credential
active: false: Flag inactive credentials that may be blocking integrations, especially if recently changed via PATCH. - Payment method
verificationStatusnot verified: Surface when a configured payment method has a pending or failed verification -- it will not process live transactions. - Payment method
allowed: falsebutenabled: true: Contradictory state indicating Adyen has disallowed a method the merchant tried to enable. Requires Adyen support. - Store
status: closedorinactive: Alert when operating on a store that is not active, as terminal settings and orders may not apply. - Terminal order
statusunchanged: If an order stays in the same status across checks, flag potential fulfillment delays. - Webhook SSL settings: Flag
acceptsExpiredCertificate,acceptsSelfSignedCertificate, oracceptsUntrustedRootCertificateset to true -- these weaken security. - 429 on payment method endpoints: This group uniquely returns 429 (rate limit). Surface immediately and advise backing off.
- Empty
dataarrays with 200 status: Distinguish from 204 (no content) -- 200 with empty data means the parent entity exists but has no children of that type.
Playbook
1. Onboard a new merchant with a store and terminals
POST /merchantswithcompanyIdand optionaldescription,pricingPlan- Note the returned
idasmerchantId POST /merchants/{merchantId}/storeswith address, phone, shopperStatementPOST /merchants/{merchantId}/paymentMethodSettingsfor each payment method (e.g., visa, mc, applepay)GET /merchants/{merchantId}/terminalProducts?country=XXto find available terminal modelsPOST /merchants/{merchantId}/shippingLocationsto set delivery addressGET /merchants/{merchantId}/billingEntitiesto find billing entity IDPOST /merchants/{merchantId}/terminalOrderswith items, shippingLocationId, billingEntityId
2. Set up webhook notifications for a company
POST /companies/{companyId}/webhookswithurl,type,communicationFormat: "json",active: true,filterMerchantAccountType, andfilterMerchantAccounts- Note the returned webhook
id POST /companies/{companyId}/webhooks/{webhookId}/generateHmacto get the HMAC key for signature verificationPOST /companies/{companyId}/webhooks/{webhookId}/testwith a sample notification to verify delivery- Check the test response
dataarray for success/failure per merchant
3. Rotate API credentials safely
GET /companies/{companyId}/apiCredentialsto list all credentials- Identify the target credential by
descriptionorusername POST /companies/{companyId}/apiCredentials/{apiCredentialId}/generateApiKeyto get a new API key (old key is immediately invalidated)- Update the consuming application with the new
apiKeyvalue POST /companies/{companyId}/apiCredentials/{apiCredentialId}/generateClientKeyif a client-side key is also needed- Optionally
PATCH /companies/{companyId}/apiCredentials/{apiCredentialId}to updateallowedOriginsorroles
4. Configure terminal settings across the hierarchy
PATCH /companies/{companyId}/terminalSettingsto set company-wide defaults (localization, receipt printing, refund policy)PATCH /merchants/{merchantId}/terminalSettingsto override at the merchant level (e.g., different gratuity config)PATCH /merchants/{merchantId}/stores/{reference}/terminalSettingsfor store-specific overrides (e.g., pay-at-table, standalone mode)PATCH /terminals/{terminalId}/terminalSettingsfor individual terminal exceptions- Settings inherit downward: company -> merchant -> store -> terminal. Only send the sections you want to override at each level.
5. Manage user access for a merchant
GET /merchants/{merchantId}/usersto list current users (usepageSizeandpageNumberfor large lists)POST /merchants/{merchantId}/userswithemail,username,name, androlesto invite a new userPATCH /merchants/{merchantId}/users/{userId}to change roles, deactivate (active: false), or update email- To audit a specific user:
GET /merchants/{merchantId}/users/{userId}and reviewroles,accountGroups, andactivestatus - Repeat at company level via
/companies/{companyId}/usersfor broader access -- company users can haveassociatedMerchantAccountsto scope their access
Response Tips
- Check response schemas in references/api-spec.lap for field details
- List endpoints may support pagination; check for limit, offset, or cursor params
- Create/update endpoints typically return the created/updated object
References
- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas
Generated from the official API spec by LAP