openapi: 3.0.0
info:
  title: TenantPilot — Microsoft Graph deviceManagement contracts (Spec 095)
  version: 0.1.0
  description: >
    Minimal external API contract documentation for the Microsoft Graph resources
    governed by Spec 095 (Graph Contracts Registry Completeness).
servers:
  - url: https://graph.microsoft.com/v1.0
paths:
  /deviceManagement/configurationPolicyTemplates:
    get:
      summary: List configuration policy templates
      responses:
        '200':
          description: OK
  /deviceManagement/configurationPolicyTemplates/{templateId}/settingTemplates:
    get:
      summary: List setting templates for a configuration policy template
      parameters:
        - name: templateId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
  /deviceManagement/configurationSettings/{settingId}:
    get:
      summary: Get a configuration setting definition
      parameters:
        - name: settingId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
  /deviceManagement/configurationCategories/{categoryId}:
    get:
      summary: Get a configuration category
      parameters:
        - name: categoryId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
  /deviceManagement/roleAssignments:
    get:
      summary: List role assignments
      responses:
        '200':
          description: OK
    post:
      summary: Create a role assignment
      responses:
        '201':
          description: Created
  /deviceManagement/roleAssignments/{roleAssignmentId}:
    get:
      summary: Get a role assignment
      parameters:
        - name: roleAssignmentId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
    patch:
      summary: Update a role assignment
      parameters:
        - name: roleAssignmentId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
