Arkloop Developers

Accounts

All endpoints require Bearer Token authentication.

Create Account (Workspace)

POST /v1/accounts

Request Body

FieldTypeRequiredDescription
slugstringYesUnique identifier (URL friendly)
namestringYesDisplay name

Response

{
  "id": "...",
  "slug": "acme-corp",
  "name": "Acme Corp",
  "type": "workspace",
  "created_at": "2024-01-01T00:00:00Z"
}

Get Current User's Account List

GET /v1/accounts/me

Get Account Details

GET /v1/accounts/{account_id}

Get Account Usage (Monthly)

GET /v1/accounts/{account_id}/usage

Query parameters are the same as GET /v1/me/usage.


Get Account Usage (Daily)

GET /v1/accounts/{account_id}/usage/daily

Get Account Usage (by Model)

GET /v1/accounts/{account_id}/usage/by-model

Team Management

Create Team

POST /v1/teams

Request Body

FieldTypeRequired
namestringYes

Response

{
  "id": "...",
  "account_id": "...",
  "name": "Legal Team",
  "members_count": 0,
  "created_at": "2024-01-01T00:00:00Z"
}

List Teams

GET /v1/teams

Delete Team

DELETE /v1/teams/{team_id}

List Team Members

GET /v1/teams/{team_id}/members

Response

[
  {
    "team_id": "...",
    "user_id": "...",
    "role": "member",
    "created_at": "2024-01-01T00:00:00Z"
  }
]

Add Team Member

POST /v1/teams/{team_id}/members

Request Body

FieldTypeRequiredDescription
user_idstringYes
rolestringYesmember or admin

Remove Team Member

DELETE /v1/teams/{team_id}/members/{user_id}

Invitation Management

Send Invitation

POST /v1/accounts/{account_id}/invitations

Request Body

FieldTypeRequiredDescription
emailstringYesInvited email
rolestringYesAssigned role

Response

{
  "id": "...",
  "account_id": "...",
  "invited_by_user_id": "...",
  "email": "bob@example.com",
  "role": "member",
  "expires_at": "2024-02-01T00:00:00Z",
  "accepted_at": null,
  "created_at": "2024-01-01T00:00:00Z",
  "token": "..."
}

List Invitations

GET /v1/accounts/{account_id}/invitations

Accept Invitation

POST /v1/account-invitations/{token}/accept

Response

{ "ok": true }

Revoke Invitation

DELETE /v1/account-invitations/{invitation_id}