TenantAtlas/specs/095-graph-contracts-registry-completeness/contracts/graph-deviceManagement-contracts.yaml
ahmido eec93b510a Spec 095: Graph contracts registry completeness + registry-backed call sites (#114)
Implements Spec 095.

What changed
- Registers 4 Graph resources in the contract registry (plus required subresource template)
- Refactors in-scope call sites to resolve Graph paths via the registry (no ad-hoc endpoints for these resources)
- Adds/updates regression tests to prevent future drift (missing registry entries and endpoint string reintroduction)
- Includes full SpecKit artifacts under specs/095-graph-contracts-registry-completeness/

Validation
- Focused tests:
  - `vendor/bin/sail artisan test --compact tests/Feature/Graph/GraphContractRegistryCoverageSpec095Test.php tests/Feature/SettingsCatalogDefinitionResolverTest.php`

Notes
- Livewire v4.0+ / Filament v5 compliant (no UI changes).
- No new routes/pages; no RBAC model changes.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #114
2026-02-15 15:02:27 +00:00

87 lines
2.2 KiB
YAML

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