Is there an API to update the file definition? I am looking for a way to keep my project in Git and SwaggerHub in sync automatically, so I would like to update the file definition at every merge. Is it possible? How do you manage keeping your project and SwaggerHub definition in sync automatically?
Asked
Active
Viewed 1,724 times
6
-
Is your question about SwaggerHub by any chance? – Helen Oct 04 '18 at 17:29
-
Yes i am going to update my post. – Ludo Oct 05 '18 at 08:06
1 Answers
11
Yes, SwaggerHub has an API:
https://api.swaggerhub.com
Integrating with the SwaggerHub API
and a number of official API clients.
API
cURL command to create or update an API (note the use of --data-binary
instead of -d/--data
):
curl -X POST "https://api.swaggerhub.com/apis/OWNER/API_NAME" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/yaml" \
--data-binary @myapi.yaml
Raw HTTP request for the reference:
POST https://api.swaggerhub.com/apis/OWNER/API_NAME
Authorization: YOUR_API_KEY
Content-Type: application/yaml
# Request body is your complete YAML/JSON file
swagger: '2.0'
info:
title: My API
version: 1.0.0
paths:
...
Use the correct Content-Type
header value: application/yaml
for YAML or application/json
for JSON.
SwaggerHub CLI
A command-line wrapper around the SwaggerHub API, available as a npm module.
npm install -g swaggerhub-cli
Specify your API key (get it from https://app.swaggerhub.com/settings/apiKey):
swaggerhub configure
? SwaggerHub URL: https://api.swaggerhub.com
? API Key: <paste your key>
Create a new API:
swaggerhub api:create OWNER/API_NAME --file myapi.yaml
Update an existing API:
swaggerhub api:update OWNER/API_NAME/VERSION --file myapi.yaml --visibility private
Maven plugin
https://github.com/swagger-api/swaggerhub-maven-plugin/
Gradle plugin

Helen
- 87,344
- 17
- 243
- 314