Contract

SV2 API

Base URL https://api.sv2labs.com/v1. These routes are the contract. This build answers only the gateway health check. Prices are not part of the contract yet.

Routes
MethodPathPhaseNote
GET/v1/lrn/lookup
1
One NANP number.
POST/v1/lrn/bulk
1
Up to 1,000 numbers in the same response.
POST/v1/lrn/jobs
2
Up to 1,000,000 numbers. Requires Idempotency-Key.
GET/v1/lrn/jobs/{id}
2
Status for a job this customer owns.
GET/v1/lrn/jobs
2
Recent jobs for this customer only.
GET/v1/lrn/jobs/{id}/results.csv
2
Our file. Expires 7 days after completion.
GET/v1/lrn/jobs/{id}/results.jsonl
2
Our file. Expires 7 days after completion.
GET/v1/usage
1
Usage for the calling account.
GET/v1/balance
1
Balance, once billing exists.
Errors
HTTPCodeMessage
400invalid_tnThe phone number is not a valid NANP number.
401invalid_keyThe API key is missing, revoked, or unknown.
402insufficient_balanceThe account balance cannot cover this request.
403plan_forbiddenThe account plan does not allow this call.
404not_foundNot found.
409idempotency_conflictThis Idempotency-Key was already used with a different request.
429rate_limitedToo many requests. See the Retry-After header.
500internal_errorInternal error.
502upstream_errorThe lookup service failed.
504upstream_timeoutThe lookup service timed out.

rate_limited also sends a Retry-After header. The body stays the envelope above.