openapi: 3.2.0 info: title: GPT Backend AI Campaign API version: 0.1.0 servers: - url: https://api.usepomo.ai description: Base URL declared by the provider in apis.yml (roadmap#122). tags: - name: ai-campaign paths: /api/ai-campaign/from-intelligence/job: post: tags: - ai-campaign summary: Start Ai Campaign From Intelligence Job description: Start an ai-campaign orchestration job from one normalized intelligence card. operationId: start_ai_campaign_from_intelligence_job_api_ai_campaign_from_intelligence_job_post requestBody: content: application/json: schema: $ref: '#/components/schemas/AICampaignFromIntelligenceRequest' required: true responses: '202': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/JobResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] /api/ai-campaign/from-intelligence/offering-suggestion: post: tags: - ai-campaign summary: Suggest Ai Campaign Offering From Intelligence description: Suggest the best product offering or main company target before full ai-campaign generation. operationId: suggest_ai_campaign_offering_from_intelligence_api_ai_campaign_from_intelligence_offering_suggestion_post requestBody: content: application/json: schema: $ref: '#/components/schemas/AICampaignFromIntelligenceRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AICampaignOfferingSuggestionResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError AICampaignTrendSourceExample: properties: title: type: string title: Title subtitle: anyOf: - type: string - type: 'null' title: Subtitle metric: anyOf: - type: string - type: 'null' title: Metric url: anyOf: - type: string - type: 'null' title: Url type: object required: - title title: AICampaignTrendSourceExample AICampaignReference: properties: title: type: string title: Title url: anyOf: - type: string - type: 'null' title: Url timestamp: anyOf: - type: string - type: 'null' title: Timestamp type: object required: - title title: AICampaignReference ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError AICampaignFromIntelligenceRequest: properties: source_type: type: string enum: - trend - social_summary - ads_winner - asset_set title: Source Type preferred_mode: type: string enum: - auto - ads_campaign - social_post_campaign title: Preferred Mode default: auto source_payload: $ref: '#/components/schemas/AICampaignSourcePayload' type: object required: - source_type - source_payload title: AICampaignFromIntelligenceRequest AICampaignRelevantProduct: properties: id: type: string title: Id name: type: string title: Name type: object required: - id - name title: AICampaignRelevantProduct AICampaignOfferingSuggestionResponse: properties: selected_offering_id: type: string title: Selected Offering Id selected_offering_reason: type: string title: Selected Offering Reason type: object required: - selected_offering_id - selected_offering_reason title: AICampaignOfferingSuggestionResponse AICampaignAssetReference: properties: id: anyOf: - type: string - type: 'null' title: Id gallery_id: anyOf: - type: string - type: 'null' title: Gallery Id title: anyOf: - type: string - type: 'null' title: Title description: anyOf: - type: string - type: 'null' title: Description media_url: type: string title: Media Url thumbnail_url: anyOf: - type: string - type: 'null' title: Thumbnail Url media_type: type: string enum: - image - video title: Media Type default: image category: anyOf: - type: string - type: 'null' title: Category source_type: anyOf: - type: string - type: 'null' title: Source Type tags: items: type: string type: array title: Tags width: anyOf: - type: integer - type: 'null' title: Width height: anyOf: - type: integer - type: 'null' title: Height duration: anyOf: - type: number - type: 'null' title: Duration type: object required: - media_url title: AICampaignAssetReference AICampaignSourcePayload: properties: title: type: string title: Title summary: anyOf: - type: string - type: 'null' title: Summary recommendation: anyOf: - type: string - type: 'null' title: Recommendation user_prompt: anyOf: - type: string - type: 'null' title: User Prompt platform: anyOf: - type: string - type: 'null' title: Platform confirmed_offering_id: anyOf: - type: string - type: 'null' title: Confirmed Offering Id locations: items: additionalProperties: true type: object type: array title: Locations raw_ids: additionalProperties: true type: object title: Raw Ids references: items: $ref: '#/components/schemas/AICampaignReference' type: array title: References relevant_products: items: $ref: '#/components/schemas/AICampaignRelevantProduct' type: array title: Relevant Products assets: items: $ref: '#/components/schemas/AICampaignAssetReference' type: array title: Assets trend_context: anyOf: - $ref: '#/components/schemas/AICampaignTrendContext' - type: 'null' social_context: anyOf: - additionalProperties: true type: object - type: 'null' title: Social Context type: object required: - title title: AICampaignSourcePayload AICampaignTrendContext: properties: trend_title: anyOf: - type: string - type: 'null' title: Trend Title platform: anyOf: - type: string - type: 'null' title: Platform analysis_summary: anyOf: - type: string - type: 'null' title: Analysis Summary priority_label: anyOf: - type: string - type: 'null' title: Priority Label trend_keywords: items: type: string type: array title: Trend Keywords supporting_keywords: items: type: string type: array title: Supporting Keywords signal_points: items: type: string type: array title: Signal Points recommendation_points: items: type: string type: array title: Recommendation Points relevant_product_names: items: type: string type: array title: Relevant Product Names source_examples: items: $ref: '#/components/schemas/AICampaignTrendSourceExample' type: array title: Source Examples type: object title: AICampaignTrendContext JobResponse: properties: job_id: type: string title: Job Id description: Unique job identifier status: type: string title: Status description: Initial job status (typically 'running') stream_url: type: string title: Stream Url description: SSE endpoint for real-time progress poll_url: type: string title: Poll Url description: HTTP endpoint for polling status type: object required: - job_id - status - stream_url - poll_url title: JobResponse description: Response after submitting a job example: job_id: 987fcdeb-51a2-43f7-9876-543210987654 poll_url: /api/chat/agentic/jobs/987fcdeb-51a2-43f7-9876-543210987654 status: running stream_url: /api/chat/agentic/jobs/987fcdeb-51a2-43f7-9876-543210987654/stream securitySchemes: HTTPBearer: type: http scheme: bearer