Skip to main content
GET
/
v0
/
insto
/
custody
/
tasks
/
{id}
Get task by id
curl --request GET \
  --url https://api.kraken.com/v0/insto/custody/tasks/{id} \
  --header 'api-key: <api-key>' \
  --header 'api-nonce: <api-key>' \
  --header 'api-otp: <api-key>' \
  --header 'api-sign: <api-key>'
{
  "id": "TABCDEF234567A",
  "type": "request_withdrawal",
  "type_label": "Withdrawal Request",
  "state": "pending",
  "created_at": "1737028496",
  "updated_at": "1737028496",
  "expires_at": "1737114896",
  "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,
  "current_user_decision": "undecided",
  "activities": [
    {
      "id": "9f8c3a1b-4d2e-4f5a-8e7c-1a2b3c4d5e6f",
      "user_iiban": "ABCD EFGH IJKL MNOP",
      "action": "review_approved",
      "state": "pending",
      "is_pending": false,
      "timestamp": "1737028496",
      "user_ip": "203.0.113.10",
      "comment": "Transaction approved by finance team.",
      "vault_id": "VABCDEF234567A",
      "user": {
        "full_name": "Alex Doe",
        "role": "vault_admin",
        "ip_address": "203.0.113.10",
        "iiban": "ABCD EFGH IJKL MNOP"
      }
    }
  ],
  "reviewer_statistics_label": "standard",
  "approval_id": "1ef8cecf-5d7b-4f83-9640-96d74db0e858",
  "reviewer_statistics": {
    "approved": 2,
    "denied": 0,
    "undecided": 1,
    "current_count": 3,
    "required_quorum": 2
  },
  "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"
            }
          ]
        }
      ]
    }
  },
  "payload": {
    "request_withdrawal": {
      "amount": "0.5",
      "address": {
        "asset": "BTC",
        "address_name": "My BTC Wallet",
        "method": "Bitcoin",
        "info": {
          "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
          "tag": "1234567",
          "beneficiary": {
            "recipient": "self",
            "type": "business",
            "name": "Acme Trading Ltd",
            "last_name": "Doe",
            "country": "US",
            "province": "CA",
            "address_1": "123 Main Street",
            "address_2": "Suite 400",
            "city": "San Francisco",
            "postal_code": "94105",
            "vasp_name": "Example VASP Inc."
          }
        },
        "description": "Primary cold storage vault."
      },
      "fee_info": {
        "amount": "0.5",
        "asset": "BTC",
        "included": true,
        "level": "default",
        "quote_id": "Q-2026-0115-ABCDEF",
        "quote_amount": "32500.00",
        "quote_asset": "USD"
      },
      "comment": "Transaction approved by finance team.",
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "create_vault": {
      "name": "My Vault",
      "policies": [
        {
          "type": "withdrawal_limit",
          "amount": "0.5",
          "required": 2,
          "enable": true,
          "available": 5
        }
      ],
      "users": [
        {
          "iiban": "ABCD EFGH IJKL MNOP",
          "role": "vault_admin",
          "full_name": "Alex Doe",
          "email": "alex.doe@example.com"
        }
      ],
      "description": "Primary cold storage vault.",
      "withdrawal_addresses": [
        {
          "asset": "BTC",
          "address_name": "My BTC Wallet",
          "method": "Bitcoin",
          "info": {
            "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
            "tag": "1234567",
            "beneficiary": {
              "recipient": "self",
              "type": "business",
              "name": "Acme Trading Ltd",
              "last_name": "Doe",
              "country": "US",
              "province": "CA",
              "address_1": "123 Main Street",
              "address_2": "Suite 400",
              "city": "San Francisco",
              "postal_code": "94105",
              "vasp_name": "Example VASP Inc."
            }
          },
          "description": "Primary cold storage vault."
        }
      ]
    },
    "update_vault": {
      "name": "My Vault",
      "description": "Primary cold storage vault.",
      "org_iiban": "ABCD EFGH IJKL MNOP"
    },
    "request_transfer_to_spot": {
      "tx_id": "01HXYZABCDEF",
      "amount": "0.5",
      "asset": "BTC",
      "iiban": "ABCD EFGH IJKL MNOP",
      "fee_info": {
        "amount": "0.5",
        "asset": "BTC",
        "included": true,
        "level": "default",
        "quote_id": "Q-2026-0115-ABCDEF",
        "quote_amount": "32500.00",
        "quote_asset": "USD"
      },
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "request_allocation": {
      "fee_info": {
        "quote_id": "Q-2026-0115-ABCDEF",
        "level": "default",
        "asset": "BTC",
        "amount": "0.5",
        "quote_amount": "32500.00",
        "quote_asset": "USD"
      },
      "provider": "Kraken Staking",
      "asset": "BTC",
      "amount": "0.5",
      "bonding_period": 7,
      "unbonding_period": 14,
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "request_deallocation": {
      "provider": "Kraken Staking",
      "asset": "BTC",
      "amount": "0.5",
      "unbonding_period": 14,
      "fee_info": {
        "quote_id": "Q-2026-0115-ABCDEF",
        "level": "default",
        "asset": "BTC",
        "amount": "0.5",
        "quote_amount": "32500.00",
        "quote_asset": "USD"
      },
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "request_custody_transfer_to_spot": {
      "tx_id": "01HXYZABCDEF",
      "amount": "0.5",
      "asset": "BTC",
      "iiban": "ABCD EFGH IJKL MNOP",
      "fee_info": {
        "quote_id": "Q-2026-0115-ABCDEF",
        "level": "default",
        "asset": "BTC",
        "amount": "0.5",
        "quote_amount": "32500.00",
        "quote_asset": "USD"
      },
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "request_pledge": {
      "amount": "0.5",
      "asset": "BTC",
      "asset_class": "currency",
      "user_id": 12345,
      "transaction_id": "01HXYZABCDEF",
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "request_release": {
      "amount": "0.5",
      "asset": "BTC",
      "asset_class": "currency",
      "user_id": 12345,
      "transaction_id": "01HXYZABCDEF",
      "quote_amount": "32500.00",
      "quote_asset": "USD"
    },
    "normalized_task": {
      "instructions": [
        {
          "subquorum_update": {
            "version": 1,
            "intent": {
              "label": "Subquorum policy update",
              "categories": [
                "policy"
              ]
            },
            "vault_id": "VABCDEF234567A",
            "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"
                    }
                  ]
                }
              ]
            },
            "execution": {
              "state": "completed",
              "started_at": 1737028496,
              "completed_at": 1737028596,
              "error": ""
            }
          },
          "update_vaults_users": {
            "version": 1,
            "intent": {
              "label": "Subquorum policy update",
              "categories": [
                "policy"
              ]
            },
            "vault_id": "VABCDEF234567A",
            "operation_type": "add",
            "user": "ABCD EFGH IJKL MNOP",
            "reason": "Routine quarterly rotation.",
            "execution": {
              "state": "completed",
              "started_at": 1737028496,
              "completed_at": 1737028596,
              "error": ""
            },
            "vault_name": "My Vault"
          },
          "update_vault_policies": {
            "version": 1,
            "intent": {
              "label": "Subquorum policy update",
              "categories": [
                "policy"
              ]
            },
            "vault_id": "VABCDEF234567A",
            "operations": [
              {
                "type": "add",
                "item": {
                  "type": "withdrawal_limit",
                  "amount": "0.5",
                  "required": 2,
                  "enable": true,
                  "available": 5
                }
              }
            ],
            "execution": {
              "state": "completed",
              "started_at": 1737028496,
              "completed_at": 1737028596,
              "error": ""
            }
          }
        }
      ]
    }
  },
  "operations": [
    {
      "update_domain_policies": {
        "type": "add",
        "item": {
          "type": "withdrawal_limit",
          "required": 2,
          "available": 5
        }
      },
      "create_users": {
        "type": "add",
        "item": {
          "email": "alex.doe@example.com",
          "role": "vault_admin",
          "full_name": {
            "first_name": "Alex",
            "last_name": "Doe",
            "middle_name": "M"
          },
          "language": "en",
          "timezone": "UTC",
          "attributes": [
            "withdrawal"
          ]
        }
      },
      "update_status_users": {
        "item": {
          "user": {
            "iiban": "ABCD EFGH IJKL MNOP",
            "role": "vault_admin",
            "full_name": "Alex Doe",
            "email": "alex.doe@example.com"
          },
          "reason": "Routine quarterly rotation."
        },
        "type": "add"
      },
      "update_withdrawal_addresses": {
        "item": {
          "asset": "BTC",
          "address_name": "My BTC Wallet",
          "method": "Bitcoin",
          "info": {
            "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
            "tag": "1234567",
            "beneficiary": {
              "recipient": "self",
              "type": "business",
              "name": "Acme Trading Ltd",
              "last_name": "Doe",
              "country": "US",
              "province": "CA",
              "address_1": "123 Main Street",
              "address_2": "Suite 400",
              "city": "San Francisco",
              "postal_code": "94105",
              "vasp_name": "Example VASP Inc."
            }
          },
          "description": "Primary cold storage vault.",
          "reason": "Routine quarterly rotation."
        },
        "type": "add"
      },
      "update_vault_users": {
        "item": {
          "user": {
            "iiban": "ABCD EFGH IJKL MNOP",
            "role": "vault_admin",
            "full_name": "Alex Doe",
            "email": "alex.doe@example.com"
          },
          "reason": "Routine quarterly rotation."
        },
        "type": "add"
      },
      "update_vault_policies": {
        "type": "add",
        "item": {
          "type": "withdrawal_limit",
          "amount": "0.5",
          "required": 2,
          "enable": true,
          "available": 5
        }
      },
      "update_permission_users": {
        "item": {
          "user": {
            "iiban": "ABCD EFGH IJKL MNOP",
            "role": "vault_admin",
            "full_name": "Alex Doe",
            "email": "alex.doe@example.com"
          },
          "role": "vault_admin",
          "attribute": "owner",
          "reason": "Routine quarterly rotation."
        },
        "type": "add"
      },
      "create_api_users": {
        "type": "add",
        "item": {
          "role": "vault_admin",
          "name": "My Vault",
          "attributes": [
            "withdrawal"
          ],
          "ip_allowlist": [
            "203.0.113.10"
          ],
          "valid_until": "2026-12-31T23:59:59Z",
          "vaults": [
            "VABCDEF234567A"
          ]
        }
      },
      "update_api_users": {
        "item": {
          "user": {
            "iiban": "ABCD EFGH IJKL MNOP",
            "role": "vault_admin",
            "full_name": "Alex Doe",
            "email": "alex.doe@example.com"
          },
          "role": "vault_admin",
          "attribute": "owner",
          "vault": {
            "id": "VABCDEF234567A",
            "iiban": "ABCD EFGH IJKL MNOP",
            "name": "My Vault"
          },
          "ip_allowlist": [
            "203.0.113.10"
          ],
          "valid_until": "2026-12-31T23:59:59Z",
          "reason": "Routine quarterly rotation."
        },
        "type": "add"
      },
      "update_vaults_users": {
        "item": {
          "user": {
            "iiban": "ABCD EFGH IJKL MNOP",
            "role": "vault_admin",
            "full_name": "Alex Doe",
            "email": "alex.doe@example.com"
          },
          "vault_id": "VABCDEF234567A",
          "reason": "Routine quarterly rotation.",
          "vault_name": "My Vault"
        },
        "type": "add"
      }
    }
  ],
  "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"
      ]
    }
  ]
}

