Docs
API reference

Refresh an upload URL

POST
/api/v1/uploads/{id}/url

Get a fresh storage URL when the ten-minute upload URL has expired. Keep the same prepared report instead of creating a duplicate.

Before you call

Use the reportId returned by preparation. The preparation must still exist and analysis must not have been admitted. This operation has no JSON body.

Required scope: analyses:write.

What happens next

PUT the original file to the new URL, then quote and submit the analysis. Refreshing does not extend the preparation beyond its 24-hour lifetime.

Recovery

A missing or expired preparation requires a new preparation. A 409 means the resource is already admitted; read report status instead of uploading again.

Follow the complete workflow · Errors and retries

Authorization

ApiKey
headerAuthorizationBearer <token>

Path Parameters

id*string

Resource ID returned by this resource's creation or list endpoint. See prerequisites for whether this is a report, interview, job, or batch ID.

Length1 <= length <= 100

Response Body

PUT the original file to the new URL, then quote and submit the analysis. Refreshing does not extend the preparation beyond its 24-hour lifetime.

application/json
  1. response
data*
# Set PROBB_URL and PROBB_API_KEY. Replace RESOURCE_ID if present.curl --fail-with-body -X POST "$PROBB_URL/api/v1/uploads/RESOURCE_ID/url" \  -H "Authorization: Bearer $PROBB_API_KEY"
{  "data": {    "reportId": "report_example",    "upload": {      "url": "https://storage.example.test/upload/synthetic-resume",      "method": "PUT",      "mimeType": "application/pdf",      "sizeBytes": 1024,      "expiresInSeconds": 600    }  }}