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.

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>.

get_campaign_submissions

List submissions by creator

POST/api/ai/mcp/tools/get_campaign_submissions/execute

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

projectCampaignIdstringrequired

A 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.

pageinteger

Page number, 1-indexed.

min 1 · defaults to 1
limitinteger

Items per page, 1 to 100.

1 to 100 · defaults to 10
sortByenum | null
smart_followersfollowerscreated_at
sortOrderenum | null
ASCDESC
statusByenum | null

Filter by submission status.

PENDINGAPPROVEDFAILEDPAIDMILESTONE_BONUS_PAIDDEMOGRAPHICS_DUEDEMOGRAPHICS_REVIEW
userIdstring | null

Filter to a single creator.

Returns

Fields inside result.

submissionsarray of CreatorSubmission
metadataPaginationMetadata
campaignTypeCampaignType
clippingugcsocial

Errors

  • 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}}'

Response

200
{
  "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

POST/api/ai/mcp/tools/get_clipping_owner_submissions/execute

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

projectCampaignIdstringrequired

A 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.

pageinteger

Page number, 1-indexed.

min 1 · defaults to 1
limitinteger

Items per page, 1 to 100.

1 to 100 · defaults to 10
platformIdstring | null

Filter to one platform. Read valid ids from supportedPlatforms on get_clipping_campaign_detail.

statusByenum | null

Filter by submission status.

PENDINGAPPROVEDFAILEDPAIDMILESTONE_BONUS_PAIDDEMOGRAPHICS_DUEDEMOGRAPHICS_REVIEW
sortByenum | null
viewslikescreated_at
sortOrderenum | null
ASCDESC

Returns

Fields inside result.

rowsarray of ClippingOwnerRow
budgetobject
metadataPaginationMetadata

Errors

  • 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"}}'

Response

200
{
  "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
    }
  }
}