다음을 통해 공유


함수 및 동작 | Graph API 참조

적용 대상: Graph API | Azure Active Directory

이 항목에서는 Azure AD Graph API가 표시하는 함수 및 동작과 이를 호출하는 방법을 설명합니다.

Graph API는 Azure Active Directory에서 사용자, 그룹, 조직 연락처 및 응용 프로그램 같은 디렉터리 개체에 대한 프로그래밍 방식 액세스를 제공하는 OData 3.0 규격 REST API입니다.

중요

Azure AD Graph API 기능은 단일 액세스 토큰으로 단일 끝점을 통해 모두 액세스되는 Outlook, OneDrive, OneNote, Planner 및 Office Graph와 같은 다른 Microsoft 서비스의 API도 포함하는 통합 API인 Microsoft Graph를 통해서도 사용할 수 있습니다.

Graph API를 사용하여 동작 및 함수 호출

Graph API를 사용하여 동작 또는 함수를 호출하려면 적절한 끝점에 POST 요청을 보냅니다.

Graph API 요청은 다음과 같은 기본 URL을 사용합니다.

https://graph.windows.net/{tenant_id}/{resource_path}?{api_version}[odata_query_parameters]

중요

Graph API에 전송된 요청은 올바른 형식이어야 하고, Graph API의 올바른 끝점 및 버전을 대상으로 하며, Authorization 헤더에 Azure AD에서 가져온 유효한 액세스 토큰을 전달해야 합니다. Graph API를 사용하여 요청을 만들고 응답을 받는 방법에 대한 자세한 내용은 [Operations Overview]를 참조하세요.

디렉터리 서비스 자체에 대해 호출되는 함수나 동작에는 리소스 경로가 필요하지 않습니다. 특정 리소스에 대해 호출되는 함수나 작업의 경우 대상으로 하는 리소스에 따라 {resource_path}를 다르게 지정합니다. 리소스 경로에는 다음과 같은 부분이 포함됩니다.

  • (resource_collection}은 사용자, 연락처 또는 그룹과 같은 리소스 컬렉션을 지정합니다.
  • {resource_id}는 리소스 컬렉션에서 대상으로 할 특정 리소스를 식별합니다. 일반적으로 개체 ID(GUID)이지만, 사용자의 경우 UPN(사용자 계정 이름)도 사용할 수 있습니다.

me 별칭을 사용하여, 로그인한 사용자를 대상으로 할 수 있습니다. 이 별칭은 {tenant_id}/users/{user_id} URL 경로 세그먼트로 바뀝니다. 이 별칭을 사용하면 Graph API가 요청에 연결된 전달자 토큰에서 사용자 및 테넌트를 가져옵니다.

예를 들어 다음 POST 요청을 사용하여, 로그인한 사용자에게 라이선스를 할당할 수 있습니다(적절한 요청 본문도 포함해야 함).

POST https://graph.windows.net/me/assignLicense?api-version=1.6

me 별칭을 사용하여 작업을 수행하는 방법에 대한 자세한 내용은 로그인한 사용자에 대한 REST 작업을 참조하세요.

함수

함수는 디렉터리에 대한 부작용이 없습니다. 즉, 함수를 호출하면 함수는 데이터만 반환하고 디렉터리의 데이터를 수정하지는 않습니다. 다음 항목에서는 Graph API를 사용하여 함수를 호출하는 방법을 보여 줍니다.


checkMemberGroups: 그룹 목록에서 멤버 자격 확인

그룹 목록에서 사용자, 연락처, 그룹 또는 서비스 사용자의 멤버 자격을 확인하려면 checkMemberGroups를 호출합니다. 이 작업은 전이적입니다.

요청당 최대 20개의 그룹을 확인할 수 있습니다.

{
    "api":  "Functions",
    "operation":    "checkMemberGroups" 
}

요청 본문

속성 이름 유형 필수 설명
isSyncedFromOnPremises 컬렉션(Edm.String) 구성원 자격을 확인할 그룹의 개체 ID를 포함하는 컬렉션입니다. 그룹은 20개까지 지정할 수 있습니다.

응답 본문

속성 이름 유형 설명
value 컬렉션(Edm.String) 사용자, 연락처, 그룹 또는 서비스 사용자가 구성원인 요청에 지정된 그룹의 개체 ID를 포함하는 컬렉션입니다.

getAvailableExtensionProperties: 디렉터리에 등록된 확장 속성 가져오기

디렉터리에 등록된 모든 확장 속성 또는 확장 속성의 필터링된 목록을 반환하려면 getAvailableExtensionProperties 함수를 호출합니다. [User], [Group], [TenantDetail], [Device], [Application] 및 [ServicePrincipal] 엔터티는 확장 속성을 지원합니다. 디렉터리에서 확장 속성을 등록 및 등록 취소하는 방법과 해당 값을 수정하는 방법에 대해 자세히 알아보려면 [Directory Schema Extensions]을 참조하세요.

