Find a service
Returns the offers for a service across countries and pools — one row per offer, each with the serviceId you send to POST /v1/otp/activations. The path segment addresses either one offer, by the serviceId a catalogue response published (ALPHA-372-alibaba) — matched exactly, and a 404 when no such offer is sellable to you — or any service by name, as free text (viber, alibaba) matched case-insensitively against a service name or slug. A name that matches nothing is an empty data array with meta.total 0, not a 404: no result is a result. Offers with no numbers in stock are omitted either way, so a sold-out offer id 404s.
Authorization
KeyId ApiSecret Your API key id.
In: header
Your API key secret.
In: header
Path Parameters
A service name, slug, or any substring of one (viber, alibaba, openai), matched case-insensitively — or one offer’s serviceId exactly as a catalogue response published it (ALPHA-372-alibaba), which addresses that single offer and 404s when it is not sellable to you.
1 <= lengthQuery Parameters
11 <= value <= 10000501 <= value <= 200Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/otp/services/viber?page=1&pageSize=50"{
"data": [
{
"serviceId": "string",
"name": "string",
"slug": "string",
"price": {
"amount": 0,
"currency": "string"
},
"availableCount": 0,
"country": {
"countryCode": "string",
"name": "string",
"flag": "string"
}
}
],
"meta": {
"page": -9007199254740991,
"pageSize": -9007199254740991,
"total": -9007199254740991,
"totalPages": -9007199254740991,
"hasNext": true
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request is not valid. See `fields` for what to correct.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "AUTHENTICATION_REQUIRED",
"message": "This endpoint requires an API key.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "No such resource.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "CONFLICT",
"message": "The resource is not in a state that allows this operation.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Retry after the interval in `Retry-After`.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Something went wrong on our side.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "SERVICE_RESPONSE_INVALID",
"message": "The upstream service returned an unexpected response.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The service is temporarily unavailable. Try again shortly.",
"requestId": "9f1c7b2e-…"
}
}