Microsoft Graph Contracts

Microsoft Graph Contracts is a read-only API in Microsoft Graph that lets Microsoft 365 partners (such as CSP/resellers) discover and list the customer tenants they have a relationship with. It returns each customer’s key directory identifiers and metadata—like tenant (customer) ID, default domain name, display name, and the relationship/contract type—so partner apps can enumerate customers, scope operations per tenant, and obtain tokens targeted at the right directory.

OpenAPI Specification

contracts-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Graph Contracts
  description: Needs a description.
paths:
  /contracts:
    description: Provides operations to manage the collection of contract entities.
    get:
      tags:
        - Contracts.contract
      summary: Microsoft Graph List contracts
      description: Retrieve a list of contract objects associated to a partner tenant.
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/contract-list?view=graph-rest-1.0
      operationId: contracts.contract.ListContract
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/count'
        - name: $orderby
          in: query
          description: Order items by property values
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
        - name: $select
          in: query
          description: Select properties to be returned
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
        - name: $expand
          in: query
          description: Expand related entities
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
      responses:
        2XX:
          $ref: '#/components/responses/microsoft.graph.contractCollectionResponse'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
      x-ms-docs-operation-type: operation
    post:
      tags:
        - Contracts.contract
      summary: Microsoft Graph Add new entity to contracts
      operationId: contracts.contract.CreateContract
      requestBody:
        description: New entity
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.contract'
        required: true
      responses:
        2XX:
          description: Created entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.contract'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /contracts/{contract-id}:
    description: Provides operations to manage the collection of contract entities.
    get:
      tags:
        - Contracts.contract
      summary: Microsoft Graph Get Contract
      description: Retrieve the properties and relationships of contract object.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/contract-get?view=graph-rest-1.0
      operationId: contracts.contract.GetContract
      parameters:
        - name: $select
          in: query
          description: Select properties to be returned
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
        - name: $expand
          in: query
          description: Expand related entities
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
      responses:
        2XX:
          description: Retrieved entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.contract'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    patch:
      tags:
        - Contracts.contract
      summary: Microsoft Graph Update entity in contracts
      operationId: contracts.contract.UpdateContract
      requestBody:
        description: New property values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.contract'
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.contract'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    delete:
      tags:
        - Contracts.contract
      summary: Microsoft Graph Delete entity from contracts
      operationId: contracts.contract.DeleteContract
      parameters:
        - name: If-Match
          in: header
          description: ETag
          schema:
            type: string
      responses:
        '204':
          description: Success
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    parameters:
      - name: contract-id
        in: path
        description: The unique identifier of contract
        required: true
        schema:
          type: string
        x-ms-docs-key-type: contract
  /contracts/{contract-id}/checkMemberGroups:
    description: Provides operations to call the checkMemberGroups method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action checkMemberGroups
      description: "Check for membership in a specified list of group IDs, and return from that list the IDs of groups where a specified object is a member. The specified object can be of one of the following types:\r\n- user\r\n- group\r\n- service principal\r\n- organizational contact\r\n- device\r\n- directory object This function is transitive. You can check up to a maximum of 20 groups per request. This function supports all groups provisioned in Microsoft Entra ID. Because Microsoft 365 groups cannot contain other groups, membership in a Microsoft 365 group is always direct."
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-checkmembergroups?view=graph-rest-1.0
      operationId: contracts.contract.checkMemberGroups
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                groupIds:
                  type: array
                  items:
                    type: string
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          type: string
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
    parameters:
      - name: contract-id
        in: path
        description: The unique identifier of contract
        required: true
        schema:
          type: string
        x-ms-docs-key-type: contract
  /contracts/{contract-id}/checkMemberObjects:
    description: Provides operations to call the checkMemberObjects method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action checkMemberObjects
      operationId: contracts.contract.checkMemberObjects
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          type: string
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
    parameters:
      - name: contract-id
        in: path
        description: The unique identifier of contract
        required: true
        schema:
          type: string
        x-ms-docs-key-type: contract
  /contracts/{contract-id}/getMemberGroups:
    description: Provides operations to call the getMemberGroups method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action getMemberGroups
      description: >-
        Return all the group IDs for the groups that the specified user, group,
        service principal, organizational contact, device, or directory object
        is a member of. This function is transitive. This API returns up to
        11,000 group IDs. If more than 11,000 results are available, it returns
        a 400 Bad Request error with the DirectoryResultSizeLimitExceeded error
        code. If you get the DirectoryResultSizeLimitExceeded error code, use
        the List group transitive memberOf API instead.
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-getmembergroups?view=graph-rest-1.0
      operationId: contracts.contract.getMemberGroups
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                securityEnabledOnly:
                  type: boolean
                  default: false
                  nullable: true
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          type: string
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
    parameters:
      - name: contract-id
        in: path
        description: The unique identifier of contract
        required: true
        schema:
          type: string
        x-ms-docs-key-type: contract
  /contracts/{contract-id}/getMemberObjects:
    description: Provides operations to call the getMemberObjects method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action getMemberObjects
      description: "Return all IDs for the groups, administrative units, and directory roles that an object of one of the following types is a member of:\r\n- user\r\n- group\r\n- service principal\r\n- organizational contact\r\n- device\r\n- directory object This function is transitive. Only users and role-enabled groups can be members of directory roles."
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-getmemberobjects?view=graph-rest-1.0
      operationId: contracts.contract.getMemberObjects
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                securityEnabledOnly:
                  type: boolean
                  default: false
                  nullable: true
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          type: string
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
    parameters:
      - name: contract-id
        in: path
        description: The unique identifier of contract
        required: true
        schema:
          type: string
        x-ms-docs-key-type: contract
  /contracts/{contract-id}/restore:
    description: Provides operations to call the restore method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action restore
      description: "Restore a recently deleted application, group, servicePrincipal, administrative unit, or user object from deleted items.  Restore a recently deleted directory object from deleted items. The following types are supported:\r\n- administrativeUnit\r\n- application\r\n- certificateBasedAuthPki\r\n- certificateAuthorityDetail\r\n- group\r\n- servicePrincipal\r\n- user If an item is accidentally deleted, you can fully restore the item. Additionally, restoring an application doesn't automatically restore the associated service principal automatically. You must call this API to explicitly restore the deleted service principal. A recently deleted item remains available for up to 30 days. After 30 days, the item is permanently deleted."
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directory-deleteditems-restore?view=graph-rest-1.0
      operationId: contracts.contract.restore
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/microsoft.graph.directoryObject'
                  - type: object
                    nullable: true
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
    parameters:
      - name: contract-id
        in: path
        description: The unique identifier of contract
        required: true
        schema:
          type: string
        x-ms-docs-key-type: contract
  /contracts/$count:
    description: Provides operations to count the resources in the collection.
    get:
      tags:
        - Contracts.contract
      summary: Microsoft Graph Get the number of the resource
      operationId: contracts.GetCount-8092
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/filter'
      responses:
        2XX:
          $ref: '#/components/responses/ODataCountResponse'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
  /contracts/delta():
    description: Provides operations to call the delta method.
    get:
      tags:
        - contracts.contract.Functions
      summary: Microsoft Graph Invoke function delta
      description: >-
        Get newly created, updated, or deleted directory objects without
        performing a full read of the entire directoryObject collection. For
        more information, see Use delta query to track changes in Microsoft
        Graph data for details.
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-delta?view=graph-rest-1.0
      operationId: contracts.delta
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/count'
        - name: $select
          in: query
          description: Select properties to be returned
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
        - name: $orderby
          in: query
          description: Order items by property values
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
        - name: $expand
          in: query
          description: Expand related entities
          style: form
          explode: false
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                title: Collection of directoryObject
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseDeltaFunctionResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          $ref: '#/components/schemas/microsoft.graph.directoryObject'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: function
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
  /contracts/getAvailableExtensionProperties:
    description: Provides operations to call the getAvailableExtensionProperties method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action getAvailableExtensionProperties
      description: >-
        Return all directory extension definitions that are registered in a
        directory, including through multitenant apps. The following entities
        support extension properties:
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-getavailableextensionproperties?view=graph-rest-1.0
      operationId: contracts.getAvailableExtensionProperties
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                isSyncedFromOnPremises:
                  type: boolean
                  default: false
                  nullable: true
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                title: Collection of extensionProperty
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          $ref: >-
                            #/components/schemas/microsoft.graph.extensionProperty
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
  /contracts/getByIds:
    description: Provides operations to call the getByIds method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action getByIds
      description: >-
        Return the directory objects specified in a list of IDs. Only a subset
        of user properties are returned by default in v1.0. Some common uses for
        this function are to:
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-getbyids?view=graph-rest-1.0
      operationId: contracts.getByIds
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
                types:
                  type: array
                  items:
                    type: string
                    nullable: true
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                title: Collection of directoryObject
                type: object
                allOf:
                  - $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
                  - type: object
                    properties:
                      value:
                        type: array
                        items:
                          $ref: '#/components/schemas/microsoft.graph.directoryObject'
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
  /contracts/validateProperties:
    description: Provides operations to call the validateProperties method.
    post:
      tags:
        - contracts.contract.Actions
      summary: Microsoft Graph Invoke action validateProperties
      description: "Validate that a Microsoft 365 group's display name or mail nickname complies with naming policies. Clients can use this API to determine whether a display name or mail nickname is valid before trying to create a Microsoft 365 group. To validate the properties of an existing group, use the group: validateProperties function. The following policy validations are performed for the display name and mail nickname properties:\r\n1. Validate the prefix and suffix naming policy\r\n2. Validate the custom banned words policy\r\n3. Validate that the mail nickname is unique This API only returns the first validation failure that is encountered. If the properties fail multiple validations, only the first validation failure is returned. However, you can validate both the mail nickname and the display name and receive a collection of validation errors if you're only validating the prefix and suffix naming policy. To learn more about configuring naming policies, see Configure naming policy."
      externalDocs:
        description: Find more info here
        url: >-
          https://learn.microsoft.com/graph/api/directoryobject-validateproperties?view=graph-rest-1.0
      operationId: contracts.validateProperties
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                entityType:
                  type: string
                  nullable: true
                displayName:
                  type: string
                  nullable: true
                mailNickname:
                  type: string
                  nullable: true
                onBehalfOfUserId:
                  pattern: >-
                    ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  type: string
                  format: uuid
                  nullable: true
        required: true
      responses:
        '204':
          description: Success
        4XX:
          $ref: '#/components/responses/error'
        5XX:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
