Documentation Index
Fetch the complete documentation index at: https://mintlify.com/egeuysall/ryva-archive/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Auth endpoints allow users to manage their profiles, preferences, and onboarding status. All endpoints require JWT authentication.
All auth endpoints require a valid JWT token in the Authorization header.
Get Current User
Retrieve the current authenticated user’s profile with their organization memberships.
Response
User’s unique identifier (UUID)
URL to user’s avatar image
Whether user has completed onboarding
User preferences stored as key-value pairs
Timestamp when user was created (ISO 8601)
Timestamp when user was last updated (ISO 8601)
List of organizations the user belongs toShow Organization Membership Object
Organization’s unique identifier
Organization’s URL-friendly slug
Organization’s plan: free, personal, or team
User’s role in the organization: owner, admin, or member
Timestamp when user joined the organization
Example
curl https://api.ryva.com/v1/auth/me \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "user@example.com",
"full_name": "John Doe",
"avatar_url": "https://example.com/avatar.jpg",
"onboarding_completed": true,
"preferences": {
"theme": "dark",
"notifications": true
},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-03-03T14:20:00Z",
"organizations": [
{
"organization_id": "org-123e4567",
"organization_name": "Acme Corp",
"organization_slug": "acme-corp",
"organization_plan": "team",
"role": "owner",
"joined_at": "2026-01-15T10:30:00Z"
}
]
}
Update Profile
Update the current user’s profile information.
Request Body
User’s full name (optional)
URL to user’s avatar image (optional)
Response
Timestamp when profile was updated
Example
curl -X PATCH https://api.ryva.com/v1/auth/profile \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"full_name": "Jane Doe",
"avatar_url": "https://example.com/new-avatar.jpg"
}'
Complete Onboarding
/v1/auth/onboarding/complete
Mark the user’s onboarding as completed. This is typically called after the user finishes the initial setup flow.
Response
Set to true after successful completion
Timestamp when onboarding was completed
Example
curl -X POST https://api.ryva.com/v1/auth/onboarding/complete \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Get Preferences
Retrieve the user’s preferences.
Response
User preferences stored as key-value pairs. Can contain any custom fields.
Example
curl https://api.ryva.com/v1/auth/preferences \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Update Preferences
Update the user’s preferences. This replaces all existing preferences.
Request Body
Complete preferences object to replace existing preferences
Response
Updated preferences object
Timestamp when preferences were updated
Example
curl -X PUT https://api.ryva.com/v1/auth/preferences \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"preferences": {
"theme": "light",
"notifications": false,
"language": "en"
}
}'
Error Responses
Unauthorized (401)
{
"error": {
"message": "Invalid or expired token",
"code": "UNAUTHORIZED",
"status": 401
}
}
Validation Error (400)
{
"error": {
"message": "Invalid request body",
"code": "VALIDATION_ERROR",
"status": 400
}
}