developer
Self-serve developer sandboxes (D-42, FR-PLAT-07): registration (open mode) with email verification and abuse limits, the developer workspace, and the operator / platform controls (invite or open per operator, capped per environment).
My developer sandbox workspace
GET /v1/developer/workspace
- getDeveloperWorkspace
- API key scope balances:read
- Tenant customer
404 when the customer is not a developer workspace. Records activity (the 90-day idle clock restarts).
API key scope: balances:read.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
X-Tenant-Idrequired | header | Uuid | Tenant context: the operator tenant id (staff operations) or customer tenant id (customer operations). Validated against the caller's memberships; mismatch → |
X-Request-Id | header | string | Client-supplied correlation id. Generated by the server when absent; always echoed in the response and in problem details. |
Responses
200 OK
application/jsonregistrationIdUuidrequiredcustomerIdUuidrequiredmodeDeveloperRegistrationModerequiredstatusDeveloperRegistrationStatusrequiredprovisionedAtTimestamp | nullrequiredlastActiveAtTimestamp | nullrequiredexpiresAtstring | null (date-time)requiredIdle expiry (the programme's
idleExpiryDaysafter the last activity).connectionobject | nullrequiredFields of connection
idUuidrequiredproviderstringrequiredenvironmentstringrequired
activeTestKeysintegerrequired
401 Missing, expired or invalid credentials (`unauthenticated`, `session-expired` with `reason` `idle` / `revoked` / `expired`, `invalid-api-key`, `mfa-required`).
application/problem+json403 Authenticated but not allowed: missing capability or scope, tenant not in memberships, `step-up-required`, IP not allow-listed, impersonation restriction.
application/problem+json429 Rate limit exceeded.
application/problem+jsondefault Unexpected error (`500 internal-error`, `501 not-implemented`, `502 provider-error`, `503 service-unavailable`, `504 provider-timeout`). Money operations that time out at the provider are never retried blindly; their state becomes `exception`/unknown and is reconciled.
application/problem+json
Code samples
curl -X GET "https://bank.wirebloom.com/v1/developer/workspace" \
-H "Authorization: Bearer $WIREBLOOM_API_KEY" \
-H "X-Tenant-Id: $WIREBLOOM_CUSTOMER_ID"const response = await fetch("https://bank.wirebloom.com/v1/developer/workspace", {
method: "GET",
headers: {
"Authorization": `Bearer ${process.env.WIREBLOOM_API_KEY}`,
"X-Tenant-Id": process.env.WIREBLOOM_CUSTOMER_ID!,
},
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
const result = await response.json();import os
import requests
response = requests.request(
"GET",
"https://bank.wirebloom.com/v1/developer/workspace",
headers={
"Authorization": f"Bearer {os.environ['WIREBLOOM_API_KEY']}",
"X-Tenant-Id": os.environ["WIREBLOOM_CUSTOMER_ID"],
},
timeout=30,
)
response.raise_for_status()