중요: 1.5 이상 버전이 필요합니다.

{
    "api":  "Functions",
    "operation":    "getAvailableExtensionProperties" 
}

요청 본문

속성 이름 유형 필수 설명
isSyncedFromOnPremises Edm.Boolean 아니요 온-프레미스 디렉터리에서 동기화된 확장 속성만 반환되도록 지정하려면 true로 설정합니다. 온-프레미스 디렉터리에서 동기화되지 않은 확장 속성만 반환되도록 지정하려면 false로 설정합니다. 매개 변수를 생략하면 동기화된 확장 속성과 동기화되지 않은 확장 속성이 모두 반환됩니다.

응답 본문

속성 이름 유형 설명
value 컬렉션([ExtensionProperty]) 요청에 따라 필터링된 디렉터리에 등록된 확장 속성을 포함하는 컬렉션입니다.

getMemberGroups: 그룹 멤버 자격 가져오기(전이적)

사용자, 연락처, 그룹 또는 서비스 사용자가 멤버인 그룹을 가져오려면 해당 사용자, 연락처, 그룹 또는 서비스 사용자에 대해 getMemberGroups 함수를 호출합니다. 함수는 전이적으로 호출됩니다.

참고: 반환될 수 있는 최대 그룹 수는 2046개입니다. 대상 개체가 2046개가 넘는 그룹에 직접 또는 전이적 멤버 자격이 있는 경우 함수는 HTTP 오류 응답과 Directory_ResultSizeLimitExceeded 오류 코드를 반환합니다.

{
    "api":  "Functions",
    "operation":    "getMemberGroups",
}

요청 본문

속성 이름 유형 필수 설명
securityEnabledOnly Edm.Boolean 엔터티가 멤버인 보안 그룹만 반환되도록 지정하려면 true로 설정하고, 엔터티가 멤버인 모든 그룹이 반환되도록 지정하려면 false로 설정합니다. 참고: 매개 변수가 true인 경우 사용자에 대해서만 함수를 호출할 수 있습니다.

응답 본문

속성 이름 유형 설명
value 컬렉션(Edm.String) 사용자, 연락처, 그룹 또는 서비스 사용자가 구성원인 그룹의 개체 ID를 포함하는 컬렉션입니다.

getMemberObjects: 그룹 및 디렉터리 역할 멤버 자격 가져오기(전이적)

사용자, 연락처, 그룹 또는 서비스 사용자가 멤버인 그룹 및 디렉터리 역할을 가져오려면 해당 사용자, 연락처, 그룹 또는 서비스 사용자에 대해 getMemberObjects 함수를 호출합니다. 함수는 전이적으로 호출됩니다.

참고: 반환될 수 있는 최대 그룹 및 디렉터리 역할 수는 2046개입니다. 대상 개체가 2046개가 넘는 그룹 및 디렉터리 역할에 직접 또는 전이적 멤버 자격이 있는 경우 함수는 HTTP 오류 응답과 Directory_ResultSizeLimitExceeded 오류 코드를 반환합니다.

중요: 1.5 이상 버전이 필요합니다.

{
    "api":  "Functions",
    "operation":    "getMemberObjects" 
}

요청 본문

속성 이름 유형 필수 설명
securityEnabledOnly Edm.Boolean 엔터티가 멤버인 보안 그룹만 반환되도록 지정하려면 true로 설정하고, 엔터티가 멤버인 모든 그룹 및 디렉터리 역할이 반환되도록 지정하려면 false로 설정합니다. 참고: 매개 변수가 true인 경우 사용자에 대해서만 함수를 호출할 수 있습니다.

응답 본문

속성 이름 유형 설명
value 컬렉션(Edm.String) 사용자, 연락처, 그룹 또는 서비스 사용자가 구성원인 그룹 및 디렉터리 역할의 개체 ID를 포함하는 컬렉션입니다.

getObjectsByObjectIds: 개체 ID 목록에서 개체 가져오기

개체 ID 목록에 지정된 디렉터리 개체를 반환하려면 디렉터리 서비스에 대해 getObjectsByObjectIds 함수를 호출합니다. 선택적 types 매개 변수를 지정하여 검색해야 하는 리소스 컬렉션(사용자, 그룹 등)을 지정할 수도 있습니다.

이 함수는 일반적으로 다음과 같이 사용됩니다.

  • getMemberObjects 또는 [getMemberGroups]와 같은 개체 ID 컬렉션을 지원 디렉터리 개체에 반환하는 함수에서 반환되는 개체 ID를 확인합니다.
  • 응용 프로그램을 통해 지원 디렉터리 개체에 대해 외부 저장소에 영구 저장되는 개체 ID를 확인합니다.

중요: 1.5 이상 버전이 필요합니다.

{
    "api":  "Functions",
    "operation":    "getObjectsByObjectIds" 
}

요청 본문

