swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Azure Enterprise Knowledge Graph Service is a platform for creating knowledge graphs at scale.
  title: Azure Enterprise Knowledge Graph Service
  version: 2018-12-03
  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/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: EnterpriseKnowledgeGraph-EnterpriseKnowledgeGraphSwagger
  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:
  apiVersionParameter:
    description: Version of the API to be used with the client request.
    in: query
    name: api-version
    required: true
    type: string
  resourceGroupNameParameter:
    description: The name of the EnterpriseKnowledgeGraph resource group in the user subscription.
    in: path
    maxLength: 64
    minLength: 2
    name: resourceGroupName
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$
    required: true
    type: string
    x-ms-parameter-location: method
  resourceNameParameter:
    description: The name of the EnterpriseKnowledgeGraph resource.
    in: path
    maxLength: 64
    minLength: 2
    name: resourceName
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$
    required: true
    type: string
    x-ms-parameter-location: method
  subscriptionIdParameter:
    description: Azure Subscription ID.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.EnterpriseKnowledgeGraph/operations:
    get:
      deprecated: false
      description: Lists all the available EnterpriseKnowledgeGraph services operations.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK.
          schema:
            $ref: "#/definitions/OperationEntityListResult"
      tags:
        - Operations
      x-ms-examples:
        Get Operations:
          parameters:
            api-version: 2018-12-03
          responses:
            "200":
              body:
                value:
                  - display:
                      description: Read EnterpriseKnowledgeGraph resources
                      operation: Read EnterpriseKnowledgeGraph resource
                      provider: Microsoft EnterpriseKnowledgeGraph Service
                      resource: EnterpriseKnowledgeGraph Service
                    name: Microsoft.EnterpriseKnowledgeGraph/services/read
                    origin: user,system
                  - display:
                      description: Writes EnterpriseKnowledgeGraph resources
                      operation: Write EnterpriseKnowledgeGraph resource
                      provider: Microsoft EnterpriseKnowledgeGraph Service
                      resource: EnterpriseKnowledgeGraph Service
                    name: Microsoft.EnterpriseKnowledgeGraph/services/write
                    origin: user,system
                  - display:
                      description: Deletes EnterpriseKnowledgeGraph resources
                      operation: Delete EnterpriseKnowledgeGraph resource
                      provider: Microsoft EnterpriseKnowledgeGraph Service
                      resource: EnterpriseKnowledgeGraph Service
                    name: Microsoft.EnterpriseKnowledgeGraph/services/delete
                    origin: user,system
                  - display:
                      description: Read the operations for all resource types.
                      operation: Read resource provider operations
                      provider: Microsoft EnterpriseKnowledgeGraph Service
                      resource: Operations
                    name: Microsoft.EnterpriseKnowledgeGraph/Operations/read
                    origin: user,system
                  - display:
                      description: Read the status of an asynchronous operation.
                      operation: Read Operation Result.
                      provider: Microsoft EnterpriseKnowledgeGraph Service
                      resource: Operation Result
                    name: Microsoft.EnterpriseKnowledgeGraph/locations/operationresults/read
                    origin: user,system
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.EnterpriseKnowledgeGraph/services":
    get:
      description: Returns all the resources of a particular type belonging to a subscription.
      operationId: EnterpriseKnowledgeGraph_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "200":
          description: |-
            The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.
            The nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.
            For a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. 
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraphResponseList"
        default:
          description: Error response describing why the operation failed
          schema:
            $ref: "#/definitions/Error"
      tags:
        - EnterpriseKnowledgeGraph
      x-ms-examples:
        List EnterpriseKnowledgeGraph by Subscription:
          parameters:
            api-version: 2018-12-03
            subscriptionId: subscription-id
          responses:
            "200":
              body:
                value:
                  - id: someid
                    name: samplename
                    properties:
                      provisioningState: Succeeded
                    type: sampletype
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EnterpriseKnowledgeGraph/services":
    get:
      description: Returns all the resources of a particular type belonging to a resource group
      operationId: EnterpriseKnowledgeGraph_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: |-
            The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.
            The nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.
            The nextLink should be implemented using following query parameters:
            · skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.
            · top: the optional client query parameter which defines the maximum number of records to be returned by the server.
            Implementation details:
            · NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. 
            · Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. 
            Clients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraphResponseList"
        default:
          description: Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - EnterpriseKnowledgeGraph
      x-ms-examples:
        List EnterpriseKnowledgeGraph by Resource Group:
          parameters:
            api-version: 2018-12-03
            resourceGroupName: OneResourceGroupName
            subscriptionId: subscription-id
          responses:
            "200":
              body:
                value:
                  - id: someid
                    name: samplename
                    properties:
                      provisioningState: Succeeded
                    type: sampletype
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EnterpriseKnowledgeGraph/services/{resourceName}":
    delete:
      description: "Deletes a EnterpriseKnowledgeGraph Service from the resource group. "
      operationId: EnterpriseKnowledgeGraph_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/resourceNameParameter"
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "200":
          description: A 200 (OK) should be returned if the object exists and was deleted successfully;
        "204":
          description: a 204 (NoContent) should be used if the resource does not exist and the request is well formed.
        default:
          description: Error response describing why the operation failed
          schema:
            $ref: "#/definitions/Error"
      tags:
        - EnterpriseKnowledgeGraph
      x-ms-examples:
        Delete EnterpriseKnowledgeGraph:
          parameters:
            api-version: 2018-12-03
            resourceGroupName: OneResourceGroupName
            resourceName: sampleekgname
            subscriptionId: subscription-id
          responses:
            "200": {}
            "204": {}
    get:
      description: Returns a EnterpriseKnowledgeGraph service specified by the parameters.
      operationId: EnterpriseKnowledgeGraph_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/resourceNameParameter"
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "200":
          description: "The resource provider should return 200 (OK) to indicate that the operation completed successfully. "
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
        default:
          description: Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - EnterpriseKnowledgeGraph
      x-ms-examples:
        Get EnterpriseKnowledgeGraph:
          parameters:
            api-version: 2018-12-03
            resourceGroupName: OneResourceGroupName
            resourceName: sampleekgname
            subscriptionId: subscription-id
          responses:
            "200":
              body:
                id: someid
                name: samplename
                properties:
                  provisioningState: Succeeded
                type: sampletype
    patch:
      description: Updates a EnterpriseKnowledgeGraph Service
      operationId: EnterpriseKnowledgeGraph_Update
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/resourceNameParameter"
        - description: The parameters to provide for the created EnterpriseKnowledgeGraph.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
          x-ms-client-flatten: true
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "200":
          description: "The resource provider should return 200 (OK) to indicate that the operation completed successfully. "
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
        "201":
          description: If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
        default:
          description: Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - EnterpriseKnowledgeGraph
      x-ms-examples:
        Update EnterpriseKnowledgeGraph:
          parameters:
            api-version: 2018-12-03
            parameters:
              location: West US
              properties: {}
              sku:
                name: S1
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: OneResourceGroupName
            resourceName: sampleekgname
            subscriptionId: subscription-id
          responses:
            "201":
              body:
                id: someid
                name: samplename
                properties:
                  provisioningState: Creating
                type: sampletype
    put:
      description: Creates a EnterpriseKnowledgeGraph Service. EnterpriseKnowledgeGraph Service is a resource group wide resource type.
      operationId: EnterpriseKnowledgeGraph_Create
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/resourceNameParameter"
        - description: The parameters to provide for the created EnterpriseKnowledgeGraph.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
      responses:
        "200":
          description: "The resource provider should return 200 (OK) to indicate that the operation completed successfully. "
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
        "201":
          description: If resource is created successfully, the service should return 201 (Creating). Execution to continue asynchronously.
          schema:
            $ref: "#/definitions/EnterpriseKnowledgeGraph"
        default:
          description: Error response describing why the operation failed
          schema:
            $ref: "#/definitions/Error"
      tags:
        - EnterpriseKnowledgeGraph
      x-ms-examples:
        Create EnterpriseKnowledgeGraph:
          parameters:
            api-version: 2018-12-03
            parameters:
              location: West US
              properties: {}
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: OneResourceGroupName
            resourceName: sampleekgname
            subscriptionId: subscription-id
          responses:
            "201":
              body:
                id: someid
                name: samplename
                properties:
                  provisioningState: Creating
                type: sampletype
