swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Microsoft Customer Engagement Fabric
  title: EngagementFabric
  version: 2018-09-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/engagementfabric/resource-manager/Microsoft.EngagementFabric/preview/2018-09-01/EngagementFabric.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: engagementfabric-EngagementFabric
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
parameters:
  AccountNameParameter:
    description: Account Name
    in: path
    name: accountName
    required: true
    type: string
    x-ms-parameter-location: method
  ApiVersionParameter:
    description: API version
    in: query
    name: api-version
    required: true
    type: string
  ChannelNameParameter:
    description: Channel Name
    in: path
    name: channelName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupNameParameter:
    description: Resource Group Name
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: Subscription ID
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.EngagementFabric/operations:
    get:
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List operation of EngagementFabric resources
      tags:
        - Operations
      x-ms-examples:
        OperationsListExample:
          parameters:
            api-version: 2018-09-01-preview
          responses:
            "200":
              body:
                value:
                  - display:
                      description: List or get the EngagementFabric account
                      operation: List or get the EngagementFabric account
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/Accounts/read
                  - display:
                      description: Create or update the EngagementFabric account
                      operation: Create or update the EngagementFabric account
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/Accounts/write
                  - display:
                      description: Delete the EngagementFabric account
                      operation: Delete the EngagementFabric account
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/Accounts/delete
                  - display:
                      description: Get all keys of the EngagementFabric account
                      operation: Get all keys of the EngagementFabric account
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/Accounts/ListKeys/action
                  - display:
                      description: Regenerate the EngagementFabric account key
                      operation: Regenerate the EngagementFabric account key
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/Accounts/RegenerateKey/action
                  - display:
                      description: List available EngagementFabric channel types and functions
                      operation: List available EngagementFabric channel types and functions
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/Accounts/ListChannelTypes/action
                  - display:
                      description: List or get the EngagementFabric channel
                      operation: List or get the EngagementFabric channel
                      provider: Microsoft Customer Engagement Fabric
                      resource: Channels
                    name: Microsoft.EngagementFabric/Accounts/Channels/read
                  - display:
                      description: Create or update the EngagementFabric channel
                      operation: Create or update the EngagementFabric channel
                      provider: Microsoft Customer Engagement Fabric
                      resource: Channels
                    name: Microsoft.EngagementFabric/Accounts/Channels/write
                  - display:
                      description: Delete the EngagementFabric channel
                      operation: Delete the EngagementFabric channel
                      provider: Microsoft Customer Engagement Fabric
                      resource: Channels
                    name: Microsoft.EngagementFabric/Accounts/Channels/delete
                  - display:
                      description: Check name availability
                      operation: Check name availability
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/checkNameAvailability/action
                  - display:
                      description: List available operations
                      operation: List available operations
                      provider: Microsoft Customer Engagement Fabric
                      resource: Operations
                    name: Microsoft.EngagementFabric/operations/read
                  - display:
                      description: List available SKUs
                      operation: List available SKUs
                      provider: Microsoft Customer Engagement Fabric
                      resource: Accounts
                    name: Microsoft.EngagementFabric/skus/read
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/providers/Microsoft.EngagementFabric/Accounts":
    get:
      operationId: Accounts_List
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/AccountList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List the EngagementFabric accounts in given subscription
      tags:
        - Accounts
      x-ms-examples:
        AccountsListExample:
          parameters:
            api-version: 2018-09-01-preview
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                value:
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount
                    location: WestUS
                    name: ExampleAccount
                    sku:
                      name: B1
                      tier: Basic
                    type: Microsoft.EngagementFabric/Accounts
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount2
                    location: WestUS
                    name: ExampleAccount2
                    sku:
                      name: S1
                      tier: Standard
                    type: Microsoft.EngagementFabric/Accounts
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount3
                    location: WestUS
                    name: ExampleAccount3
                    sku:
                      name: P1
                      tier: Premium
                    type: Microsoft.EngagementFabric/Accounts
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/providers/Microsoft.EngagementFabric/skus":
    get:
      operationId: SKUs_List
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SkuDescriptionList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List available SKUs of EngagementFabric resource
      tags:
        - Skus
      x-ms-examples:
        SKUsListExample:
          parameters:
            api-version: 2018-09-01-preview
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                value:
                  - locationInfo:
                      - location: Central US
                      - location: North Europe
                      - location: West Europe
                    locations:
                      - Central US
                      - North Europe
                      - West Europe
                    name: B1
                    resourceType: Microsoft.EngagementFabric/Accounts
                    restrictions: []
                    tier: Basic
                  - locationInfo:
                      - location: Central US
                      - location: North Europe
                      - location: West Europe
                    locations:
                      - Central US
                      - North Europe
                      - West Europe
                    name: S1
                    resourceType: Microsoft.EngagementFabric/Accounts
                    restrictions: []
                    tier: Standard
                  - locationInfo:
                      - location: Central US
                      - location: North Europe
                      - location: West Europe
                    locations:
                      - Central US
                      - North Europe
                      - West Europe
                    name: P1
                    resourceType: Microsoft.EngagementFabric/Accounts
                    restrictions: []
                    tier: Premium
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts":
    get:
      operationId: Accounts_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/AccountList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List EngagementFabric accounts in given resource group
      tags:
        - Accounts
      x-ms-examples:
        AccountsListByResourceGroupExample:
          parameters:
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                value:
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount
                    location: WestUS
                    name: ExampleAccount
                    sku:
                      name: B1
                      tier: Basic
                    type: Microsoft.EngagementFabric/Accounts
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount2
                    location: WestUS
                    name: ExampleAccount2
                    sku:
                      name: S1
                      tier: Standard
                    type: Microsoft.EngagementFabric/Accounts
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount3
                    location: WestUS
                    name: ExampleAccount3
                    sku:
                      name: P1
                      tier: Premium
                    type: Microsoft.EngagementFabric/Accounts
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}":
    delete:
      operationId: Accounts_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Delete the EngagementFabric account
      tags:
        - Accounts
      x-ms-examples:
        AccountsDeleteExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200": {}
    get:
      operationId: Accounts_Get
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Account"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Get the EngagementFabric account
      tags:
        - Accounts
      x-ms-examples:
        AccountsGetExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount
                location: WestUS
                name: ExampleAccount
                sku:
                  name: B1
                  tier: Basic
                type: Microsoft.EngagementFabric/Accounts
    patch:
      operationId: Accounts_Update
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - description: The account patch
          in: body
          name: accountPatch
          required: true
          schema:
            $ref: "#/definitions/AccountPatch"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Account"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Update EngagementFabric account
      tags:
        - Accounts
      x-ms-examples:
        AccountsUpdateExample:
          parameters:
            accountName: ExampleAccount
            accountPatch:
              tags:
                tagName: tagValue
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount
                location: WestUS
                name: ExampleAccount
                sku:
                  name: B1
                  tier: Basic
                tags:
                  tagName: tagValue
                type: Microsoft.EngagementFabric/Accounts
    put:
      operationId: Accounts_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - description: The EngagementFabric account description
          in: body
          name: account
          required: true
          schema:
            $ref: "#/definitions/Account"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Account"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Create or Update the EngagementFabric account
      tags:
        - Accounts
      x-ms-examples:
        AccountsCreateOrUpdateExample:
          parameters:
            account:
              location: WestUS
              sku:
                name: B1
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount
                location: WestUS
                name: ExampleAccount
                sku:
                  name: B1
                  tier: Basic
                type: Microsoft.EngagementFabric/Accounts
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels":
    get:
      operationId: Channels_ListByAccount
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ChannelList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List the EngagementFabric channels
      tags:
        - Channels
      x-ms-examples:
        ChannelsListExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                value:
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount/Channels/ExampleChannel
                    name: ExampleChannel
                    properties:
                      channelFunctions:
                        - MockFunction1
                        - MockFunction2
                      channelType: MockChannel
                      credentials:
                        AppId: exampleApp
                        AppKey: ""
                    type: Microsoft.EngagementFabric/Accounts/Channels
                  - id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount/Channels/ExampleChannel2
                    name: ExampleChannel2
                    properties:
                      channelFunctions:
                        - MockFunction1
                        - MockFunction3
                      channelType: MockChannel2
                      credentials:
                        AppId: exampleApp2
                        AppKey: ""
                    type: Microsoft.EngagementFabric/Accounts/Channels
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels/{channelName}":
    delete:
      operationId: Channels_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - description: The EngagementFabric channel name
          in: path
          name: channelName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Delete the EngagementFabric channel
      tags:
        - Channels
      x-ms-examples:
        ChannelsDeleteExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            channelName: ExampleChannel
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200": {}
    get:
      operationId: Channels_Get
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ChannelNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Channel"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Get the EngagementFabric channel
      tags:
        - Channels
      x-ms-examples:
        ChannelsGetExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            channelName: ExampleChannel
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount/Channels/ExampleChannel
                name: ExampleChannel
                properties:
                  channelFunctions:
                    - MockFunction1
                    - MockFunction2
                  channelType: MockChannel
                  credentials:
                    AppId: exampleApp
                    AppKey: ""
                type: Microsoft.EngagementFabric/Accounts/Channels
    put:
      operationId: Channels_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ChannelNameParameter"
        - description: The EngagementFabric channel description
          in: body
          name: channel
          required: true
          schema:
            $ref: "#/definitions/Channel"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Channel"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Create or Update the EngagementFabric channel
      tags:
        - Channels
      x-ms-examples:
        ChannelsCreateOrUpdateExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            channel:
              properties:
                channelFunctions:
                  - MockFunction1
                  - MockFunction2
                channelType: MockChannel
                credentials:
                  AppId: exampleApp
                  AppKey: exampleAppKey
            channelName: ExampleChannel
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                id: subscriptions/EDBF0095-A524-4A84-95FB-F72DA41AA6A1/resourceGroups/ExampleRg/providers/Microsoft.EngagementFabric/Accounts/ExampleAccount/Channels/ExampleChannel
                name: ExampleChannel
                properties:
                  channelFunctions:
                    - MockFunction1
                    - MockFunction2
                  channelType: MockChannel
                  credentials:
                    AppId: exampleApp
                    AppKey: ""
                type: Microsoft.EngagementFabric/Accounts/Channels
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/listChannelTypes":
    post:
      operationId: Accounts_ListChannelTypes
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ChannelTypeDescriptionList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List available EngagementFabric channel types and functions
      tags:
        - Accounts
      x-ms-examples:
        AccountsListChannelTypesExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                value:
                  - channelDescription: Description of mockChannel1
                    channelFunctions:
                      - MockFunction1
                      - MockFunction2
                    channelType: MockChannel1
                  - channelDescription: Description of mockChannel2
                    channelFunctions:
                      - MockFunction1
                      - MockFunction3
                    channelType: MockChannel2
                  - channelDescription: Description of mockChannel3
                    channelFunctions:
                      - MockFunction1
                      - MockFunction2
                      - MockFunction3
                    channelType: MockChannel3
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/listKeys":
    post:
      operationId: Accounts_ListKeys
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/KeyDescriptionList"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: List keys of the EngagementFabric account
      tags:
        - Accounts
      x-ms-examples:
        AccountsListKeysExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                value:
                  - name: Full
                    rank: PrimaryKey
                    value: <ExampleFullPrimaryKeyValue>
                  - name: Full
                    rank: SecondaryKey
                    value: <ExampleFullSecondaryKeyValue>
                  - name: Device
                    rank: PrimaryKey
                    value: <ExampleDevicePrimaryKeyValue>
                  - name: Device
                    rank: SecondaryKey
                    value: <ExampleDeviceSecondaryKeyValue>
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/regenerateKey":
    post:
      operationId: Accounts_RegenerateKey
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/AccountNameParameter"
        - description: Parameters specifying the key to be regenerated
          in: body
          name: parameter
          required: true
          schema:
            $ref: "#/definitions/RegenerateKeyParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/KeyDescription"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Regenerate key of the EngagementFabric account
      tags:
        - Accounts
      x-ms-examples:
        AccountsRegenerateKeyExample:
          parameters:
            accountName: ExampleAccount
            api-version: 2018-09-01-preview
            name: Full
            rank: PrimaryKey
            resourceGroupName: ExampleRg
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
          responses:
            "200":
              body:
                name: Full
                rank: PrimaryKey
                value: <ExampleFullPrimaryKeyValue>
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/checkNameAvailability":
    post:
      operationId: CheckNameAvailability
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - description: Parameter describing the name to be checked
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CheckNameAvailabilityParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/CheckNameAvailabilityResult"
        default:
          description: Error response
          schema:
            $ref: "#/definitions/CloudError"
      summary: Check availability of EngagementFabric resource
      tags:
        - NameAvailability
      x-ms-examples:
        CheckNameAvailabilityExample:
          parameters:
            api-version: 2018-09-01-preview
            name: ExampleAccount
            subscriptionId: EDBF0095-A524-4A84-95FB-F72DA41AA6A1
            type: Microsoft.EngagementFabric/Accounts
          responses:
            "200":
              body:
                message: Account 'ExampleAccount' already exists
                nameAvailable: false
                reason: AlreadyExists
