Skip to main content
POST
/
v1
/
api
/
projects
/
user-token
Get JWT token for registered project user
curl --request POST \
  --url 'https://api.upsolve.ai/v1/api/projects/user-token?apiKey=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "apiKey": "up_embed_************",
  "expiration": "1h"
}
'
{
  "status": "<string>",
  "data": {
    "token": "<string>"
  }
}

Authorizations

apiKey
string
query
required

apiKey MUST be supplied within the request body instead of query

Body

application/json

POST /v1/api/projects/user-token Request body

userId
string<uuid>
required

The ID of the previously registered project user to issue a token for.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Example:

"123e4567-e89b-12d3-a456-426614174000"

apiKey
string

API key for authentication (optional if using Supabase JWT)

Minimum string length: 1
Example:

"up_embed_************"

organizationId
string<uuid>

Organization ID (required for user-scoped API keys and when using Supabase JWT)

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
expiration
string

Expiration time of the token

Example:

"1h"

Response

POST /v1/api/projects/user-token Positive response

status
string
required
Allowed value: "success"
data
object
required
Example:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InBhcmVudE9yZ0lkIjoiYWJkZTZmMjQtYWYwZi00Zjg3LWI4NzEtNzk0NGIyYzhjM2IzIiwiZGlzcGxheU5hbWUiOiJEZW1vIChBZG1pbikiLCJwYXlsb2FkIjp7fX0sImlhdCI6MTcwOTI2NTcyOSwiZXhwIjoxNzA5MjY5MzI5fQ.nfMwGbPe7zwCwlky079PVjA-ox0G2OtTuFo_0MXoLCE"
}