Submissions
Read the content creators submitted, with engagement, payout state and review history.
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_campaign_submissions
List submissions by creator
Returns submissions for a campaign, one row per creator, with each of their tasks and its status. For clipping and UGC campaigns the rows carry initial, current and delta view counts.
For OFFERS-claim campaigns, creators who were offered a slot but have not submitted yet are included.
This works for every campaign type. For the owner dashboard view of a clipping or UGC campaign, with payout accruals and action history, use get_clipping_owner_submissions instead.
Arguments
projectCampaignIdstringrequiredA campaign id, from the id field of get_my_campaigns. Must be a valid UUID: the API returns a 500 rather than a 400 when it is not.
pageintegerPage number, 1-indexed.
limitintegerItems per page, 1 to 100.
sortByenum | nullsmart_followersfollowerscreated_atsortOrderenum | nullASCDESCstatusByenum | nullFilter by submission status.
PENDINGAPPROVEDFAILEDPAIDMILESTONE_BONUS_PAIDDEMOGRAPHICS_DUEDEMOGRAPHICS_REVIEWuserIdstring | nullFilter to a single creator.
Returns
Fields inside result.
submissionsarray of CreatorSubmissionmetadataPaginationMetadatacampaignTypeCampaignTypeclippingugcsocialErrors
400An argument failed schema validation. The message names the offending field and its allowed values.401The key is missing or not valid.403The key is valid but the user does not administer the requested community.404No campaign with that id is visible to this key.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_campaign_submissions/execute \
-H "Authorization: Bearer $AIRAA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"args": {"projectCampaignId": "9c4e1d7a-2f38-4b6c-8e51-0d7a3f96b2c8","page": 1,"limit": 10}}'const res = await fetch("https://app.airaa.xyz/api/ai/mcp/tools/get_campaign_submissions/execute", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AIRAA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"args": {
"projectCampaignId": "9c4e1d7a-2f38-4b6c-8e51-0d7a3f96b2c8",
"page": 1,
"limit": 10
}
}),
});
const { result } = await res.json();import os
import requests
res = requests.post(
"https://app.airaa.xyz/api/ai/mcp/tools/get_campaign_submissions/execute",
headers={"Authorization": f"Bearer {os.environ['AIRAA_API_KEY']}"},
json={
"args": {
"projectCampaignId": "9c4e1d7a-2f38-4b6c-8e51-0d7a3f96b2c8",
"page": 1,
"limit": 10
}
},
)
res.raise_for_status()
result = res.json()["result"]Response
{
"result": {
"submissions": [
{
"submissionId": "6a2c8f04-7b31-4e59-a0d6-3f85b1c92e47",
"userId": "7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"username": "rivertaylor_x",
"userUsername": "rivertaylor",
"name": "River Taylor",
"profileImageUrl": "https://cdn.airaa.xyz/images/user-avatars/7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"followersCount": 4820,
"smartFollowersCount": 96,
"viewCount": 5880,
"initialViewCount": 7,
"currentViewCount": 5887,
"deltaViewCount": 5880,
"tokenAmount": "1.00000000",
"auraPointsAmount": "0.00",
"estimatedPayout": "11.76",
"tasks": [
{
"taskId": "4c9a2e78-5b13-4d60-8f27-1a94c6e03b52",
"submissionId": "6a2c8f04-7b31-4e59-a0d6-3f85b1c92e47",
"claimedAt": "2026-07-22T14:27:44.495Z",
"submittedAt": "2026-07-22T14:27:44.493Z",
"taskType": "CLIP_X",
"taskUrl": null,
"submissionStatus": "APPROVED",
"submissionReason": null,
"aiReview": null,
"submissionContent": {
"text": "Three days with the Lumen drop",
"viewCount": 5880,
"initialViews": 7,
"currentViews": 5887,
"deltaViews": 5880,
"replyCount": 14,
"favoriteCount": 212,
"externalId": "2079936395192545299",
"url": "https://x.com/rivertaylor_x/status/2079936395192545299"
}
}
]
}
],
"metadata": {
"page": 1,
"limit": 10,
"totalItems": 1,
"totalPages": 1
},
"campaignType": "ugc"
}
}get_clipping_owner_submissions
List clips for the owner dashboard
Returns clipping and UGC submission rows as the campaign owner sees them: content links and thumbnails, live engagement, payout accruals, and the full action history of each submission.
Despite the name this works for UGC campaigns as well as clipping ones. Calling it on a SOCIAL campaign returns HTTP 200 with {"result": {"error": "Clipping submissions are only available for clipping campaigns"}}.
Arguments
projectCampaignIdstringrequiredA campaign id, from the id field of get_my_campaigns. Must be a valid UUID: the API returns a 500 rather than a 400 when it is not.
pageintegerPage number, 1-indexed.
limitintegerItems per page, 1 to 100.
platformIdstring | nullFilter to one platform. Read valid ids from supportedPlatforms on get_clipping_campaign_detail.
statusByenum | nullFilter by submission status.
PENDINGAPPROVEDFAILEDPAIDMILESTONE_BONUS_PAIDDEMOGRAPHICS_DUEDEMOGRAPHICS_REVIEWsortByenum | nullviewslikescreated_atsortOrderenum | nullASCDESCReturns
Fields inside result.
rowsarray of ClippingOwnerRowbudgetobjectmetadataPaginationMetadataErrors
400An argument failed schema validation. The message names the offending field and its allowed values.401The key is missing or not valid.403The key is valid but the user does not administer the requested community.404No campaign with that id is visible to this key.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_clipping_owner_submissions/execute \
-H "Authorization: Bearer $AIRAA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"args": {"projectCampaignId": "9c4e1d7a-2f38-4b6c-8e51-0d7a3f96b2c8","page": 1,"limit": 10,"sortBy": "views","sortOrder": "DESC"}}'const res = await fetch("https://app.airaa.xyz/api/ai/mcp/tools/get_clipping_owner_submissions/execute", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AIRAA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"args": {
"projectCampaignId": "9c4e1d7a-2f38-4b6c-8e51-0d7a3f96b2c8",
"page": 1,
"limit": 10,
"sortBy": "views",
"sortOrder": "DESC"
}
}),
});
const { result } = await res.json();import os
import requests
res = requests.post(
"https://app.airaa.xyz/api/ai/mcp/tools/get_clipping_owner_submissions/execute",
headers={"Authorization": f"Bearer {os.environ['AIRAA_API_KEY']}"},
json={
"args": {
"projectCampaignId": "9c4e1d7a-2f38-4b6c-8e51-0d7a3f96b2c8",
"page": 1,
"limit": 10,
"sortBy": "views",
"sortOrder": "DESC"
}
},
)
res.raise_for_status()
result = res.json()["result"]Response
{
"result": {
"rows": [
{
"submissionId": "e5b74a19-0c26-4d83-9f52-8a1c37e604b9",
"taskId": "4c9a2e78-5b13-4d60-8f27-1a94c6e03b52",
"platformId": "1a7d3f5b-8c92-4e06-b4a1-9f27d5c83e60",
"platformName": "X",
"platformSlug": "x",
"creatorUserId": "7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"creatorUsername": "rivertaylor_x",
"creatorPhotoUrl": "https://cdn.airaa.xyz/images/user-avatars/7e91b26c-4d05-48af-9b73-2c6f8e14a3d9",
"status": "DEMOGRAPHICS_DUE",
"submittedAt": "2026-08-03T09:42:45.710Z",
"expiresAt": "2099-12-31T23:59:59.999Z",
"rejectionReason": null,
"contentId": "a92f60d4-3e17-4b85-8c09-5d7e2a41f6b3",
"contentUrl": "https://x.com/rivertaylor_x/status/2084212353432994088",
"contentTitle": "Three days with the Lumen drop",
"thumbnailUrl": "https://imagedelivery.net/example/content-thumbnail/a92f60d4-3e17-4b85-8c09-5d7e2a41f6b3/public?format=webp",
"videoUrl": null,
"followersCount": 4820,
"commentCount": 14,
"estimatedPayout": "2.71",
"tokenReward": "0.00000000",
"auraPointsReward": "0.000000",
"engagement": {
"views": 1356,
"initialViews": 1,
"currentViews": 1357,
"deltaViews": 1356,
"likes": 212,
"comments": 14
},
"canLoadEngagementHistory": true,
"cumulativePaidAmount": "0.00000000",
"basePaidAmount": "0",
"bonusPaidAmount": "0",
"totalPaidAmount": "0",
"lastPaidAt": null,
"maxPayoutPerClip": 5,
"accruedUnpaid": "2.71",
"accruedBaseAmount": "2.71",
"accruedBonusAmount": "0.00",
"submissionActions": [
{
"actionType": "DEMOGRAPHICS_DUE",
"amount": null,
"viewsSnapshot": null,
"deltaViews": null,
"reason": null,
"createdAt": "2026-08-04T15:14:00.810Z"
},
{
"actionType": "FAILED",
"amount": null,
"viewsSnapshot": null,
"deltaViews": null,
"reason": "Doesn't meet requirements",
"createdAt": "2026-08-04T15:10:21.411Z"
},
{
"actionType": "PENDING",
"amount": null,
"viewsSnapshot": null,
"deltaViews": null,
"reason": null,
"createdAt": "2026-08-03T09:42:45.807Z"
}
],
"demographicsVideoUrl": null,
"demographicsReviewResult": null
}
],
"budget": {
"remainingPool": "62.400000",
"accruedUnpaid": "6.040000"
},
"metadata": {
"page": 1,
"limit": 10,
"totalItems": 8,
"totalPages": 1
}
}
}