Docs/API

Overview

Read your campaigns, submissions, members and leaderboards over HTTP or MCP with an airaa_ key.

The Airaa API gives you programmatic access to your own communities: campaigns, creator submissions, engagement, members, leaderboards and payout tokens.

It is the same set of tools an AI assistant sees when you connect Airaa over MCP. Anything Claude or Cursor can read through the connector, you can read with a single HTTP call.


What you can read

AreaTools
Communitieslist_manageable_projects, get_project_info
Campaignsget_my_campaigns, get_campaign_details, get_clipping_campaign_detail
Submissionsget_campaign_submissions, get_clipping_owner_submissions
Peopleget_project_members_detailed, get_project_leaderboard
Accountget_user_info, get_tokens, get_current_datetime

Every field of every response is documented in the endpoint pages, grouped by area: Communities, Campaigns, Submissions, People and Account.


Get a key

  1. Open the Airaa dashboard.
  2. Go to Profile then API key.
  3. Create a key. It looks like airaa_00000000-0000-0000-0000-000000000000.

Your key acts as you. It can only reach communities where you are already an admin or a moderator, so it can never see another brand's data. You can rotate it whenever you want.


Your first call

Every endpoint is a POST to the same shape, with arguments wrapped in an args object.

curl -X POST https://app.airaa.xyz/api/ai/mcp/tools/list_manageable_projects/execute \
  -H "Authorization: Bearer $AIRAA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"args": {}}'
{
  "result": {
    "projects": [
      {
        "projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
        "slug": "lumenlabs",
        "name": "Lumen Labs",
        "role": "ADMIN"
      }
    ]
  }
}

Successful responses always return a single result key.


Connect an agent

Claude Code, Claude Desktop and Cursor speak MCP natively, so they pick the tools up with no code.

claude mcp add --transport http --scope user airaa \
  https://app.airaa.xyz/api/mcp \
  --header "Authorization: Bearer airaa_<your-key>"

For editors that use a JSON config file:

{
  "mcpServers": {
    "airaa": {
      "type": "http",
      "url": "https://app.airaa.xyz/api/mcp",
      "headers": {
        "Authorization": "Bearer airaa_<your-key>"
      }
    }
  }
}

Then ask in plain language: "Who earned the most in my community this month?"


Choosing a community

Most tools need a projectId. If you do not already have one, call list_manageable_projects first and use an id from that response.

  • No results means the key cannot reach any community data.
  • One result means you can use it directly.
  • Several results means you pick the one you want by name, slug or projectId.

Passing a projectId you do not administer returns 403.


Pagination

Paginated tools take page (starting at 1) and limit (1 to 100), and return a metadata object:

{
  "metadata": { "page": 1, "limit": 10, "totalItems": 44, "totalPages": 5 }
}

Two exceptions worth knowing:

  • get_my_campaigns returns a counts object instead of metadata.
  • get_project_members_detailed returns a bare array with no metadata at all, so nothing in the response tells you whether more pages exist.

Errors

StatusMeaning
400An argument is missing or failed validation. The message names the field.
401The key is missing or not valid.
403The key is valid but you do not administer that community.
404No such tool, or no campaign with that id.
405Execute endpoints accept POST only.
500An id argument was not a valid UUID.

Reference

Full request and response schemas for all twelve tools, with examples:

Read the endpoint reference