curl --request GET \
--url https://getunblocked.com/api/v1/coding-task-usage \
--header 'Authorization: Bearer <token>'import requests
url = "https://getunblocked.com/api/v1/coding-task-usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://getunblocked.com/api/v1/coding-task-usage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://getunblocked.com/api/v1/coding-task-usage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://getunblocked.com/api/v1/coding-task-usage"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://getunblocked.com/api/v1/coding-task-usage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getunblocked.com/api/v1/coding-task-usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"taskReference": "UNB-123",
"user": {
"name": "Jane Smith",
"email": "jsmith@example.com",
"enterpriseProfile": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations"
}
},
"creditsUsed": 12.3,
"wallClockDurationSeconds": 842,
"createdAt": "2026-10-15T21:49:30Z",
"startedAt": "2026-10-15T21:50:02Z",
"completedAt": "2026-10-15T22:04:04Z",
"pullRequests": [
{
"title": "Update website navigation",
"number": 2,
"repository": "org/repo",
"url": "https://github.com/org/repo/pull/2"
}
]
}
]{
"status": 400
}{
"status": 400
}{
"status": 400
}List Coding Task Usage
Each coding task usage record represents a successfully completed task and includes the requesting user, credits used, wall-clock duration, task creation, start, and completion timestamps, and associated pull requests. When available, the record also includes the user’s SCIM enterprise profile.
Records are returned in ascending creation order. Use the opaque after cursor from
the next link to retrieve the next page.
Authentication behavior:
- Personal Access Token (PAT) keys: Team admins can list all coding task usage for their team; non-admin members receive 403 Forbidden.
- Team-wide API keys: All coding task usage for the team is returned.
curl --request GET \
--url https://getunblocked.com/api/v1/coding-task-usage \
--header 'Authorization: Bearer <token>'import requests
url = "https://getunblocked.com/api/v1/coding-task-usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://getunblocked.com/api/v1/coding-task-usage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://getunblocked.com/api/v1/coding-task-usage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://getunblocked.com/api/v1/coding-task-usage"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://getunblocked.com/api/v1/coding-task-usage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getunblocked.com/api/v1/coding-task-usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"taskReference": "UNB-123",
"user": {
"name": "Jane Smith",
"email": "jsmith@example.com",
"enterpriseProfile": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations"
}
},
"creditsUsed": 12.3,
"wallClockDurationSeconds": 842,
"createdAt": "2026-10-15T21:49:30Z",
"startedAt": "2026-10-15T21:50:02Z",
"completedAt": "2026-10-15T22:04:04Z",
"pullRequests": [
{
"title": "Update website navigation",
"number": 2,
"repository": "org/repo",
"url": "https://github.com/org/repo/pull/2"
}
]
}
]{
"status": 400
}{
"status": 400
}{
"status": 400
}Authorizations
The API key to authenticate requests. Obtainable from the web dashboard.
Query Parameters
Limit used to constrain results of list operations. When not specified a default limit of 100 is used.
A maximum limit is applied to the results, so the server may respond with fewer results than requested; clients must not use this as a signal that this is the final page of results.
1 <= x <= 200Opaque cursor for continuing after a previous page. Follow the URL marked rel="next"
in the Link response header to obtain it; do not construct or parse the cursor.
Opaque cursor to be used for paging in a forward or backward direction. Cursors are stateless and so they never expire.
1 - 10000Response
OK
User-visible coding task reference.
"UNB-123"
The user who requested a coding task.
Show child attributes
Show child attributes
Marked-up, quantized credits consumed by the coding task.
12.3
Elapsed wall-clock time from task start to successful completion, in whole seconds.
842
Time the coding task was created, formatted as an RFC 3339 date-time with a UTC offset.
"2026-10-15T21:49:30Z"
Time the coding task started, formatted as an RFC 3339 date-time with a UTC offset.
"2026-10-15T21:50:02Z"
Time the coding task completed successfully, formatted as an RFC 3339 date-time with a UTC offset.
"2026-10-15T22:04:04Z"
Pull requests associated with the coding task, in creation order.
Show child attributes
Show child attributes