---
title: numbers.credential_limit_reached
description: This number already holds the maximum number of active SIP credentials.
summary: >-
  Returned when creating a SIP credential would exceed the per-number cap on
  active credentials. Revoke one to free a slot.
date: 2026-08-05T00:00:00.000Z
type: error
---


## Summary

`numbers.credential_limit_reached` means the number already holds as many **active** SIP credentials as it is allowed.

## Cause

Several credentials per number is the intended design — one per device, each with its own password and lifecycle. Unbounded is a different matter: every credential is a potential live registration on an internet-facing registrar, so there is a cap.

## Resolution

Revoke a credential you no longer need. Revoked credentials do not count toward the cap, so this frees a slot immediately:

```bash
curl -X DELETE "https://api.sautikit.com/v1/numbers/{id}/sip-credentials/{cred_id}" \
  -H "Authorization: Bearer $SAUTIKIT_API_KEY"
```

To avoid hitting the limit unexpectedly, read the allowance before creating. The list response reports both figures:

```bash
curl "https://api.sautikit.com/v1/numbers/{id}/sip-credentials" \
  -H "Authorization: Bearer $SAUTIKIT_API_KEY"
```

```json
{
  "credentials": [ … ],
  "active_count": 10,
  "limit": 10
}
```

If a mislaid password is what prompted a new credential, you probably do not need one: `POST …/sip-credentials/{cred_id}/reveal` returns an existing credential's password without disturbing the device using it.

## Example response

```json
{
  "error": {
    "code": "numbers.credential_limit_reached",
    "message": "this number already has the maximum number of active SIP credentials — revoke one to free a slot",
    "request_id": "req_01900000abc"
  }
}
```

## Next steps

- [Numbers concepts — SIP credentials](/developers/concepts/numbers)
