ErrLookup › signalapp/Signal-Server
signalapp/Signal-Server
Server supporting the Signal Private Messenger applications on Android, Desktop, and iOS · Java · 898 source files
Analyzed at 100ab61c82 on 2026-09-09. 171 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| backup auth credential presentation verification failed | exception | error | zk-authentication, backup, zero-knowledge |
| return Response.status(429).build(); | http | warning | http, rate-limit, jaxrs, signal-server |
| cannot use app store purchases for one-time donations | http | error | bad-request, donations, payment-processor, unsupported-operation |
| ?… | http | warning | http, verification, sms, registration |
| 429 Too Many Requests or 409 Conflict (not allowed to… | http | warning | http-429, http-409, rate-limit, verification, captcha |
| transactionId did not include a paid subscription or the… | exception | error | app-store, original-transaction-id, subscription-lookup, argument-validation |
| Unexpected HTTP status code | exception | error | google-play, billing, http, api-error |
| 400 Bad Request (invalid ProfileKeyCommitment base64) | http | error | base64, jackson, deserialization, profile-key |
| Missing required device capability | http | error | registration, capabilities, validation, client-version |
| 429 Too Many Requests (rate limit exceeded) | http | warning | rate-limit, http-429, captcha, verification |
| receipt is already expired | exception | error | zk-receipt, backup-auth, expiration |
| backup auth credential presentation signature verification… | exception | error | zk-authentication, signature, backup |
| 403 Forbidden | http | error | forbidden, http-403, captcha, push-challenge, verification |
| Could not parse public key as a base64-encoded value | validation | error | |
| Sign count from request less than stored sign count | exception | error | devicecheck, replay-protection, sign-counter, anti-reuse |
| Invalid receipt credential presentation | http | error | zk-receipt, registration, bad-request, malformed-input |
| must not use authenticated connection for subscriber… | exception | error | auth, subscriptions, forbidden |
| Received bad envelope type | http | warning | protobuf, enum, bad-request, validation |
| too few parts | validation | error | captcha, input-format, validation |
| Could not parse string as a base64-encoded value | validation | error | |
| existing processor does not match | exception | error | payments, subscriptions, processor-conflict |
| login purchases are not enabled | http | warning | feature-flag, registration, bad-request, server-config |
| bj | validation | error | phone-number, benin, obsolete-format, libphonenumber |
| Could not interpret bytes as a ZK credential public key | validation | error | json, deserialization, zk-credentials, signal |
| sendErrorResponse(requestMessage… | http | error | websocket, http-500, internal-server-error |
| purchase has no line items | exception | error | google-play-billing, line-items, empty-response, purchase-token |
| Receipt credential presentation verification failed | http | error | zk-receipt, signature-verification, registration, not-authorized |
| Start timestamp not specified | validation | warning | api, validation, missing-field |
| receipt credential request failed verification | http | error | zkp, verification-failed, bad-request, donations |
| recovery password could not be verified | http | error | registration, recovery-password, forbidden, verification |
INVALID_ARGUMENT extension requires a value to be set | validation | warning | grpc, protobuf, validation, invalid-argument |
| wrong credential type for the requested operation | exception | error | backup, credential-type, authorization |
| could not parse already validated number | http | error | phone-number, internal-error, parsing, http-500 |
| Key ID %08x has been reserved or revoked and may not be… | console | error | cli, certificates, security |
| Badly-formatted credentials: | http | error | basic-auth, malformed, credentials |
| Cannot acknowledge purchase for subscription in state | exception | error | google-play-billing, subscription-state, payment-required, purchase-acknowledgement |
| .status(409) | http | error | http, encryption, device-management, conflict |
| Invalid sourceObject size | exception | error | backup, media-copy, size-limit |
| server does not recognize the requested receipt level | exception | error | zk-receipt, backup-auth, receipt-level |
| registration session is unverified | http | error | registration, session, unauthorized, verification |
| return Response.status(499).build(); | http | warning | http, phone-number, deprecated-format, validation |
| number does not match session | exception | error | phone-verification, session-mismatch, registration |
| return Response.status(503).build(); | http | error | http, io, server-error, jaxrs |
| 503 Service Unavailable | http | error | http-503, captcha, upstream, network, io |
| User-Agent string is blank | validation | warning | user-agent, http-headers, parsing, signal |
| timestamps must be day aligned | validation | error | validation, date-range, day-alignment |
| use websockets | http | error | rest, websocket, deprecation, user-agent, http-client |
| must not use authenticated connection for login purchase… | http | error | authentication, http-403, login-purchase |
| result.getMessage() | exception | error | braintree, payment-provider, customer-creation, gateway-error |
| Could not interpret bytes as a BackupAuth object | validation | error | |
| Could not interpret key bytes as a public key | validation | error | |
| failed to make http request to Cloudflare Turn | http | error | network, http-client, cloudflare, timeout |
| must cancel subscription with storekit before deleting | exception | error | app-store, storekit, subscription-cancellation, precondition |
| invalid captcha scheme | validation | error | captcha, configuration, validation |
| Provided challenge did not match stored challenge | exception | error | devicecheck, challenge, replay-protection, apple |
| unknown payment provider: | exception | error | payment-provider, one-time-purchase, argument-validation, unsupported-provider |
| invalid receipt credential request | exception | error | zk-receipts, deserialization, invalid-input |
| transaction is not a consumable one-time purchase | exception | error | app-store, one-time-purchase, transaction-type, argument-validation |
| Failed to delete backup | exception | error | http, backup, account-deletion, svr |
| Could not interpret identity key bytes as an EC public key | validation | error | json, deserialization, identity-key, signal |
| Receipt is already expired | http | error | zk-receipt, expired-credential, registration, not-authorized |
| failure request credentials from Cloudflare Turn | http | error | http, cloudflare, credentials, turn |
| Recovery password required for for storage when recovering… | http | error | account-recovery, missing-field, bad-request, account-attributes |
| Could not parse key as a base64-encoded value | validation | error | json, base64, deserialization, zk-credentials |
| 400 Bad Request | http | error | http-400, bad-request, captcha, validation |
| Endpoint requires unauthenticated access | http | error | authentication, bad-request-400, key-transparency |
| 409 Conflict (session already verified) | http | warning | http-409, conflict, already-verified, verification |
| purchase was for an unexpected product | exception | error | receipt-level, one-time-purchase, product-mismatch, argument-validation |
| receipt serial is already redeemed | exception | error | zk-receipt, replay-protection, backup-auth |
| invalid captcha action | validation | error | captcha, validation, api |
| Operation requires unauthenticated access | http | error | authentication, bad-request, anonymous |
| return Response.status(411) | http | error | http, devices, limit-exceeded, jaxrs |
| Registration service failure | http | error | network, grpc, backend-service, transient-failure |
| Could not parse identity key as a base64-encoded value | validation | error | |
| PNI identity key must not be provided if existing account… | validation | error | illegal-argument, accounts, pni, validation |
| registration service unavailable | http | error | network, timeout, async, backend-service |
| S3 object too large | exception | error | s3, aws, file-size, config |
| exceeded maximum uploadLength | http | error | http-413, payload-size, validation, signal |
| 500 Internal Server Error (registration service failure) | http | critical | http-500, grpc, registration-service, server-error |
| access key length must be 16 | http | error | http-401, base64, access-key, auth |
| IOExceptionMapper | http | warning | io, http, timeout, exception-mapper |
| return Response.status(508).build(); | http | error | http, fraud-detection, registration, rejection |
| Invalid combined unidentified sender access keys | http | error | http-401, base64, access-key, auth |
| credential does not support the requested operation | exception | error | backup, authorization, quota |
| Receipt already redeemed | http | error | zk-receipt, single-use, registration, replay, not-authorized |
| Empty body not allowed | http | error | http, request-body, validation |
| cannot create payment methods with payment type | http | error | http-400, bad-request, payments, subscriptions |
| return Response.status(422).build(); | http | warning | http, json, deserialization, jaxrs |
| subscriberId mismatch | exception | error | subscriptions, hmac, auth, mismatch |
| return Response.status(404).build(); | http | error | http, push-notifications, jaxrs, device-registration |
| Encountered a negative retry duration | http | warning | rate-limit, http-429, retry-after, duration |
| Recipient list is empty | http | error | http-400, empty-list, validation |
| Group send endorsement tokens should not be combined with… | http | error | http-400, authentication, group-send-endorsements |
| Only primary devices may register attestations | http | error | http-403, devicecheck, signal-server |
| Recovery password required for authentication when… | http | error | account-recovery, missing-field, bad-request, recovery-password |
| must not use authenticated connection for anonymous… | http | error | backup, authentication, bad-request |
| .status(410) | http | error | http, encryption, stale-devices, signal-protocol |
| invalid captcha site-key | validation | error | captcha, configuration, validation |
| receipt credential presentation verification failed | exception | error | cryptography, zkp, receipt-verification, backup |
| return Response.status(428).build(); | http | warning | http, security, captcha |