Supporting API for diagnostics and testing of the platform
Retrieves details of the client being used to make this API request - allows clients/3rd party developers to see what claims are included in their access token
No scopes required
Returns details about the authenticated users claims
| Name | Value | Description | 
|---|---|---|
| Accept | application/hal+json | 
Status 200 (OK)
| Name | Value | Description | 
|---|---|---|
| Content-Type | application/hal+json; charset=utf-8 | 
Response
{ "claims": [ { "type": "iss", "value": "pushpay" }, { "type": "aud", "value": "pushpay" }, { "type": "nbf", "value": "1404441742" }, { "type": "exp", "value": "1404445342" }, { "type": "client_id", "value": "test_client" }, { "type": "scope", "value": "read" } ], "_links": { "self": { "href": "https://api.pushpay.com/v1/identity" } } }
<?php
/*
	Example 1
	Returns details about the authenticated users claims
*/
$url = "https://api.pushpay.com/v1/diagnostics/identity";
$oAuthToken = "OAuth TOKEN GOES HERE";
$curl = curl_init($url);
$curlHeaderData = [
	"Accept: application/hal+json"
];
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $curlHeaderData);
$jsonResponse = json_decode(curl_exec($curl), true);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode >= 400) {
    $message = "$httpCode Error";
    if ($jsonResponse['message']) {
        $message = "$message: " . $jsonResponse['message'];
    }
    throw new Exception($message);
}
curl_close($curl);
import com.google.gson.Gson;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
/**
 * Example 1
 * Returns details about the authenticated users claims
 *
 * This example uses the Gson library to parse JSON
 */
public class Example {
	public static void main(String[] args) throws IOException {
		String urlString = "https://api.pushpay.com/v1/diagnostics/identity";
		HttpURLConnection httpConnection = setUpHttpConnection(new URL(urlString));
		if (httpConnection.getResponseCode() >= 400) {
			System.out.println(httpConnection.getResponseCode() +
				" Error: " + httpConnection.getResponseMessage());
		}
		InputStream inputStream = httpConnection.getInputStream();
		// Store the JSON response as a Java object
		Response response = getJsonResponse(inputStream);
		inputStream.close();
		httpConnection.disconnect();
	}
	class Response {
		// The JSON properties you require should be added here as fields
		public _links _links = new _links();
	}
	class _links {
		public Link self;
	}
	class Link {
		public URL href;
	}
	private static Response getJsonResponse(InputStream inputStream) throws IOException {
		BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputStream));
		String jsonString = "";
		while (streamReader.ready()) {
			jsonString += streamReader.readLine();
		}
		return (new Gson()).fromJson(jsonString, Response.class);
	}
	private static HttpURLConnection setUpHttpConnection(URL url) throws IOException {
		String oAuthToken="TOKEN";
		HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
		httpConnection.setRequestProperty("Accept", "application/hal+json");
		return httpConnection;
	}
}
# Example 1
# Returns details about the authenticated users claims
set oAuthToken=%1
set url="https://api.pushpay.com/v1/diagnostics/identity"
curl -i -H "Accept: application/hal+json" %url%
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace Examples
{
	public class Example1
	{
		/// <summary>
		///	Example 1
		/// </summary>
		/// <remarks>
		///	Returns details about the authenticated users claims
		/// </remarks>
		public async Task<Response> Example(string oAuthToken)
		{
			using (var client = new HttpClient()) {
				var requestUrl = "/v1/diagnostics/identity";
				client.BaseAddress = new Uri("https://api.pushpay.com/");
				client.DefaultRequestHeaders.Accept.Clear();
				client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
				client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", oAuthToken);
				var httpResponse = await client.GetAsync(requestUrl);
				if (httpResponse.IsSuccessStatusCode) {
					var content = await httpResponse.Content.ReadAsStringAsync();
					var response = JsonConvert.DeserializeObject<Response>(
						content, new JsonSerializerSettings {
							ContractResolver = new CamelCasePropertyNamesContractResolver()
					});
					return response;
				} else {
					var message = httpResponse.StatusCode + " Error";
					throw new Exception(message);
				}
			}
		}
	}
	public class Response
	{
		[JsonProperty(PropertyName = "_links")]
		public Links Links { get; set; }
		// The JSON properties you require should be added here as properties
	}
	public class Links
	{
		public Link Self { get; set; }
	}
	public class Link {
		public Uri Href { get; set; }
	}
}