Project-scoped

Moderation

Every project carries its own ban list. The moderation endpoints are authenticated by the project API key, and can only read or mutate bans belonging to that project.

Automatic bans

The safety system may decide a request should result in a ban. When it does, the flagged user_id is added to the project's bans array. From that point on, any request from that user_id is rejected at the edge with a blocked response before it reaches the model or upstream provider.

Manual ban management

You can list, add, or remove bans through the REST API. All operations are scoped to the project attached to the API key.

List every ban on the project

GET https://qaves.me/api/v1/moderation/bans

Returns a count and the full list of bans:

{
  "count": 1,
  "bans": [
    {
      "user_id": "858197128685551636",
      "banned_at": 1778833800,
      "reason": "manual_ban"
    }
  ]
}

Check a single user

GET https://qaves.me/api/v1/moderation/bans?user_id=858197128685551636

Active ban:

{
  "active": true,
  "user_id": "858197128685551636",
  "ban": {
    "user_id": "858197128685551636",
    "banned_at": 1778833800,
    "reason": "manual_ban"
  }
}

Not banned:

{
  "active": false,
  "user_id": "858197128685551636",
  "ban": null
}

Ban a user

POST https://qaves.me/api/v1/moderation/bans
user_idstringrequired
The user_id to ban.
reasonstringoptional
Optional reason for the ban (max 500 chars). Defaults to manual_ban.
{
  "ok": true,
  "already_banned": false,
  "ban": {
    "user_id": "858197128685551636",
    "banned_at": 1778833800,
    "reason": "Repeated policy violations"
  }
}

Unban a user

DELETE https://qaves.me/api/v1/moderation/bans

Accepts user_id in the body or as a query parameter.

{
  "ok": true,
  "removed": true,
  "ban": {
    "user_id": "858197128685551636",
    "banned_at": 1778833800,
    "reason": "manual_ban"
  }
}

Scope

Bans are stored on the project row, so each API key only touches its own project. Two projects with the same banned user_id do not share state unless both projects add the same user independently.