definitions:
  Account:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: The EngagementFabric account
    required:
      - location
      - sku
    type: object
  AccountList:
    description: The list of the EngagementFabric accounts
    properties:
      value:
        description: EngagementFabric accounts
        items:
          $ref: "#/definitions/Account"
        type: array
    type: object
  AccountPatch:
    description: The patch of EngagementFabric account
    properties:
      tags:
        additionalProperties:
          type: string
        description: The tags of the resource
        type: object
    type: object
  Channel:
    allOf:
      - $ref: "#/definitions/ProxyOnlyResource"
    description: The EngagementFabric channel
    properties:
      properties:
        $ref: "#/definitions/ChannelProperties"
        description: The properties of the channel
        x-ms-client-flatten: true
    type: object
  ChannelList:
    description: The list of the EngagementFabric channels
    properties:
      value:
        description: EngagementFabric channels
        items:
          $ref: "#/definitions/Channel"
        type: array
    type: object
  ChannelProperties:
    description: The EngagementFabric channel properties
    properties:
      channelFunctions:
        description: The functions to be enabled for the channel
        items:
          type: string
        type: array
      channelType:
        description: The channel type
        type: string
      credentials:
        additionalProperties:
          type: string
        description: The channel credentials
        type: object
    required:
      - channelType
    type: object
  ChannelTypeDescription:
    description: EngagementFabric channel description
    properties:
      channelDescription:
        description: Text description for the channel
        type: string
      channelFunctions:
        description: All the available functions for the channel
        items:
          type: string
        type: array
      channelType:
        description: Channel type
        type: string
    type: object
  ChannelTypeDescriptionList:
    description: List of the EngagementFabric channel descriptions
    properties:
      value:
        description: Channel descriptions
        items:
          $ref: "#/definitions/ChannelTypeDescription"
        type: array
    type: object
  CheckNameAvailabilityParameter:
    description: The parameter for name availability check
    properties:
      name:
        description: The name to be checked
        type: string
      type:
        description: The fully qualified resource type for the name to be checked
        type: string
    required:
      - name
      - type
    type: object
  CheckNameAvailabilityResult:
    description: The result of name availability check
    properties:
      message:
        description: The message if name is unavailable
        readOnly: true
        type: string
      nameAvailable:
        description: The name to be checked
        readOnly: true
        type: boolean
      reason:
        $ref: "#/definitions/CheckNameUnavailableReason"
        description: The reason if name is unavailable
        readOnly: true
    type: object
  CheckNameUnavailableReason:
    description: The reason of name availability result
    enum:
      - Invalid
      - AlreadyExists
    type: string
    x-ms-enum:
      modelAsString: true
      name: CheckNameUnavailableReason
  CloudError:
    description: The default error response
    properties:
      error:
        $ref: "#/definitions/CloudErrorBody"
        description: Content of the error
    type: object
    x-ms-external: true
  CloudErrorBody:
    description: Content of the default error response
    properties:
      code:
        description: The error code
        type: string
      details:
        description: The list of additional details
        items:
          $ref: "#/definitions/CloudErrorBody"
        type: array
      message:
        description: The error message
        type: string
      target:
        description: The target of the particular error
        type: string
    type: object
    x-ms-external: true
  KeyDescription:
    description: The description of the EngagementFabric account key
    properties:
      name:
        description: The name of the key
        readOnly: true
        type: string
      rank:
        $ref: "#/definitions/KeyRank"
        description: The rank of the key
        readOnly: true
      value:
        description: The value of the key
        readOnly: true
        type: string
    type: object
  KeyDescriptionList:
    description: The list of the EngagementFabric account keys
    properties:
      value:
        description: Account keys
        items:
          $ref: "#/definitions/KeyDescription"
        readOnly: true
        type: array
    type: object
  KeyRank:
    description: The rank of the EngagementFabric account key
    enum:
      - PrimaryKey
      - SecondaryKey
    type: string
    x-ms-enum:
      modelAsString: true
      name: KeyRank
  Operation:
    description: The EngagementFabric operation
    properties:
      display:
        $ref: "#/definitions/OperationDisplay"
        description: The display content of the EngagementFabric operation
        readOnly: true
      name:
        description: The name of the EngagementFabric operation
        readOnly: true
        type: string
    type: object
  OperationDisplay:
    description: The display information of the EngagementFabric operation
    properties:
      description:
        description: The description of the EngagementFabric operation
        readOnly: true
        type: string
      operation:
        description: The name of the EngagementFabric operation
        readOnly: true
        type: string
      provider:
        description: The resource provider namespace of the EngagementFabric operation
        readOnly: true
        type: string
      resource:
        description: The resource type of the EngagementFabric operation
        readOnly: true
        type: string
    type: object
  OperationList:
    description: The list of the EngagementFabric operations
    properties:
      value:
        description: The EngagementFabric operations
        items:
          $ref: "#/definitions/Operation"
        readOnly: true
        type: array
    type: object
  ProxyOnlyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The base model for the proxy-only Azure resource
    type: object
  RegenerateKeyParameter:
    description: The parameter to regenerate single EngagementFabric account key
    properties:
      name:
        description: The name of key to be regenerated
        type: string
      rank:
        $ref: "#/definitions/KeyRank"
        description: The rank of the key to be regenerated
    required:
      - name
      - rank
    type: object
  Resource:
    description: The base model for Azure resource
    properties:
      id:
        description: The ID of the resource
        readOnly: true
        type: string
      name:
        description: The name of the resource
        readOnly: true
        type: string
      type:
        description: The fully qualified type of the resource
        readOnly: true
        type: string
    type: object
    x-ms-azure-resource: true
  SKU:
    description: The EngagementFabric SKU
    properties:
      name:
        description: The name of the SKU
        type: string
      tier:
        description: The price tier of the SKU
        type: string
    required:
      - name
    type: object
  SkuDescription:
    description: The EngagementFabric SKU description of given resource type
    properties:
      locationInfo:
        description: Locations and zones
        items:
          $ref: "#/definitions/SkuLocationInfoItem"
        readOnly: true
        type: array
      locations:
        description: The set of locations that the SKU is available
        items:
          type: string
        readOnly: true
        type: array
      name:
        description: The name of the SKU
        readOnly: true
        type: string
      resourceType:
        description: The fully qualified resource type
        readOnly: true
        type: string
      restrictions:
        description: The restrictions because of which SKU cannot be used
        items:
          type: object
        readOnly: true
        type: array
      tier:
        description: The price tier of the SKU
        readOnly: true
        type: string
    type: object
  SkuDescriptionList:
    description: The list of the EngagementFabric SKU descriptions
    properties:
      value:
        description: SKU descriptions
        items:
          $ref: "#/definitions/SkuDescription"
        readOnly: true
        type: array
    type: object
  SkuLocationInfoItem:
    description: The Locations and zones info for SKU
    properties:
      location:
        description: The available location of the SKU
        type: string
      zones:
        description: The available zone of the SKU
        items:
          type: string
        type: array
    type: object
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The base model for the tracked Azure resource
    properties:
      location:
        description: The location of the resource
        type: string
        x-ms-mutability:
          - create
          - read
      sku:
        $ref: "#/definitions/SKU"
        description: The SKU of the resource
      tags:
        additionalProperties:
          type: string
        description: The tags of the resource
        type: object
    required:
      - location
      - sku
    type: object