속성 이름 유형 필수 설명
objectIds 컬렉션(Edm.String) 개체를 반환할 개체 ID 컬렉션입니다. 최대 1000개 개체 ID를 지정할 수 있습니다.
유형 컬렉션(Edm.String) 아니요 검색할 리소스 컬렉션 집합(엔터티 집합)을 지정하는 개체 유형 컬렉션입니다. 지정하지 않으면 기본값은 디렉터리의 모든 개체를 포함하는 [DirectoryObject]입니다. [DirectoryObject]에서 파생되는 모든 개체(예: [User], [Group], [ServicePrincipal] 등)를 컬렉션에 지정할 수 있습니다. 이 값은 대/소문자를 구분하지 않습니다.

응답 본문

속성 이름 유형 설명
value 컬렉션([DirectoryObject]) 지정된 개체 ID 및 리소스 컬렉션에 대해 검색된 개체 컬렉션입니다.

isMemberOf: 특정 그룹의 멤버 자격 확인(전이적)

지정한 사용자, 그룹, 연락처 또는 서비스 사용자가 지정된 그룹의 멤버인지 확인하려면 디렉터리 서비스에 대해 isMemberOf 함수를 호출합니다. 이 작업은 전이적입니다.

{
    "api":  "Functions",
    "operation":    "isMemberOf" 
}

요청 본문

속성 이름 유형 필수 설명
groupId Edm.String 확인할 그룹의 개체 ID입니다.
memberId Edm.String 지정한 그룹의 멤버 자격을 확인할 연락처, 그룹, 사용자 또는 서비스 사용자의 개체 ID입니다.

응답 본문

속성 이름 유형 설명
value Edm.Boolean 지정한 사용자, 그룹, 연락처 또는 서비스 사용자가 지정된 그룹에 직접 또는 전이적 멤버 자격이 있으면 true이고, 그렇지 않으면 false입니다.

동작

동작은 디렉터리에 대한 부작용이 있습니다. 즉, 동작을 호출하면 동작은 디렉터리의 데이터를 변경할 수 있습니다. 예를 들어 사용자에게 라이선스를 할당하거나 이전에 삭제된 응용 프로그램을 복원할 수 있습니다.

assignLicense: 사용자의 라이선스 추가 또는 제거

사용자의 구독을 추가하거나 제거하려면 사용자에 대해 assignLicense 동작을 호출합니다. 구독과 연결된 특정 계획을 사용 및 사용하지 않도록 설정할 수도 있습니다.

중요: 2013-11-08 이상 버전이 필요합니다.

{
    "api":  "Functions",
    "operation":    "assignLicense" 
}

요청 본문

속성 이름 유형 필수 설명
addLicenses 컬렉션([AssinedPlan]) 추가할 라이선스를 지정하는 AssignedLicense 개체의 컬렉션입니다. AssignedLicense 개체에 대해 disabledPlans 속성을 설정하여 라이선스와 연결된 계획을 사용하지 않도록 설정할 수 있습니다.
removeLicenses Collection(Edm.Guid) 제거할 라이선스를 식별하는 GUID 컬렉션입니다.

참고: 테넌트 개체에서 구독 SKU ID와 계획 ID를 읽을 수 있습니다. 예를 들어 https://graph.windows.net/myorganization/subscribedSkus에 대해 GET 요청을 수행하면 로그인한 사용자의 테넌트에 사용 가능한 구독이 반환됩니다. 이러한 구독은 [SubscribedSku] 엔터티로 반환되며 skuId 속성에서 SKU ID를 읽을 수 있습니다. servicePlans 컬렉션에서 구독과 연결된 계획 ID를 가져올 수 있습니다. consumedUnits 속성 및 prepaidUnits 속성 값에서 구독 가용성을 계산할 수 있습니다. 여기에는 "enabled", "suspended" 및 "warning" 상태의 단위 수가 포함됩니다.

Addtitional 예제

이 요청은 Enterprise Office SKU의 초기 라이선스 할당을 보여 줍니다. 여기에는 SharePoint Online, Lync Online 및 Exchange Online 서비스 계획이 포함됩니다.

POST https://graph.windows.net/myorganization/users/alexd@a830edad9050849NDA1.onmicrosoft.com/assignLicense?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eX ... FWSXfwtQ
Content-Type: application/json
Host: graph.windows.net
Content-Length: 35

{
  "addLicenses":[{"disabledPlans":[ ],"skuId":"6fd2c87f-b296-42f0-b197-1e91e994b900"}],
  "removeLicenses":[ ]
}

이 요청은 특정 계획을 사용하지 않도록 설정하여 사용자 라이선스를 업데이트합니다. 이 예제에는 두 개의 disabledPlans(SharePointOnline 및 LyncOnline)가 포함되어 있으므로 Exchange 서비스 계획만 사용할 수 있는 상태입니다.