Authorizations

api-key
string
header
required
api-sign
string
header
required
api-nonce
string
header
required
api-otp
string
header
required

Path Parameters

id
string
required

Task identifier, a T-prefixed 14-char base32 string.

Example:

"TABCDEF234567A"

Response

Full details of the requested task.

id
string
required

Task identifier, a T-prefixed 14-char base32 string.

Example:

"TABCDEF234567A"

type
string
required

Action-type discriminator for the task (e.g. request_withdrawal, create_vault, normalized_task).

Example:

"request_withdrawal"

type_label
string
required

Human-readable label for the task type, suitable for UI display.

Example:

"Withdrawal Request"

state
string
required

Lifecycle state of the task. One of pending, approved, rejected, canceled, expired, failed, executed.

Example:

"pending"

created_at
string
required

Unix timestamp (seconds) when the task was created.

Example:

"1737028496"

updated_at
string
required

Unix timestamp (seconds) when the task was last updated.

Example:

"1737028496"

expires_at
string
required

Unix timestamp (seconds) when the task expires if no decision is reached.

Example:

"1737114896"

initiator
object
required

User or API key that initiated the task.

quorum_type
string
required

Scope of the quorum required to advance the task. domain for org-wide quorum, vault for vault-scoped quorum.

Example:

"vault"

