swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: PolicyMetadataClient
  version: 2019-10-01
  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/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: policyinsights-policyMetadata
  x-tags:
    - Azure
    - Microsoft
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
security:
  - azure_auth:
      - user_impersonation
parameters:
  apiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
    x-ms-parameter-location: client
  resourceNameParameter:
    description: The name of the policy metadata resource.
    in: path
    name: resourceName
    required: true
    type: string
    x-ms-parameter-location: method
    x-ms-skip-url-encoding: true
  topParameter:
    description: Maximum number of records to return.
    format: int32
    in: query
    minimum: 0
    name: $top
    required: false
    type: integer
    x-ms-client-name: Top
    x-ms-parameter-grouping:
      name: QueryOptions
    x-ms-parameter-location: method
paths:
  /providers/Microsoft.PolicyInsights/policyMetadata:
    get:
      description: Get a list of the policy metadata resources.
      operationId: PolicyMetadata_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
        - $ref: "#/parameters/topParameter"
      responses:
        "200":
          description: Policy metadata resource collection.
          schema:
            $ref: "#/definitions/PolicyMetadataCollection"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      x-ms-examples:
        Get collection of policy metadata resources:
          parameters:
            api-version: 2019-10-01
          responses:
            "200":
              body:
                value:
                  - id: /providers/Microsoft.PolicyInsights/policyMetadata/NIST_SP_800-53_R4_AC-2
                    name: NIST_SP_800-53_R4_AC-2
                    properties:
                      additionalContentUrl: https://aka.ms/NIST_SP_800-53_R4_AC-2
                      category: Access control
                      metadata: {}
                      metadataId: NIST SP 800-53 R4 AC-2
                      owner: Shared
                      title: Account Management
                    type: Microsoft.PolicyInsights/policyMetadata
              headers: {}
        Get collection of policy metadata resources using top query parameter:
          parameters:
            $top: 1
            api-version: 2019-10-01
          responses:
            "200":
              body:
                value:
                  - id: /providers/Microsoft.PolicyInsights/policyMetadata/NIST_SP_800-53_R4_AC-2
                    name: NIST_SP_800-53_R4_AC-2
                    properties:
                      additionalContentUrl: https://aka.ms/NIST_SP_800-53_R4_AC-2
                      category: Access control
                      metadata: {}
                      metadataId: NIST SP 800-53 R4 AC-2
                      owner: Shared
                      title: Account Management
                    type: Microsoft.PolicyInsights/policyMetadata
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.PolicyInsights/policyMetadata/{resourceName}":
    get:
      description: Get policy metadata resource.
      operationId: PolicyMetadata_GetResource
      parameters:
        - $ref: "#/parameters/resourceNameParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: Policy metadata resource definition.
          schema:
            $ref: "#/definitions/PolicyMetadata"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      x-ms-examples:
        Get a single policy metadata resource:
          parameters:
            api-version: 2019-10-01
            resourceName: NIST_SP_800-53_R4_AC-2
          responses:
            "200":
              body:
                id: /providers/Microsoft.PolicyInsights/policyMetadata/NIST_SP_800-53_R4_AC-2
                name: NIST_SP_800-53_R4_AC-2
                properties:
                  additionalContentUrl: https://aka.ms/NIST_SP_800-53_R4_AC-2
                  category: Access control
                  description: Description of NIST SP 800-53 R4 AC-2
                  metadata: {}
                  metadataId: NIST SP 800-53 R4 AC-2
                  owner: Shared
                  requirements: List the requirements for NIST SP 800-53 R4 AC-2
                  title: Account Management
                type: Microsoft.PolicyInsights/policyMetadata
              headers: {}
definitions:
  ErrorDefinition:
    description: Error definition.
    properties:
      additionalInfo:
        description: Additional scenario specific error details.
        items:
          $ref: "#/definitions/TypedErrorInfo"
        readOnly: true
        type: array
      code:
        description: Service specific error code which serves as the substatus for the HTTP error code.
        readOnly: true
        type: string
      details:
        description: Internal error details.
        items:
          $ref: "#/definitions/ErrorDefinition"
        readOnly: true
        type: array
      message:
        description: Description of the error.
        readOnly: true
        type: string
      target:
        description: The target of the error.
        readOnly: true
        type: string
  ErrorResponse:
    description: Error response.
    properties:
      error:
        $ref: "#/definitions/ErrorDefinition"
        description: The error details.
  PolicyMetadata:
    description: Policy metadata resource definition.
    properties:
      id:
        description: The ID of the policy metadata.
        readOnly: true
        type: string
      name:
        description: The name of the policy metadata.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/PolicyMetadataProperties"
        description: Properties of the policy metadata.
        x-ms-client-flatten: true
      type:
        description: The type of the policy metadata.
        readOnly: true
        type: string
  PolicyMetadataCollection:
    description: Collection of policy metadata resources.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: Array of policy metadata definitions.
        items:
          $ref: "#/definitions/SlimPolicyMetadata"
        readOnly: true
        type: array
  PolicyMetadataProperties:
    allOf:
      - $ref: "#/definitions/PolicyMetadataSlimProperties"
    description: The properties of the policy metadata.
    properties:
      description:
        description: The description of the policy metadata.
        readOnly: true
        type: string
      requirements:
        description: The requirements of the policy metadata.
        readOnly: true
        type: string
  PolicyMetadataSlimProperties:
    description: The properties of the policy metadata, excluding properties containing large strings
    properties:
      additionalContentUrl:
        description: Url for getting additional content about the resource metadata.
        readOnly: true
        type: string
      category:
        description: The category of the policy metadata.
        readOnly: true
        type: string
      metadata:
        description: Additional metadata.
        readOnly: true
        type: object
      metadataId:
        description: The policy metadata identifier.
        readOnly: true
        type: string
      owner:
        description: The owner of the policy metadata.
        readOnly: true
        type: string
      title:
        description: The title of the policy metadata.
        readOnly: true
        type: string
  SlimPolicyMetadata:
    description: Slim version of policy metadata resource definition, excluding properties with large strings
    properties:
      id:
        description: The ID of the policy metadata.
        readOnly: true
        type: string
      name:
        description: The name of the policy metadata.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/PolicyMetadataSlimProperties"
        description: Properties of the policy metadata.
        x-ms-client-flatten: true
      type:
        description: The type of the policy metadata.
        readOnly: true
        type: string
  TypedErrorInfo:
    description: Scenario specific error details.
    properties:
      info:
        description: The scenario specific error details.
        readOnly: true
      type:
        description: The type of included error details.
        readOnly: true
        type: string
