For the complete documentation index, see llms.txt. This page is also available as Markdown.

Auth

Obtain JWT pair with connection claim

post

Issues a refresh and access token pair that include the given connection identifier in the payload. Authenticate via DRF token header or by posting an ORCID token. Requires upload permission. Any prior outstanding token for the same connection is blacklisted first.

Authorizations
AuthorizationstringOptional

Token-based authentication with required prefix "Token"

Path parameters
connectionstringRequired

Opaque connection identifier stored on the issued tokens.

Responses
201Success
application/json
post/api/auth/token/{connection}/
POST /api/auth/token/{connection}/ HTTP/1.1
Authorization: YOUR_API_KEY
Accept: */*
201Success
{
  "data": {
    "refresh": "text",
    "access": "text"
  }
}
post

Takes a token and blacklists it. Must be used with the rest_framework_simplejwt.token_blacklist app installed.

Body
refreshstringWrite-onlyRequired
Responses
200Success
application/json
refreshstringWrite-onlyRequired
post/api/auth/token/blacklist/
POST /api/auth/token/blacklist/ HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "refresh": "text"
}
200Success
{}

Revoke JWT tokens without connection claim

delete

Blacklists all outstanding refresh tokens for the authenticated user that do not include a connection claim. Returns how many tokens were newly revoked.

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Responses
200Success
application/json
delete/api/auth/token/blacklist-all/
DELETE /api/auth/token/blacklist-all/ HTTP/1.1
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "data": {
    "message": "text"
  }
}

Refresh JWT token pair

post

Exchanges a refresh token for a new refresh and access token pair. The previous refresh token is blacklisted. If the submitted refresh token carries a connection claim, the new tokens retain it on the access token.

Body
accessstringRead-onlyRequired
refreshstringRequired
Responses
200Success
application/json
post/api/auth/token/refresh/
POST /api/auth/token/refresh/ HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "refresh": "text"
}
200Success
{
  "data": {
    "refresh": "text",
    "access": "text"
  }
}

Current user details

get

Returns the authenticated SESAR user profile. When the request is authenticated with a JWT that carries a connection claim, jwt_connection echoes that value in uppercase; otherwise it is null.

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Responses
200Success
application/json
get/api/auth/user/
GET /api/auth/user/ HTTP/1.1
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "data": {
    "user": {
      "individual": {
        "id": 1,
        "label": "text",
        "fname": "text",
        "lname": "text",
        "alt_label": "text",
        "description": "text",
        "address": "text",
        "email": "text",
        "phone": "text",
        "fax": "text",
        "individual_uri": "text",
        "institutions": [
          {
            "id": 1,
            "institution_type": "text",
            "label": "text",
            "alt_label": "text",
            "description": "text",
            "country": "text",
            "country_subdivision": "text",
            "city": "text",
            "ror": "text",
            "parent_institutions": "text",
            "can_edit": "text",
            "created_by": 1
          }
        ],
        "institution_detail": "text",
        "country": "text",
        "can_edit": "text"
      },
      "email": "text",
      "registration_date": "2026-01-01T00:00:00.000Z",
      "orcid": "text",
      "doi_prefix": "text",
      "upload_permission_status": 1,
      "notification_preferences": null,
      "is_staff": true,
      "is_admin": 1,
      "storage_used": 1,
      "storage_limit": 1
    },
    "jwt_connection": "text"
  }
}

Last updated

Was this helpful?