Skip to main content
DELETE
Remove um adicional

Authorizations

Authorization
string
header
required

Token OPACO de sessão de quem administra, emitido por /v1/auth/admin/sign-in e verificado contra a nossa tabela — o mesmo desenho do studentSession, para a outra identidade.

É o esquema de quem ADMINISTRA — o dashboard. O aluno do classroom usa o studentSession; uma rota consumida pelos dois declara os dois esquemas, e o middleware aceita qualquer um deles. As duas credenciais são opacas e chegam pelo mesmo cabeçalho: quem as separa é a tabela em que cada uma existe.

O dashboard o guarda em cookie httpOnly, que o BFF troca pelo Authorization a cada chamada.

Path Parameters

clubId
string<uuid>
required

Id público da organização — o mesmo que GET /v1/me devolve em organization_id.

Na URL o recurso se chama club; no contrato e no domínio, organization. A divergência é deliberada: clubs é a palavra do produto, e a URL é o que as pessoas leem.

É o identificador do provedor de autenticação, e é assim de propósito: o cliente precisa nomear a organização ao pedir o token, e o token é o que prova o escopo. Um id só nosso obrigaria a traduzir um no outro antes de ter um token — e a tradução exigiria uma chamada escopada, que é justamente a que ainda não dá para fazer.

O uuid interno da organização não aparece no contrato: ele é o que as chaves estrangeiras do domínio referenciam, e continua sendo nosso.

addonKey
string
required

A chave do adicional, como vem em available_addons.

Example:

"addon_lives"

Response

O plano e o uso, já sem o adicional

managed
boolean
required

Se o club está sob limites. Falso é o club que ainda não tem plano.

portal_available
boolean
required

Se POST /v1/clubs/{clubId}/billing/portal tem como responder: o club tem plano e o ambiente tem a Stripe configurada. É o que decide se a tela oferece "Gerenciar assinatura" — um botão que só responderia 501 não é botão.

period_start
string<date-time>
required
period_end
string<date-time>
required
plan
object | null
required
addons
object[]
required
available_addons
object[]
required

Os adicionais do catálogo, para a tela oferecer. Vazio onde não há o que oferecer: club sem plano, ou ambiente sem a Stripe.

resources
object[]
required