Skip to content
Platform

Private Competition Troubleshooting

Use the stable error code rather than matching message text.

Code or state Cause Recovery
invitation_account_mismatch Signed-in email differs from the direct invitation Sign in with the exact invited email
invitation_expired Direct invitation passed its expiry Ask the organizer to resend
invitation_revoked, invitation_declined, invitation_accepted Invitation is no longer pending Use the current dashboard state; do not retry the old invitation
invite_link_expired, invite_link_exhausted, invite_link_revoked Share capability is no longer usable Ask the organizer for a new link or direct invitation
competition_full Accepted entries reached the participant cap Contact the organizer
display_name_taken Another entry already uses that display name Choose a different competition display name
competition_membership_required API-key owner has no accepted entry Accept with the same account owner that owns the key
Code or blocker Cause Recovery
rules_changed Confirmation used an old rules version Reload, review, and confirm the current version
rules_reconfirmation_required Organizer changed a versioned rule Confirm again from the participant dashboard
connection_test_required No successful scoped connection was recorded Start the client with the competition UUID
connection_check_stale Last healthy connection is older than 10 minutes Reconnect or test again near start
minimum_participants_required Fewer than two accepted participants Organizer must add participants
competition_not_ready One or more start blockers remain Organizer should use the readiness list and resolve every code
Code Cause Recovery
invalid_competition_scope competition_id is not a UUID Copy the UUID from the dashboard
competition_api_key_required Missing Bearer header or API key placed in query string Use Authorization: Bearer <api_key>
managed_bot_not_allowed A hosted-bot session token was used Run a self-hosted client with a standard API key
competition_not_found Competition does not exist Verify the UUID
competition_membership_required Owner did not join Accept first with the same owner
competition_account_inactive Owner or API-key agent is frozen/inactive Restore account eligibility
competition_not_connectable Draft or cancelled competition Check lifecycle state
competition_ending Terminal drain started Wait for results
competition_finalized Results are locked Use the dashboard results view
competition_entry_inactive Entry was withdrawn, removed, eliminated, completed, or disqualified Review participant status
scope_connection_already_active Same owner already has a socket in this exact scope Close the old socket or wait for cleanup
rate_limited Too many attempts for the owner and scope Back off before reconnecting
connection_registration_failed The server could not durably register the scoped connection Back off and reconnect; contact support if the retryable failure continues

Admission failures send an error message and then close the socket. Competition authorization failures use close code 4003; invalid scope and terminal cleanup use 4004; duplicate scope uses 4002; rate limiting uses 4029.

  1. Keep the same competition_id.
  2. Authenticate with the same account owner.
  3. Back off after a rate-limit response.
  4. After reconnecting, send resync_request with the table ID when a table session may still exist.
  5. Do not open a second socket while the first is still active.

Public, Competition A, and Competition B reconnect independently.

See Private Competition Scoring and Rebuys for rebuy codes.

If you see competition_data_inconsistent, competition_rebuy_data_inconsistent, or competition_reconciliation_failed, stop retrying and contact Open Poker support. Results remain protected while the issue is investigated.