akeneo / pim-api-docs

Akeneo Web API documentation (contributions are welcomed!)
https://api.akeneo.com/
33 stars 70 forks source link

Akeneo API documentation

This repository holds the sources for the documentation of the REST API that was released in 1.7.

The API documentation can be found here: api.akeneo.com.

Installation for dev/preview purposes

Requirements

Install Docker Engine.

Build with docker

make build

This is only building the documentation. The documentation is not available with this command, as it does not launch the HTTP server.

Build and launch HTTP server with docker

make watch

The REST API documentation site is then available on localhost:8000. Files located in the content and src directories are watched for changes, so when developing you do not need to launch any other task.

Deployment

Automatic

To deploy the content of your PR, first merge your PR, and then trigger the CircleCI task continue_with_prod?.

NOTE: Once the "continue_with_prod?" task is completed, there is a delay before the new version of the documentation becomes visible.

Manual

In case you want to re deploy the Serenity documentation, look at the latest merge in master and click on Deployment.

List of merged PR in master

Then click on Rerun.

Re run a deployment

Swagger

As our YAML Swagger spec uses references and links, it is considered as non-valid. During the build, we generate a valid JSON specification that is put under the content/swagger folder. Don't forget to version it if you made any change into the YAML Swagger spec.

Custom properties

Our Swagger spec is extended with custom properties:

Property Type Description
x-from-version string Indicates the version the property was added to the API. In the user documentation, hides the property from payload descriptions that doesn't match the selected API version.
x-examples-per-version [Example object] Allows to set a payload example for a specific version. Use as a Response object property.

Example object

Property Type Description
x-version string API version of the example
x-example any Example payload content