IO Docs Definition
The following table describes the structure of an I/O docs JSON definition.
Property Name |
Type |
Required |
Description |
name |
string |
yes |
The name of the API. This is not shown/displayed anywhere in the rendered page. |
version |
string |
yes |
The version of the API, e.g. "v1.0". |
title |
string |
yes |
The title of the API that is displayed in the API selection drop-down menu, e.g. "Daily Deals API". |
description |
string |
yes |
The description of the API. This is displayed directly under the API selection drop-down menu when the corresponding API is selected, e.g. "The Daily Deals API provides a real-time look into the current daily deals based on ZIP code and radius". This value supports Markdown syntax. |
protocol |
string |
yes |
The protocol described by this document, e.g. "rest". |
basePath |
string |
yes |
The base URL path for REST requests, including scheme name. Port number is optional. e.g. "https://api.acme.mashery.com:443" |
auth |
object |
no |
Links to key and/or OAuth objects. |
auth.key |
object |
no |
Links to param and secret objects. |
auth.key.location |
string |
no |
Location of API key. Default location is the query string for GET requests, and encoded parameter request body for POST requests. Also determines location of signature key/value pair. To override default location, valid values are "query", "pathReplace", "body" and "header". Additionally, you can supply one or more of the above values separated by a comma. (e.g. "query,header" would place the API key parameter in both the query string and as a request header value pair). |
auth.key.param |
string |
no |
Name of the API key parameter, e.g. "api_key" or "key". Defaults to "apiKey". |
auth.key.secret |
object |
no |
Links to the param and type objects. |
auth.key.secret.param |
string |
no |
Name of the API key secret parameter, e.g. "secret" |
auth.key.secret.type |
string |
no |
Type of secret signature method, e.g. "signed_md5" or "signed_sha256" |
auth.basicAuth |
boolean |
no |
Whether the basic authentication is required, either "true" or "false". |
auth.oauth |
object |
no |
OAuth version and flow definition. |
auth.oauth.version |
enum string |
no |
OAuth version (e.g. “2.0”). "1.0a" and "2.0" |
auth.oauth.base_uri |
string |
no |
The base URI for the OAuth service endpoints. This value prepends the authorize_uri and access_token_uri values below, e.g. "http://yourdomain.com" (optional) |
auth.oauth.authorize_uri |
string |
no |
The endpoint where the end-user is sent to authorize their account and grant permissions, e.g. "/oauth/authorize". If base_uri is not defined, a fully qualified URI is required. |
auth.oauth.access_token_uri |
string |
no |
The endpoint where the access token is granted, e.g. "/oauth/access_token". If base_uri is not defined, a fully qualified URI is required. |
auth.oauth.access_token_location |
enum type string |
no |
The location of the oauth access token. Possible values: "header" or "query" |
auth.oauth.auth_flows |
array |
no |
Array of strings, each string containing one of the four supported flows, e.g. "auth_code", "client_cred", "password_cred", or "implicit" |
auth.oauth.options |
object |
no |
Links to OAuth options objects, e.g. "authorize" (often used to hold authorize and scope details). (optional) |
auth.soap |
object |
no |
SOAP auth definition. |
auth.soap.basic |
boolean |
no |
Whether SOAP basic auth is enabled. |
auth.soap.wss |
object |
no |
SOAP WSS Security definition |
auth.soap.wss.binary_security_token |
boolean |
no |
Whether SOAP WSS BinarySecurityToken auth is enabled. |
auth.soap.wss.user_name_token |
object |
no |
SOAP WSS UserNameToken auth definition. |
auth.soap.wss.user_name_token.fields |
array |
no |
Array of strings, each string is the name of an optional auth parameter field. |
schemas |
object |
no |
The schemas (body structure definitions) used by the web API. |
schemas.(key) |
object |
no |
An individual schema description. See JSON schema for more information. |
schemas.(key).id |
string |
no |
Unique identifier for this schema. Example: URL |
schemas.(key).type |
string |
yes |
The value type for this schema. A list of values can be found at the "type" section in the JSON Schema. |
schemas.(key).$ref |
string |
no |
A reference to another schema. The value of this property is the ID of another schema. |
schemas.(key).description |
string |
no |
A description of this object. |
schemas.(key).default |
string |
no |
The default value of this property (if one exists). |
schemas.(key).required |
boolean |
no |
Whether the parameter is required. |
schemas.(key).format |
string |
no |
An additional regular expression or key that helps constrain the value. For more details see the Type and Format Summary. |
schemas.(key).pattern |
string |
no |
The regular expression this parameter must conform to. |
schemas.(key).minimum |
string |
no |
The minimum value of this parameter. |
schemas.(key).maximum |
string |
no |
The maximum value of this parameter. |
schemas.(key).enum[] |
array |
no |
Values this parameter may take (if it is an enum). |
schemas.(key).enumDescriptions[] |
array |
no |
The descriptions for the enums. Each position maps to the corresponding value in theenum array. |
schemas.(key).properties |
object |
no |
If this is a schema for an object, list the schema for each property of this object. |
schemas.(key).properties.(key) |
object |
no |
A single property of this object. The value is itself a JSON Schema object describing this property. |
schemas.(key).additionalProperties |
object |
no |
If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object. |
schemas.(key).items |
object |
no |
If this is a schema for an array, this property is the schema for each element in the array. |
resources |
object |
yes |
The resources in the API. |
resources.(key) |
object |
yes |
An individual resources description or name. Contains methods related to this resource. |
resources.(key).methods |
object |
yes |
Methods on this resource. |
resources.(key).methods.(key) |
object |
yes |
Description for any methods on this resource. The value at this level (string) contains name of this method. |
resources.(key).methods.(key).path |
string |
yes |
The URI path of this REST method. Should be used in conjunction with the basePath property at the API-level. |
resources.(key).methods.(key).httpMethod |
string |
yes |
HTTP method used by this method, e.g. "GET", “POST”, “PUT”, “DELETE”. |
resources.(key).methods.(key).description |
string |
yes |
Description of this method. This value supports Markdown syntax. |
resources.(key).methods.(key).parameters |
object |
yes |
Details for all parameters in this method. |
resources.(key).methods.(key).parameters.(key) |
object |
yes |
Details for a single parameter in this method (object). The value assigned at this level (string) would be the name of the parameter. |
resources.(key).methods.(key).parameters. |
string |
yes |
A description of the parameter. This value supports Markdown syntax. |
resources.(key).methods.(key).parameters. |
string |
yes |
The default value of this property (if one exists). |
resources.(key).methods.(key).parameters. |
boolean |
yes |
Whether the parameter is required, either "true" or "false". |
resources.(key).methods.(key).parameters. |
array |
no |
Values this parameter may take. |
resources.(key).methods.(key).parameters. |
array |
no |
The descriptions for the enums. Each position maps to the corresponding value in the "enum" array. |
resources.(key).methods.(key).parameters. |
enum type string |
yes |
Whether this parameter goes in the query, path (for REST requests) or header. Valid values are "query", "pathReplace", "body" and "header". |
resources.(key).methods.(key).parameters. |
string |
no |
The parameter type, which the I/O docs UI uses to provide an optimal form field editor. Valid values are: "boolean", "date", "double", "integer", "number", "string", and "textarea". |
resources.(key).methods.(key).request |
object |
no |
Schema for the request body. |
resources.(key).methods.(key).request.$ref |
string |
no |
Schema ID for the request schema. Value is a string key reference to a schema defined in schemas.(key). |
resources.(key).methods.(key).response |
object |
no |
Schema for the response body. |
resources.(key).methods.(key).response.$ref |
string |
no |
Schema ID for the response schema. Value is a string key reference to a schema defined in schemas.(key). |
Docs Navigation
- API Documentation Portal
- IO Docs Definition
- Mashery API Documentation
- Mashery 3.0 API Guide
- Mashery 2.0 API Guide
- OAuth Supporting Methods
- Examples
- JSON RPC
- Authentication
- API Objects
- Fetching Objects
- Query Language
- Creating Objects
- Updating Objects
- Validating Fields
- Deleting Objects
- Applications
- General Object Methods
- Members
- Packages
- Plans
- Package Keys
- Keys
- Developer Classes
- Services
- Roles
- Mashery 2.0 Reporting API Guide
- Event Trigger API
- Differences between Roles and Portal Access Groups
- Managing a Portal Access Group Using Mashery V2 or V3 API
- Mashery Reporting Event Post API Guide
- Tips and Tricks
- Your Portal
- API Traffic Manager
- I/O Docs WSDL requirements