Submissions API

Review and manage content submissions for your requests

Get Submissions

GET /content-requests/{id}/submissions

Retrieve all submissions for a specific content request with file URLs and metadata.

Example Request

curl "https://opttab.com/api/v1/ai/content-requests/42/submissions?status=pending" \
  -H "X-API-Key: opttab_abc123..." \
  -H "X-API-Secret: your-secret-here"

Example Response

{
  "success": true,
  "data": [
    {
      "id": 15,
      "user_id": 789,
      "user_name": "Jane Smith",
      "content_type": "video",
      "file_paths": [
        "https://opttab.com/storage/content-submissions/42/video1.mp4"
      ],
      "description": "Beautiful sunset at Miami Beach",
      "metadata": {
        "duration": "45 seconds",
        "resolution": "1920x1080",
        "file_size": "25.3 MB"
      },
      "status": "pending",
      "submitted_at": "2025-10-15T18:30:00Z"
    }
  ]
}

Review Submission

POST /content-requests/{requestId}/submissions/{submissionId}/review

Accept or reject a content submission. Payment is automatically processed on acceptance.

Important: Payment is automatically deducted from your remaining budget when accepting. Creator receives 80%, platform retains 20%.

Parameters

  • action (required) - "accept" or "reject"
  • review_notes (optional) - Feedback for the creator

Example Request (Accept)

curl -X POST "https://opttab.com/api/v1/ai/content-requests/42/submissions/15/review" \
  -H "X-API-Key: opttab_abc123..." \
  -H "X-API-Secret: your-secret-here" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "accept",
    "review_notes": "Perfect quality! Exactly what we needed."
  }'

Example Response

{
  "success": true,
  "data": {
    "submission_id": 15,
    "status": "accepted",
    "payment_processed": true,
    "creator_earnings": 60.00,
    "platform_fee": 15.00,
    "total_payment": 75.00,
    "remaining_budget": 4925.00
  },
  "message": "Submission accepted and payment processed"
}

Payment Breakdown

When you accept a submission, payment is automatically split:

80%
Content Creator
20%
Platform Fee