Api Operation - Create Or Update

Creates a new operation in the API or updates an existing one.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}?api-version=2022-08-01

URI Parameters

Name In Required Type Description
apiId
path True

string

API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.

Regex pattern: ^[^*#&+:<>?]+$

operationId
path True

string

Operation identifier within an API. Must be unique in the current API Management service instance.

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

serviceName
path True

string

The name of the API Management service.

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

The ID of the target subscription.

api-version
query True

string

The API version to use for this operation.

Request Header

Name Required Type Description
If-Match

string

ETag of the Entity. Not required when creating an entity, but required when updating an entity.

Request Body

Name Required Type Description
properties.displayName True

string

Operation Name.

properties.method True

string

A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.

properties.urlTemplate True

string

Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}

properties.description

string

Description of the operation. May include HTML formatting tags.

properties.policies

string

Operation Policies

properties.request

RequestContract

An entity containing request details.

properties.responses

ResponseContract[]

Array of Operation responses.

properties.templateParameters

ParameterContract[]

Collection of URL template parameters.

Responses

Name Type Description
200 OK

OperationContract

Operation was successfully updated.

Headers

ETag: string

201 Created

OperationContract

Operation was successfully created.

Headers

ETag: string

Other Status Codes

ErrorResponse

Error response describing why the operation failed.

Security

azure_auth

Azure Active Directory OAuth2 Flow.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

ApiManagementCreateApiOperation

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations?api-version=2022-08-01

{
  "properties": {
    "displayName": "createUser2",
    "method": "POST",
    "urlTemplate": "/user1",
    "templateParameters": [],
    "description": "This can only be done by the logged in user.",
    "request": {
      "description": "Created user object",
      "queryParameters": [],
      "headers": [],
      "representations": [
        {
          "contentType": "application/json",
          "schemaId": "592f6c1d0af5840ca8897f0c",
          "typeName": "User"
        }
      ]
    },
    "responses": [
      {
        "statusCode": 200,
        "description": "successful operation",
        "representations": [
          {
            "contentType": "application/xml"
          },
          {
            "contentType": "application/json"
          }
        ],
        "headers": []
      }
    ]
  }
}

Sample Response

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
  "type": "Microsoft.ApiManagement/service/apis/operations",
  "name": "newoperations",
  "properties": {
    "displayName": "createUser2",
    "method": "POST",
    "urlTemplate": "/user1",
    "templateParameters": [],
    "description": "This can only be done by the logged in user.",
    "request": {
      "description": "Created user object",
      "queryParameters": [],
      "headers": [],
      "representations": [
        {
          "contentType": "application/json",
          "schemaId": "592f6c1d0af5840ca8897f0c",
          "typeName": "User"
        }
      ]
    },
    "responses": [
      {
        "statusCode": 200,
        "description": "successful operation",
        "representations": [
          {
            "contentType": "application/xml"
          },
          {
            "contentType": "application/json"
          }
        ],
        "headers": []
      }
    ]
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
  "type": "Microsoft.ApiManagement/service/apis/operations",
  "name": "newoperations",
  "properties": {
    "displayName": "createUser2",
    "method": "POST",
    "urlTemplate": "/user1",
    "templateParameters": [],
    "description": "This can only be done by the logged in user.",
    "request": {
      "description": "Created user object",
      "queryParameters": [],
      "headers": [],
      "representations": [
        {
          "contentType": "application/json",
          "schemaId": "592f6c1d0af5840ca8897f0c",
          "typeName": "User"
        }
      ]
    },
    "responses": [
      {
        "statusCode": 200,
        "description": "successful operation",
        "representations": [
          {
            "contentType": "application/xml"
          },
          {
            "contentType": "application/json"
          }
        ],
        "headers": []
      }
    ]
  }
}

Definitions

Name Description
ErrorFieldContract

Error Field contract.

ErrorResponse

Error Response.

OperationContract

API Operation details.

ParameterContract

Operation parameters details.

ParameterExampleContract

Parameter example.

RepresentationContract

Operation request/response representation details.

RequestContract

Operation request details.

ResponseContract

Operation response details.

ErrorFieldContract

Error Field contract.

Name Type Description
code

string

Property level error code.

message

string

Human-readable representation of property-level error.

target

string

Property name.

ErrorResponse

Error Response.

Name Type Description
error.code

string

Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.

error.details

ErrorFieldContract[]

The list of invalid fields send in request, in case of validation error.

error.message

string

Human-readable representation of the error.

OperationContract

API Operation details.

Name Type Description
id

string

Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

The name of the resource

properties.description

string

Description of the operation. May include HTML formatting tags.

properties.displayName

string

Operation Name.

properties.method

string

A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.

properties.policies

string

Operation Policies

properties.request

RequestContract

An entity containing request details.

properties.responses

ResponseContract[]

Array of Operation responses.

properties.templateParameters

ParameterContract[]

Collection of URL template parameters.

properties.urlTemplate

string

Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

ParameterContract

Operation parameters details.

Name Type Description
defaultValue

string

Default parameter value.

description

string

Parameter description.

examples

<string,  ParameterExampleContract>

Exampled defined for the parameter.

name

string

Parameter name.

required

boolean

Specifies whether parameter is required or not.

schemaId

string

Schema identifier.

type

string

Parameter type.

typeName

string

Type name defined by the schema.

values

string[]

Parameter values.

ParameterExampleContract

Parameter example.

Name Type Description
description

string

Long description for the example

externalValue

string

A URL that points to the literal example

summary

string

Short description for the example

value

Example value. May be a primitive value, or an object.

RepresentationContract

Operation request/response representation details.

Name Type Description
contentType

string

Specifies a registered or custom content type for this representation, e.g. application/xml.

examples

<string,  ParameterExampleContract>

Exampled defined for the representation.

formParameters

ParameterContract[]

Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'..

schemaId

string

Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'.

typeName

string

Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'.

RequestContract

Operation request details.

Name Type Description
description

string

Operation request description.

headers

ParameterContract[]

Collection of operation request headers.

queryParameters

ParameterContract[]

Collection of operation request query parameters.

representations

RepresentationContract[]

Collection of operation request representations.

ResponseContract

Operation response details.

Name Type Description
description

string

Operation response description.

headers

ParameterContract[]

Collection of operation response headers.

representations

RepresentationContract[]

Collection of operation response representations.

statusCode

integer

Operation response HTTP status code.