GDAP API: Get Published Templates


This article is describing our current GDAP API endpoint parameters, payloads and which call methods to use for specific tasks, and how to combine these workflows in C# implementation for Template Listing flow.

Resource Links

Swagger UI -

Base URL:


API: Lists my current templates
Method: GET


Key Value Description
providerId 918c6a1a-******-e0343eea7e0b Microsoft Partner Tenant Id



Key Value Description
Authorization Bearer {accesstoken} Your access token here

GET -*******-e0343eea7e0b

JSON Response 1 (If access is valid and the account has permissions) :

    "AvailableTemplates": [
            "AppliedRoles": [
                    "Name""Service support administrator",
                    "Description""Can read service health information and manage support tickets."
                    "Name""Insights administrator",
                    "Description""Has administrative access in the Insights app."
                    "Name""Network administrator",
                    "Description""Can manage network locations and review enterprise network design insights for Microsoft 365 Software as a Service applications."
                    "Name""Security administrator",
                    "Description""Can read security information and reports  and manage configuration in Azure AD and Office 365."
                    "Name""User administrator",
                    "Description""Can manage all aspects of users and groups  including resetting passwords for limited admins."
                    "Name""Groups administrator",
                    "Description""Can manage all aspects of groups and group settings like naming and expiration policies."

JSON Response 2 (If the access token is not valid or lacks permissions for the call):


Response type will default to - 401 (Unauthorized)

C# Method Example:

public async Task<string> GetTemplates(string baseUrl, string providerId, string bearer)
string uri = $"{baseUrl}GetTemplates?providerId={providerId}";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
request.Headers.Add("Authorization", $"Bearer {bearer}");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
return await reader.ReadToEndAsync();


Calling this method from code:

var TemplatesCurrent = await gdapTemplateOps.GetTemplates(CurrentBaseUrl, cb_AvailableProviderIds.SelectedValue.ToString(), bearerToken.access_token);

Was this article helpful?

0 out of 0 found this helpful

Add comment

Please sign in to leave a comment.