Bitcall logoBitcall API
Add your Key ID and Secret to send test requests.

Cancel an activation

POST
/v1/otp/activations/{activationId}/cancel

Releases a number before its code arrives and refunds the rental while the activation is still cancellable. Immediately after purchase, cancellation may be temporarily unavailable while the provider enforces a short minimum-hold: during this window the call returns 409 CANCELLATION_NOT_AVAILABLE_YET — wait a short while, then retry. The block lifts on its own, nothing is charged for the refused attempt, and a successful cancellation still refunds the rental. Once it is no longer cancellable — already cancelled, or a code has already arrived — the call returns 409 CONFLICT and nothing changes.

Authorization

KeyId ApiSecret
x-key-id<token>

Your API key id.

In: header

x-api-secret<token>

Your API key secret.

In: header

Path Parameters

activationId*string
Match^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/cancel" \  -H "x-key-id: YOUR_KEY_ID" \  -H "x-api-secret: YOUR_API_SECRET"
{
  "data": {
    "activationId": "ord_EXAMPLE_activation_000000000000000001",
    "status": "cancelled",
    "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-…"
  }
}