Module: CircleSo::Token
- Defined in:
- lib/circle_so/token.rb
Overview
Circle issues two admin token types that look identical but hit different APIs:
:v2 Business-plan token — works against /api/admin/v2
:v1 Professional-plan token — only /api/v1 (no access groups)
:invalid not a usable token
A v1 token on a v2 endpoint returns a plain HTTP 401, indistinguishable from an invalid token — so probe v2 first, then v1, to give users an actionable three-state answer.
Constant Summary collapse
- BASE_URL_V1 =
"https://app.circle.so/api/v1"
Class Method Summary collapse
Class Method Details
.detect_version(token, base_url_v2: Client::BASE_URL, base_url_v1: BASE_URL_V1) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/circle_so/token.rb', line 22 def detect_version(token, base_url_v2: Client::BASE_URL, base_url_v1: BASE_URL_V1) return :v2 if probe(base_url_v2, "Bearer #{token}") return :v1 if probe(base_url_v1, "Token #{token}") :invalid end |