{"openapi":"3.1.0","info":{"title":"The Brief House Partner API","description":"Partner Gateway API for The Brief House. All partner endpoints require a bearer token minted from an API key or a valid partner access token.","version":"1.0.0"},"servers":[{"url":"https://api.thebriefhouse.com","description":"Production"}],"paths":{"/v1/health":{"get":{"summary":"Health","description":"Service health and version.","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/me":{"get":{"summary":"Me","description":"Return the authenticated principal.","operationId":"me_v1_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Me V1 Me Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/reference/enums":{"get":{"tags":["Platform"],"summary":"Reference enums","description":"Return the canonical enum values used by the API.","operationId":"reference_enums_v1_reference_enums_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceEnums"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/notifications":{"get":{"tags":["Platform"],"summary":"List notifications","operationId":"list_notifications_v1_notifications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"unread_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Unread Only"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Notifications V1 Notifications Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/notifications/{notification_id}/read":{"patch":{"tags":["Platform"],"summary":"Mark notification as read","operationId":"mark_notification_read_v1_notifications__notification_id__read_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/notifications/{notification_id}":{"delete":{"tags":["Platform"],"summary":"Delete notification","operationId":"delete_notification_v1_notifications__notification_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/uploads":{"post":{"tags":["Platform"],"summary":"Request a presigned upload URL","description":"Returns a short-lived URL the client PUTs media to, plus the final asset URL.","operationId":"request_upload_v1_uploads_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/storage/signed-url":{"post":{"tags":["Platform"],"summary":"Generate a signed URL for a private storage object","operationId":"create_signed_url_v1_storage_signed_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedUrlRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/storage/files":{"delete":{"tags":["Platform"],"summary":"Delete a file from storage","operationId":"delete_file_v1_storage_files_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFileRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/webhooks":{"get":{"tags":["Platform"],"summary":"List webhooks","operationId":"list_webhooks_v1_webhooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Webhooks V1 Webhooks Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Platform"],"summary":"Register webhook","description":"Subscribe to outbound webhook events.","operationId":"create_webhook_v1_webhooks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/webhooks/{webhook_id}":{"delete":{"tags":["Platform"],"summary":"Delete webhook","operationId":"delete_webhook_v1_webhooks__webhook_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns":{"get":{"tags":["Campaigns"],"summary":"List campaigns","description":"List campaigns the authenticated principal can access.","operationId":"list_campaigns_v1_campaigns_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Campaigns V1 Campaigns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Campaigns"],"summary":"Create a campaign","operationId":"create_campaign_v1_campaigns_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Campaign"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns/{campaign_id}":{"get":{"tags":["Campaigns"],"summary":"Get campaign details","operationId":"get_campaign_v1_campaigns__campaign_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Campaign"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Campaigns"],"summary":"Update campaign","operationId":"update_campaign_v1_campaigns__campaign_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Campaign"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Campaigns"],"summary":"Delete campaign","operationId":"delete_campaign_v1_campaigns__campaign_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns/{campaign_id}/actions":{"post":{"tags":["Campaigns"],"summary":"Campaign lifecycle actions","description":"Publish, pause, complete, or cancel a campaign.","operationId":"campaign_action_v1_campaigns__campaign_id__actions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Campaign"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns/{campaign_id}/brief/generate":{"post":{"tags":["Campaigns"],"summary":"Generate AI brief","description":"Download the brand document and forward it to the AI service for brief generation.","operationId":"generate_brief_v1_campaigns__campaign_id__brief_generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefGenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns/{campaign_id}/brief":{"get":{"tags":["Campaigns"],"summary":"Get campaign brief","operationId":"get_brief_v1_campaigns__campaign_id__brief_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignBriefResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns/{campaign_id}/applications":{"get":{"tags":["Campaigns"],"summary":"List applications for a campaign","operationId":"list_campaign_applications_v1_campaigns__campaign_id__applications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Campaign Applications V1 Campaigns  Campaign Id  Applications Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications":{"get":{"tags":["Applications"],"summary":"List applications","description":"List applications for the authenticated influencer or brand.","operationId":"list_applications_v1_applications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Applications V1 Applications Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/{application_id}":{"get":{"tags":["Applications"],"summary":"Get application details","operationId":"get_application_v1_applications__application_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/campaigns/{campaign_id}/apply":{"post":{"tags":["Applications"],"summary":"Apply to a campaign","operationId":"apply_to_campaign_v1_applications_campaigns__campaign_id__apply_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/{application_id}/actions":{"post":{"tags":["Applications"],"summary":"Application actions","description":"Approve, reject, accept, decline, or withdraw an application.","operationId":"application_action_v1_applications__application_id__actions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","title":"Application Id"}},{"name":"action","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ApplicationAction"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/campaigns/{campaign_id}/invite":{"post":{"tags":["Applications"],"summary":"Invite an influencer","operationId":"invite_influencer_v1_applications_campaigns__campaign_id__invite_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions":{"get":{"tags":["Submissions"],"summary":"List submissions","description":"List submissions for the authenticated influencer or brand.","operationId":"list_submissions_v1_submissions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Submissions V1 Submissions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/{submission_id}":{"get":{"tags":["Submissions"],"summary":"Get submission details","operationId":"get_submission_v1_submissions__submission_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/campaigns/{campaign_id}":{"post":{"tags":["Submissions"],"summary":"Submit content for a campaign","operationId":"create_submission_v1_submissions_campaigns__campaign_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/{submission_id}/decisions":{"post":{"tags":["Submissions"],"summary":"Review or decide on a submission","description":"Approve, reject, or request revision for a submission.","operationId":"decide_on_submission_v1_submissions__submission_id__decisions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}},{"name":"decision","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SubmissionDecision"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionDecisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/{submission_id}/resubmit":{"post":{"tags":["Submissions"],"summary":"Resubmit revised content","operationId":"resubmit_v1_submissions__submission_id__resubmit_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/{submission_id}/feedback":{"get":{"tags":["Submissions"],"summary":"List feedback messages","operationId":"list_feedback_v1_submissions__submission_id__feedback_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Feedback V1 Submissions  Submission Id  Feedback Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Submissions"],"summary":"Add feedback message","operationId":"add_feedback_v1_submissions__submission_id__feedback_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackMessage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/{submission_id}/assessment":{"get":{"tags":["Submissions"],"summary":"Get AI assessment","operationId":"get_assessment_v1_submissions__submission_id__assessment_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Assessment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/submissions/{submission_id}/feedback/unread-count":{"get":{"tags":["Submissions"],"summary":"Unread feedback count","operationId":"feedback_unread_count_v1_submissions__submission_id__feedback_unread_count_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackUnreadCount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/influencers":{"get":{"tags":["Influencers"],"summary":"List influencers","description":"List public influencer profiles.","operationId":"list_influencers_v1_influencers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Influencers V1 Influencers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/influencers/{influencer_id}":{"get":{"tags":["Influencers"],"summary":"Get influencer profile","operationId":"get_influencer_v1_influencers__influencer_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"influencer_id","in":"path","required":true,"schema":{"type":"string","title":"Influencer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluencerProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/brands/{brand_id}":{"get":{"tags":["Influencers"],"summary":"Get brand profile","operationId":"get_brand_v1_brands__brand_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brand_id","in":"path","required":true,"schema":{"type":"string","title":"Brand Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/opportunities":{"get":{"tags":["Influencers"],"summary":"List open campaign opportunities","operationId":"list_opportunities_v1_opportunities_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Opportunities V1 Opportunities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/campaigns/{campaign_id}":{"get":{"tags":["Analytics"],"summary":"Campaign analytics","operationId":"campaign_analytics_v1_analytics_campaigns__campaign_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignAnalytics"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/brands/me":{"get":{"tags":["Analytics"],"summary":"Brand analytics","operationId":"brand_analytics_v1_analytics_brands_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandCampaignStats"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/analytics/influencers/me":{"get":{"tags":["Analytics"],"summary":"Influencer dashboard analytics","operationId":"influencer_dashboard_v1_analytics_influencers_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluencerDashboardStats"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/analytics/influencers/me/performance":{"get":{"tags":["Analytics"],"summary":"Influencer performance","operationId":"influencer_performance_v1_analytics_influencers_me_performance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluencerPerformance"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/admin/brands":{"post":{"tags":["Admin"],"summary":"Create a brand account","description":"Create a Supabase auth user, a public users row, and brand_details.","operationId":"create_brand_v1_admin_brands_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Brand V1 Admin Brands Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Admin"],"summary":"List all brand accounts","operationId":"list_all_brands_v1_admin_brands_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List All Brands V1 Admin Brands Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/influencers":{"post":{"tags":["Admin"],"summary":"Import an influencer account","description":"Create a Supabase auth user, a public users row, and influencer_details.","operationId":"import_influencer_v1_admin_influencers_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Import Influencer V1 Admin Influencers Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Admin"],"summary":"List all influencer accounts","operationId":"list_all_influencers_v1_admin_influencers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List All Influencers V1 Admin Influencers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/campaigns":{"post":{"tags":["Admin"],"summary":"Create a campaign for any brand","operationId":"create_campaign_for_brand_v1_admin_campaigns_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brand_id","in":"query","required":true,"schema":{"type":"string","description":"Brand user ID","title":"Brand Id"},"description":"Brand user ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Campaign For Brand V1 Admin Campaigns Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Admin"],"summary":"List all campaigns","operationId":"list_all_campaigns_v1_admin_campaigns_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List All Campaigns V1 Admin Campaigns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/metrics":{"get":{"tags":["Admin"],"summary":"System-wide metrics","operationId":"get_system_metrics_v1_admin_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get System Metrics V1 Admin Metrics Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/admin/api-clients":{"post":{"tags":["Admin"],"summary":"Create an API client for a principal","description":"Create a new API client scoped to a brand or influencer user.","operationId":"create_api_client_v1_admin_api_clients_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiClientCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiClient"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Admin"],"summary":"List API clients","description":"List all registered API clients with pagination.","operationId":"list_api_clients_v1_admin_api_clients_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Api Clients V1 Admin Api Clients Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/api-clients/{client_id}/keys":{"post":{"tags":["Admin"],"summary":"Create an API key for a client","description":"Generate and return a new API key. The full key is shown only once.","operationId":"create_api_key_v1_admin_api_clients__client_id__keys_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Admin"],"summary":"List API keys for a client","description":"List API keys for a client (without revealing secrets).","operationId":"list_api_keys_v1_admin_api_clients__client_id__keys_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Api Keys V1 Admin Api Clients  Client Id  Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/api-clients/{client_id}/keys/{key_id}":{"delete":{"tags":["Admin"],"summary":"Revoke an API key","description":"Revoke an API key by setting revoked_at to now().","operationId":"revoke_api_key_v1_admin_api_clients__client_id__keys__key_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ApiClient":{"properties":{"id":{"type":"string","title":"Id"},"principal_id":{"type":"string","title":"Principal Id"},"principal_type":{"type":"string","title":"Principal Type"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"tier":{"type":"string","title":"Tier"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","principal_id","principal_type","scopes","tier","created_at","updated_at"],"title":"ApiClient"},"ApiClientCreate":{"properties":{"principal_id":{"type":"string","title":"Principal Id"},"principal_type":{"$ref":"#/components/schemas/PrincipalType"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"tier":{"$ref":"#/components/schemas/ApiClientTier","default":"basic"}},"type":"object","required":["principal_id","principal_type"],"title":"ApiClientCreate"},"ApiClientTier":{"type":"string","enum":["basic","advanced","admin"],"title":"ApiClientTier"},"ApiKeyCreateResponse":{"properties":{"id":{"type":"string","title":"Id"},"key_prefix":{"type":"string","title":"Key Prefix"},"key":{"type":"string","title":"Key","description":"The full API key. Shown only once at creation."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","key_prefix","key","scopes","created_at"],"title":"ApiKeyCreateResponse"},"Application":{"properties":{"id":{"type":"string","title":"Id"},"campaign_id":{"type":"string","title":"Campaign Id"},"influencer_id":{"type":"string","title":"Influencer Id"},"application_type":{"$ref":"#/components/schemas/ApplicationType"},"application_status":{"$ref":"#/components/schemas/ApplicationStatus"},"current_stage":{"$ref":"#/components/schemas/EnrollmentStage"},"application_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Application Message"},"proposed_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposed Content"},"proposed_payment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Proposed Payment"},"quiz_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Quiz Completed"},"quiz_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quiz Score"},"rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejection Reason"},"reviewed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","campaign_id","influencer_id","application_type","application_status","current_stage","created_at"],"title":"Application"},"ApplicationAction":{"type":"string","enum":["approve","reject","accept","decline","withdraw"],"title":"ApplicationAction"},"ApplicationActionRequest":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","title":"ApplicationActionRequest"},"ApplicationCreate":{"properties":{"application_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Application Message"},"proposed_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposed Content"},"proposed_payment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Proposed Payment"}},"type":"object","title":"ApplicationCreate"},"ApplicationStatus":{"type":"string","enum":["pending","approved","rejected"],"title":"ApplicationStatus"},"ApplicationType":{"type":"string","enum":["applied","invited"],"title":"ApplicationType"},"Assessment":{"properties":{"id":{"type":"string","title":"Id"},"submission_id":{"type":"string","title":"Submission Id"},"assessment_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assessment Version"},"overall_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overall Score"},"brand_alignment_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Brand Alignment Score"},"content_quality_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Content Quality Score"},"checklist_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Checklist Score"},"engagement_potential_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Engagement Potential Score"},"checklist_results":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Checklist Results"},"feedback_table":{"anyOf":[{"items":{"$ref":"#/components/schemas/FeedbackTableRow"},"type":"array"},{"type":"null"}],"title":"Feedback Table"},"recommendations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recommendations"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"assessed_at":{"type":"string","format":"date-time","title":"Assessed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","submission_id","assessed_at","created_at"],"title":"Assessment"},"BrandCampaignStats":{"properties":{"total_campaigns":{"type":"integer","title":"Total Campaigns"},"total_budget":{"type":"number","title":"Total Budget"},"total_spent":{"type":"number","title":"Total Spent"},"total_enrollments":{"type":"integer","title":"Total Enrollments"},"total_submissions":{"type":"integer","title":"Total Submissions"}},"type":"object","required":["total_campaigns","total_budget","total_spent","total_enrollments","total_submissions"],"title":"BrandCampaignStats"},"BrandProfile":{"properties":{"id":{"type":"string","title":"Id"},"company_name":{"type":"string","title":"Company Name"},"company_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Description"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"company_size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Size"},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website Url"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"cover_photo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Photo Url"}},"type":"object","required":["id","company_name"],"title":"BrandProfile"},"BriefGenerateRequest":{"properties":{"document_url":{"type":"string","title":"Document Url"},"generate_videos":{"type":"boolean","title":"Generate Videos","default":false},"video_sections":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Video Sections"}},"type":"object","required":["document_url"],"title":"BriefGenerateRequest"},"Campaign":{"properties":{"id":{"type":"string","title":"Id"},"campaign_name":{"type":"string","title":"Campaign Name"},"campaign_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Description"},"campaign_objectives":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Objectives"},"campaign_type":{"$ref":"#/components/schemas/CampaignType"},"campaign_status":{"$ref":"#/components/schemas/CampaignStatus"},"brand_id":{"type":"string","title":"Brand Id"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Budget"},"payment_per_video":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Payment Per Video"},"max_influencers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Influencers"},"current_influencer_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Influencer Count"},"application_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Application Deadline"},"content_deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Content Deadline"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Hashtags"},"mention_requirements":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mention Requirements"},"brief_blocks":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Brief Blocks"},"target_audience":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Target Audience"},"content_requirements":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Content Requirements"},"deliverable_specs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliverable Specs"},"ai_brief_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Brief Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","campaign_name","campaign_type","campaign_status","brand_id","created_at","updated_at"],"title":"Campaign"},"CampaignActionRequest":{"properties":{"action":{"type":"string","title":"Action"}},"type":"object","required":["action"],"title":"CampaignActionRequest"},"CampaignAnalytics":{"properties":{"total_enrollments":{"type":"integer","title":"Total Enrollments"},"total_submissions":{"type":"integer","title":"Total Submissions"},"total_budget":{"type":"number","title":"Total Budget"}},"type":"object","required":["total_enrollments","total_submissions","total_budget"],"title":"CampaignAnalytics"},"CampaignBriefResponse":{"properties":{"ai_brief_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Brief Status"},"brief_blocks":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Brief Blocks"}},"type":"object","title":"CampaignBriefResponse"},"CampaignCreate":{"properties":{"campaign_name":{"type":"string","title":"Campaign Name"},"campaign_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Description"},"campaign_objectives":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Objectives"},"campaign_type":{"$ref":"#/components/schemas/CampaignType"},"target_audience":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Target Audience"},"content_requirements":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Content Requirements"},"deliverable_specs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliverable Specs"},"budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Budget"},"payment_per_video":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Payment Per Video"},"max_influencers":{"type":"integer","title":"Max Influencers"},"application_deadline":{"type":"string","format":"date-time","title":"Application Deadline"},"content_deadline":{"type":"string","format":"date-time","title":"Content Deadline"},"is_public":{"type":"boolean","title":"Is Public"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Hashtags"},"mention_requirements":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mention Requirements"}},"type":"object","required":["campaign_name","campaign_type","max_influencers","application_deadline","content_deadline","is_public"],"title":"CampaignCreate"},"CampaignStatus":{"type":"string","enum":["draft","active","paused","completed","cancelled"],"title":"CampaignStatus"},"CampaignType":{"type":"string","enum":["ugc","sponsored","affiliate","ambassador","review"],"title":"CampaignType"},"DeleteFileRequest":{"properties":{"bucket":{"type":"string","title":"Bucket"},"path":{"type":"string","title":"Path"}},"type":"object","required":["bucket","path"],"title":"DeleteFileRequest"},"EnrollmentStage":{"type":"string","enum":["applied","quiz_required","quiz_passed","checklist_required","checklist_completed","content_creation","submitted","completed"],"title":"EnrollmentStage"},"FeedbackCreate":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"FeedbackCreate"},"FeedbackMessage":{"properties":{"id":{"type":"string","title":"Id"},"submission_id":{"type":"string","title":"Submission Id"},"sender_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Id"},"sender_type":{"$ref":"#/components/schemas/SenderType"},"message":{"type":"string","title":"Message"},"is_read":{"type":"boolean","title":"Is Read"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"sender":{"anyOf":[{"$ref":"#/components/schemas/FeedbackSender"},{"type":"null"}]}},"type":"object","required":["id","submission_id","sender_type","message","is_read","created_at"],"title":"FeedbackMessage"},"FeedbackSender":{"properties":{"id":{"type":"string","title":"Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"profile_picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Picture"}},"type":"object","required":["id"],"title":"FeedbackSender"},"FeedbackTableRow":{"properties":{"severity":{"type":"string","title":"Severity"},"what_failed":{"type":"string","title":"What Failed"},"recommendation":{"type":"string","title":"Recommendation"}},"type":"object","required":["severity","what_failed","recommendation"],"title":"FeedbackTableRow"},"FeedbackUnreadCount":{"properties":{"count":{"type":"integer","title":"Count"}},"type":"object","required":["count"],"title":"FeedbackUnreadCount"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"version":{"type":"string","title":"Version"}},"type":"object","required":["status","version"],"title":"HealthResponse"},"InfluencerDashboardStats":{"properties":{"total_campaigns":{"type":"integer","title":"Total Campaigns"},"total_earnings":{"type":"number","title":"Total Earnings"},"total_submissions":{"type":"integer","title":"Total Submissions"}},"type":"object","required":["total_campaigns","total_earnings","total_submissions"],"title":"InfluencerDashboardStats"},"InfluencerPerformance":{"properties":{"total_submissions":{"type":"integer","title":"Total Submissions"},"approved_submissions":{"type":"integer","title":"Approved Submissions"},"revision_requested_submissions":{"type":"integer","title":"Revision Requested Submissions"},"total_earnings":{"type":"number","title":"Total Earnings"},"average_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Score"}},"type":"object","required":["total_submissions","approved_submissions","revision_requested_submissions","total_earnings"],"title":"InfluencerPerformance"},"InfluencerProfile":{"properties":{"id":{"type":"string","title":"Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"niche":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Niche"},"languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Languages"},"follower_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Follower Count"},"engagement_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Engagement Rate"},"preferred_categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preferred Categories"},"portfolio_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Portfolio Urls"},"instagram_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Handle"},"tiktok_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok Handle"},"youtube_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Youtube Handle"},"x_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X Handle"}},"type":"object","required":["id"],"title":"InfluencerProfile"},"InvitationCreate":{"properties":{"influencer_id":{"type":"string","title":"Influencer Id"},"proposed_payment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Proposed Payment"}},"type":"object","required":["influencer_id"],"title":"InvitationCreate"},"Job":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"$ref":"#/components/schemas/JobStatus"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"type":"string","title":"Resource Id"}},"type":"object","required":["job_id","status","resource_type","resource_id"],"title":"Job"},"JobStatus":{"type":"string","enum":["queued","processing","completed","failed"],"title":"JobStatus"},"Notification":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"message":{"type":"string","title":"Message"},"notification_type":{"type":"string","title":"Notification Type"},"action_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Url"},"is_read":{"type":"boolean","title":"Is Read"},"sent_at":{"type":"string","format":"date-time","title":"Sent At"}},"type":"object","required":["id","title","message","notification_type","is_read","sent_at"],"title":"Notification"},"PrincipalType":{"type":"string","enum":["brand","influencer"],"title":"PrincipalType"},"ReferenceEnums":{"properties":{"campaign_type":{"items":{"type":"string"},"type":"array","title":"Campaign Type"},"campaign_status":{"items":{"type":"string"},"type":"array","title":"Campaign Status"},"application_status":{"items":{"type":"string"},"type":"array","title":"Application Status"},"enrollment_stage":{"items":{"type":"string"},"type":"array","title":"Enrollment Stage"},"submission_status":{"items":{"type":"string"},"type":"array","title":"Submission Status"}},"type":"object","required":["campaign_type","campaign_status","application_status","enrollment_stage","submission_status"],"title":"ReferenceEnums"},"SenderType":{"type":"string","enum":["brand","influencer","admin","ai"],"title":"SenderType"},"SignedUrlRequest":{"properties":{"bucket":{"type":"string","title":"Bucket"},"path":{"type":"string","title":"Path"},"expires_in":{"type":"integer","minimum":60.0,"title":"Expires In","default":3600}},"type":"object","required":["bucket","path"],"title":"SignedUrlRequest"},"SignedUrlResponse":{"properties":{"signed_url":{"type":"string","title":"Signed Url"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["signed_url","expires_in"],"title":"SignedUrlResponse"},"Submission":{"properties":{"id":{"type":"string","title":"Id"},"campaign_id":{"type":"string","title":"Campaign Id"},"influencer_id":{"type":"string","title":"Influencer Id"},"original_submission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Submission Id"},"video_url":{"type":"string","title":"Video Url"},"video_thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Thumbnail"},"video_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Video Duration"},"video_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Format"},"video_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Size"},"captions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Captions"},"submission_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submission Notes"},"submission_status":{"$ref":"#/components/schemas/SubmissionStatus"},"is_resubmission":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Resubmission"},"revision_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revision Notes"},"submitted_at":{"type":"string","format":"date-time","title":"Submitted At"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"assessment":{"anyOf":[{"$ref":"#/components/schemas/Assessment"},{"type":"null"}]}},"type":"object","required":["id","campaign_id","influencer_id","video_url","submission_status","submitted_at"],"title":"Submission"},"SubmissionCreate":{"properties":{"video_url":{"type":"string","title":"Video Url"},"video_thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Thumbnail"},"video_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Video Duration"},"video_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Format"},"video_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Size"},"captions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Captions"},"submission_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submission Notes"}},"type":"object","required":["video_url"],"title":"SubmissionCreate"},"SubmissionDecision":{"type":"string","enum":["approve","reject","request-revision"],"title":"SubmissionDecision"},"SubmissionDecisionRequest":{"properties":{"revision_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revision Notes"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","title":"SubmissionDecisionRequest"},"SubmissionStatus":{"type":"string","enum":["submitted","approved","rejected","revision_requested"],"title":"SubmissionStatus"},"UploadKind":{"type":"string","enum":["video","thumbnail","profile_picture","brand_asset"],"title":"UploadKind"},"UploadRequest":{"properties":{"kind":{"$ref":"#/components/schemas/UploadKind"},"content_type":{"type":"string","title":"Content Type"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"}},"type":"object","required":["kind","content_type"],"title":"UploadRequest"},"UploadResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"asset_url":{"type":"string","title":"Asset Url"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["upload_url","asset_url","expires_in"],"title":"UploadResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Webhook":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret","description":"Shown once at creation; used to verify signatures."}},"type":"object","required":["id","url","events"],"title":"Webhook"},"WebhookCreate":{"properties":{"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"}},"type":"object","required":["url","events"],"title":"WebhookCreate"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}