definitions:
  EnterpriseKnowledgeGraph:
    allOf:
      - $ref: "#/definitions/Resource"
    description: EnterpriseKnowledgeGraph resource definition
    properties:
      properties:
        $ref: "#/definitions/EnterpriseKnowledgeGraphProperties"
        description: The set of properties specific to EnterpriseKnowledgeGraph resource
  EnterpriseKnowledgeGraphProperties:
    description: The parameters to provide for the EnterpriseKnowledgeGraph.
    properties:
      description:
        description: The description of the EnterpriseKnowledgeGraph
        type: string
      metadata:
        description: Specifies the metadata  of the resource.
        type: object
      provisioningState:
        description: The state of EnterpriseKnowledgeGraph provisioning
        enum:
          - Creating
          - Deleting
          - Failed
          - Succeeded
        type: string
  EnterpriseKnowledgeGraphResponseList:
    description: The list of  EnterpriseKnowledgeGraph service operation response.
    properties:
      nextLink:
        description: The link used to get the next page of EnterpriseKnowledgeGraph service resources.
        type: string
      value:
        description: Gets the list of EnterpriseKnowledgeGraph service results and their properties.
        items:
          $ref: "#/definitions/EnterpriseKnowledgeGraph"
        readOnly: true
        type: array
  Error:
    description: EnterpriseKnowledgeGraph Service error object.
    properties:
      error:
        $ref: "#/definitions/ErrorBody"
        description: The error body.
  ErrorBody:
    description: EnterpriseKnowledgeGraph Service error body.
    properties:
      code:
        description: error code
        type: string
      message:
        description: error message
        type: string
    required:
      - code
      - message
  OperationDisplayInfo:
    description: The operation supported by EnterpriseKnowledgeGraph Service Management.
    properties:
      description:
        description: The description of the operation.
        type: string
      operation:
        description: The action that users can perform, based on their permission level.
        type: string
      provider:
        description: "Service provider: Microsoft EnterpriseKnowledgeGraph Service."
        type: string
      resource:
        description: Resource on which the operation is performed.
        type: string
    type: object
  OperationEntity:
    description: The operations supported by EnterpriseKnowledgeGraph Service Management.
    properties:
      display:
        $ref: "#/definitions/OperationDisplayInfo"
        description: The operation supported by EnterpriseKnowledgeGraph Service Management.
      name:
        description: "Operation name: {provider}/{resource}/{operation}."
        type: string
      origin:
        description: The origin of the operation.
        type: string
      properties:
        description: Additional properties.
        type: object
    type: object
  OperationEntityListResult:
    description: The list of EnterpriseKnowledgeGraph service operation response.
    properties:
      nextLink:
        description: The link used to get the next page of operations.
        type: string
      value:
        description: The list of operations.
        items:
          $ref: "#/definitions/OperationEntity"
        type: array
    type: object
  Resource:
    description: Azure resource
    properties:
      id:
        description: Specifies the resource ID.
        readOnly: true
        type: string
      location:
        description: Specifies the location of the resource.
        type: string
      name:
        description: Specifies the name of the resource.
        readOnly: true
        type: string
      sku:
        $ref: "#/definitions/Sku"
        description: Gets or sets the SKU of the resource.
      tags:
        additionalProperties:
          type: string
        description: Contains resource tags defined as key/value pairs.
        type: object
      type:
        description: Specifies the type of the resource.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  Sku:
    description: The SKU of the EnterpriseKnowledgeGraph service account.
    properties:
      name:
        $ref: "#/definitions/SkuName"
        description: The sku name
    required:
      - name
  SkuName:
    description: The name of SKU.
    enum:
      - F0
      - S1
    type: string
    x-ms-enum:
      modelAsString: true
      name: SkuName
