Skip to main content

Documentation Index

Fetch the complete documentation index at: https://usenaive.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Base URL

https://api.usenaive.ai

Authentication

All endpoints (except /skill.md, /register.md, /health, and /v1/auth/register) require:
Authorization: Bearer nv_sk_live_...

Response Format

All responses are JSON. Successful responses return the data directly. Errors follow:
{
  "error": {
    "code": "error_code",
    "message": "Human readable description",
    "hint": "Actionable next step for the agent",
    "reason": "OPTIONAL_GRANULAR_REASON"
  }
}
code is the canonical kind (rate_limited, forbidden, invalid_input, etc.) and maps 1:1 to the HTTP status. Some endpoints also return a more granular reason field (e.g. RATE_LIMITED, PROTECTED_RECORD, UNOWNED_RECORD_REQUIRES_ACK) plus extra context fields. Rate-limit responses include a standard Retry-After header.

Conventions

  • All timestamps are ISO 8601 with timezone (UTC)
  • UUIDs are used for all entity IDs
  • Pagination uses limit and offset query parameters
  • Mutation endpoints support Idempotency-Key header

Live event stream

Subscribe to a company-scoped Server-Sent Events stream:
GET /v1/events
Authorization: Bearer nv_sk_live_...
Accept: text/event-stream
Frames look like:
event: domain.updated
id: 42
data: {"id":42,"companyId":"...","type":"domain.updated","createdAt":"2026-05-08T...","payload":{"action":"dns_record_set","domainId":"..."}}
Currently emitted event types:
TypePayloadEmitted when
domain.updated{ action: "dns_record_set" | "dns_record_deleted" | "agent_managed", domainId }An agent successfully writes/deletes a DNS record, or apex A/AAAA flips to agent_managed
activity.logged{ actorType, actorId, action, entityType, entityId, agentId, runId, details }Any audit-logged event (every DNS edit, including rejections)
The stream emits a : heartbeat <ts> comment every ~25s so intermediate proxies don’t idle the connection out.

Audit log

DNS edit endpoints (and any future writes that opt in) append rows to the shared activity_log table with these actions:
ActionTriggered by
dns.record.setSuccessful POST to /v1/domains/:id/zone-records
dns.record.deleteSuccessful DELETE to /v1/domains/:id/zone-records/:recordId
dns.record.rejectedAny guard-rail rejection (rate limit, protected record, unowned ack required, etc.)
Each row carries entity_type = "domain", entity_id = <domainId>, the calling agent_id when known, and a details JSONB blob with the granular reason plus operation-specific context.

Core Endpoints

GroupKey Endpoints
AuthPOST /v1/auth/register, POST /v1/auth/login, POST /v1/auth/link
IdentityGET /v1/identity, GET /v1/identity/emails, GET /v1/identity/resources
DomainsGET /v1/domains, POST /v1/domains/connect, GET /v1/domains/:id/dns-records, POST /v1/domains/:id/verify, GET /v1/domains/search, POST /v1/domains/purchase, GET /v1/domains/:id/zone-records, POST /v1/domains/:id/zone-records, DELETE /v1/domains/:id/zone-records/:recordId
BillingGET /v1/billing/plans, POST /v1/billing/subscribe, POST /v1/billing/upgrade, GET /v1/billing/subscription, POST /v1/billing/portal, GET /v1/billing/packs, POST /v1/billing/topup
EmailGET /v1/email/inboxes, POST /v1/email/inboxes, POST /v1/email/send
SearchPOST /v1/search, POST /v1/search/url, POST /v1/search/research
ImagesPOST /v1/images/generate, GET /v1/images/models, GET /v1/images/pricing
VideoPOST /v1/video/generate, GET /v1/video/models, GET /v1/video/pricing
SocialGET /v1/social/status, POST /v1/social/activate, POST /v1/social/connect, POST /v1/social/portal, GET /v1/social/accounts, POST /v1/social/posts, POST /v1/social/posts/:id/publish
SEOPOST /v1/seo/keywords/{engine}/{endpoint}, POST /v1/seo/backlinks/{endpoint}, POST /v1/seo/labs/{engine}/{endpoint}
App DataPOST /v1/app-data/{platform}/{endpoint}, GET /v1/app-data/{platform}/{endpoint}/tasks-ready, GET /v1/app-data/{platform}/{endpoint}/:task_id
Business DataPOST /v1/business/{platform}/{endpoint}, POST /v1/business/social/{platform}
AEOPOST /v1/aeo/llm-responses/{llm}, POST /v1/aeo/llm-scraper/{endpoint}, POST /v1/aeo/llm-mentions/{endpoint}, POST /v1/aeo/ai-keywords/search-volume
E-commercePOST /v1/ecommerce/{platform}/{endpoint}/task, GET /v1/ecommerce/{platform}/{endpoint}/tasks-ready, GET /v1/ecommerce/{platform}/{endpoint}/task/:id
VerificationPOST /v1/verification, GET /v1/verification, GET /v1/verification/:id, POST /v1/verification/members/:id/complete, POST /v1/verification/members/:id/resend
FormationGET /v1/formation/naics-codes, POST /v1/formation (creates $249 checkout), POST /v1/formation/:id/retry-payment, POST /v1/formation/:id/submit (after payment), GET /v1/formation, GET /v1/formation/:id, GET /v1/formation/:id/documents, GET /v1/formation/:id/documents/:docId
JobsGET /v1/jobs, GET /v1/jobs/:id, DELETE /v1/jobs/:id
StatusGET /v1/status, GET /v1/usage
EventsGET /v1/events (Server-Sent Events stream of company-scoped live events)

Discovery Endpoints

MethodPathAuthDescription
GET/skill.mdNoFull capability documentation (markdown)
GET/register.mdNoAgent onboarding guide (markdown)
GET/healthNoHealth check

MCP Server

MethodPathAuthDescription
GET/mcp/sseYesEstablish SSE connection
POST/mcp/messagesSessionSend MCP messages