API Reference
API Reference / Endpoints / Platform

Read request status

/v1/requests/:requestId

Read the latest state for a previously created async request.

GET/v1/requests/:requestId
Auth: API keyBilling: FreeBehavior: SyncScopes: analytics:read
GETSyncNo bodyanalytics:read

When to use it

Use this when a write route returned a request_id and you want a polling fallback instead of, or in addition to, webhook delivery.

Behavior on success

Returns a completed payload on the normal success path.

Integration shape

Authorization model
analytics:read
Request format
No request body
Polling pattern
No polling required on the normal success path.

Request

FieldTypeRequiredDescription
requestIdstringYesRequest identifier returned by an async generation or processing route.

Example request

GET /v1/requests/:requestId
const response = await fetch('https://prod-backup-backend.wubble.ai/v1/requests/590b41ed-bf0f-42cf-bad9-32568c09475a', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.WUBBLE_API_KEY}`,
  },
});

const payload = await response.json();
console.log(payload);

Example response

Response shapejson
{
  "success": true,
  "data": {
    "request_id": "590b41ed-bf0f-42cf-bad9-32568c09475a",
    "status": "completed",
    "service_category": "music",
    "service_operation": "instrumentals",
    "credits_used": 1,
    "credits_estimated": 1,
    "result_url": "https://cdn.wubble.ai/audio/instrumental.mp3",
    "error_message": null,
    "estimated_seconds": 75,
    "created_at": "2026-05-12T12:00:00.000Z",
    "updated_at": "2026-05-12T12:01:15.000Z",
    "completed_at": "2026-05-12T12:01:15.000Z"
  }
}

Implementation notes

Request ownership is enforced. A valid key from another workspace will still receive 404.
This route preserves legacy credit fields while the platform transitions to API call terminology.

Production guidance

Pair this route with idempotency on POST requests and either request polling or webhooks whenever the response is asynchronous.
Was this page helpful?