OpenAPI is now the primary format supported by Specmatic for RESTful APIs.
Specmatic can convert contracts using the older format to OpenAPI 3.0.x, from 0.32.0 onwards.
The command is
java -jar specmatic.jar to-openapi /path/to/contract/file.spec.
For example, here’s a contract for an API that generates a random number.
#file name: random.spec Feature: Random API Scenario: Random number When GET / Then status 200 And response-body (number)
Start up Command Prompt (Windows) or Terminal (MacOS). cd into the directory containing this file.
Convert it to yaml using
java -jar specmatic.jar to-openapi ./random.spec
NOTE: remember to use the path to specmatic.jar in the above command.
The convert generates a new file named random.yaml.
Here’s what it contains:
--- openapi: "3.0.1" info: title: "Random API" version: "1" paths: /: get: summary: "Random number" parameters:  responses: "200": description: "Random number" content: text/plain: schema: type: "number"
The following features are not yet supported:
- Multipart responses
- x-www-form-urlencoded data with more than one field
- XML contracts
For SOAP, simply replace the .spec or .qontract file with the original WSDL file. Read more about it here.