naftiko: 1.0.0-alpha2 info: label: Microsoft Graph Education — education.educationSchool description: 'Microsoft Graph Education — education.educationSchool. 21 operations. Lead operation: Microsoft Graph List educationSchools. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - education.educationSchool created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_GRAPH_API_KEY: MICROSOFT_GRAPH_API_KEY capability: consumes: - type: http namespace: education-education-educationschool baseUri: '' description: Microsoft Graph Education — education.educationSchool business capability. Self-contained, no shared references. resources: - name: education-schools path: /education/schools operations: - name: educationlistschools method: GET description: Microsoft Graph List educationSchools outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: educationcreateschools method: POST description: Microsoft Graph Create educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: education-schools-$count path: /education/schools/$count operations: - name: educationschoolsgetcountc02b method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: education-schools-delta() path: /education/schools/delta() operations: - name: educationschoolsdelta method: GET description: Microsoft Graph Invoke function delta outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $orderby in: query type: array description: Order items by property values - name: $expand in: query type: array description: Expand related entities - name: education-schools-educationSchool-id path: /education/schools/{educationSchool-id} operations: - name: educationgetschools method: GET description: Microsoft Graph Get educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: educationupdateschools method: PATCH description: Microsoft Graph Update educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: educationdeleteschools method: DELETE description: Microsoft Graph Delete educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: education-schools-educationSchool-id-administrativeUnit path: /education/schools/{educationSchool-id}/administrativeUnit operations: - name: educationschoolsgetadministrativeunit method: GET description: Microsoft Graph Get administrativeUnit from education outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: educationschoolsupdateadministrativeunit method: PATCH description: Microsoft Graph Update the navigation property administrativeUnit in education outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: education-schools-educationSchool-id-classes path: /education/schools/{educationSchool-id}/classes operations: - name: educationschoolslistclasses method: GET description: Microsoft Graph List classes of an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: education-schools-educationSchool-id-classes-$count path: /education/schools/{educationSchool-id}/classes/$count operations: - name: educationschoolsclassesgetcountd3ee method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: education-schools-educationSchool-id-classes-$ref path: /education/schools/{educationSchool-id}/classes/$ref operations: - name: educationschoolslistrefclasses method: GET description: Microsoft Graph List classes of an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: educationschoolscreaterefclasses method: POST description: Microsoft Graph Add educationClass to educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: educationschoolsdeleterefclasses method: DELETE description: Microsoft Graph Remove educationClass outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: '@id' in: query type: string description: The delete Uri required: true - name: education-schools-educationSchool-id-classes-educationClass-id-$ref path: /education/schools/{educationSchool-id}/classes/{educationClass-id}/$ref operations: - name: educationschoolsclassesdeleterefeducationclass method: DELETE description: Microsoft Graph Remove educationClass outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: education-schools-educationSchool-id-users path: /education/schools/{educationSchool-id}/users operations: - name: educationschoolslistusers method: GET description: Microsoft Graph List users of an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: education-schools-educationSchool-id-users-$count path: /education/schools/{educationSchool-id}/users/$count operations: - name: educationschoolsusersgetcounte5a6 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: education-schools-educationSchool-id-users-$ref path: /education/schools/{educationSchool-id}/users/$ref operations: - name: educationschoolslistrefusers method: GET description: Microsoft Graph List users of an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: educationschoolscreaterefusers method: POST description: Microsoft Graph Add educationUser to an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: educationschoolsdeleterefusers method: DELETE description: Microsoft Graph Remove educationUser from an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: '@id' in: query type: string description: The delete Uri required: true - name: education-schools-educationSchool-id-users-educationUser-id-$ref path: /education/schools/{educationSchool-id}/users/{educationUser-id}/$ref operations: - name: educationschoolsusersdeleterefeducationuser method: DELETE description: Microsoft Graph Remove educationUser from an educationSchool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag exposes: - type: rest namespace: education-education-educationschool-rest port: 8080 description: REST adapter for Microsoft Graph Education — education.educationSchool. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/education/schools name: education-schools description: REST surface for education-schools. operations: - method: GET name: educationlistschools description: Microsoft Graph List educationSchools call: education-education-educationschool.educationlistschools with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: educationcreateschools description: Microsoft Graph Create educationSchool call: education-education-educationschool.educationcreateschools with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/education/schools/count name: education-schools-count description: REST surface for education-schools-$count. operations: - method: GET name: educationschoolsgetcountc02b description: Microsoft Graph Get the number of the resource call: education-education-educationschool.educationschoolsgetcountc02b outputParameters: - type: object mapping: $. - path: /v1/education/schools/delta name: education-schools-delta description: REST surface for education-schools-delta(). operations: - method: GET name: educationschoolsdelta description: Microsoft Graph Invoke function delta call: education-education-educationschool.educationschoolsdelta with: $select: rest.$select $orderby: rest.$orderby $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id} name: education-schools-educationschool-id description: REST surface for education-schools-educationSchool-id. operations: - method: GET name: educationgetschools description: Microsoft Graph Get educationSchool call: education-education-educationschool.educationgetschools with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: educationupdateschools description: Microsoft Graph Update educationSchool call: education-education-educationschool.educationupdateschools with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: educationdeleteschools description: Microsoft Graph Delete educationSchool call: education-education-educationschool.educationdeleteschools with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/administrativeunit name: education-schools-educationschool-id-administrativeunit description: REST surface for education-schools-educationSchool-id-administrativeUnit. operations: - method: GET name: educationschoolsgetadministrativeunit description: Microsoft Graph Get administrativeUnit from education call: education-education-educationschool.educationschoolsgetadministrativeunit with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: educationschoolsupdateadministrativeunit description: Microsoft Graph Update the navigation property administrativeUnit in education call: education-education-educationschool.educationschoolsupdateadministrativeunit with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/classes name: education-schools-educationschool-id-classes description: REST surface for education-schools-educationSchool-id-classes. operations: - method: GET name: educationschoolslistclasses description: Microsoft Graph List classes of an educationSchool call: education-education-educationschool.educationschoolslistclasses with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/classes/count name: education-schools-educationschool-id-classes-count description: REST surface for education-schools-educationSchool-id-classes-$count. operations: - method: GET name: educationschoolsclassesgetcountd3ee description: Microsoft Graph Get the number of the resource call: education-education-educationschool.educationschoolsclassesgetcountd3ee outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/classes/ref name: education-schools-educationschool-id-classes-ref description: REST surface for education-schools-educationSchool-id-classes-$ref. operations: - method: GET name: educationschoolslistrefclasses description: Microsoft Graph List classes of an educationSchool call: education-education-educationschool.educationschoolslistrefclasses with: $orderby: rest.$orderby outputParameters: - type: object mapping: $. - method: POST name: educationschoolscreaterefclasses description: Microsoft Graph Add educationClass to educationSchool call: education-education-educationschool.educationschoolscreaterefclasses with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: educationschoolsdeleterefclasses description: Microsoft Graph Remove educationClass call: education-education-educationschool.educationschoolsdeleterefclasses with: If-Match: rest.If-Match '@id': rest.@id outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/classes/{educationclass-id}/ref name: education-schools-educationschool-id-classes-educationclass-id-ref description: REST surface for education-schools-educationSchool-id-classes-educationClass-id-$ref. operations: - method: DELETE name: educationschoolsclassesdeleterefeducationclass description: Microsoft Graph Remove educationClass call: education-education-educationschool.educationschoolsclassesdeleterefeducationclass with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/users name: education-schools-educationschool-id-users description: REST surface for education-schools-educationSchool-id-users. operations: - method: GET name: educationschoolslistusers description: Microsoft Graph List users of an educationSchool call: education-education-educationschool.educationschoolslistusers with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/users/count name: education-schools-educationschool-id-users-count description: REST surface for education-schools-educationSchool-id-users-$count. operations: - method: GET name: educationschoolsusersgetcounte5a6 description: Microsoft Graph Get the number of the resource call: education-education-educationschool.educationschoolsusersgetcounte5a6 outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/users/ref name: education-schools-educationschool-id-users-ref description: REST surface for education-schools-educationSchool-id-users-$ref. operations: - method: GET name: educationschoolslistrefusers description: Microsoft Graph List users of an educationSchool call: education-education-educationschool.educationschoolslistrefusers with: $orderby: rest.$orderby outputParameters: - type: object mapping: $. - method: POST name: educationschoolscreaterefusers description: Microsoft Graph Add educationUser to an educationSchool call: education-education-educationschool.educationschoolscreaterefusers with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: educationschoolsdeleterefusers description: Microsoft Graph Remove educationUser from an educationSchool call: education-education-educationschool.educationschoolsdeleterefusers with: If-Match: rest.If-Match '@id': rest.@id outputParameters: - type: object mapping: $. - path: /v1/education/schools/{educationschool-id}/users/{educationuser-id}/ref name: education-schools-educationschool-id-users-educationuser-id-ref description: REST surface for education-schools-educationSchool-id-users-educationUser-id-$ref. operations: - method: DELETE name: educationschoolsusersdeleterefeducationuser description: Microsoft Graph Remove educationUser from an educationSchool call: education-education-educationschool.educationschoolsusersdeleterefeducationuser with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - type: mcp namespace: education-education-educationschool-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph Education — education.educationSchool. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-list-educationschools description: Microsoft Graph List educationSchools hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationlistschools with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-educationschool description: Microsoft Graph Create educationSchool hints: readOnly: false destructive: false idempotent: false call: education-education-educationschool.educationcreateschools with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolsgetcountc02b outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-function-delta description: Microsoft Graph Invoke function delta hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolsdelta with: $select: tools.$select $orderby: tools.$orderby $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-get-educationschool description: Microsoft Graph Get educationSchool hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationgetschools with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-educationschool description: Microsoft Graph Update educationSchool hints: readOnly: false destructive: false idempotent: true call: education-education-educationschool.educationupdateschools with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-educationschool description: Microsoft Graph Delete educationSchool hints: readOnly: false destructive: true idempotent: true call: education-education-educationschool.educationdeleteschools with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-get-administrativeunit-education description: Microsoft Graph Get administrativeUnit from education hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolsgetadministrativeunit with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property description: Microsoft Graph Update the navigation property administrativeUnit in education hints: readOnly: false destructive: false idempotent: true call: education-education-educationschool.educationschoolsupdateadministrativeunit with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-list-classes-educationschool description: Microsoft Graph List classes of an educationSchool hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolslistclasses with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource-2 description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolsclassesgetcountd3ee outputParameters: - type: object mapping: $. - name: microsoft-graph-list-classes-educationschool-2 description: Microsoft Graph List classes of an educationSchool hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolslistrefclasses with: $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: microsoft-graph-add-educationclass-educationschool description: Microsoft Graph Add educationClass to educationSchool hints: readOnly: false destructive: false idempotent: false call: education-education-educationschool.educationschoolscreaterefclasses with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-remove-educationclass description: Microsoft Graph Remove educationClass hints: readOnly: false destructive: true idempotent: true call: education-education-educationschool.educationschoolsdeleterefclasses with: If-Match: tools.If-Match '@id': tools.@id outputParameters: - type: object mapping: $. - name: microsoft-graph-remove-educationclass-2 description: Microsoft Graph Remove educationClass hints: readOnly: false destructive: true idempotent: true call: education-education-educationschool.educationschoolsclassesdeleterefeducationclass with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-list-users-educationschool description: Microsoft Graph List users of an educationSchool hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolslistusers with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource-3 description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolsusersgetcounte5a6 outputParameters: - type: object mapping: $. - name: microsoft-graph-list-users-educationschool-2 description: Microsoft Graph List users of an educationSchool hints: readOnly: true destructive: false idempotent: true call: education-education-educationschool.educationschoolslistrefusers with: $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: microsoft-graph-add-educationuser-educationschool description: Microsoft Graph Add educationUser to an educationSchool hints: readOnly: false destructive: false idempotent: false call: education-education-educationschool.educationschoolscreaterefusers with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-remove-educationuser-educationschool description: Microsoft Graph Remove educationUser from an educationSchool hints: readOnly: false destructive: true idempotent: true call: education-education-educationschool.educationschoolsdeleterefusers with: If-Match: tools.If-Match '@id': tools.@id outputParameters: - type: object mapping: $. - name: microsoft-graph-remove-educationuser-educationschool-2 description: Microsoft Graph Remove educationUser from an educationSchool hints: readOnly: false destructive: true idempotent: true call: education-education-educationschool.educationschoolsusersdeleterefeducationuser with: If-Match: tools.If-Match outputParameters: - type: object mapping: $.