{ "swagger": "2.0", "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Property entity associated with your Azure API Management deployment. API Management policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of statements that are executed sequentially on the request or response of an API. Policy statements can be constructed using literal text values, policy expressions, and properties. Each API Management service instance has a properties collection of key/value pairs that are global to the service instance. These properties can be used to manage constant string values across all API configuration and policies.", "version": "2016-10-10" }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow.", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties": { "get": { "tags": [ "Property" ], "operationId": "Properties_ListByService", "description": "Lists a collection of properties defined within a service instance.", "externalDocs": { "url": "https://msdn.microsoft.com/en-us/library/azure/mt651775.aspx" }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|-------------------------------------------------------|\n| tags | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "A Collection of the Property entities for the specified API Management service instance.", "schema": { "$ref": "#/definitions/PropertyCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-odata": "#/definitions/PropertyContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}": { "get": { "tags": [ "Property" ], "operationId": "Property_Get", "description": "Gets the details of the property specified by its identifier.", "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/PropertyIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The response body contains the specified Property entity.", "schema": { "$ref": "#/definitions/PropertyContract" }, "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", "type": "string" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" } } } }, "put": { "tags": [ "Property" ], "operationId": "Property_CreateOrUpdate", "description": "Creates or updates a property.", "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/PropertyIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PropertyCreateParameters" }, "description": "Create parameters." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { "description": "Property was successfully created." }, "204": { "description": "Property was successfully updated." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" } } } }, "patch": { "tags": [ "Property" ], "operationId": "Property_Update", "description": "Updates the specific property.", "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/PropertyIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PropertyUpdateParameters" }, "description": "Update parameters." }, { "name": "If-Match", "in": "header", "required": true, "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", "type": "string" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "Property was successfully updated." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" } } } }, "delete": { "tags": [ "Property" ], "operationId": "Property_Delete", "description": "Deletes specific property from the API Management service instance.", "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/PropertyIdParameter" }, { "name": "If-Match", "in": "header", "required": true, "description": "The entity state (Etag) version of the property to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", "type": "string" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "Property was successfully deleted." }, "405": { "description": "The specified property cannot be deleted because it is in use in a policy. You must remove all references to this property before it can be deleted.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" } } } } } }, "definitions": { "PropertyCollection": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/PropertyContract" }, "description": "Page values." }, "count": { "type": "integer", "format": "int64", "description": "Total record count number across all pages." }, "nextLink": { "type": "string", "description": "Next page link if any." } }, "description": "Paged Property list representation." }, "PropertyContract": { "properties": { "id": { "type": "string", "description": "Uniquely identifies the property within the current API Management service instance. The value is a valid relative URL in the format of /properties/{propId} where {propId} is a property identifier.", "readOnly": true }, "name": { "type": "string", "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", "minLength": 1, "maxLength": 256, "pattern": "^[A-Z0-9-._]+$" }, "value": { "type": "string", "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", "minLength": 1, "maxLength": 4096 }, "tags": { "type": "array", "items": { "type": "string" }, "maxItems": 32, "description": "Optional tags that when provided can be used to filter the property list." }, "secret": { "type": "boolean", "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." } }, "required": [ "name", "value" ], "description": "Property details." }, "PropertyCreateParameters": { "properties": { "name": { "type": "string", "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", "minLength": 1, "maxLength": 256, "pattern": "^[A-Z0-9-._]+$" }, "value": { "type": "string", "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", "minLength": 1, "maxLength": 4096 }, "tags": { "type": "array", "items": { "type": "string" }, "maxItems": 32, "description": "Optional tags that when provided can be used to filter the property list." }, "secret": { "type": "boolean", "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." } }, "required": [ "name", "value" ], "description": "Parameters supplied to the Create Property operation." }, "PropertyUpdateParameters": { "properties": { "name": { "type": "string", "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", "minLength": 1, "maxLength": 256, "pattern": "^[A-Z0-9-._]+$" }, "value": { "type": "string", "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", "minLength": 1, "maxLength": 4096 }, "tags": { "type": "array", "items": { "type": "string" }, "maxItems": 32, "description": "Optional tags that when provided can be used to filter the property list." }, "secret": { "type": "boolean", "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." } }, "description": "Parameters supplied to the Update Property operation." } }, "parameters": { "PropertyIdParameter": { "name": "propId", "in": "path", "required": true, "type": "string", "description": "Identifier of the property.", "maxLength": 256, "pattern": "^[^*#&+:<>?]+$", "x-ms-parameter-location": "method" } } }