Skip to main content

Team Members

Update Member Role

PATCH
/account/members/{member_id}
Update a team member’s role within the organization.
Path Parameters
ParameterTypeDescription
member_idstringThe member’s ID
Request Body
{
  "role": "admin",
  "account_id": "account_abc123"
}
Roles
RolePermissions
ownerFull access, billing, delete account
adminManage projects, members, settings
memberCreate and edit projects

Remove Member

DELETE
/account/members/{member_id}
Remove a team member from the organization.

Invitations

List Invitations

GET
/account/invitations
List all pending invitations for the organization.
Response
[
  {
    "id": "inv_abc123",
    "email": "jane@example.com",
    "role": "member",
    "status": "pending",
    "createdAt": "2025-04-10T10:00:00Z",
    "expiresAt": "2025-04-17T10:00:00Z"
  }
]

Send Invitation

POST
/account/invitations
Invite a new team member by email.
Request Body
{
  "email": "jane@example.com",
  "role": "member"
}

Cancel Invitation

DELETE
/account/invitations/{invitation_id}
Cancel a pending invitation.

Resend Invitation

POST
/account/invitations/{invitation_id}/resend
Resend the invitation email.

Accept Invitation

POST
/account/invitations/accept/{token}
Accept an invitation using the token from the invitation email.

Verify Invitation

GET
/account/invitations/verify/{token}
Verify that an invitation token is valid before accepting.
Response
{
  "valid": true,
  "email": "jane@example.com",
  "organizationName": "Acme Agency",
  "role": "member"
}

Permissions

Get Permissions

GET
/account/permissions
Get the current user’s permissions within the organization.
Response
{
  "role": "admin",
  "canManageMembers": true,
  "canManageBilling": true,
  "canDeleteProjects": true,
  "canManageSettings": true
}

Activity

Get Activity Log

GET
/account/activity
Get the recent activity log for the organization.
Response
[
  {
    "id": "act_abc123",
    "userId": "user_xyz",
    "action": "project.deployed",
    "target": "My Website",
    "timestamp": "2025-04-12T15:30:00Z"
  }
]

Billing

List Invoices

GET
/account/invoices
List all invoices for the organization, most recent first.
Response
[
  {
    "id": "inv_abc123",
    "invoice_number": "HVK-2025-0042",
    "status": "paid",
    "period_start": "2025-03-01T00:00:00Z",
    "period_end": "2025-03-31T23:59:59Z",
    "subtotal_cents": 2900,
    "total_cents": 2900,
    "currency": "usd",
    "pdf_url": "https://..."
  }
]

Get Invoice

GET
/account/invoices/{invoiceId}
Get a specific invoice by ID.

Get Account Limits

GET
/account/limits
Get resource usage and plan limits for the organization.
Response
{
  "plan": "standard",
  "projects": { "used": 5, "limit": 25 },
  "storage": { "used_mb": 2400, "limit_mb": 10000 },
  "aiCredits": { "used_cents": 450, "limit_cents": 1000 },
  "teamMembers": { "used": 3, "limit": 10 }
}

BYOK (Bring Your Own Key)

Manage your own API keys for AI model access. When BYOK is enabled, AI requests use your key instead of Hiveku’s shared quota.

Get BYOK Status

GET
/account/byok
Check whether BYOK is enabled and see the masked key.
Response
{
  "enabled": true,
  "maskedKey": "sk-ant-...****WXYZ",
  "provider": "anthropic"
}

Save API Key

POST
/account/byok
Save or update your BYOK API key. The key is encrypted at rest.
Request Body
{
  "apiKey": "sk-ant-api03-...",
  "provider": "anthropic"
}
Your API key is encrypted before storage and is never exposed in plain text after saving. You’ll only see a masked version.

Remove API Key

DELETE
/account/byok
Remove your BYOK key and revert to Hiveku’s shared quota.

Settings

Get Settings

GET
/settings
Get account-level settings.

Update Settings

PATCH
/settings
Update account-level settings.

Check BYOK Key Status

GET
/settings/byok-key-status
Verify whether a saved BYOK key is still valid and working.
Response
{
  "valid": true,
  "provider": "anthropic",
  "lastChecked": "2025-04-12T10:00:00Z"
}

Password

Reset Password

POST
/account/password/reset
Trigger a password reset email for the current user.