Download PDF
Download page REST API.
REST API
Getting engineering data via Awesome Graphs Cloud REST API
The Awesome Graphs Cloud REST API lets you export raw pull request data to help you:
Seamlessly integrate with analytics platforms
Build custom dashboards and visualizations
Combine data from Bitbucket with other sources for deeper insights
Overview
The REST API provides access to resources via URI paths, uses JSON as its communication format, and the standard HTTP methods like GET, PUT, POST, and DELETE.
The URIs for resources have the following structure:
https://awesome-graphs.stiltsoft.net/rest/latest/{resource-name}
For example:
https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10
(
?
)
introduces the query string parameters. The parameters are separated with an ampersand (
&
)
separating them. The order of the parameters does not matter.
Authentication
To access the Awesome Graphs for Bitbucket Cloud REST API, you need to use an API Access Token that is generated inside your Bitbucket workspace. These tokens provide secure access to our API and are managed independently of Bitbucket’s default token systems.
In your Bitbucket workspace settings, locate the Awesome Graphs section and navigate to the Access Tokens page. From there, a workspace admin can generate tokens that authorize access to the Awesome Graphs REST API. Each token operates within the context of the workspace in which it was created. It grants access exclusively to the data available in that specific workspace.
After creating a token, you can authenticate your request by sending the token in the Authorization
header of your request. For example, in the following request, replace {access_token}
with a reference to your token:
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
Please note that each token is valid for 1 year from the date of creation for security reasons. After that, the token becomes invalid, and any API requests using it will result in a 401 Unauthorized error. Please make sure to renew your tokens before they expire.
Pull Requests APIs
The Pull Requests REST API is currently limited to retrieving data from the past 30 days. This restriction is temporary and will be removed in the upcoming releases.
Below is the list of resources to retrieve pull request data.
Workspace level
Returns aggregated data on pull requests across all repositories in a given Bitbucket Cloud workspace.
Get pull requests
GET /rest/latest/workspace/{workspaceSlug}/pull-requests
Returns a list of pull requests across all repositories within the specified workspace.
Query Parameters
Parameter | Value | Description |
---|---|---|
page | integer | Indicates the page number of results to return. Must be 1 or higher. Defaults to 1. |
pagelen | integer | Specifies how many results to return per page. Can be between 1 and 500. Defaults to 500. |
state | string | If indicated, only pull requests in the specified state will be returned. Can be all, open, merged, declined, or superseded. Defaults to all. |
since_date | string | Date in ISO-8601 format to retrieve pull requests since. Example: 2025-05-30T00:00:00Z. If neither since_date nor until_date is provided, returns pull requests from the last 30 days. |
until_date | string | Date in ISO-8601 format to retrieve pull requests until. Example: 2025-05-30T00:00:00Z. |
date_type | string | Defines which date type is used for since_date / until_date filtering. Can be either created or updated. Defaults to created. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests?state=merged&pagelen=10',
$headers
);
var_dump($response);
Page of pull requests from all repositories in a workspace.
{
"values": [
{
"id": 108,
"title": "Release v2.3",
"state": "MERGED",
"closed": true,
"author": {
"display_name": "Jane Smith",
"uuid": "{75aaf68d-117a-4d99-8a46-0273fe4b1032}"
},
"destination": {
"branch": {
"name": "main"
},
"repository": {
"slug": "awesome-repo"
}
},
"created_date": "2024-10-08T08:33:11.595774Z",
"closed_date": "2024-10-10T11:52:07.637619Z",
"updated_date": "2024-10-10T11:52:07.637619Z",
"comment_count": 6,
"task_count": 6
}
],
"page": 2,
"pagelen": 10,
"previous": "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/my-workspace/pull-requests?page=1&pagelen=10",
"next": "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/my-workspace/pull-requests?page=3&pagelen=10"
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.
Statistics
GET /rest/latest/workspace/{workspaceSlug}/pull-requests/statistics
Returns the number of pull requests in all projects and repositories, grouped by state.
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be all, open, merged, declined, or superseded. Defaults to all. |
since_date | string | Date in ISO-8601 format to retrieve pull requests since. Example: 2025-05-30T00:00:00Z. If neither since_date nor until_date is provided, returns pull requests from the last 30 days. |
until_date | string | Date in ISO-8601 format to retrieve pull requests until. Example: 2025-05-30T00:00:00Z. |
date_type | string | Defines which date type is used for since_date / until_date filtering. Can be either created or updated. Defaults to created. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests/statistics' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests/statistics"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests/statistics', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests/statistics"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/pull-requests/statistics',
$headers
);
var_dump($response);
Number of pull requests in a workspace.
{
"pull_requests": 367,
"state": {
"declined": 105,
"merged": 57,
"open": 104,
"superseded": 101
}
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.
Repository level
Returns a list of pull requests from a specific repository in a given Bitbucket Cloud workspace.
Get pull requests
GET /rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests
Returns a list of pull requests from the specified repository.
Query Parameters
Parameter | Value | Description |
---|---|---|
page | integer | Indicates the page number of results to return. Must be 1 or higher. Defaults to 1. |
pagelen | integer | Specifies how many results to return per page. Can be between 1 and 500. Defaults to 500. |
state | string | If indicated, only pull requests in the specified state will be returned. Can be all, open, merged, declined, or superseded. Defaults to all. |
since_date | string | Date in ISO-8601 format to retrieve pull requests since. Example: 2025-05-30T00:00:00Z. If neither since_date nor until_date is provided, returns pull requests from the last 30 days. |
until_date | string | Date in ISO-8601 format to retrieve pull requests until. Example: 2025-05-30T00:00:00Z. |
date_type | string | Defines which date type is used for since_date / until_date filtering. Can be either created or updated. Defaults to created. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests?state=merged&pagelen=10' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests?state=merged&pagelen=10"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests?state=merged&pagelen=10', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests?state=merged&pagelen=10"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests?state=merged&pagelen=10',
$headers
);
var_dump($response);
Page of pull requests from a specified repository.
{
"values": [
{
"id": 108,
"title": "Release v2.3",
"state": "MERGED",
"closed": true,
"author": {
"display_name": "Jane Smith",
"uuid": "{75aaf68d-117a-4d99-8a46-0273fe4b1032}"
},
"destination": {
"branch": {
"name": "main"
},
"repository": {
"slug": "awesome-repo"
}
},
"created_date": "2024-10-08T08:33:11.595774Z",
"closed_date": "2024-10-10T11:52:07.637619Z",
"updated_date": "2024-10-10T11:52:07.637619Z",
"comment_count": 6,
"task_count": 6
}
],
"page": 2,
"pagelen": 10,
"previous": "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/my-workspace/repos/awesome-repo/pull-requests?page=1&pagelen=10",
"next": "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/my-workspace/repos/awesome-repo/pull-requests?page=3&pagelen=10"
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.
Statistics
GET /rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests/statistics
Returns the number of pull requests in the specified repository, grouped by state.
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be all, open, merged, declined, or superseded. Defaults to all. |
since_date | string | Date in ISO-8601 format to retrieve pull requests since. Example: 2025-05-30T00:00:00Z. If neither since_date nor until_date is provided, returns pull requests from the last 30 days. |
until_date | string | Date in ISO-8601 format to retrieve pull requests until. Example: 2025-05-30T00:00:00Z. |
date_type | string | Defines which date type is used for since_date / until_date filtering. Can be either created or updated. Defaults to created. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests/statistics' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests/statistics"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests/statistics', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests/statistics"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/repos/{repositorySlug}/pull-requests/statistics',
$headers
);
var_dump($response);
Number of pull requests in a repository.
{
"pull_requests": 367,
"state": {
"declined": 105,
"merged": 57,
"open": 104,
"superseded": 101
}
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.
User level
Returns pull request data and statistics associated with a specific user in a Bitbucket Cloud workspace.
To use user-level pull request endpoints, you need the user ID (user_uuid)
of the user. This can be retrieved using the /users endpoint.
Get pull requests
GET /rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests
Returns a list of pull requests authored by the specified user across all repositories in the workspace.
Query Parameters
Parameter | Value | Description |
---|---|---|
page | integer | Indicates the page number of results to return. Must be 1 or higher. Defaults to 1. |
pagelen | integer | Specifies how many results to return per page. Can be between 1 and 500. Defaults to 500. |
state | string | If indicated, only pull requests in the specified state will be returned. Can be all, open, merged, declined, or superseded. Defaults to all. |
since_date | string | Date in ISO-8601 format to retrieve pull requests since. Example: 2025-05-30T00:00:00Z. If neither since_date nor until_date is provided, returns pull requests from the last 30 days. |
until_date | string | Date in ISO-8601 format to retrieve pull requests until. Example: 2025-05-30T00:00:00Z. |
date_type | string | Defines which date type is used for since_date / until_date filtering. Can be either created or updated. Defaults to created. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests?state=merged&pagelen=10' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests?state=merged&pagelen=10"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests?state=merged&pagelen=10', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests?state=merged&pagelen=10"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests?state=merged&pagelen=10',
$headers
);
var_dump($response);
Page of pull requests by a specified user from all repositories in a workspace.
{
"values": [
{
"id": 108,
"title": "Release v2.3",
"state": "MERGED",
"closed": true,
"author": {
"display_name": "Jane Smith",
"uuid": "{75aaf68d-117a-4d99-8a46-0273fe4b1032}"
},
"destination": {
"branch": {
"name": "main"
},
"repository": {
"slug": "awesome-repo"
}
},
"created_date": "2024-10-08T08:33:11.595774Z",
"closed_date": "2024-10-10T11:52:07.637619Z",
"updated_date": "2024-10-10T11:52:07.637619Z",
"comment_count": 6,
"task_count": 6
}
],
"page": 2,
"pagelen": 10,
"previous": "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/my-workspace/users/{user_uuid}/pull-requests?page=1&pagelen=10",
"next": "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/my-workspace/users/{user_uuid}/pull-requests?page=3&pagelen=10"
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.
Statistics
GET /rest/latest/{workspaceSlug}/users/{user_uuid}/pull-requests/statistics
Returns the number of pull requests by the specified user, grouped by state.
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be all, open, merged, declined, or superseded. Defaults to all. |
since_date | string | Date in ISO-8601 format to retrieve pull requests since. Example: 2025-05-30T00:00:00Z. If neither since_date nor until_date is provided, returns pull requests from the last 30 days. |
until_date | string | Date in ISO-8601 format to retrieve pull requests until. Example: 2025-05-30T00:00:00Z. |
date_type | string | Defines which date type is used for since_date / until_date filtering. Can be either created or updated. Defaults to created. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests/statistics' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests/statistics"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests/statistics', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests/statistics"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users/{user_uuid}/pull-requests/statistics',
$headers
);
var_dump($response);
Number of pull requests by a specified user.
{
"pull_requests": 367,
"state": {
"declined": 105,
"merged": 57,
"open": 104,
"superseded": 101
}
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.
Get list of users in a workspace with their IDs
GET /rest/latest/{workspaceSlug}/users
Returns the list of users in the specified workspace along with their user IDs (user_uuid)
.
Query Parameters
Parameter | Value | Description |
---|---|---|
filter_display_name | string | If indicated, returns the ID (user_uuid) of a particular user. |
Request Example (curl)
curl --request GET \
--url 'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users' \
--header 'Authorization: {access_token}' \
--header 'Accept: application/json'
# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
import json
url = "https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users"
headers = {
"Accept": "application/json",
"Authorization": "{access_token}"
}
response = requests.request(
"GET",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
// This code sample uses the 'node-fetch' library:
// https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users', {
method: 'GET',
headers: {
'Authorization': '{access_token}',
'Accept': 'application/json'
}
})
.then(response => {
console.log(`Response: ${response.status} ${response.statusText}`);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
try (var client = HttpClient.newHttpClient()) {
var request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users"))
.header("Accept", "application/json")
.header("Authorization", "{access_token}")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
$headers = array(
'Accept' => 'application/json',
'Authorization' => '{access_token}'
);
$response = Unirest\Request::get(
'https://awesome-graphs.stiltsoft.net/rest/latest/workspace/{workspaceSlug}/users',
$headers
);
var_dump($response);
List of all users with user IDs.
{
"values": [
{
"uuid": "{03b8f99e-5934-476e-911f-238017a19ff8}",
"display_name": "Damon Blais"
},
{
"uuid": "{1fba3c05-2e5d-4430-81fe-029abf6cc3c3}",
"display_name": "Eric Neidhardt"
},
{
"uuid": "{3f8a789e-8efd-4ee3-9a58-78162207a99e}",
"display_name": "Paul Brown"
}
],
"page": 1,
"pagelen": 500
}
Invalid Request
Access token is invalid or expired.
REST API for Awesome Graphs is available only with an active commercial or trial license. Buy a license in Workspace Settings → Awesome Graphs → Plan details.