POST https://graph.windows.net/myorganization/users/alexd@a830edad9050849NDA1.onmicrosoft.com/assignLicense?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eX ... FWSXfwtQ
Content-Type: application/json
Host: graph.windows.net
Content-Length: 35

{ 
  "addLicenses":[  { "disabledPlans":  [”5dbe027f-2339-4123-9542-606e4d348a72”,
                                        “0feaeb32-d00e-4d66-bd5a-43b5b83db82c” ], 

                      "skuId":"6fd2c87f-b296-42f0-b197-1e91e994b900"
                   }  

                 ],
   "removeLicenses":[ ]

 }

마지막 요청에서는 사용자의 라이선스를 제거하는 방법을 보여 줍니다.

POST https://graph.windows.net/myorganization/users/alexd@a830edad9050849NDA1.onmicrosoft.com/assignLicense?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eX ... FWSXfwtQ
Content-Type: application/json
Host: graph.windows.net
Content-Length: 35

{
  "addLicenses":[ ],

  "removeLicenses":["6fd2c87f-b296-42f0-b197-1e91e994b900"]
}

changePassword: 로그인한 사용자의 암호 변경

로그인한 사용자의 암호를 변경하려면 로그인한 사용자에 대해 changePassword 동작을 호출합니다.

참고: 이 동작은 로그인한 사용자에 대해서만 호출할 수 있습니다. 아래 표시된 대로 me 별칭을 사용하여 작업의 주소를 지정하는 것 외에, /users/<objectId>/changePassword 또는 /users/userPrincipalName/changePassword를 사용할 수 있지만 이러한 주소 지정 모드를 사용하는 경우 대상 사용자가 로그인한 사용자여야 합니다.

중요: 1.6 이상 버전이 필요합니다.

{
    "api":  "MeOps",
    "operation":    "changePassword" 
}

요청 본문

속성 이름 유형 필수 설명
currentPassword Edm.String 로그인한 사용자의 현재 암호입니다.
newPassword Edm.String 새 암호입니다.

응답 본문

없음.


restore: 삭제된 응용 프로그램 복원

삭제된 응용 프로그램을 디렉터리로 복원하려면 삭제된 응용 프로그램에 대해 restore 동작을 호출합니다.

참고: deletedApplications 리소스 컬렉션을 읽어 삭제된 응용 프로그램을 찾을 수 있습니다. 예를 들어 https://graph.windows.net/myorganization/deletedApplications?api-version=1.5 URL에 대해 GET을 수행하면 조직과 연결된 삭제된 응용 프로그램이 반환됩니다.

중요: 1.5 이상 버전이 필요합니다.

{
    "api":  "Functions",
    "operation":    "restore" 
}

요청 본문

속성 이름 유형 필수 설명
identifierUris 컬렉션(Edm.String) 아니요 응용 프로그램의 식별자 URI 컬렉션입니다. 이러한 컬렉션은 복원된 [Application]에 identifierUris 속성을 설정합니다. 매개 변수를 생략하면 identifierUris 속성의 원래 값이 유지됩니다.

응답 본문

유형 설명
[응용 프로그램] 복원된 응용 프로그램입니다.

verify: 도메인의 소유권 확인(미리 보기)

도메인의 소유권을 확인하려면 도메인에 대해 verify 동작을 호출합니다.

중요: 확인되지 않은 도메인([도메인]의 isVerified 속성이 false임)에만 적용됩니다. 베타 버전에서만 지원됩니다.

{
    "api":  "Functions",
    "operation":    "verify" 
}

요청 본문

없음.

응답 본문

유형 설명
[도메인] 확인할 도메인입니다. isVerified 속성은 도메인의 소유권이 확인되었는지 여부를 나타냅니다.

추가 리소스


applications: Get application properties by object ID

GET https://graph.windows.net/myorganization/applications/{application_oid}?api-version

Parameters

ParameterTypeValueNotes
URL
application_oidstring

00009987-f6d8-4957-a6ca-7848d986ffff

