Skip to main content

Documentation Index

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

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

Authentication

Session Authentication

The primary authentication method is session-based via NextAuth. When signed in through the web application, API requests from the same browser session are automatically authenticated via cookies.

API Key Authentication

Organization administrators can create REST API keys for programmatic access. Keys follow the format thig_ + 40 hexadecimal characters. Include the API key in the Authorization header:
curl -H "Authorization: Bearer thig_a1b2c3d4e5f6..." \
  https://app.thig.ai/api/projects
All 225+ API endpoints support API key authentication — no special configuration needed per endpoint.

Key Management

Create and manage API keys at Settings > Developer (/admin/settings/developer) or via the API:
# Create a key
curl -X POST https://app.thig.ai/api/admin/rest-api-keys \
  -H "Authorization: Bearer thig_EXISTING_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "CI/CD Pipeline", "expiresAt": "2027-01-01T00:00:00Z"}'

# List keys
curl -H "Authorization: Bearer thig_YOUR_KEY" \
  https://app.thig.ai/api/admin/rest-api-keys

Rate Limits

API keys are rate-limited to 60 requests per minute by default. Enterprise plans can configure custom per-key limits.

Plan Availability

PlanAPI Keys
FreeNot available
Starter2 keys
Professional10 keys
EnterpriseUnlimited

Auth Endpoints

Register

name
string
required
Full name of the user
email
string
required
Email address
password
string
required
Password (min 8 chars, must include uppercase, lowercase, and digit)
timezone
string
IANA timezone string (e.g., “America/New_York”)
inviteToken
string
Optional invitation token to join an organization
curl -X POST https://app.thig.ai/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Doe",
    "email": "jane@example.com",
    "password": "SecurePass1",
    "timezone": "America/New_York"
  }'

Sign Out

curl -X POST https://app.thig.ai/api/auth/sign-out \
  -H "Cookie: next-auth.session-token=YOUR_SESSION"

Forgot Password

curl -X POST https://app.thig.ai/api/auth/forgot-password \
  -H "Content-Type: application/json" \
  -d '{"email": "jane@example.com"}'

Reset Password

curl -X POST https://app.thig.ai/api/auth/reset-password \
  -H "Content-Type: application/json" \
  -d '{
    "token": "reset-token-from-email",
    "password": "NewSecurePass1",
    "confirmPassword": "NewSecurePass1"
  }'

Change Password (Authenticated)

curl -X POST https://app.thig.ai/api/auth/change-password \
  -H "Content-Type: application/json" \
  -H "Cookie: next-auth.session-token=YOUR_SESSION" \
  -d '{"currentPassword": "OldPass1", "newPassword": "NewPass1"}'

Verify Email

curl "https://app.thig.ai/api/auth/verify-email?token=verification-token-from-email"

Resend Verification Email

curl -X POST https://app.thig.ai/api/auth/resend-verification \
  -H "Content-Type: application/json" \
  -d '{"email": "jane@example.com"}'

Permissions

API access respects your organization role:
RoleAccess Level
OwnerFull access to all resources and settings
AdminManage team, templates, and settings
MemberCreate and manage own projects
ViewerRead-only access to shared projects

Security

  • Account lockout after 5 failed login attempts (15-minute lockout, 30-minute reset)
  • Rate limiting on auth endpoints to prevent brute force
  • Passwords hashed with bcryptjs
  • API keys encrypted at rest with AES-256-GCM

Share Token Authentication

Some endpoints support unauthenticated access via share tokens for external collaboration:
curl -H "x-share-token: SHARE_TOKEN" \
  -H "x-share-password: OPTIONAL_PASSWORD" \
  https://app.thig.ai/api/projects/PROJECT_ID
Supported on: project detail, PRD content, status history, and activity endpoints.