curl --request GET \
--url https://api.kraken.com/v0/insto/custody/tasks/activitiesimport requests
url = "https://api.kraken.com/v0/insto/custody/tasks/activities"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.kraken.com/v0/insto/custody/tasks/activities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/v0/insto/custody/tasks/activities"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"result": [
{
"id": "AABCDEFG23456A",
"created_at": "2026-01-15T12:34:56Z",
"type": "review_approved",
"state": "pending",
"task": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "normalized_task",
"state": "pending",
"created_at": "2026-01-15T12:34:56Z",
"updated_at": "2026-01-15T12:35:56Z",
"expires_at": "2026-01-16T12:34:56Z"
},
"comment": "Transaction approved by finance team.",
"user": {
"full_name": "Alex Doe",
"role": "vault_admin",
"ip_address": "203.0.113.10",
"iiban": "ABCD EFGH IJKL MNOP"
},
"initiator": {
"full_name": "Alex Doe",
"role": "vault_admin",
"ip_address": "203.0.113.10",
"iiban": "ABCD EFGH IJKL MNOP"
},
"quorum_type": "vault",
"can_review": true,
"reviewer_statistics": {
"approved": 2,
"denied": 0,
"undecided": 1,
"current_count": 3,
"required_quorum": 2
},
"current_user_decision": "undecided",
"vault_info": {
"id": "VABCDEF234567A",
"name": "My Vault",
"status": "active",
"subquorum_config": {
"groups": [
{
"id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
"required": 2,
"members": [
{
"iiban": "ABCD EFGH IJKL MNOP",
"full_name": "Alex Doe",
"email": "alex.doe@example.com",
"role": "vault_admin"
}
]
}
]
}
},
"reviewer_statistics_label": "standard",
"subquorum_snapshot": {
"groups": [
{
"id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
"required": 2,
"members": [
{
"iiban": "ABCD EFGH IJKL MNOP",
"full_name": "Alex Doe",
"email": "alex.doe@example.com",
"role": "vault_admin"
}
]
}
]
},
"subquorum_approvals": [
{
"group_id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
"approved_iibans": [
"ABCD EFGH IJKL MNOP"
]
}
],
"instructions": [
{
"type": "update_subquorum",
"version": 123,
"vault_id": "<string>",
"groups": [
{
"id": "<string>",
"required": 123,
"members": [
{
"iiban": "<string>",
"full_name": "<string>",
"email": "<string>",
"role": "<string>"
}
]
}
],
"execution": {
"state": "<string>",
"started_at": "2026-01-15T12:34:56Z",
"completed_at": "2026-01-15T12:35:56Z",
"error": "<string>"
}
}
]
}
],
"total": 42
}{
"type": "tag:kraken.com,2025:BadRequest",
"status": 400,
"title": "Bad Request",
"data": {
"message": "Unknown filter value for state: 'archived'."
},
"detail": "Request failed validation.",
"instance": "https://debug.kraken.com/req/01HXYZABCDEF"
}{
"type": "tag:kraken.com,2025:PermissionDenied",
"status": 403,
"title": "Forbidden",
"data": {
"message": "Caller lacks access to the requested task, vault, or organization scope."
},
"detail": "The caller is not authorized to perform this action.",
"instance": "https://debug.kraken.com/req/01HXYZABCDEF"
}{
"type": "tag:kraken.com,2025:gateway/ReadUpstream",
"status": 500,
"title": "Internal Server Error",
"data": "<unknown>",
"detail": "Failed to read response from upstream custody service.",
"instance": "https://debug.kraken.com/req/01HXYZABCDEF"
}List task activities
Returns a paginated list of task activities visible to the authenticated user, filtered by the supplied query parameters. Multi-valued filters are OR-ed within a field and AND-ed across fields. Each row embeds the curated parent task with the flat atomic instructions[] model.
Rate limit: 200 requests per 30 seconds per IP.
curl --request GET \
--url https://api.kraken.com/v0/insto/custody/tasks/activitiesimport requests
url = "https://api.kraken.com/v0/insto/custody/tasks/activities"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.kraken.com/v0/insto/custody/tasks/activities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/v0/insto/custody/tasks/activities"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"result": [
{
"id": "AABCDEFG23456A",
"created_at": "2026-01-15T12:34:56Z",
"type": "review_approved",
"state": "pending",
"task": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "normalized_task",
"state": "pending",
"created_at": "2026-01-15T12:34:56Z",
"updated_at": "2026-01-15T12:35:56Z",
"expires_at": "2026-01-16T12:34:56Z"
},
"comment": "Transaction approved by finance team.",
"user": {
"full_name": "Alex Doe",
"role": "vault_admin",
"ip_address": "203.0.113.10",
"iiban": "ABCD EFGH IJKL MNOP"
},
"initiator": {
"full_name": "Alex Doe",
"role": "vault_admin",
"ip_address": "203.0.113.10",
"iiban": "ABCD EFGH IJKL MNOP"
},
"quorum_type": "vault",
"can_review": true,
"reviewer_statistics": {
"approved": 2,
"denied": 0,
"undecided": 1,
"current_count": 3,
"required_quorum": 2
},
"current_user_decision": "undecided",
"vault_info": {
"id": "VABCDEF234567A",
"name": "My Vault",
"status": "active",
"subquorum_config": {
"groups": [
{
"id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
"required": 2,
"members": [
{
"iiban": "ABCD EFGH IJKL MNOP",
"full_name": "Alex Doe",
"email": "alex.doe@example.com",
"role": "vault_admin"
}
]
}
]
}
},
"reviewer_statistics_label": "standard",
"subquorum_snapshot": {
"groups": [
{
"id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
"required": 2,
"members": [
{
"iiban": "ABCD EFGH IJKL MNOP",
"full_name": "Alex Doe",
"email": "alex.doe@example.com",
"role": "vault_admin"
}
]
}
]
},
"subquorum_approvals": [
{
"group_id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
"approved_iibans": [
"ABCD EFGH IJKL MNOP"
]
}
],
"instructions": [
{
"type": "update_subquorum",
"version": 123,
"vault_id": "<string>",
"groups": [
{
"id": "<string>",
"required": 123,
"members": [
{
"iiban": "<string>",
"full_name": "<string>",
"email": "<string>",
"role": "<string>"
}
]
}
],
"execution": {
"state": "<string>",
"started_at": "2026-01-15T12:34:56Z",
"completed_at": "2026-01-15T12:35:56Z",
"error": "<string>"
}
}
]
}
],
"total": 42
}{
"type": "tag:kraken.com,2025:BadRequest",
"status": 400,
"title": "Bad Request",
"data": {
"message": "Unknown filter value for state: 'archived'."
},
"detail": "Request failed validation.",
"instance": "https://debug.kraken.com/req/01HXYZABCDEF"
}{
"type": "tag:kraken.com,2025:PermissionDenied",
"status": 403,
"title": "Forbidden",
"data": {
"message": "Caller lacks access to the requested task, vault, or organization scope."
},
"detail": "The caller is not authorized to perform this action.",
"instance": "https://debug.kraken.com/req/01HXYZABCDEF"
}{
"type": "tag:kraken.com,2025:gateway/ReadUpstream",
"status": 500,
"title": "Internal Server Error",
"data": "<unknown>",
"detail": "Failed to read response from upstream custody service.",
"instance": "https://debug.kraken.com/req/01HXYZABCDEF"
}Query Parameters
Restrict the result set to activities whose tasks are owned by the specified organization, identified by its 16-char IIBAN. Defaults to the caller's organization when omitted.
"ABCD EFGH IJKL MNOP"
Maximum number of activities to return in the page. Defaults to 100 when omitted.
100
Number of activities to skip before the page begins, used together with limit for offset-based pagination. Defaults to 0 when omitted.
0
Restrict the result set to activities whose parent task matches the supplied task id. The value is the task id, an approval UUID (UUID v4). T-prefixed identifiers are not accepted. Matching is case-insensitive; responses always emit lowercase.
"550e8400-e29b-41d4-a716-446655440000"
Restrict by the parent task's vault scope. One of domain or vault. Case-insensitive.
"vault"
Restrict the result set to activities whose tasks are scoped to the supplied vault IDs. Each value is a V-prefixed 14-char base32 identifier with a final check character. Multiple values are OR-ed.
Restrict the result set to activities whose parent task contains one of the supplied action types (for example request_withdrawal, create_vault, normalized_task). Multiple values are OR-ed.
Restrict the result set to activities with one of the supplied action types (for example created, review_approved, review_denied, executed). Multiple values are OR-ed.
Include only activities created at or after this RFC 3339 UTC timestamp (inclusive), e.g. 2026-01-15T12:34:56Z; the Z (UTC) offset is required.
"2026-01-15T12:34:56Z"
Include only activities created at or before this RFC 3339 UTC timestamp (inclusive), e.g. 2026-01-15T12:34:56Z; the Z (UTC) offset is required.
"2026-01-15T12:34:56Z"
Restrict the result set to activities performed by the supplied actor IIBAN (16-char alphanumeric in 4x4 groups).
"ABCD EFGH IJKL MNOP"
Response
Page of task activities matching the requested filters.
Was this page helpful?