The object id of the application.
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
GET https://graph.windows.net/myorganization/applications/00009987-f6d8-4957-a6ca-7848d986ffff?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Collection(Microsoft.DirectoryServices.directoryObjects/@Element)",
  "odata.type": "Microsoft.DirectoryServices.Application",
  "objectType": "Application",
  "objectId": "35418b3b-476c-4271-81a8-6db65d397ff4",
  "deletionTimestamp": null,
  "addIns": [],
  "allowActAsForAllClients": null,
  "appBranding": null,
  "appCategory": null,
  "appData": null,
  "appId": "1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1",
  "appMetadata": {
    "version": 0,
    "data": [
      {
        "key": "ApplicationMetadata",
        "value": "eyJBcHBsaWNhd..."
      }
    ]
  },
  "appRoles": [],
  "availableToOtherTenants": true,
  "displayName": "Test App",
  "encryptedMsiApplicationSecret": null,
  "errorUrl": null,
  "groupMembershipClaims": "None",
  "homepage": null,
  "identifierUris": [],
  "keyCredentials": [
    {
      "customKeyIdentifier": "pZMUkCG+igju29A1o/BYhnWffff=",
      "endDate": "2017-10-11T07:00:00Z",
      "keyId": "dceb697c-477a-4a25-be87-38282995ffff",
      "startDate": "2012-09-11T07:00:00Z",
      "type": "AsymmetricX509Cert",
      "usage": "Verify",
      "value": null
    },
    {
      "customKeyIdentifier": "pEFcLQgJrxgCgQwBbtV/G5Cffff=",
      "endDate": "2017-06-19T07:00:00Z",
      "keyId": "fed7d654-4ae7-4a53-bd60-71dc7eb0ffff",
      "startDate": "2012-05-19T07:00:00Z",
      "type": "AsymmetricX509Cert",
      "usage": "Verify",
      "value": null
    }
  ],
  "knownClientApplications": [],
  "logoUrl": null,
  "logoutUrl": null,
  "oauth2AllowImplicitFlow": false,
  "oauth2AllowUrlPathMatching": false,
  "oauth2Permissions": [],
  "oauth2RequirePostResponse": false,
  "passwordCredentials": [],
  "publicClient": false,
  "recordConsentConditions": null,
  "replyUrls": [],
  "requiredResourceAccess": [],
  "samlMetadataUrl": null,
  "supportsConvergence": false,
  "tokenEncryptionKeyId": null
}

applicationsByAppId: Get application properties by application ID

GET https://graph.windows.net/myorganization/applicationsByAppId/{application_id}?api-version

Parameters

ParameterTypeValueNotes
URL
application_idstring

1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1

The application ID (GUID) of the application.
Query
api-versionstring

1.6

The version of the Graph API to target. Required.
GET https://graph.windows.net/myorganization/applicationsByAppId/1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element",
  "odata.type": "Microsoft.DirectoryServices.Application",
  "objectType": "Application",
  "objectId": "35418b3b-476c-4271-81a8-6db65d397ff4",
  "deletionTimestamp": null,
  "addIns": [],
  "allowActAsForAllClients": null,
  "appBranding": null,
  "appCategory": null,
  "appData": null,
  "appId": "1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1",
  "appMetadata": {
    "version": 0,
    "data": [
      {
        "key": "ApplicationMetadata",
        "value": "eyJBcHBsaWNhd..."
      }
    ]
  },
  "appRoles": [],
  "availableToOtherTenants": true,
  "displayName": "Test App",
  "encryptedMsiApplicationSecret": null,
  "errorUrl": null,
  "groupMembershipClaims": "None",
  "homepage": null,
  "identifierUris": [],
  "keyCredentials": [
    {
      "customKeyIdentifier": "pZMUkCG+igju29A1o/BYhnWffff=",
      "endDate": "2017-10-11T07:00:00Z",
      "keyId": "dceb697c-477a-4a25-be87-38282995ffff",
      "startDate": "2012-09-11T07:00:00Z",
      "type": "AsymmetricX509Cert",
      "usage": "Verify",
      "value": null
    },
    {
      "customKeyIdentifier": "pEFcLQgJrxgCgQwBbtV/G5Cffff=",
      "endDate": "2017-06-19T07:00:00Z",
      "keyId": "fed7d654-4ae7-4a53-bd60-71dc7eb0ffff",
      "startDate": "2012-05-19T07:00:00Z",
      "type": "AsymmetricX509Cert",
      "usage": "Verify",
      "value": null
    }
  ],
  "knownClientApplications": [],
  "logoUrl": null,
  "logoutUrl": null,
  "oauth2AllowImplicitFlow": false,
  "oauth2AllowUrlPathMatching": false,
  "oauth2Permissions": [],
  "oauth2RequirePostResponse": false,
  "passwordCredentials": [],
  "publicClient": false,
  "recordConsentConditions": null,
  "replyUrls": [],
  "requiredResourceAccess": [],
  "samlMetadataUrl": null,
  "supportsConvergence": false,
  "tokenEncryptionKeyId": null
}

Response List

Status CodeDescription
200OK. Indicates success. Returns the application object ID.

checkMemberGroups: Check for membership in a list of groups

POST https://graph.windows.net/myorganization/{resource_collection}/{resource_id}/checkMemberGroups?api-version

Parameters

ParameterTypeValueNotes
URL
resource_collectionstring

users

Specifies the resource collection to target. Acceptable values are users, groups, contacts, and servicePrincipals.
resource_idstring

alexd@a830edad9050849NDA1.onmicrosoft.com

