People
Your community roster and the earnings leaderboard for any date range.
2 endpoints, generated from openapi.yaml. New to the API? Start with the Overview.
https://app.airaa.xyzEvery tool is a POST to /api/ai/mcp/tools/{tool}/execute with arguments wrapped in an args object, authorised with Authorization: Bearer airaa_<key>.
get_project_members_detailed
List community members
Returns a community's members with profile info, connected platforms, follower totals and participation stats.
Defaults to ACTIVE members. Filtering by a non-ACTIVE status requires the authenticated user to be an admin or moderator of the community.
Two things to know:
projectIdis required in practice. The tool schema marks it optional, but omitting it returns400.- The response is a bare array with no
metadata.pageandlimitwork, but nothing in the response tells you whether more pages exist.
Omit the optional filters unless you actually need them.
Arguments
projectIdstringrequiredA community id from list_manageable_projects.
statusenum | nullDefaults to ACTIVE.
ACTIVEINACTIVEPENDINGSUSPENDEDroleenum | nullMEMBERMODERATORADMINnicheenum | nullGamingLifestyleFashionBeautyFitnessFoodTravelMusicSportsTechFinanceEducationEntertainmentComedyArt & DesignCreatorCryptoBusinessplatformsstring | nullComma separated platform slugs. Valid slugs: x, instagram, youtube.
searchstring | nullMatch on name or username.
pageintegerPage number, 1-indexed.
limitintegerItems per page, 1 to 100.
Returns
Fields inside result.
userIdstringstatusenumACTIVEINACTIVEPENDINGSUSPENDEDroleMemberRoleMEMBERMODERATORADMINusernamestringnamestring | nullphotoUrlstring | nullnichearray of stringlocationCountrystring | nullplatformsarray of objecttotalFollowersintegercommunityCampaignsParticipatedintegertotalCommunityImpressionsintegertagsarray of objectLabels the community applied to this member.
Errors
400projectIdwas not supplied, or an argument failed validation.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.
Request
curl -X POST https://app.airaa.xyz/api/ai/mcp/tools/get_project_members_detailed/execute \
-H "Authorization: Bearer $AIRAA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"args": {"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41","page": 1,"limit": 50}}'const res = await fetch("https://app.airaa.xyz/api/ai/mcp/tools/get_project_members_detailed/execute", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AIRAA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"args": {
"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
"page": 1,
"limit": 50
}
}),
});
const { result } = await res.json();import os
import requests
res = requests.post(
"https://app.airaa.xyz/api/ai/mcp/tools/get_project_members_detailed/execute",
headers={"Authorization": f"Bearer {os.environ['AIRAA_API_KEY']}"},
json={
"args": {
"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
"page": 1,
"limit": 50
}
},
)
res.raise_for_status()
result = res.json()["result"]Response
{
"result": [
{
"userId": "7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"status": "ACTIVE",
"role": "MEMBER",
"username": "rivertaylor",
"name": "River Taylor",
"photoUrl": "https://cdn.airaa.xyz/images/user-avatars/7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"niche": [
"Business"
],
"locationCountry": "United States",
"platforms": [
{
"slug": "x",
"handle": "rivertaylor_x",
"followersCount": 4820
},
{
"slug": "instagram",
"handle": "rivertaylor",
"followersCount": 1290
}
],
"totalFollowers": 6110,
"communityCampaignsParticipated": 13,
"totalCommunityImpressions": 9139,
"tags": [
{
"id": "d73e9b58-1a04-4f62-8c95-7b2d6e03a4f1",
"name": "Team",
"color": "#e08a3c"
}
]
}
]
}get_project_leaderboard
Get the earnings leaderboard
Returns a community's leaderboard for a date range.
sortBy only controls row order. Every row always carries totalViews, totalCampaigns, totalUsdc and totalCommunityToken whichever value you sort by. There is no sort-by-views option: to rank creators by views, page through the results and sort them yourself.
myRank: true returns only the authenticated user's own row, and comes back empty when that user is not ranked in the range.
startDate and endDate are not validated. An unparseable date returns HTTP 200 with {"result": {"error": "Failed to fetch leaderboard"}}.
Arguments
projectIdstring | nullA community id from list_manageable_projects.
startDatestringrequiredInclusive start date, YYYY-MM-DD.
endDatestringrequiredInclusive end date, YYYY-MM-DD. Must be on or after startDate.
sortByenumrequiredUSDCPOINTSpageinteger | nullPage number, 1-indexed.
myRankboolean | nullReturn only the authenticated user's row.
Returns
Fields inside result.
dataarray of LeaderboardRowmetadataPaginationMetadataErrors
400A required argument was missing or failed validation.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.
Request
curl -X POST https://app.airaa.xyz/api/ai/mcp/tools/get_project_leaderboard/execute \
-H "Authorization: Bearer $AIRAA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"args": {"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41","startDate": "2026-01-01","endDate": "2026-08-16","sortBy": "USDC","page": 1}}'const res = await fetch("https://app.airaa.xyz/api/ai/mcp/tools/get_project_leaderboard/execute", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AIRAA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"args": {
"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
"startDate": "2026-01-01",
"endDate": "2026-08-16",
"sortBy": "USDC",
"page": 1
}
}),
});
const { result } = await res.json();import os
import requests
res = requests.post(
"https://app.airaa.xyz/api/ai/mcp/tools/get_project_leaderboard/execute",
headers={"Authorization": f"Bearer {os.environ['AIRAA_API_KEY']}"},
json={
"args": {
"projectId": "3f2a9c7e-1b84-4d5a-9e60-7c1af2b83d41",
"startDate": "2026-01-01",
"endDate": "2026-08-16",
"sortBy": "USDC",
"page": 1
}
},
)
res.raise_for_status()
result = res.json()["result"]Response
{
"result": {
"data": [
{
"rank": 1,
"name": "River Taylor",
"username": "rivertaylor",
"photoUrl": "https://cdn.airaa.xyz/images/user-avatars/7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"socialConnections": [
{
"platformId": "1a7d3f5b-8c92-4e06-b4a1-9f27d5c83e60",
"platformName": "X",
"externalUsername": "rivertaylor_x"
}
],
"totalCampaigns": 13,
"totalViews": 9139,
"totalUsdc": "155.40000000",
"totalCommunityToken": "0"
},
{
"rank": 2,
"name": "Maya Okonkwo",
"username": "mayaokonkwo",
"photoUrl": "https://cdn.airaa.xyz/images/user-avatars/c40f7a15-9e2b-4c86-b1d3-58a90e6f27b4",
"socialConnections": [
{
"platformId": "1a7d3f5b-8c92-4e06-b4a1-9f27d5c83e60",
"platformName": "X",
"externalUsername": "mayaokonkwo"
},
{
"platformId": "3c9f5b7d-0e14-4a28-d6c3-1b49f7e05a82",
"platformName": "TikTok",
"externalUsername": "maya.okonkwo"
}
],
"totalCampaigns": 8,
"totalViews": 65,
"totalUsdc": "72.00000000",
"totalCommunityToken": "17017.00000000"
}
],
"metadata": {
"page": 1,
"limit": 100,
"totalItems": 6,
"totalPages": 1
}
}
}