Swagger
Summary
A Swagger API definition.
Description
The swaggerVersion, resourcePath, apis, and basePath are required.
Fields
| Field Name | Type | Since Version | Description |
|---|---|---|---|
name |
String | The name of the API | |
summary |
String | Brief summary of the API. | |
securityProfile |
SwaggerSecurityProfile | The security profile associated with the API | |
basePaths |
Collection | Array of basePaths supported for this API/service, based on the configured ports | |
type |
String | The resource type. Possible values: 'rest', 'wsdl' | |
image |
String | API image URL | |
state |
String | The state of the API. Possible values: 'pending', 'unpublished', or 'published'. | |
cors |
Boolean | Indicates that the API is CORS enabled | |
expired |
Boolean | Indicates that the API is expired. | |
deprecated |
Boolean | Indicates that the API is deprecated. If 'true', then the API may have a 'retirementDate'. | |
retirementDate |
Long | Indicates that the API is deprecated and will be retired on the supplied date (in milliseconds). | |
tags |
Map | The list of tags associated with this API. Each tag can have multiple values | |
documentationUrl |
String | The documentation URL for the operation | |
availableApiDefinitions |
{SwaggerVersion, URI} | The schema definitions that this API supports and links to those definitions. | |
availableSDK |
{SDKType, URI} | The SDK downloads that this API supports and links to those downloads. | |
apis |
[API] | The API resources | |
apiVersion |
String | The API version | |
swaggerVersion |
String | The Swagger version | |
basePath |
String | The base path | |
resourcePath |
String | The resource path hosted | |
models |
{String, Object} | The models/schema for the API | |
consumes |
[String] | The content types that the API consumes | |
produces |
[String] | The content types that the API produces | |
authorizations |
{String, Authorization} | The Authorization schemes provided for this API | |
type |
String | none | |
id |
String | An identifier | |
ref |
String | A Reference to a definition on defitions object | |
title |
String | Shema title | |
description |
String | Description about the Schema | |
defaultValue |
Object | Default value for this schema if it is applicable | |
type |
String | The type ex: array , boolean, integer , null , number, object, string | |
format |
String | The format ex: int32, int64, float, double, byte, binary, date, date-time or password | |
required |
[String] | Specifies if the paramater is required | |
properties |
{String, SchemaObject} | Not used beacause our model does not support inline nested types | |
items |
SchemaObject | if the schema is an array specifies the items type | |
example |
Object | if the schema is an array specifies the items type | |
exclusiveMinimum |
Boolean | ||
maxLength |
Int | ||
minLength |
Int | ||
pattern |
String | ||
maxItems |
Int | ||
minItems |
Int | ||
uniqueItems |
Boolean | ||
multipleOf |
Int | ||
collectionFormat |
String | ||
enumList |
[String] | ||
discriminator |
String | none |
Example JSON
{
"id" : "",
"format" : "",
"apiVersion" : "1.0",
"swaggerVersion" : "1.1",
"basePath" : "http://basepath.org",
"resourcePath" : "/api",
"models" : {
"User" : {
"type" : "object",
"required" : [ "id", "name", "email" ],
"properties" : {
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"email" : {
"type" : "string"
}
}
}
},
"consumes" : [ "\"application/json\"" ],
"produces" : [ "\"application/json\"" ],
"authorizations" : { },
"name" : "Flickr",
"summary" : "The Flickr photo-sharing API",
"securityProfile" : {
"devices" : [ {
"type" : "APIKeyOnlySecurityDevice",
"typeDisplayName" : "API Key only",
"name" : "API Key Device",
"order" : 1,
"keyField" : "KeyId"
}, {
"type" : "HTTPBasicSecurityDevice",
"typeDisplayName" : "HTTP Basic Authentication",
"name" : "HTTP Basic Device",
"order" : 0,
"realm" : "axway"
} ]
},
"basePaths" : [ "http://localhost:8080", "https://localhost:8081" ],
"image" : "",
"state" : "rest",
"cors" : true,
"expired" : false,
"deprecated" : false,
"retirementDate" : 1420070400000,
"tags" : {
"Category" : [ "Social Network", "Photos" ],
"Type" : [ "REST" ],
"Department" : [ "Development" ]
},
"documentationUrl" : "http://api.acme.com/docs#method",
"availableApiDefinitions" : { },
"availableSDK" : { },
"apis" : [ {
"id" : "",
"format" : "",
"path" : "/users",
"name" : "",
"operations" : [ {
"id" : "",
"format" : "",
"httpMethod" : "GET",
"nickname" : "getUserById",
"summary" : "Gets a user by ID",
"notes" : "If the user does not exist, then a *404 Not Found* error is returned",
"responseClass" : "User",
"errorResponses" : [ {
"id" : "",
"format" : "",
"code" : 404,
"reason" : "Not Found",
"$ref" : "#/definitions/User",
"type" : "string"
} ],
"consumes" : [ "\"application/json\"" ],
"produces" : [ "\"application/json\"" ],
"authorizations" : { },
"tags" : {
"Category" : [ "Social Network", "Photos" ],
"Type" : [ "REST" ],
"Department" : [ "Development" ]
},
"securityProfile" : {
"devices" : [ {
"type" : "APIKeyOnlySecurityDevice",
"typeDisplayName" : "API Key only",
"name" : "API Key Device",
"order" : 1,
"keyField" : "KeyId"
}, {
"type" : "HTTPBasicSecurityDevice",
"typeDisplayName" : "HTTP Basic Authentication",
"name" : "HTTP Basic Device",
"order" : 0,
"realm" : "axway"
} ]
},
"documentationUrl" : "http://api.acme.com/docs#method",
"cors" : true,
"parameters" : [ {
"id" : "",
"format" : "",
"required" : true,
"name" : "userId",
"dataType" : "string",
"paramType" : "body",
"allowMultiple" : false,
"$ref" : "#/definitions/User",
"defaultValue" : "Sample Value",
"type" : "string"
} ],
"$ref" : "#/definitions/User",
"type" : "User"
} ],
"$ref" : "#/definitions/User",
"type" : "string"
} ],
"$ref" : "#/definitions/User",
"type" : "rest"
}