> For the complete documentation index, see [llms.txt](https://documentation.themembers.dev.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.themembers.dev.br/api-reference/reference/subscriptions.md).

# Subscriptions

## Obtém todas as assinaturas da plataforma

> Este endpoint retorna todos os cursos cadastrados na plataforma, independentemente do status. Caso não haja nenhum curso cadastrado, será retornada uma lista vazia.

```json
{"openapi":"3.1.0","info":{"title":"TheMembers (Beta).","version":"1.0"},"tags":[{"name":"Subscriptions"}],"servers":[{"url":"https://api.themembers.com.br/api/v1","description":"Production","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"Bearer"}},"schemas":{"Public.Subscription":{"type":"object","required":["active","status","product_id","payment_last_date","accession_date","expiration_date","product","student","created_at","updated_at"],"properties":{"active":{"type":"integer","description":"Indica se o aluno esta com acesso ativo","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/Public.SubscriptionStatus"}],"description":"Status da assinatura (active, inactive, refunded, chargeback e cancel)","readOnly":true},"product_id":{"type":"string","description":"ID do produto"},"payment_last_date":{"type":"string","description":"Data do último pagamento YYYY-MM-DD","readOnly":true},"accession_date":{"type":"string","description":"Data de adesão YYYY-MM-DD"},"expiration_date":{"type":"string","description":"Data de expiração YYYY-MM-DD"},"cancel_date":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Data de cancelamento YYYY-MM-DD","readOnly":true},"product":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","description":"Título"},"description":{"type":"string","description":"Descrição"},"created_at":{"type":"string","description":"Data de criação"},"updated_at":{"type":"string","description":"Data da última atualização"}},"required":["id","title","description","created_at","updated_at"],"description":"Produto da assinatura","readOnly":true},"student":{"type":"object","properties":{"id":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"full_name":{"type":"string"},"email":{"type":"string"}},"required":["id","first_name","last_name","full_name","email"],"description":"Aluno","readOnly":true},"created_at":{"type":"string","description":"Data de criação","readOnly":true},"updated_at":{"type":"string","description":"Data da última atualização","readOnly":true}}},"Public.SubscriptionStatus":{"type":"string","enum":["active","inactive","refunded","cancel","chargeback"]},"Public.Link":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"Public.Meta":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"Exceptions.Unauthorized":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","default":"Personal access token not found."},"type":{"type":"string","default":"PersonalAccessTokenException"}},"description":""},"Exceptions.Metadata":{"type":"object"},"Exceptions.RateLimitException":{"type":"object","required":["message","type","retry_after"],"properties":{"message":{"type":"string","default":"Rate limit exceeded for API key [%]"},"type":{"type":"string","default":"RateLimitException"},"retry_after":{"type":"integer"}},"description":""},"Exceptions.InternalServerError":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","default":"An unexpected error occurred. Please try again later."},"type":{"type":"string","default":"InternalServerErrorException"}},"description":""}}},"paths":{"/subscriptions":{"get":{"operationId":"Subscriptions_getSubscriptions","summary":"Obtém todas as assinaturas da plataforma","description":"Este endpoint retorna todos os cursos cadastrados na plataforma, independentemente do status. Caso não haja nenhum curso cadastrado, será retornada uma lista vazia.","parameters":[],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data","links","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Public.Subscription"}},"links":{"$ref":"#/components/schemas/Public.Link"},"meta":{"$ref":"#/components/schemas/Public.Meta"}},"description":""}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.Unauthorized"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}},"429":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.RateLimitException"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.InternalServerError"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}}},"tags":["Subscriptions"]}}}}
```

## Obtém uma assinatura por ID

> Este endpoint retorna um assintura por ID cadastrada na plataforma, independentemente do status.\
> \
> Caso a assinatura não seja encontrado, uma exception \*\*SubscriptionNotFoundException\*\* será lançada.

```json
{"openapi":"3.1.0","info":{"title":"TheMembers (Beta).","version":"1.0"},"tags":[{"name":"Subscriptions"}],"servers":[{"url":"https://api.themembers.com.br/api/v1","description":"Production","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"Bearer"}},"schemas":{"Public.Subscription":{"type":"object","required":["active","status","product_id","payment_last_date","accession_date","expiration_date","product","student","created_at","updated_at"],"properties":{"active":{"type":"integer","description":"Indica se o aluno esta com acesso ativo","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/Public.SubscriptionStatus"}],"description":"Status da assinatura (active, inactive, refunded, chargeback e cancel)","readOnly":true},"product_id":{"type":"string","description":"ID do produto"},"payment_last_date":{"type":"string","description":"Data do último pagamento YYYY-MM-DD","readOnly":true},"accession_date":{"type":"string","description":"Data de adesão YYYY-MM-DD"},"expiration_date":{"type":"string","description":"Data de expiração YYYY-MM-DD"},"cancel_date":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Data de cancelamento YYYY-MM-DD","readOnly":true},"product":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","description":"Título"},"description":{"type":"string","description":"Descrição"},"created_at":{"type":"string","description":"Data de criação"},"updated_at":{"type":"string","description":"Data da última atualização"}},"required":["id","title","description","created_at","updated_at"],"description":"Produto da assinatura","readOnly":true},"student":{"type":"object","properties":{"id":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"full_name":{"type":"string"},"email":{"type":"string"}},"required":["id","first_name","last_name","full_name","email"],"description":"Aluno","readOnly":true},"created_at":{"type":"string","description":"Data de criação","readOnly":true},"updated_at":{"type":"string","description":"Data da última atualização","readOnly":true}}},"Public.SubscriptionStatus":{"type":"string","enum":["active","inactive","refunded","cancel","chargeback"]},"Exceptions.Unauthorized":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","default":"Personal access token not found."},"type":{"type":"string","default":"PersonalAccessTokenException"}},"description":""},"Exceptions.Metadata":{"type":"object"},"Exceptions.SubscriptionNotFoundException":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","default":"Subscription [%] not found."},"type":{"type":"string","default":"SubscriptiontNotFoundException"}},"description":""},"Exceptions.RateLimitException":{"type":"object","required":["message","type","retry_after"],"properties":{"message":{"type":"string","default":"Rate limit exceeded for API key [%]"},"type":{"type":"string","default":"RateLimitException"},"retry_after":{"type":"integer"}},"description":""},"Exceptions.InternalServerError":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","default":"An unexpected error occurred. Please try again later."},"type":{"type":"string","default":"InternalServerErrorException"}},"description":""}}},"paths":{"/subscriptions/{subscription_id}":{"get":{"operationId":"Subscriptions_getCourseById","summary":"Obtém uma assinatura por ID","description":"Este endpoint retorna um assintura por ID cadastrada na plataforma, independentemente do status.\n\nCaso a assinatura não seja encontrado, uma exception **SubscriptionNotFoundException** será lançada.","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Public.Subscription"}},"description":""}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.Unauthorized"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.SubscriptionNotFoundException"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}},"429":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.RateLimitException"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","required":["error","trace_id","metadata"],"properties":{"error":{"$ref":"#/components/schemas/Exceptions.InternalServerError"},"trace_id":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Exceptions.Metadata"}}}}}}},"tags":["Subscriptions"]}}}}
```
