Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adyen/adyen-openapi

OpenAPI specification for the Adyen APIs
https://github.com/adyen/adyen-openapi

adyen adyen-api openapi-specification openapi-standard swagger-specification

Last synced: 6 days ago
JSON representation

OpenAPI specification for the Adyen APIs

Awesome Lists containing this project

README

        

# Adyen OpenAPI / Swagger definitions

Adyen provides [various APIs](https://docs.adyen.com) to help you accept payments on your website or mobile application, implement subscription billing, make payouts, and much more.

This repository contains Adyen API definition files, represented in the [OpenAPI Specification](https://www.openapis.org/) standard (formerly known as Swagger Specification).

## Folder structure

API definitions in this repository are organized into two sub-folders:

```
/json – Definition files in the json format.
/yaml – Definition files in the yaml format.
```

We support the OpenAPI version 3.1.0.

## Usage

There are multiple ways you can use the OpenAPI definition to explore the Adyen API:
- If you want to see the API definitions in action, visit the [Adyen API Explorer](https://docs.adyen.com/api-explorer/) portal.
- If you prefer to use the classic Swagger toolset, upload these definitions to the [Swagger Editor](http://editor.swagger.io/) or [SwaggerHub](https://swaggerhub.com/).
- Also, we recommend you use [Postman](https://www.getpostman.com/postman) to import the API definition and create your personal collection of requests.

## Vendor extensions

Adyen's API definitions contain some custom extensions, as [allowed by the OpenAPI standard](https://swagger.io/docs/specification/openapi-extensions/). These are extensions that provide metadata, such as the grouping and sort order of API objects, when they are displayed in the [Adyen API Explorer](https://docs.adyen.com/api-explorer/).

### x-groups

This extension provides a list of all endpoint groups for the selected API.

For example:

``` yaml
x-groups:
- General
- Modifications
```

### x-groupName and x-sortIndex

These extensions specify how to group endpoints and sort them within a group.

For example:

``` yaml
paths:
...
post:
...
x-groupName: Modifications
x-sortIndex: 5
...
```

### x-publicVersion

This is an auxiliary extension that helps us verify that the current API version is publicly available.

### x-addedInVersion, x-deprecatedInVersion and x-deprecatedMessage

These extensions help us add information when a certain endpoint or field has been added, and later when they are deprecated.

In addition, the `x-deprecatedMessage` can contain a human-readable message explaining what to use instead of a deprecated API, which provides much better developer experience:

``` yaml
recurringDetailReference:
deprecated: true
x-deprecatedInVersion: 49
x-deprecatedMessage: Use `storedPaymentMethodId` instead.
description: This is the `recurringDetailReference` returned in the response when you created the token.
type: string
storedPaymentMethodId:
x-addedInVersion: 49
description: This is the `recurringDetailReference` returned in the response when you created the token.
type: string
```

### x-oneOf, x-anyOf, x-not and x-allOf

These extensions are equivalent to those from the [JSON Schema](https://json-schema.org/understanding-json-schema/reference/combining.html) but don't enforce strict validation.

We use them in some rare cases when we need to avoid validation issues with open-source tooling, while still being able to display this information in our [API Explorer](https://docs.adyen.com/api-explorer/).

## Support

If you have a feature request, or spotted a bug or a technical problem, create a GitHub issue. For other questions, contact our [Team](https://www.adyen.help/hc/en-us/requests/new).

## License

This repository is open source and available under the MIT license. For more information, see the LICENSE file.