Portal auth
Logout portal session
Public. Revokes the refresh token in the request body so it cannot be used for future refreshes. Idempotent. Access JWTs remain valid until they expire.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
refresh_token*string
Opaque refresh token (tok_…) to revoke.
Response Body
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://api.members.dev/portal/v1/auth/logout" \ -H "Content-Type: application/json" \ -d '{ "refresh_token": "string" }'Empty
{
"type": "https://api.members.dev/errors/invalid_credentials",
"title": "Invalid credentials",
"status": 401,
"detail": "Invalid API Key or token.",
"code": "invalid_credentials"
}{
"type": "https://api.members.dev/errors/not_linked_to_tenant",
"title": "Not linked to tenant",
"status": 403,
"detail": "Not linked to this tenant",
"code": "not_linked_to_tenant"
}{
"type": "https://api.members.dev/errors/member_not_found",
"title": "Member not found",
"status": 404,
"detail": "No member exists with the given id in this organization.",
"code": "member_not_found"
}{
"type": "https://api.members.dev/errors/members_context_required",
"title": "Members context required",
"status": 422,
"detail": "This client has multiple organizations. Send the Members-Context header with the organization id (org_…) for this request.",
"code": "members_context_required"
}{
"type": "https://api.members.dev/errors/rate_limit_exceeded",
"title": "Rate limit exceeded",
"status": 429,
"detail": "Rate limit exceeded",
"code": "rate_limit_exceeded"
}