Ardent V1 Auth API
The v1-auth API from Ardent — 3 operation(s) for v1-auth.
The v1-auth API from Ardent — 3 operation(s) for v1-auth.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ardent:ardent-v1-auth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fast V1 Auth API
version: 0.1.0
tags:
- name: v1-auth
paths:
/v1/bootstrap:
get:
tags:
- v1-auth
summary: Bootstrap
description: 'Bootstrap endpoint - ONE request for complete app initialization.
**REQUIRES X-Org-Id header** - users must explicitly choose their org context.
This endpoint returns everything the frontend needs to load:
- User identity
- List of all user''s organizations (lightweight)
- Active organization details with full permissions
Headers:
X-Org-Id: REQUIRED - Organization ID to load context for
Returns:
user: Full user profile
orgs: Array of lightweight org info (for org switcher)
active_org: Full details of active org with permissions
Example response:
{
"user": {
"user_id": "...",
"email": "john@example.com",
"full_name": "John Doe",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
},
"orgs": [
{
"org_id": "abc-123",
"name": "Acme Corp",
"role": "owner",
"joined_at": "2025-01-01T00:00:00Z"
}
],
"active_org": {
"org_id": "abc-123",
"name": "Acme Corp",
"created_at": "2025-01-01T00:00:00Z",
"my_role": "owner",
"my_permissions": ["org.read", "org.update", "org.delete", ...],
"member_count": 5
}
}'
operationId: bootstrap_v1_bootstrap_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Bootstrap V1 Bootstrap Get
/v1/my-orgs:
get:
tags:
- v1-auth
summary: Get My Orgs
description: 'Get list of user''s organizations (lightweight).
Used for initial org selection before bootstrap.
Does not require X-Org-Id header.
Returns:
orgs: Array of lightweight org info
Example response:
{
"orgs": [
{
"org_id": "abc-123",
"name": "Acme Corp",
"role": "owner",
"joined_at": "2025-01-01T00:00:00Z"
},
{
"org_id": "def-456",
"name": "Beta Inc",
"role": "member",
"joined_at": "2025-01-02T00:00:00Z"
}
]
}'
operationId: get_my_orgs_v1_my_orgs_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Get My Orgs V1 My Orgs Get
/v1/me:
get:
tags:
- v1-auth
summary: Get Me
description: 'Get current user profile and lightweight org check.
This is the bootstrap endpoint - call this after login for initial load.
Returns user profile and whether they have orgs. Frontend should then
call GET /v1/orgs for org list and GET /v1/orgs/{id} for active org details.
Returns:
user: Full user profile from public.users
has_orgs: Boolean indicating if user has any organizations
default_org_id: First org ID (or null if no orgs)
Example response:
{
"user": {
"user_id": "...",
"email": "john@example.com",
"full_name": "John Doe",
"created_at": "2025-01-01T00:00:00Z"
},
"has_orgs": true,
"default_org_id": "abc-123"
}'
operationId: get_me_v1_me_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Get Me V1 Me Get
delete:
tags:
- v1-auth
summary: Delete My Account
description: 'Delete the current user''s account.
Sole owners must transfer ownership or contact support before account
deletion can proceed. This prevents orphaning organizations; org
auto-delete is intentionally not part of this endpoint.
What gets deleted:
- User''s memberships in all orgs
- User''s role grants
- User''s API keys
- Audit trail references (nullified, not deleted)
- User profile (public.users)
- Auth account (auth.users)
What gets preserved (nullified):
- Invites sent by user (invited_by_user_id → NULL)
- Role grants created by user (granted_by → NULL)
- API keys created by user (created_by → NULL)
Returns:
204 No Content on success
Raises:
400: User is sole owner of one or more orgs
Example error response:
{
"detail": "Cannot delete account while you are the sole owner of these organizations. Transfer ownership or contact support: Acme Corp (org_abc)"
}'
operationId: delete_my_account_v1_me_delete
responses:
'204':
description: Successful Response
patch:
tags:
- v1-auth
summary: Update My Profile
description: 'Update the current user''s profile.
Currently supports updating:
- full_name: User''s display name
Returns:
Updated user profile
Example request body:
{
"full_name": "John Doe"
}
Example response:
{
"user_id": "...",
"email": "john@example.com",
"full_name": "John Doe",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-06T12:00:00Z"
}'
operationId: update_my_profile_v1_me_patch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProfileRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Update My Profile V1 Me Patch
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
UpdateProfileRequest:
properties:
full_name:
type: string
maxLength: 200
minLength: 1
title: Full Name
description: User's full name
type: object
required:
- full_name
title: UpdateProfileRequest
description: Request body for updating user profile
x-provenance:
method: harvested
publisher: Ardent
source: https://api.tryardent.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)