Team Members
Update Member Role
PATCH
/account/members/{member_id}
Update a team member’s role within the organization.
Path Parameters
| Parameter | Type | Description |
|---|
member_id | string | The member’s ID |
Request Body
{
"role": "admin",
"account_id": "account_abc123"
}
Roles
| Role | Permissions |
|---|
owner | Full access, billing, delete account |
admin | Manage projects, members, settings |
member | Create and edit projects |
Remove Member
DELETE
/account/members/{member_id}
Remove a team member from the organization.
Invitations
List 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
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 the current user’s permissions within the organization.
Response
{
"role": "admin",
"canManageMembers": true,
"canManageBilling": true,
"canDeleteProjects": true,
"canManageSettings": true
}
Activity
Get Activity Log
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
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 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
Check whether BYOK is enabled and see the masked key.
Response
{
"enabled": true,
"maskedKey": "sk-ant-...****WXYZ",
"provider": "anthropic"
}
Save API Key
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
Remove your BYOK key and revert to Hiveku’s shared quota.
Settings
Get Settings
Get account-level settings.
Update 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
Trigger a password reset email for the current user.