APIMatic CLI provides support for the following features:
- Validate API
- Transform an API definition in 10+ supported formats
- Generate an SDK in multiple supported languages
- Generate API Portal
For complete documentation of the APIMatic CLI commands, please refer to the Command Line Reference.
Before you start using APIMatic, its important to validate your API specification to ensure syntactic and semantic correctness. This will allow you to take full advantage of APIMatic’s code generation abilities. Use the following command to validate your API specification.
$ apimatic api:validate --file="./filename.json"
Fixing validation issues will ensure that APIMatic will ensure you have a smooth experience using APIMatic’s services. The validation output is categorized into three categories defined below:
- Errors: Any syntax/semantic issues found in the API definition; for example, if a GET method contains a request body. API definition file import cannot proceed in case of an error. You will be required to fix the issues listed for your definition if that happens.
- Warnings: Any unexpected behaviour that may affect the output; for example, if the parameter example provided is invalid. Warnings will not halt API import, but it is recommended that you fix these issues so your API definition results in the best possible experience.
- Messages: Recommendations or suggestions that can help enhance your API definition and its completeness. For example, messages can point out that an endpoint description or a parameter example is missing. Messages will not halt API import.
APIMatic’s API Transformer is a powerful tool that allows interconversion between a large number of API specification formats including OpenAPI/Swagger, RAML, WSDL and Postman collections. This gives you the ability to use a whole array of format specific tools without having to port your API to a different specification format.
List of all the supported API specification formats are given in the API Transformer Docs.
In order to transform an API, use the
apimatic api:transform command. You can provide the source directory where the API specification is stored, required specification format and destination directory to download the transformed file.
$ apimatic api:transform --format="OpenApi3Json" --file="filename.json" --destination="D:/destination" Success! Your transformed file is located at D:/Transformed_OpenApi3Json.json
Alternatively, you can also provide a link to the file using the
--url option, if the file is stored in a publicly accessible location on the internet.
$ apimatic api:transform --format="RAML" --url="https://petstore.swagger.io/v2/swagger.json" --destination="D:/destination" Success! Your transformed file is located at D:/swagger_raml.yaml
To get a list of the available transformation formats, use the
apimatic api:transform --help command.
$ apimatic api:transform --help... --format=format (required) specification format to transform API specification into (OpenApi3Json|OpenApi3Yaml|APIMATIC|WADL2009|WSDL| Swagger10|Swagger20|SwaggerYaml|RAML|RAML10|Postman10|Postman20)...
APIMatic CLI also allows automatic SDK generation for your APIs in multiple popular languages including Java, C#/.NET, Python, Typescript, Ruby and PHP. Use the
apimatic sdk:generate command to generate SDK for any sample API.
$ apimatic sdk:generate
The following example generates Python SDK for a sample API (filename.json) and downloads it to your working directory in the form of a .zip file.
$ apimatic sdk:generate --platform=python --file="filename.json" --zip Generating SDK... doneDownloading SDK... doneSuccess! Your SDK is located at D:\sample_sdk_python.zip
You can find the list of supported languages/platforms for SDK generation by invoking the
apimatic sdk:generate --help command.
$ apimatic sdk:generate --help... --platform=platform (required) language platform for sdk Simple: CSHARP|JAVA|PYTHON|RUBY|PHP|TYPESCRIPT Legacy: CS_NET_STANDARD_LIB|CS_PORTABLE_NET_LIB|CS_UNIVERSAL_WINDOWS_PLATFORM_LIB| JAVA_ECLIPSE_JRE_LIB|PHP_GENERIC_LIB|PYTHON_GENERIC_LIB|RUBY_GENERIC_LIB| TS_GENERIC_LIB...
APIMatic’s auto-generated API Portal combines API documentation, SDKs and code samples into one neat static website. Embracing the philosophy of documentation as code, the API Portal can be generated right from the terminal, allowing the entire process to be made part of the release pipeline.
In order to generate an API Portal, the CLI expects inputs to be provided in a specific format. Details about the required input format are provided in the Generating API Portal Docs.
A sample input is provided in the GitHub repository. Clone or download this sample input. It consists of:
contentdirectory containing Markdown guides.
specdirectory containing API specifications.
staticdirectory containing images or any other static content referenced in the documentation.
- A configuration file called
apimatic portal:generate command to generate a static API Portal.
$ apimatic portal:generate --folder="./input-folder" --destination="D:/destination" Downloading portal... doneYour portal has been generated at D:\generated_portal
The generated API Portal is downloaded at the location identified by the
--destination flag. In order to preview the generated API Portal, you will need to upload the generated directory to a web server.