Serverless Endpoints - Create Or Update

Create or update Serverless Endpoint (asynchronous).

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/serverlessEndpoints/{name}?api-version=2024-04-01

URI Parameters

Name In Required Type Description
name
path True

string

Serverless Endpoint name.

Regex pattern: ^[a-zA-Z][a-zA-Z0-9-]{0,51}$

resourceGroupName
path True

string

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

subscriptionId
path True

string

The ID of the target subscription.

workspaceName
path True

string

Name of Azure Machine Learning workspace.

Regex pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$

api-version
query True

string

The API version to use for this operation.

Request Body

Name Required Type Description
location True

string

The geo-location where the resource lives

properties True

ServerlessEndpoint

[Required] Additional attributes of the entity.

identity

ManagedServiceIdentity

Managed service identity (system assigned and/or user assigned identities)

kind

string

Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.

sku

Sku

Sku details required for ARM contract for Autoscaling.

tags

object

Resource tags.

Responses

Name Type Description
200 OK

ServerlessEndpointTrackedResource

Create or update request is successful.

201 Created

ServerlessEndpointTrackedResource

Created

Headers

  • x-ms-async-operation-timeout: string
  • Azure-AsyncOperation: string
Other Status Codes

ErrorResponse

Error

Examples

CreateOrUpdate Workspace Serverless Endpoint.

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/test-rg/providers/Microsoft.MachineLearningServices/workspaces/my-aml-workspace/serverlessEndpoints/string?api-version=2024-04-01

{
  "properties": {
    "modelSettings": {
      "modelId": "string"
    },
    "authMode": "Key",
    "contentSafety": {
      "contentSafetyStatus": "Enabled"
    }
  },
  "tags": {},
  "location": "string",
  "kind": "string",
  "identity": {
    "type": "SystemAssigned",
    "userAssignedIdentities": {
      "string": {}
    }
  },
  "sku": {
    "name": "string",
    "tier": "Standard",
    "size": "string",
    "family": "string",
    "capacity": 1
  }
}

Sample response

{
  "id": "string",
  "name": "string",
  "type": "string",
  "properties": {
    "modelSettings": {
      "modelId": "string"
    },
    "authMode": "Key",
    "inferenceEndpoint": {
      "uri": "https://www.contoso.com/example",
      "headers": {
        "string": "string"
      }
    },
    "provisioningState": "Updating",
    "endpointState": "Deleting",
    "marketplaceSubscriptionId": "string",
    "contentSafety": {
      "contentSafetyStatus": "Disabled"
    }
  },
  "systemData": {
    "createdAt": "2020-01-01T12:34:56.999+00:14",
    "createdBy": "string",
    "createdByType": "Application",
    "lastModifiedAt": "2020-01-01T12:34:56.999+00:14",
    "lastModifiedBy": "string",
    "lastModifiedByType": "Key"
  },
  "tags": {},
  "location": "string",
  "kind": "string",
  "identity": {
    "type": "UserAssigned",
    "principalId": "00000000-1111-2222-3333-444444444444",
    "tenantId": "00000000-1111-2222-3333-444444444444",
    "userAssignedIdentities": {
      "string": {
        "principalId": "00000000-1111-2222-3333-444444444444",
        "clientId": "00000000-1111-2222-3333-444444444444"
      }
    }
  },
  "sku": {
    "name": "string",
    "tier": "Free",
    "size": "string",
    "family": "string",
    "capacity": 1
  }
}
{
  "id": "string",
  "name": "string",
  "type": "string",
  "properties": {
    "modelSettings": {
      "modelId": "string"
    },
    "authMode": "Key",
    "inferenceEndpoint": {
      "uri": "https://www.contoso.com/example",
      "headers": {
        "string": "string"
      }
    },
    "provisioningState": "Failed",
    "endpointState": "Deleting",
    "marketplaceSubscriptionId": "string",
    "contentSafety": {
      "contentSafetyStatus": "Disabled"
    }
  },
  "systemData": {
    "createdAt": "2020-01-01T12:34:56.999+00:14",
    "createdBy": "string",
    "createdByType": "ManagedIdentity",
    "lastModifiedAt": "2020-01-01T12:34:56.999+00:14",
    "lastModifiedBy": "string",
    "lastModifiedByType": "Key"
  },
  "tags": {},
  "location": "string",
  "kind": "string",
  "identity": {
    "type": "SystemAssigned,UserAssigned",
    "principalId": "00000000-1111-2222-3333-444444444444",
    "tenantId": "00000000-1111-2222-3333-444444444444",
    "userAssignedIdentities": {
      "string": {
        "principalId": "00000000-1111-2222-3333-444444444444",
        "clientId": "00000000-1111-2222-3333-444444444444"
      }
    }
  },
  "sku": {
    "name": "string",
    "tier": "Standard",
    "size": "string",
    "family": "string",
    "capacity": 1
  }
}