Specifies the user, contact, group, or service principal for which membership is to be checked. For contacts, groups, and service principals the entity-identifier should be an object ID (GUID); for users, it can be either the object ID or the user principal name (UPN)..
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "groupIds": [
    "8ab3f116-1afb-44cb-8e61-6b20cb1e353c",
    "be78b7e2-a94a-4ab0-9bb4-403977cc7ec6",
    "cf61b8c9-3626-4fe4-b2f7-ac31fa905605"
  ]
}
POST https://graph.windows.net/myorganization/users/alexd%40a830edad9050849NDA1.onmicrosoft.com/checkMemberGroups?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Collection(Edm.String)",
  "value": [
    "8ab3f116-1afb-44cb-8e61-6b20cb1e353c",
    "be78b7e2-a94a-4ab0-9bb4-403977cc7ec6"
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. The object IDs of the groups in the request that the target user, contact, group, or service principal has either direct or transitive membership in are returned.

getAvailableExtensionProperties: Get the registered extension properties in a directory

POST https://graph.windows.net/myorganization/getAvailableExtensionProperties?api-version

Parameters

ParameterTypeValueNotes
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "isSyncedFromOnPremises": false
}

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
      "objectType": "ExtensionProperty",
      "objectId": "d6a8bfec-893d-46e4-88fd-7db5fcc0fa62",
      "deletionTimestamp": null,
      "appDisplayName": "SampleApp",
      "name": "extension_4d405aa8baa04fb494d3e0571fd9fd71_skypeId",
      "dataType": "String",
      "isSyncedFromOnPremises": false,
      "targetObjects": [
        "User"
      ]
    }
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. A collection that contains the extension properties is returned.

getMemberGroups: Get group memberships (transitive)

POST https://graph.windows.net/myorganization/{resource_collection}/{resource_id}/getMemberGroups?api-version

Parameters

ParameterTypeValueNotes
URL
resource_collectionstring

users

Specifies the resource collection to target. Acceptable values are users, groups, contacts, and servicePrincipals.
resource_idstring

alexd@a830edad9050849NDA1.onmicrosoft.com

Specifies the user, contact, group, or service principal for which group memberships are to be returned. For contacts, groups, and service principals the entity-identifier should be an object ID (GUID); for users, it can be either the object ID or the user principal name (UPN)..
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "securityEnabledOnly": false
}
POST  https://graph.windows.net/myorganization/users/alexd%40a830edad9050849NDA1.onmicrosoft.com/getMemberGroups?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Collection(Edm.String)",
  "value": [
    "8ab3f116-1afb-44cb-8e61-6b20cb1e353c",
    "be78b7e2-a94a-4ab0-9bb4-403977cc7ec6",
    "5e624f44-d38d-4943-b07c-2bad078f52ff"
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. The object IDs of the groups that the target user, contact, group, or service principal has either direct or transitive membership in are returned.

getMemberObjects: Get group and directory role memberships (transitive)

POST https://graph.windows.net/myorganization/{resource_collection}/{resource_id}/getMemberObjects?api-version

Parameters

ParameterTypeValueNotes
URL
resource_collectionstring

users

Specifies the resource collection to target. Acceptable values are users, groups, contacts, and servicePrincipals.
resource_idstring

alexd@a830edad9050849NDA1.onmicrosoft.com

Specifies the user, contact, group, or service principal for which group and directory role memberships are to be returned. For contacts, groups, and service principals the entity-identifier should be an object ID (GUID); for users, it can be either the object ID or the user principal name (UPN)..
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "securityEnabledOnly": false
}
POST https://graph.windows.net/myorganization/users/alexd%40a830edad9050849NDA1.onmicrosoft.com/getMemberObjects?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myortanization/$metadata#Collection(Edm.String)",
  "value": [
    "8ab3f116-1afb-44cb-8e61-6b20cb1e353c",
    "be78b7e2-a94a-4ab0-9bb4-403977cc7ec6",
    "5e624f44-d38d-4943-b07c-2bad078f52ff"
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. The object IDs of the groups and directory roles that the target user, contact, group, or service principal has either direct or transitive membership in are returned.

getObjectsByObjectIds: Get objects from a list of object IDs

POST https://graph.windows.net/myorganization/getObjectsByObjectIds?api-version

Parameters

ParameterTypeValueNotes
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "objectIds": [
    "c57cdc98-0dcd-4f90-a82f-c911b288bab9",
    "cc9869f0-6ac0-4d00-bc24-621a2d949d35",
    "477c2fe9-b0e7-4661-8564-ba170666f058",
    "beb9a3bb-2fff-4d5f-99d8-0ce169e8bed7"
  ],
  "types": [
    "group"
  ]
}

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.Group",
      "objectType": "Group",
      "objectId": "c57cdc98-0dcd-4f90-a82f-c911b288bab9",
      "deletionTimestamp": null,
      "description": "Marketing Group",
      "dirSyncEnabled": null,
      "displayName": "Marketing",
      "lastDirSyncTime": null,
      "mail": null,
      "mailNickname": "cdf76b17-0734-41bc-9c24-9a7af93f3502",
      "mailEnabled": false,
      "onPremisesSecurityIdentifier": null,
      "provisioningErrors": [],
      "proxyAddresses": [],
      "securityEnabled": true
    },
    {
      "odata.type": "Microsoft.DirectoryServices.Group",
      "objectType": "Group",
      "objectId": "cc9869f0-6ac0-4d00-bc24-621a2d949d35",
      "deletionTimestamp": null,
      "description": "Engineering Group",
      "dirSyncEnabled": null,
      "displayName": "Engineering",
      "lastDirSyncTime": null,
      "mail": null,
      "mailNickname": "ef3b8cc1-721b-4452-9e30-9867d1de80ea",
      "mailEnabled": false,
      "onPremisesSecurityIdentifier": null,
      "provisioningErrors": [],
      "proxyAddresses": [],
      "securityEnabled": true
    }
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. A collection that contains the directory objects that match the search criterea is returned.

