Communities

Find the communities a key can reach, and read one community's profile, team and totals.

2 endpoints, generated from openapi.yaml. New to the API? Start with the Overview.

Base URL
https://app.airaa.xyz

Every tool is a POST to /api/ai/mcp/tools/{tool}/execute with arguments wrapped in an args object, authorised with Authorization: Bearer airaa_<key>.

list_manageable_projects

List communities you can manage

POST/api/ai/mcp/tools/list_manageable_projects/execute

Returns the communities where the authenticated user is an admin or a moderator, with projectId, slug, name and role.

Call this first whenever you need a projectId and do not already have one. If it returns nothing, the key cannot reach any community data and there is no other lookup that will work.

Arguments

No arguments. Send {"args": {}}.

Returns

Fields inside result.

projectsarray of ManageableProject

Errors

  • 401The key is missing or not valid.
  • 405Execute endpoints accept POST only.

Request

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": {}}'

Response

200
{
  "result": {
    "projects": [
      {
        "projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
        "slug": "lumenlabs",
        "name": "Lumen Labs",
        "guildEnabled": true,
        "role": "ADMIN",
        "demoMode": false,
        "isPersonalProject": false,
        "accentColor": "#f5cb42",
        "logo": "https://cdn.airaa.xyz/images/projects/logo/3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41.png",
        "pointsToken": {
          "id": "b81c4d02-5f6a-4e33-a1d7-92e845bc0f16",
          "name": "Lumen Points",
          "symbol": "LUM",
          "logo": ""
        },
        "campaignCommission": 50
      }
    ]
  }
}

get_project_info

Get a community profile

POST/api/ai/mcp/tools/get_project_info/execute

Returns a community overview: metadata, the authenticated user's membership status and role, member counts, campaign and rewards totals, team members, X follower counts, points token and social links.

projectId is required in practice. The tool schema marks it optional, but omitting it returns 400.

Arguments

projectIdstringrequired

A community id from list_manageable_projects.

Returns

Fields inside result.

idstring
slugstring
namestring
isWhitelabelEnabledboolean
categorystring | null
logostring | null
bannerstring | null
descriptionstring | null
twitterProfileUrlstring | null
totalMemberCountinteger
isUserMemberboolean
userMembershipStatusenum | null
ACTIVEINACTIVEPENDINGSUSPENDED
userRoleMemberRole | null
MEMBERMODERATORADMIN
activeCampaignsCountinteger
totalCampaignsCountinteger
rewardsDistributedstring

Total ERC20 value paid out, as a decimal string.

totalPointsDistributedstring
erc20Totalsarray of TokenTotal
pointsTotalsarray of TokenTotal
activeMembersCountinteger
teamMembersarray of object
smartFollowersCountinteger
pointsTokenobject
twitterFollowersCountinteger
demoModeboolean
checklistobject
socialsobject

Present keys vary by what the community has connected.

Errors

  • 400projectId was not supplied.
  • 401The key is missing or not valid.
  • 403The key is valid but the user does not administer the requested community.
  • 405Execute endpoints accept POST only.
  • 500An id argument was not a valid UUID. The API currently surfaces the underlying database error rather than a validation message, so validate ids before sending them.

Request

curl -X POST https://app.airaa.xyz/api/ai/mcp/tools/get_project_info/execute \
  -H "Authorization: Bearer $AIRAA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"args": {"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41"}}'

Response

200
{
  "result": {
    "id": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
    "slug": "lumenlabs",
    "name": "Lumen Labs",
    "isWhitelabelEnabled": true,
    "category": "Tech",
    "logo": "https://cdn.airaa.xyz/images/projects/logo/3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41.png",
    "banner": "https://cdn.airaa.xyz/images/projects/banner/3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41.jpeg",
    "description": "We see, we create, we earn",
    "twitterProfileUrl": "https://x.com/lumenlabs",
    "totalMemberCount": 10,
    "isUserMember": true,
    "userMembershipStatus": "ACTIVE",
    "userRole": "ADMIN",
    "activeCampaignsCount": 33,
    "totalCampaignsCount": 35,
    "rewardsDistributed": "371.4",
    "totalPointsDistributed": "53018",
    "erc20Totals": [
      {
        "totalAmount": "371.40000000",
        "symbol": "USDC",
        "decimals": 18
      }
    ],
    "pointsTotals": [
      {
        "totalAmount": "53017.00000000",
        "symbol": "LUM",
        "decimals": 0
      }
    ],
    "activeMembersCount": 10,
    "teamMembers": [
      {
        "userId": "8d15b4c7-3e29-4a60-9f81-6b2c7e04d5a3",
        "role": "ADMIN",
        "photoUrl": "https://cdn.airaa.xyz/images/user-avatars/8d15b4c7-3e29-4a60-9f81-6b2c7e04d5a3",
        "username": "alexmorgan",
        "name": "Alex Morgan"
      },
      {
        "userId": "c40f7a15-9e2b-4c86-b1d3-58a90e6f27b4",
        "role": "MODERATOR",
        "photoUrl": "https://cdn.airaa.xyz/images/profile-placeholders/image3.webp",
        "username": "mayaokonkwo",
        "name": "Maya Okonkwo"
      }
    ],
    "smartFollowersCount": 1,
    "pointsToken": {
      "symbol": "LUM",
      "logo": null
    },
    "twitterFollowersCount": 105,
    "demoMode": false,
    "checklist": {
      "hasAnnouncement": true,
      "hasGig": true
    },
    "socials": {
      "x": "https://x.com/lumenlabs",
      "telegram": "https://t.me/lumenlabs",
      "discord": "https://discord.gg/lumenlabs",
      "youtube": "https://youtube.com/@lumenlabs",
      "instagram": "https://instagram.com/lumenlabs",
      "tiktok": "https://tiktok.com/@lumenlabs"
    }
  }
}