Microsoft Entra ID (formerly Azure AD) Agreements.agreement API
The agreements.agreement API from Microsoft Entra ID (formerly Azure AD) — 2 operation(s) for agreements.agreement.
The agreements.agreement API from Microsoft Entra ID (formerly Azure AD) — 2 operation(s) for agreements.agreement.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/azure-ad-agreements-agreement-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Identity.Governance Agreements.agreement API
version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
description: Core
security:
- azureaadv2: []
tags:
- name: Agreements agreement
paths:
/agreements:
get:
tags:
- Agreements agreement
summary: Get entities from agreements
operationId: agreement_ListAgreement
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.agreementCollectionResponse'
default:
$ref: '#/components/responses/error'
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
x-ms-docs-operation-type: operation
post:
tags:
- Agreements agreement
summary: Add new entity to agreements
operationId: agreement_CreateAgreement
requestBody:
description: New entity
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.agreement'
required: true
responses:
2XX:
description: Created entity
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.agreement'
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: operation
/agreements/{agreement-id}:
get:
tags:
- Agreements agreement
summary: Get entity from agreements by key
operationId: agreement_GetAgreement
parameters:
- name: agreement-id
in: path
description: The unique identifier of agreement
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: agreement
- name: $select
in: query
description: Select properties to be returned
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.agreement'
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: operation
patch:
tags:
- Agreements agreement
summary: Update entity in agreements
operationId: agreement_UpdateAgreement
parameters:
- name: agreement-id
in: path
description: The unique identifier of agreement
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: agreement
requestBody:
description: New property values
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.agreement'
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.agreement'
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: operation
delete:
tags:
- Agreements agreement
summary: Delete entity from agreements
operationId: agreement_DeleteAgreement
parameters:
- name: agreement-id
in: path
description: The unique identifier of agreement
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: agreement
- name: If-Match
in: header
description: ETag
style: simple
schema:
type: string
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: operation
components:
responses:
error:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.ODataError'
microsoft.graph.agreementCollectionResponse:
description: Retrieved collection
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.agreementCollectionResponse'
schemas:
microsoft.graph.agreementFileData:
title: agreementFileData
type: object
properties:
data:
type:
- string
- 'null'
description: Data that represents the terms of use PDF document. Read-only.
format: base64url
additionalProperties:
type: object
microsoft.graph.ODataErrors.MainError:
required:
- code
- message
type: object
properties:
code:
type: string
message:
type: string
x-ms-primary-error-message: true
target:
type:
- string
- 'null'
details:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.ErrorDetails'
innerError:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.InnerError'
additionalProperties:
type: object
microsoft.graph.agreementCollectionResponse:
title: Collection of agreement
type: object
properties:
value:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.agreement'
'@odata.nextLink':
type:
- string
- 'null'
additionalProperties:
type: object
microsoft.graph.agreementAcceptance:
allOf:
- $ref: '#/components/schemas/microsoft.graph.entity'
- title: agreementAcceptance
type: object
properties:
agreementFileId:
type:
- string
- 'null'
description: The identifier of the agreement file accepted by the user.
agreementId:
type:
- string
- 'null'
description: The identifier of the agreement.
deviceDisplayName:
type:
- string
- 'null'
description: The display name of the device used for accepting the agreement.
deviceId:
type:
- string
- 'null'
description: The unique identifier of the device used for accepting the agreement. Supports $filter (eq) and eq for null values.
deviceOSType:
type:
- string
- 'null'
description: The operating system used to accept the agreement.
deviceOSVersion:
type:
- string
- 'null'
description: The operating system version of the device used to accept the agreement.
expirationDateTime:
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
- 'null'
description: The expiration date time of the acceptance. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Supports $filter (eq, ge, le) and eq for null values.
format: date-time
recordedDateTime:
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
- 'null'
description: The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
format: date-time
state:
$ref: '#/components/schemas/microsoft.graph.agreementAcceptanceState'
userDisplayName:
type:
- string
- 'null'
description: Display name of the user when the acceptance was recorded.
userEmail:
type:
- string
- 'null'
description: Email of the user when the acceptance was recorded.
userId:
type:
- string
- 'null'
description: The identifier of the user who accepted the agreement. Supports $filter (eq).
userPrincipalName:
type:
- string
- 'null'
description: UPN of the user when the acceptance was recorded.
additionalProperties:
type: object
microsoft.graph.agreementFileVersion:
allOf:
- $ref: '#/components/schemas/microsoft.graph.agreementFileProperties'
- title: agreementFileVersion
type: object
additionalProperties:
type: object
microsoft.graph.ODataErrors.InnerError:
type: object
additionalProperties:
type: object
description: The structure of this object is service-specific
microsoft.graph.agreementAcceptanceState:
title: agreementAcceptanceState
enum:
- accepted
- declined
- unknownFutureValue
type: string
microsoft.graph.agreementFileLocalization:
allOf:
- $ref: '#/components/schemas/microsoft.graph.agreementFileProperties'
- title: agreementFileLocalization
type: object
properties:
versions:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.agreementFileVersion'
description: Read-only. Customized versions of the terms of use agreement in the Microsoft Entra tenant.
x-ms-navigationProperty: true
additionalProperties:
type: object
microsoft.graph.ODataErrors.ODataError:
required:
- error
type: object
properties:
error:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.MainError'
additionalProperties:
type: object
microsoft.graph.agreement:
allOf:
- $ref: '#/components/schemas/microsoft.graph.entity'
- title: agreement
type: object
properties:
displayName:
type:
- string
- 'null'
description: Display name of the agreement. The display name is used for internal tracking of the agreement but isn't shown to end users who view the agreement. Supports $filter (eq).
isPerDeviceAcceptanceRequired:
type:
- boolean
- 'null'
description: Indicates whether end users are required to accept this agreement on every device that they access it from. The end user is required to register their device in Microsoft Entra ID, if they haven't already done so. Supports $filter (eq).
isViewingBeforeAcceptanceRequired:
type:
- boolean
- 'null'
description: Indicates whether the user has to expand the agreement before accepting. Supports $filter (eq).
termsExpiration:
$ref: '#/components/schemas/microsoft.graph.termsExpiration'
userReacceptRequiredFrequency:
pattern: ^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$
type:
- string
- 'null'
description: The duration after which the user must reaccept the terms of use. The value is represented in ISO 8601 format for durations. Supports $filter (eq).
format: duration
acceptances:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.agreementAcceptance'
description: Read-only. Information about acceptances of this agreement.
x-ms-navigationProperty: true
file:
$ref: '#/components/schemas/microsoft.graph.agreementFile'
files:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.agreementFileLocalization'
description: PDFs linked to this agreement. This property is in the process of being deprecated. Use the file property instead. Supports $expand.
x-ms-navigationProperty: true
additionalProperties:
type: object
microsoft.graph.ODataErrors.ErrorDetails:
required:
- code
- message
type: object
properties:
code:
type: string
message:
type: string
target:
type:
- string
- 'null'
additionalProperties:
type: object
microsoft.graph.agreementFile:
allOf:
- $ref: '#/components/schemas/microsoft.graph.agreementFileProperties'
- title: agreementFile
type: object
properties:
localizations:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.agreementFileLocalization'
description: The localized version of the terms of use agreement files attached to the agreement.
x-ms-navigationProperty: true
additionalProperties:
type: object
microsoft.graph.entity:
title: entity
type: object
properties:
id:
type: string
description: The unique identifier for an entity. Read-only.
additionalProperties:
type: object
microsoft.graph.agreementFileProperties:
allOf:
- $ref: '#/components/schemas/microsoft.graph.entity'
- title: agreementFileProperties
type: object
properties:
createdDateTime:
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
- 'null'
description: The date time representing when the file was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
format: date-time
displayName:
type:
- string
- 'null'
description: Localized display name of the policy file of an agreement. The localized display name is shown to end users who view the agreement.
fileData:
$ref: '#/components/schemas/microsoft.graph.agreementFileData'
fileName:
type:
- string
- 'null'
description: Name of the agreement file (for example, TOU.pdf). Read-only.
isDefault:
type:
- boolean
- 'null'
description: If none of the languages matches the client preference, indicates whether this is the default agreement file. If none of the files are marked as default, the first one is treated as the default. Read-only.
isMajorVersion:
type:
- boolean
- 'null'
description: Indicates whether the agreement file is a major version update. Major version updates invalidate the agreement's acceptances on the corresponding language.
language:
type:
- string
- 'null'
description: The language of the agreement file in the format 'languagecode2-country/regioncode2'. 'languagecode2' is a lowercase two-letter code derived from ISO 639-1, while 'country/regioncode2' is derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47 language tag. For example, U.S. English is en-US. Read-only.
additionalProperties:
type: object
microsoft.graph.termsExpiration:
title: termsExpiration
type: object
properties:
frequency:
pattern: ^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$
type:
- string
- 'null'
description: Represents the frequency at which the terms will expire, after its first expiration as set in startDateTime. The value is represented in ISO 8601 format for durations. For example, PT1M represents a time period of one month.
format: duration
startDateTime:
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
- 'null'
description: The DateTime when the agreement is set to expire for all users. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
format: date-time
additionalProperties:
type: object
parameters:
filter:
name: $filter
in: query
description: Filter items by property values
style: form
explode: false
schema:
type: string
search:
name: $search
in: query
description: Search items by search phrases
style: form
explode: false
schema:
type: string
count:
name: $count
in: query
description: Include count of items
style: form
explode: false
schema:
type: boolean
skip:
name: $skip
in: query
description: Skip the first n items
style: form
explode: false
schema:
minimum: 0
type: integer
top:
name: $top
in: query
description: Show only the first n items
style: form
explode: false
schema:
minimum: 0
type: integer
example: 50
securitySchemes:
azureaadv2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
scopes: {}