Definitions

Name Description
ContentSafety
ContentSafetyStatus

Specifies the status of content safety.

createdByType

The type of identity that created the resource.

EndpointProvisioningState

State of endpoint provisioning.

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

ManagedServiceIdentity

Managed service identity (system assigned and/or user assigned identities)

ManagedServiceIdentityType

Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).

ModelSettings
ServerlessEndpoint
ServerlessEndpointState

State of the Serverless Endpoint.

ServerlessEndpointTrackedResource
ServerlessInferenceEndpoint
ServerlessInferenceEndpointAuthMode
Sku

The resource model definition representing SKU

SkuTier

This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.

systemData

Metadata pertaining to creation and last modification of the resource.

UserAssignedIdentity

User assigned identity properties

ContentSafety

Name Type Description
contentSafetyStatus

ContentSafetyStatus

[Required] Specifies the status of content safety.

ContentSafetyStatus

Specifies the status of content safety.

Name Type Description
Disabled

string

Enabled

string

createdByType

The type of identity that created the resource.

Name Type Description
Application

string

Key

string

ManagedIdentity

string

User

string

EndpointProvisioningState

State of endpoint provisioning.

Name Type Description
Canceled

string

Creating

string

Deleting

string

Failed

string

Succeeded

string

Updating

string

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

ManagedServiceIdentity

Managed service identity (system assigned and/or user assigned identities)

Name Type Description
principalId

string

The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.

tenantId

string

The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.

type

ManagedServiceIdentityType

Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).

userAssignedIdentities

<string,  UserAssignedIdentity>

User-Assigned Identities
The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.

ManagedServiceIdentityType

Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).

Name Type Description
None

string

SystemAssigned

string

SystemAssigned,UserAssigned

string

UserAssigned

string

ModelSettings

Name Type Description
modelId

string

The unique model identifier that this ServerlessEndpoint should provision.

ServerlessEndpoint

Name Type Description
authMode

ServerlessInferenceEndpointAuthMode

[Required] Specifies the authentication mode for the Serverless endpoint.

contentSafety

ContentSafety

Specifies the content safety options. If omitted, the default content safety settings will be configured

endpointState

ServerlessEndpointState

The current state of the ServerlessEndpoint.

inferenceEndpoint

ServerlessInferenceEndpoint

The inference uri to target when making requests against the serverless endpoint

marketplaceSubscriptionId

string

The MarketplaceSubscription Azure ID associated to this ServerlessEndpoint.

modelSettings

ModelSettings

The model settings (model id) for the model being serviced on the ServerlessEndpoint.

provisioningState

EndpointProvisioningState

Provisioning state for the endpoint.

ServerlessEndpointState

State of the Serverless Endpoint.

Name Type Description
Creating

string

CreationFailed

string

Deleting

string

DeletionFailed

string

Online

string

Reinstating

string

Suspended

string

Suspending

string

Unknown

string

ServerlessEndpointTrackedResource

Name Type Description
id

string

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

identity

ManagedServiceIdentity

Managed service identity (system assigned and/or user assigned identities)

kind

string

Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.

location

string

The geo-location where the resource lives

name

string

The name of the resource

properties

ServerlessEndpoint

[Required] Additional attributes of the entity.

sku

Sku

Sku details required for ARM contract for Autoscaling.

systemData

systemData

Azure Resource Manager metadata containing createdBy and modifiedBy information.

tags

object

Resource tags.

type

string

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

ServerlessInferenceEndpoint

Name Type Description
headers

object

Specifies any required headers to target this serverless endpoint.

uri

string

[Required] The inference uri to target when making requests against the Serverless Endpoint.

ServerlessInferenceEndpointAuthMode

Name Type Description
Key

string

Sku

The resource model definition representing SKU

Name Type Description
capacity

integer

If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted.

family

string

If the service has different generations of hardware, for the same SKU, then that can be captured here.

name

string

The name of the SKU. Ex - P3. It is typically a letter+number code

size

string

The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code.

tier

SkuTier

This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.

SkuTier

This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.

Name Type Description
Basic

string

Free

string

Premium

string

Standard

string

systemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

createdByType

The type of identity that created the resource.

lastModifiedAt

string

The timestamp of resource last modification (UTC)

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

createdByType

The type of identity that last modified the resource.

UserAssignedIdentity

User assigned identity properties

Name Type Description
clientId

string

The client ID of the assigned identity.

principalId

string

The principal ID of the assigned identity.