Reactivate an activation
Reopens an expired or cancelled activation on the same number so it can receive a further code. Chargeable. Only available for a short window after the activation ends, on supported number pools — the canReactivate flag on an activation is a best-effort hint from its state, so reactivation can still be refused (409 REACTIVATION_UNAVAILABLE) when the provider window has closed; start a new activation in that case.
Authorization
KeyId ApiSecret Your API key id.
In: header
Your API key secret.
In: header
Path Parameters
^ord_[A-Za-z0-9_-]{20,128}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/otp/activations/string/reactivate" \ -H "x-key-id: YOUR_KEY_ID" \ -H "x-api-secret: YOUR_API_SECRET"{
"data": {
"activationId": "ord_EXAMPLE_activation_000000000000000001",
"status": "waiting",
"actions": {
"canResend": false,
"canReactivate": true
},
"serviceId": "BRAVO-US-gmx",
"service": "GMX",
"countryCode": "US_1",
"phoneNumber": "+12025550143",
"price": {
"amount": 0.508725,
"currency": "EUR"
},
"expiresAt": "2026-09-15T13:16:46.000Z",
"createdAt": "2026-09-15T12:56:46.923Z",
"updatedAt": "2026-09-15T23:19:08.044Z",
"resend": {
"price": {
"amount": 0.508725,
"currency": "EUR"
}
}
}
}{
"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-…"
}
}Ask for the code again POST
Requests another send of the code on the same number. Subject to a cooldown, and chargeable where the activation carries a resend price.
List number pools GET
Returns the number pools available to you, by their public codes. A pool is a grouping of numbers, not something you can rent directly: use its code to filter [GET /v1/otp/services](/openapi/otp/catalog/listOtpServices), and rent with the `serviceId` from a catalog offer — whose first segment is this same code.