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; }
}
}