Ardent v1-orgs API
The v1-orgs API from Ardent — 7 operation(s) for v1-orgs.
The v1-orgs API from Ardent — 7 operation(s) for v1-orgs.
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-orgs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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 Orgs API
version: 0.1.0
tags:
- name: v1-orgs
paths:
/v1/orgs:
get:
tags:
- v1-orgs
summary: List Orgs
description: 'List all organizations the current user is a member of.
Lightweight endpoint for org switcher - returns basic info without permissions.
Call GET /v1/orgs/{org_id} to get full details for a specific org.
Returns:
List of organizations with basic info and user''s role
Example response:
[
{
"org_id": "...",
"name": "Acme Corp",
"role": "owner",
"joined_at": "2025-01-01T00:00:00Z"
}
]'
operationId: list_orgs_v1_orgs_get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
post:
tags:
- v1-orgs
summary: Create Org
description: 'Create a new organization with billing setup.
User becomes the owner with all permissions and gets free tier credits.
Request body:
{
"name": "My Organization"
}
Returns:
Created organization details'
operationId: create_org_v1_orgs_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrgRequest'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Create Org V1 Orgs Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}:
get:
tags:
- v1-orgs
summary: Get Org Details
description: 'Get full details of a specific organization including user''s permissions.
This is the "active org context" endpoint - call this when user selects an org
to get their role, permissions, and org details.
Args:
org_id: Organization ID
Returns:
Organization details with user''s role and permissions
Example response:
{
"org_id": "...",
"name": "Acme Corp",
"created_at": "2025-01-01T00:00:00Z",
"my_role": "owner",
"my_permissions": ["jobs.create", "orgs.delete", ...],
"member_count": 12
}
Raises:
403 if user is not a member of the organization'
operationId: get_org_details_v1_orgs__org_id__get
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Get Org Details V1 Orgs Org Id Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- v1-orgs
summary: Update Org
description: 'Update organization details.
Requires ''org.update'' permission (typically admin or owner).
Request body:
{
"name": "New Organization Name"
}
Returns:
Updated organization'
operationId: update_org_v1_orgs__org_id__patch
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrgRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- v1-orgs
summary: Delete Org
description: 'Delete an organization.
Requires ''org.delete'' permission (typically owner only).
⚠️ SMART DELETION LOGIC:
- Cannot delete your last organization
- You must either:
1. Join/create another organization first, THEN delete this one
2. Delete your account (which will auto-delete this org)
This ensures users always have at least one organization.
Manually deletes all related data: memberships, role grants, API keys, invites, etc.
WARNING: This is irreversible!
Returns:
204 No Content on success
Raises:
400: This is your last organization'
operationId: delete_org_v1_orgs__org_id__delete
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}/members:
get:
tags:
- v1-orgs
summary: List Org Members
description: 'List all members of the organization.
Requires org membership.
Returns:
List of members with user info, role, and join date'
operationId: list_org_members_v1_orgs__org_id__members_get
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
type: object
additionalProperties: true
title: Response List Org Members V1 Orgs Org Id Members Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}/members/{target_user_id}:
patch:
tags:
- v1-orgs
summary: Update Member Role
description: 'Update a member''s role in the organization.
Requires ''orgs.share'' permission (typically admin or owner).
Args:
org_id: Organization ID
target_user_id: User ID of the member to update
body: New role details
Returns:
Success message with updated role'
operationId: update_member_role_v1_orgs__org_id__members__target_user_id__patch
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
- name: target_user_id
in: path
required: true
schema:
type: string
title: Target User Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMemberRoleRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Update Member Role V1 Orgs Org Id Members Target User Id Patch
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- v1-orgs
summary: Remove Org Member
description: 'Remove a member from the organization.
Requires ''org.remove_members'' permission (typically admin or owner).
Args:
org_id: Organization ID
target_user_id: User ID of the member to remove
Returns:
204 No Content on success'
operationId: remove_org_member_v1_orgs__org_id__members__target_user_id__delete
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
- name: target_user_id
in: path
required: true
schema:
type: string
title: Target User Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}/invite:
post:
tags:
- v1-orgs
summary: Invite User To Org
description: 'Invite a user to join the organization.
Requires ''orgs.invite_users'' permission.
Args:
org_id: Organization ID
body: Invite details (email, role_key)
Returns:
Invite details including invite_token'
operationId: invite_user_to_org_v1_orgs__org_id__invite_post
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InviteUserRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Invite User To Org V1 Orgs Org Id Invite Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}/invites:
get:
tags:
- v1-orgs
summary: List Pending Invites
description: 'List pending invites for the organization.
Requires org membership.
Args:
org_id: Organization ID
Returns:
List of pending invites'
operationId: list_pending_invites_v1_orgs__org_id__invites_get
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
type: object
additionalProperties: true
title: Response List Pending Invites V1 Orgs Org Id Invites Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}/invites/{invite_id}:
delete:
tags:
- v1-orgs
summary: Revoke Invite
description: 'Revoke (cancel) a pending invite.
Requires ''orgs.invite_users'' permission.
Args:
org_id: Organization ID
invite_id: Invite ID to revoke'
operationId: revoke_invite_v1_orgs__org_id__invites__invite_id__delete
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
- name: invite_id
in: path
required: true
schema:
type: string
title: Invite Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/invites/pending:
get:
tags:
- v1-orgs
summary: List My Pending Invites
description: 'List pending invites addressed to the authenticated user''s verified emails.
This is global because orgless invitees need it before they have an org
membership or active org header.'
operationId: list_my_pending_invites_v1_invites_pending_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties:
items:
additionalProperties: true
type: object
type: array
type: object
title: Response List My Pending Invites V1 Invites Pending Get
/v1/invites/{invite_token}/accept:
post:
tags:
- v1-orgs
summary: Accept Invite Token
description: 'Accept an organization invite.
This is a global endpoint (not org-scoped) because the user
accepting might not be in the org yet.
Args:
invite_token: The invite token from the email/link
Returns:
Success message with org details'
operationId: accept_invite_token_v1_invites__invite_token__accept_post
parameters:
- name: invite_token
in: path
required: true
schema:
type: string
title: Invite Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Accept Invite Token V1 Invites Invite Token Accept Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/orgs/{org_id}/roles:
get:
tags:
- v1-orgs
summary: List Org Roles
description: 'List available roles for the organization.
Returns all org-level roles (owner, admin, member, viewer) that can be
assigned to users or API keys.
Requires: User must be a member of the org (any role).
Returns:
List of role objects with id, role_key, name, description, permissions'
operationId: list_org_roles_v1_orgs__org_id__roles_get
parameters:
- name: org_id
in: path
required: true
schema:
type: string
title: Org Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
type: object
additionalProperties: true
title: Response List Org Roles V1 Orgs Org Id Roles Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
UpdateMemberRoleRequest:
properties:
role_key:
type: string
title: Role Key
description: New role to assign (owner/admin/member/viewer)
type: object
required:
- role_key
title: UpdateMemberRoleRequest
description: Request body for updating a member's role
InviteUserRequest:
properties:
email:
type: string
title: Email
description: Email address to invite
role_key:
type: string
title: Role Key
description: Role to assign (owner/admin/member/viewer)
default: member
type: object
required:
- email
title: InviteUserRequest
description: Request body for inviting a user to an organization
UpdateOrgRequest:
properties:
name:
type: string
maxLength: 100
minLength: 1
title: Name
description: New organization name
type: object
required:
- name
title: UpdateOrgRequest
description: Request body for updating an organization
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
CreateOrgRequest:
properties:
name:
type: string
maxLength: 100
minLength: 1
title: Name
description: Organization name
type: object
required:
- name
title: CreateOrgRequest
description: Request body for creating a new organization
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
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)