API Discovery Service . apis

Instance Methods

getRest(api, version)

Retrieve the description of a particular version of an api.

list(name=None, preferred=None)

Retrieve the list of APIs supported at this endpoint.

Method Details

getRest(api, version)
Retrieve the description of a particular version of an api.

Args:
  api: string, The name of the API. (required)
  version: string, The version of the API. (required)

Returns:
  An object of the form:

    {
    "protocol": "rest", # The protocol described by this document.
    "methods": { # API-level methods for this API.
      "a_key": { # An individual method description.
        "scopes": [ # OAuth 2.0 scopes applicable to this method.
          "A String",
        ],
        "description": "A String", # Description of this method.
        "parameters": { # Details for all parameters in this method.
          "a_key": { # Details for a single parameter in this method.
            "properties": { # If this is a schema for an object, list the schema for each property of this object.
              "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
            },
            "required": True or False, # Whether the parameter is required.
            "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
            "description": "A String", # A description of this object.
            "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
            "default": "A String", # The default value of this property (if one exists).
            "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
            "enum": [ # Values this parameter may take (if it is an enum).
              "A String",
            ],
            "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
              "map": [ # The map of discriminant value to schema to use for parsing..
                {
                  "type_value": "A String",
                  "$ref": "A String",
                },
              ],
              "discriminant": "A String", # The name of the type discriminant property.
            },
            "maximum": "A String", # The maximum value of this parameter.
            "id": "A String", # Unique identifier for this schema.
            "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
              "A String",
            ],
            "minimum": "A String", # The minimum value of this parameter.
            "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
            "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
            "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
            "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
            "repeated": True or False, # Whether this parameter may appear multiple times.
            "annotations": { # Additional information about this property.
              "required": [ # A list of methods for which this property is required on requests.
                "A String",
              ],
            },
            "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
          },
        },
        "supportsMediaUpload": True or False, # Whether this method supports media uploads.
        "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
        "mediaUpload": { # Media upload parameters.
          "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
          "protocols": { # Supported upload protocols.
            "simple": { # Supports uploading as a single HTTP request.
              "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
              "multipart": true, # True if this endpoint supports upload multipart media.
            },
            "resumable": { # Supports the Resumable Media Upload protocol.
              "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
              "multipart": true, # True if this endpoint supports uploading multipart media.
            },
          },
          "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
            "A String",
          ],
        },
        "request": { # The schema for the request.
          "parameterName": "A String", # parameter name.
          "$ref": "A String", # Schema ID for the request schema.
        },
        "response": { # The schema for the response.
          "$ref": "A String", # Schema ID for the response schema.
        },
        "httpMethod": "A String", # HTTP method used by this method.
        "supportsSubscription": True or False, # Whether this method supports subscriptions.
        "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
          "A String",
        ],
        "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
        "useMediaDownloadService": True or False, # Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.
        "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
        "supportsMediaDownload": True or False, # Whether this method supports media downloads.
      },
    },
    "labels": [ # Labels for the status of this API, such as labs or deprecated.
      "A String",
    ],
    "ownerName": "A String", # The name of the owner of this API. See ownerDomain.
    "batchPath": "A String", # The path for REST batch requests.
    "id": "A String", # The ID of this API.
    "features": [ # A list of supported features for this API.
      "A String",
    ],
    "ownerDomain": "A String", # The domain of the owner of this API. Together with the ownerName and a packagePath values, this can be used to generate a library for this API which would have a unique fully qualified name.
    "rootUrl": "A String", # The root URL under which all API services live.
    "parameters": { # Common parameters that apply across all apis.
      "a_key": { # Description of a single parameter.
        "properties": { # If this is a schema for an object, list the schema for each property of this object.
          "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
        },
        "required": True or False, # Whether the parameter is required.
        "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
        "description": "A String", # A description of this object.
        "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
        "default": "A String", # The default value of this property (if one exists).
        "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
        "enum": [ # Values this parameter may take (if it is an enum).
          "A String",
        ],
        "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
          "map": [ # The map of discriminant value to schema to use for parsing..
            {
              "type_value": "A String",
              "$ref": "A String",
            },
          ],
          "discriminant": "A String", # The name of the type discriminant property.
        },
        "maximum": "A String", # The maximum value of this parameter.
        "id": "A String", # Unique identifier for this schema.
        "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
          "A String",
        ],
        "minimum": "A String", # The minimum value of this parameter.
        "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
        "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
        "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
        "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
        "repeated": True or False, # Whether this parameter may appear multiple times.
        "annotations": { # Additional information about this property.
          "required": [ # A list of methods for which this property is required on requests.
            "A String",
          ],
        },
        "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
      },
    },
    "icons": { # Links to 16x16 and 32x32 icons representing the API.
      "x32": "A String", # The URL of the 32x32 icon.
      "x16": "A String", # The URL of the 16x16 icon.
    },
    "baseUrl": "A String", # [DEPRECATED] The base URL for REST requests.
    "etag": "A String", # The ETag for this response.
    "version": "A String", # The version of this API.
    "servicePath": "A String", # The base path for all REST requests.
    "schemas": { # The schemas for this API.
      "a_key": { # An individual schema description.
        "properties": { # If this is a schema for an object, list the schema for each property of this object.
          "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
        },
        "required": True or False, # Whether the parameter is required.
        "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
        "description": "A String", # A description of this object.
        "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
        "default": "A String", # The default value of this property (if one exists).
        "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
        "enum": [ # Values this parameter may take (if it is an enum).
          "A String",
        ],
        "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
          "map": [ # The map of discriminant value to schema to use for parsing..
            {
              "type_value": "A String",
              "$ref": "A String",
            },
          ],
          "discriminant": "A String", # The name of the type discriminant property.
        },
        "maximum": "A String", # The maximum value of this parameter.
        "id": "A String", # Unique identifier for this schema.
        "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
          "A String",
        ],
        "minimum": "A String", # The minimum value of this parameter.
        "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
        "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
        "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
        "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
        "repeated": True or False, # Whether this parameter may appear multiple times.
        "annotations": { # Additional information about this property.
          "required": [ # A list of methods for which this property is required on requests.
            "A String",
          ],
        },
        "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
      },
    },
    "resources": { # The resources in this API.
      "a_key": { # An individual resource description. Contains methods and sub-resources related to this resource.
        "methods": { # Methods on this resource.
          "a_key": { # Description for any methods on this resource.
            "scopes": [ # OAuth 2.0 scopes applicable to this method.
              "A String",
            ],
            "description": "A String", # Description of this method.
            "parameters": { # Details for all parameters in this method.
              "a_key": { # Details for a single parameter in this method.
                "properties": { # If this is a schema for an object, list the schema for each property of this object.
                  "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
                },
                "required": True or False, # Whether the parameter is required.
                "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
                "description": "A String", # A description of this object.
                "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
                "default": "A String", # The default value of this property (if one exists).
                "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
                "enum": [ # Values this parameter may take (if it is an enum).
                  "A String",
                ],
                "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
                  "map": [ # The map of discriminant value to schema to use for parsing..
                    {
                      "type_value": "A String",
                      "$ref": "A String",
                    },
                  ],
                  "discriminant": "A String", # The name of the type discriminant property.
                },
                "maximum": "A String", # The maximum value of this parameter.
                "id": "A String", # Unique identifier for this schema.
                "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
                  "A String",
                ],
                "minimum": "A String", # The minimum value of this parameter.
                "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
                "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
                "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
                "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
                "repeated": True or False, # Whether this parameter may appear multiple times.
                "annotations": { # Additional information about this property.
                  "required": [ # A list of methods for which this property is required on requests.
                    "A String",
                  ],
                },
                "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
              },
            },
            "supportsMediaUpload": True or False, # Whether this method supports media uploads.
            "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
            "mediaUpload": { # Media upload parameters.
              "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
              "protocols": { # Supported upload protocols.
                "simple": { # Supports uploading as a single HTTP request.
                  "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
                  "multipart": true, # True if this endpoint supports upload multipart media.
                },
                "resumable": { # Supports the Resumable Media Upload protocol.
                  "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
                  "multipart": true, # True if this endpoint supports uploading multipart media.
                },
              },
              "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
                "A String",
              ],
            },
            "request": { # The schema for the request.
              "parameterName": "A String", # parameter name.
              "$ref": "A String", # Schema ID for the request schema.
            },
            "response": { # The schema for the response.
              "$ref": "A String", # Schema ID for the response schema.
            },
            "httpMethod": "A String", # HTTP method used by this method.
            "supportsSubscription": True or False, # Whether this method supports subscriptions.
            "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
              "A String",
            ],
            "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
            "useMediaDownloadService": True or False, # Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.
            "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
            "supportsMediaDownload": True or False, # Whether this method supports media downloads.
          },
        },
        "resources": { # Sub-resources on this resource.
          "a_key": # Object with schema name: RestResource # Description for any sub-resources on this resource.
        },
      },
    },
    "revision": "A String", # The version of this API.
    "description": "A String", # The description of this API.
    "canonicalName": "A String", # Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.
    "auth": { # Authentication information.
      "oauth2": { # OAuth 2.0 authentication information.
        "scopes": { # Available OAuth 2.0 scopes.
          "a_key": { # The scope value.
            "description": "A String", # Description of scope.
          },
        },
      },
    },
    "packagePath": "A String", # The package of the owner of this API. See ownerDomain.
    "kind": "discovery#restDescription", # The kind for this response.
    "name": "A String", # The name of this API.
    "basePath": "A String", # [DEPRECATED] The base path for REST requests.
    "title": "A String", # The title of this API.
    "exponentialBackoffDefault": True or False, # Enable exponential backoff for suitable methods in the generated clients.
    "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
    "version_module": True or False,
    "documentationLink": "A String", # A link to human readable documentation for the API.
  }
list(name=None, preferred=None)
Retrieve the list of APIs supported at this endpoint.

Args:
  name: string, Only include APIs with the given name.
  preferred: boolean, Return only the preferred version of an API.

Returns:
  An object of the form:

    {
    "items": [ # The individual directory entries. One entry per api/version pair.
      {
        "kind": "discovery#directoryItem", # The kind for this response.
        "labels": [ # Labels for the status of this API, such as labs or deprecated.
          "A String",
        ],
        "description": "A String", # The description of this API.
        "icons": { # Links to 16x16 and 32x32 icons representing the API.
          "x32": "A String", # The URL of the 32x32 icon.
          "x16": "A String", # The URL of the 16x16 icon.
        },
        "discoveryRestUrl": "A String", # The URL for the discovery REST document.
        "preferred": True or False, # True if this version is the preferred version to use.
        "name": "A String", # The name of the API.
        "discoveryLink": "A String", # A link to the discovery document.
        "version": "A String", # The version of the API.
        "title": "A String", # The title of this API.
        "id": "A String", # The id of this API.
        "documentationLink": "A String", # A link to human readable documentation for the API.
      },
    ],
    "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
    "kind": "discovery#directoryList", # The kind for this response.
  }