Skip to main content

Organizations API

Manage organizations, members, documents, knowledge base, and semantic search. All routes are under /lira/v1/orgs and require JWT authentication.

Create Organization

POST /lira/v1/orgs

FieldTypeRequiredDescription
namestringYesOrganization name
profileobjectNoOrganization profile (see below)

Profile Object:

FieldTypeDescription
company_namestringCompany display name
industrystringIndustry sector
descriptionstringCompany description
websitestringPrimary website
websitesstring[]Additional website URLs
sizestringCompany size
cultureobjectCompany culture details
productsstring[]Products/services offered
terminologystring[]Domain-specific terms
custom_instructionsstringCustom instructions for the AI
curl -X POST https://api.creovine.com/lira/v1/orgs \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corp",
"profile": {
"company_name": "Acme Corp",
"industry": "Technology",
"description": "Cloud infrastructure company",
"website": "https://acme.com",
"products": ["Acme Cloud", "Acme Edge"],
"terminology": ["ACU", "edge node", "cluster"],
"custom_instructions": "Always refer to our product as Acme Cloud, not just cloud."
}
}'

List Organizations

GET /lira/v1/orgs

List all organizations the authenticated user belongs to.

Get Organization

GET /lira/v1/orgs/:orgId

Get full organization details including profile, member count, and integration status.

Update Organization

PUT /lira/v1/orgs/:orgId

Update organization name and/or profile fields.

Delete Organization

DELETE /lira/v1/orgs/:orgId

Permanently delete an organization and all associated data. Only the owner can perform this action.


Members

List Members

GET /lira/v1/orgs/:orgId/members

curl https://api.creovine.com/lira/v1/orgs/org_xyz/members \
-H "Authorization: Bearer <token>"

Member Contributions

GET /lira/v1/orgs/:orgId/members/:memberId/contributions

Get activity stats for a specific member (meetings attended, tasks completed, etc.).

Update Member Role

PUT /lira/v1/orgs/:orgId/members/:userId/role

FieldTypeValues
rolestringadmin, member
curl -X PUT https://api.creovine.com/lira/v1/orgs/org_xyz/members/usr_abc/role \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }'

Remove Member

DELETE /lira/v1/orgs/:orgId/members/:userId

Transfer Ownership

POST /lira/v1/orgs/:orgId/transfer-ownership

{ "new_owner_id": "usr_def456" }

Invite Codes

Validate Invite Code

GET /lira/v1/orgs/invite/:code/validate

Check if an invite code is valid before joining.

Join Organization

POST /lira/v1/orgs/join

{ "invite_code": "ACME-2026" }

Regenerate Invite Code

POST /lira/v1/orgs/:orgId/invite-code

Generate a new invite code (invalidates the previous one).


Knowledge Base

Web Crawl

POST /lira/v1/orgs/:orgId/crawl

Crawl a website and ingest content into the organization's knowledge base. Content is chunked, embedded (OpenAI text-embedding-3-small, 1536 dimensions), and stored in Qdrant for vector search.

FieldTypeRequiredDescription
urlstring (URL)YesWebsite URL to crawl
options.max_pagesnumberNoMaximum pages to crawl
options.max_depthnumberNoMaximum link depth
options.include_urlsstring[]NoURL patterns to include
curl -X POST https://api.creovine.com/lira/v1/orgs/org_xyz/crawl \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://acme.com/docs",
"options": { "max_pages": 50, "max_depth": 3 }
}'

Crawl Status

GET /lira/v1/orgs/:orgId/crawl/status

Check the progress of an active web crawl.


Documents

Upload Document

POST /lira/v1/orgs/:orgId/documents

Upload a file (PDF, DOCX, TXT) via multipart form data. Documents are parsed, chunked, and indexed for semantic search.

curl -X POST https://api.creovine.com/lira/v1/orgs/org_xyz/documents \
-H "Authorization: Bearer <token>" \
-F "file=@product-spec.pdf"

List Documents

GET /lira/v1/orgs/:orgId/documents

Get Download URL

GET /lira/v1/orgs/:orgId/documents/:docId/download

Returns a pre-signed S3 URL for downloading the original file.

Delete Document

DELETE /lira/v1/orgs/:orgId/documents/:docId

Reprocess Document

POST /lira/v1/orgs/:orgId/documents/:docId/reprocess

Re-parse and re-index an existing document (useful after embedding model upgrades).


POST /lira/v1/orgs/:orgId/search

Search the knowledge base using natural language. Queries are embedded and matched against document chunks in Qdrant.

FieldTypeRequiredDescription
querystringYesNatural language search query
limitnumberNoMax results to return
curl -X POST https://api.creovine.com/lira/v1/orgs/org_xyz/search \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{ "query": "What is our SLA for enterprise customers?", "limit": 5 }'

URL Description

POST /lira/v1/orgs/:orgId/describe-url

Use AI to generate a description of a URL's content (authenticated).

{ "url": "https://acme.com/pricing" }

POST /lira/v1/orgs/describe-url

Public version (no authentication required).


Dashboard Stats

GET /lira/v1/orgs/:orgId/stats

Get aggregated dashboard statistics for the organization (total meetings, active interviews, tasks completed, etc.).