isMemberOf: Check membership in a specific group (transitive)

POST https://graph.windows.net/myorganization/isMemberOf?api-version

Parameters

ParameterTypeValueNotes
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "groupId": "5e624f44-d38d-4943-b07c-2bad078f52ff",
  "memberId": "ea59e4d3-a7a1-4b5b-b65f-a25fcc0c0f99"
}

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Edm.Boolean",
  "value": true
}

Response List

Status CodeDescription
200OK. Indicates success. Returns true if the user, contact, group, or service principal is a member of the specified group; otherwsie, false.

servicePrincipalsByAppId: Get service principal object ID by application ID

GET https://graph.windows.net/myorganization/servicePrincipalsByAppId/{application_id}/objectId?api-version

Parameters

ParameterTypeValueNotes
URL
application_idstring

1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1

The application ID (GUID) of the service principal.
Query
api-versionstring

1.6

The version of the Graph API to target. Required.
GET https://graph.windows.net/myorganization/servicePrincipalsByAppId/1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1/objectId?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Edm.String",
  "value": [
    "00b4e797-7017-4720-b187-b01981c820d6"
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. Returns the service principal object ID of the specified application ID.

verify: Verify ownership of a domain

POST https://graph.windows.net/myorganization/domains({domain_name})/verify?api-version

Parameters

ParameterTypeValueNotes
URL
domain_namestring

contoso.com

The fully qualified domain name of the target domain. Must be enclosed in single quotes.
Query
api-versionstring

1.6

The version of the Graph API to target. Required.
POST https://graph.windows.net/myorganization/domains(contoso.com)/verify?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#domains/@Element",
  "authenticationType": "Managed",
  "availabilityStatus": "AvailableImmediately",
  "isAdminManaged": true,
  "isDefault": false,
  "isInitial": false,
  "isRoot": true,
  "isVerified": true,
  "name": "contoso.com",
  "supportedServices": []
}

Response List

Status CodeDescription
200OK. Indicates success. Returns the Domain object. The isVerified property indicates whether the ownership of the domain has been verified successfully.

addKey: Add a KeyCredential for an application

POST https://graph.windows.net/myorganization/applications/{application_oid}/addKey?api-version

Parameters

ParameterTypeValueNotes
URL
application_oidstring

00009987-f6d8-4957-a6ca-7848d986ffff

The object id of the application.
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "keyCredential": {
    "customKeyIdentifier": "6uv7gh",
    "endDate": "endDate=2017-10-11T07:00:00Z",
    "keyId": "633b1614-b669-47c5-961e-f4a45978ffff",
    "type": "AsymmetricX509Cert",
    "usage": "Verify",
    "value": null
  },
  "passwordCredential": null,
  "proof": "Bearer eyJ0eXAiOiJKv1..."
}
POST 
https://graph.windows.net/myorganization/applications/00009987-f6d8-4957-a6ca-7848d986ffff/addKey?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Collection(Microsoft.DirectoryServices.KeyCredential)",
  "value": [
    {
      "keyCredential": {
        "customKeyIdentifier": "6uv7gh",
        "type": "AsymmetricX509Cert",
        "usage": "Verify",
        "value": "MIZB9jVCACfEw="
      },
      "passwordCredential": null,
      "proof": "eyJ0eXAiOiJKv1"
    }
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. Returns the application's new key credential and password credential directory object.
POST https://graph.windows.net/myorganization/applicationsByAppId/{application_id}/addKey?api-version

Parameters

ParameterTypeValueNotes
URL
application_idstring

1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1

The application ID (GUID) of the application.
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "keyCredential": {
    "customKeyIdentifier": "6uv7gh",
    "type": "X509CertAndPassword",
    "usage": "Sign",
    "value": "MIIJgIBAzCCCbYGCSqGSIb3gX1MIIF..."
  },
  "passwordCredential": {
    "value": "MKTr0w1ytHhemMDY"
  },
  "proof": "Bearer eyJ0eXAiOiJKv1..."
}
POST https://graph.windows.net/myorganization/applicationsByAppId/1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1/addKey?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#Collection(Microsoft.DirectoryServices.KeyCredential)",
  "value": [
    {
      "keyCredential": {
        "customKeyIdentifier": "JXyLFwBmN=",
        "endDate": "2017-10-11T07:00:00Z",
        "keyId": "633b1614-b669-47c5-961e-f4a45978ffff",
        "startDate": "2012-09-11T07:00:00Z",
        "type": "AsymmetricX509Cert",
        "usage": "Sign",
        "value": null
      }
    },
    {
      "keyCredential": {
        "customKeyIdentifier": "JXyLFwBmN=",
        "endDate": "2017-10-11T07:00:00Z",
        "keyId": "633b1614-b669-47c5-961e-f4a45978ffff",
        "startDate": "2012-09-11T07:00:00Z",
        "type": "Password",
        "usage": "Sign",
        "value": null
      }
    }
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. Returns the application's new key credential and password credential directory object.

assignLicense: Add or remove licenses from a user

POST https://graph.windows.net/myorganization/users/{user_id}/assignLicense?api-version

Parameters

ParameterTypeValueNotes
URL
user_idstring

alexd@a830edad9050849NDA1.onmicrosoft.com

The user ID. Can be the object ID (GUID) or the user principal name (someuser@a830edad9050849NDA1.onmicrosoft.com) of the target user.
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "addLicenses": [
    {
      "disabledPlans": [],
      "skuId": "6fd2c87f-b296-42f0-b197-1e91e994b900"
    }
  ],
  "removeLicenses": []
}
POST https://graph.windows.net/myorganization/users/alexd%40a830edad9050849NDA1.onmicrosoft.com/assignLicense?api-version=1.6