can_review
boolean
required

True if the caller may still cast a review decision on this task.

Example:

true

current_user_decision
string
required

The caller's own decision on this task. One of undecided, approved, denied.

Example:

"undecided"

activities
object[]
required

Chronological audit trail of actions taken against the task: creation, reviews, executions, and state transitions.

reviewer_statistics_label
string
required

Indicates which reviewer-tally field to consult. standard means use reviewer_statistics; multiquorum means use subquorum_approvals.

Example:

"standard"

approval_id
string

Approval UUID, when the task is part of an approval flow.

Example:

"1ef8cecf-5d7b-4f83-9640-96d74db0e858"

reviewer_statistics
object

Tally of reviewer decisions for single-quorum tasks. Omitted for multi-quorum tasks. Use subquorum_approvals when reviewer_statistics_label is multiquorum.

vault_info
object

Vault the task is scoped to. Omitted for domain-level tasks that do not target a specific vault.

payload
object

Task payload, shaped according to the task's action type. Exactly one variant field is populated.

operations
object[]

For batch action types such as policy and user updates, the list of per-item operations that make up the task. Each entry populates exactly one of the variant fields.

subquorum_snapshot
object

Subquorum policy snapshot taken when the task was created. Approvals are evaluated against this snapshot so a later policy change cannot retroactively invalidate decisions already cast.

subquorum_approvals
object[]

Per-group approval tally for multi-quorum tasks. Each entry lists a group's ID and the IIBANs of members in that group who have approved so far.