Skip to main content
GET
Retrieve an upload

Authorizations

Authorization
string
header
required

OptimalDial API key, prefixed od_live_, sent as Authorization: Bearer .... Mint keys in the in-app developer panel; they are scoped to a single organization.

Path Parameters

upload_id
string<uuid>
required

Response

The upload.

id
string<uuid>
required
user_id
string<uuid>
required
original_filename
string
required
status
enum<string>
required

cancelled is a legacy value retained so historical uploads still parse — no new upload can enter it.

Available options:
pending_mapping,
validating,
validation_failed,
awaiting_confirmation,
ready_for_processing,
processing,
completed,
failed,
cancelled
created_at
string<date-time>
required
updated_at
string<date-time>
required
organization_id
string<uuid> | null
file_size_bytes
integer | null
valid_row_count
integer | null
invalid_row_count
integer | null
credits_required
integer | null
credits_charged
integer | null
credits_refunded
integer | null

Credits returned to the organization when OptimalDial refunds an upload.

source
enum<string> | null

web for in-app uploads, api for direct /api/v1/uploads calls, api_pool for uploads synthesized from the Contacts API.

Available options:
web,
api,
api_pool,
null
api_key_id
string<uuid> | null
skip_mobile_lookup
boolean | null
validation_tier
enum<string> | null

Validation tier used for this upload (standard or max).

Available options:
standard,
max,
null
identity_enabled
boolean | null

Whether OptimalDial Identity was requested for this upload, i.e. a name column was mapped at creation.

result_summary
object | null

Distribution of the results, populated once status == "completed". Lets you see the shape of a list without downloading it.

export_count
integer

How many times these results have been downloaded, counting both the web app and this API.

last_exported_at
string<date-time> | null
processed_available
boolean

true once the processed file can be downloaded. Storage keys are deliberately not exposed — use the download endpoints.

processed_filtered_available
boolean

true once the deprecated download/processed-filtered endpoint will succeed, whether from a stored file or generated on demand.

error_message
string | null
exceeded_daily_limit
boolean | null