Response

Status Code:200

Content-Type: application/json

none

Response List

Status CodeDescription
200OK. Indicates success. No response body is returned.

changePassword: Change password of the signed-in user

POST https://graph.windows.net/me/changePassword?api-version

Parameters

ParameterTypeValueNotes
Query
api-versionstring

1.6

Specifies the version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "currentPassword": "Test1234!",
  "newPassword": "Test5678!"
}

Response

Status Code:204

Content-Type: application/json

none

Response List

Status CodeDescription
204No Content. Indicates success. No response body is returned.

removeKey: Remove a KeyCredential for an application

POST https://graph.windows.net/myorganization/applications/{application_oid}/removeKey?api-version
POST https://graph.windows.net/myorganization/applications/{application_oid}/removeKey?api-version=1.6

Response

Status Code:204

Content-Type: none

none

Response List

Status CodeDescription
204No Content. Indicates success. No response body is returned.
POST https://graph.windows.net/myorganization/applicationsByAppId/{application_id}/removeKey?api-version
POST https://graph.windows.net/myorganization/applicationsByAppId/1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1/removeKey?api-version=1.6

Response

Status Code:204

Content-Type: none

none

Response List

Status CodeDescription
204No Content. Indicates success. No response body is returned.

restore: Restore a deleted application

POST https://graph.windows.net/myorganization/deletedApplications/{application_id}/restore?api-version

Parameters

ParameterTypeValueNotes
URL
application_idstring

1e22de0f-0ed1-4c01-b725-a822632467e3

The object ID (GUID) of the application to restore.
Query
api-versionstring

1.6

The version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body

Content-Type: application/json

{
  "identifierUris": [
    "https://restoredApp/"
  ]
}
POST https://graph.windows.net/myorganization/deletedApplications/1e22de0f-0ed1-4c01-b725-a822632467e3/restore?api-version=1.6

Response

Status Code:200

Content-Type: application/json

{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element",
  "odata.type": "Microsoft.DirectoryServices.Application",
  "objectType": "Application",
  "objectId": "1e22de0f-0ed1-4c01-b725-a822632467e3",
  "deletionTimestamp": null,
  "appId": "f4ecf40c-e94f-4d79-af83-f920f81bcb66",
  "appRoles": [],
  "availableToOtherTenants": false,
  "displayName": "Sample App 1",
  "errorUrl": null,
  "groupMembershipClaims": null,
  "homepage": "https://localhost",
  "identifierUris": [
    "https://restoredApp/"
  ],
  "keyCredentials": [],
  "knownClientApplications": [],
  "logoutUrl": null,
  "oauth2AllowImplicitFlow": false,
  "oauth2AllowUrlPathMatching": false,
  "oauth2Permissions": [],
  "oauth2RequirePostResponse": false,
  "passwordCredentials": [],
  "publicClient": null,
  "replyUrls": [
    "https://localhost"
  ],
  "requiredResourceAccess": [
    {
      "resourceAppId": "00000002-0000-0000-c000-000000000000",
      "resourceAccess": [
        {
          "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
          "type": "Scope"
        }
      ]
    }
  ],
  "samlMetadataUrl": null
}

Response List

Status CodeDescription
200OK. Indicates success. Returns the restored Application object. The identifierUris property in the restored application is set or restored according to the identifierUris collection specified in the request.