components:
  schemas:
    microsoft.graph.contract:
      allOf:
        - $ref: '#/components/schemas/microsoft.graph.directoryObject'
        - title: contract
          required:
            - '@odata.type'
          type: object
          properties:
            contractType:
              type: string
              description: >-
                Type of contract. The possible values are:  SyndicationPartner,
                BreadthPartner, ResellerPartner. See more in the table below.
              nullable: true
            customerId:
              pattern: >-
                ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
              type: string
              description: >-
                The unique identifier for the customer tenant referenced by this
                partnership. Corresponds to the id property of the customer
                tenant's organization resource.
              format: uuid
              nullable: true
            defaultDomainName:
              type: string
              description: >-
                A copy of the customer tenant's default domain name. The copy is
                made when the partnership with the customer is established. It
                isn't automatically updated if the customer tenant's default
                domain name changes.
              nullable: true
            displayName:
              type: string
              description: >-
                A copy of the customer tenant's display name. The copy is made
                when the partnership with the customer is established. It is not
                automatically updated if the customer tenant's display name
                changes.
              nullable: true
            '@odata.type':
              type: string
              default: '#microsoft.graph.contract'
      x-ms-discriminator-value: '#microsoft.graph.contract'
    BaseCollectionPaginationCountResponse:
      title: Base collection pagination and count responses
      type: object
      properties:
        '@odata.count':
          type: integer
          format: int64
          nullable: true
        '@odata.nextLink':
          type: string
          nullable: true
    microsoft.graph.directoryObject:
      allOf:
        - $ref: '#/components/schemas/microsoft.graph.entity'
        - title: directoryObject
          required:
            - '@odata.type'
          type: object
          properties:
            deletedDateTime:
              pattern: >-
                ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
              type: string
              description: >-
                Date and time when this object was deleted. Always null when the
                object hasn't been deleted.
              format: date-time
              nullable: true
            '@odata.type':
              type: string
          discriminator:
            propertyName: '@odata.type'
            mapping:
              '#microsoft.graph.administrativeUnit': '#/components/schemas/microsoft.graph.administrativeUnit'
              '#microsoft.graph.application': '#/components/schemas/microsoft.graph.application'
              '#microsoft.graph.appRoleAssignment': '#/components/schemas/microsoft.graph.appRoleAssignment'
              '#microsoft.graph.certificateAuthorityDetail': '#/components/schemas/microsoft.graph.certificateAuthorityDetail'
              '#microsoft.graph.certificateBasedAuthPki': '#/components/schemas/microsoft.graph.certificateBasedAuthPki'
              '#microsoft.graph.contract': '#/components/schemas/microsoft.graph.contract'
              '#microsoft.graph.device': '#/components/schemas/microsoft.graph.device'
              '#microsoft.graph.directoryObjectPartnerReference': >-
                #/components/schemas/microsoft.graph.directoryObjectPartnerReference
              '#microsoft.graph.directoryRole': '#/components/schemas/microsoft.graph.directoryRole'
              '#microsoft.graph.directoryRoleTemplate': '#/components/schemas/microsoft.graph.directoryRoleTemplate'
              '#microsoft.graph.endpoint': '#/components/schemas/microsoft.graph.endpoint'
              '#microsoft.graph.extensionProperty': '#/components/schemas/microsoft.graph.extensionProperty'
              '#microsoft.graph.group': '#/components/schemas/microsoft.graph.group'
              '#microsoft.graph.groupSettingTemplate': '#/components/schemas/microsoft.graph.groupSettingTemplate'
              '#microsoft.graph.multiTenantOrganizationMember': >-
                #/components/schemas/microsoft.graph.multiTenantOrganizationMember
              '#microsoft.graph.organization': '#/components/schemas/microsoft.graph.organization'
              '#microsoft.graph.orgContact': '#/components/schemas/microsoft.graph.orgContact'
              '#microsoft.graph.policyBase': '#/components/schemas/microsoft.graph.policyBase'
              '#microsoft.graph.appManagementPolicy': '#/components/schemas/microsoft.graph.appManagementPolicy'
              '#microsoft.graph.authorizationPolicy': '#/components/schemas/microsoft.graph.authorizationPolicy'
              '#microsoft.graph.crossTenantAccessPolicy': '#/components/schemas/microsoft.graph.crossTenantAccessPolicy'
              '#microsoft.graph.identitySecurityDefaultsEnforcementPolicy': >-
                #/components/schemas/microsoft.graph.identitySecurityDefaultsEnforcementPolicy
              '#microsoft.graph.permissionGrantPolicy': '#/components/schemas/microsoft.graph.permissionGrantPolicy'
              '#microsoft.graph.stsPolicy': '#/components/schemas/microsoft.graph.stsPolicy'
              '#microsoft.graph.activityBasedTimeoutPolicy': '#/components/schemas/microsoft.graph.activityBasedTimeoutPolicy'
              '#microsoft.graph.claimsMappingPolicy': '#/components/schemas/microsoft.graph.claimsMappingPolicy'
              '#microsoft.graph.homeRealmDiscoveryPolicy': '#/components/schemas/microsoft.graph.homeRealmDiscoveryPolicy'
              '#microsoft.graph.tokenIssuancePolicy': '#/components/schemas/microsoft.graph.tokenIssuancePolicy'
              '#microsoft.graph.tokenLifetimePolicy': '#/components/schemas/microsoft.graph.tokenLifetimePolicy'
              '#microsoft.graph.tenantAppManagementPolicy': '#/components/schemas/microsoft.graph.tenantAppManagementPolicy'
              '#microsoft.graph.resourceSpecificPermissionGrant': >-
                #/components/schemas/microsoft.graph.resourceSpecificPermissionGrant
              '#microsoft.graph.servicePrincipal': '#/components/schemas/microsoft.graph.servicePrincipal'
              '#microsoft.graph.user': '#/components/schemas/microsoft.graph.user'
    BaseDeltaFunctionResponse:
      title: Base delta function response
      type: object
      properties:
        '@odata.nextLink':
          type: string
          nullable: true
        '@odata.deltaLink':
          type: string
          nullable: true
  parameters:
    top:
      name: $top
      in: query
      description: Show only the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
      example: 50
    skip:
      name: $skip
      in: query
      description: Skip the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
    search:
      name: $search
      in: query
      description: Search items by search phrases
      style: form
      explode: false
      schema:
        type: string
    filter:
      

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-graph/refs/heads/main/openapi/contracts-openapi-original.yml