openapi: 3.2.0 info: title: External Content optimization API version: 6551bd49db665ffb7f80780b3e150b8e8b780cc3 servers: - url: https://api.tryprofound.com description: Production Server tags: - name: Content optimization paths: /v1/content/{asset_id}/optimization: get: tags: - Content optimization summary: Optimization List operationId: optimization_list_v1_content__asset_id__optimization_get security: - APIKeyHeader: [] - BearerAuth: [] parameters: - name: asset_id in: path required: true schema: type: string format: uuid title: Asset Id - name: limit in: query required: false schema: type: integer maximum: 50000 exclusiveMinimum: 0 description: Maximum number of results to return default: 10000 title: Limit description: Maximum number of results to return - name: offset in: query required: false schema: type: integer minimum: 0 description: Offset for pagination default: 0 title: Offset description: Offset for pagination responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ContentOptimizationResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/content/{asset_id}/optimization/{content_id}: get: tags: - Content optimization summary: Optimization Analysis operationId: optimization_analysis_v1_content__asset_id__optimization__content_id__get security: - APIKeyHeader: [] - BearerAuth: [] parameters: - name: asset_id in: path required: true schema: type: string format: uuid title: Asset Id - name: content_id in: path required: true schema: type: string format: uuid title: Content Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ContentOptimizationAnalysisResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ContentType: type: string enum: - file - text - url title: ContentType RecommendationStatus: type: string enum: - done - pending title: RecommendationStatus TopicInput: properties: id: type: string format: uuid title: Id name: type: string title: Name type: object required: - id - name title: TopicInput Recommendation: properties: title: type: string title: Title status: $ref: '#/components/schemas/RecommendationStatus' impact: anyOf: - $ref: '#/components/schemas/RecommendationImpact' - type: 'null' suggestion: $ref: '#/components/schemas/RecommendationSuggestion' type: object required: - title - status - impact - suggestion title: Recommendation PromptInput: properties: id: type: string format: uuid title: Id name: type: string title: Name type: object required: - id - name title: PromptInput ContentOptimizationResponse: properties: info: $ref: '#/components/schemas/ContentOptimizationResponseInfo' data: items: $ref: '#/components/schemas/ContentOptimization' type: array title: Data type: object required: - info - data title: ContentOptimizationResponse ContentAnalysis: properties: content: $ref: '#/components/schemas/DocumentContent' aeo_content_score: anyOf: - $ref: '#/components/schemas/AEOScore' - type: 'null' analysis: $ref: '#/components/schemas/AnalysisSummary' recommendations: items: $ref: '#/components/schemas/Recommendation' type: array title: Recommendations inputs: $ref: '#/components/schemas/AnalysisInputs' type: object required: - content - aeo_content_score - analysis - recommendations - inputs title: ContentAnalysis AnalysisBreakdown: properties: title: type: string title: Title weight: type: number title: Weight score: type: number title: Score type: object required: - title - weight - score title: AnalysisBreakdown DocumentContent: properties: format: $ref: '#/components/schemas/ContentFormat' value: type: string title: Value type: object required: - format - value title: DocumentContent ContentOptimization: properties: id: type: string format: uuid title: Id title: type: string title: Title created_at: type: string format: date-time title: Created At extracted_input: anyOf: - type: string - type: 'null' title: Extracted Input type: $ref: '#/components/schemas/ContentType' status: type: string title: Status type: object required: - id - title - created_at - extracted_input - type - status title: ContentOptimization ContentOptimizationAnalysisResponse: properties: data: $ref: '#/components/schemas/ContentAnalysis' type: object required: - data title: ContentOptimizationAnalysisResponse AEOScoreTargetZone: properties: low: type: number title: Low high: type: number title: High type: object required: - low - high title: AEOScoreTargetZone RecommendationSuggestion: properties: text: type: string title: Text rationale: type: string title: Rationale type: object required: - text - rationale title: RecommendationSuggestion 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 RecommendationImpact: properties: section: type: string title: Section score: type: number title: Score type: object required: - section - score title: RecommendationImpact AnalysisSummary: properties: breakdown: items: $ref: '#/components/schemas/AnalysisBreakdown' type: array title: Breakdown type: object required: - breakdown title: AnalysisSummary AnalysisInputs: properties: topic: anyOf: - $ref: '#/components/schemas/TopicInput' - type: 'null' prompt: anyOf: - $ref: '#/components/schemas/PromptInput' - type: 'null' top_citations: items: type: string type: array title: Top Citations user: $ref: '#/components/schemas/UserInput' type: object required: - topic - prompt - top_citations - user title: AnalysisInputs Pagination: properties: limit: type: integer maximum: 50000.0 exclusiveMinimum: 0.0 title: Limit description: Maximum number of results to return. Default is 10,000, maximum is 50,000. default: 10000 offset: type: integer minimum: 0.0 title: Offset description: Offset for the results. Used for pagination. default: 0 type: object title: Pagination description: Offset-based pagination parameters. AEOScore: properties: target_zone: $ref: '#/components/schemas/AEOScoreTargetZone' value: type: number title: Value type: object required: - target_zone - value title: AEOScore UserInput: properties: type: $ref: '#/components/schemas/ContentType' value: type: string title: Value metadata: additionalProperties: anyOf: - type: integer - type: string type: object title: Metadata type: object required: - type - value - metadata title: UserInput ContentFormat: type: string enum: - markdown - html title: ContentFormat OptimizationQuery: properties: asset_id: type: string format: uuid title: Asset Id pagination: $ref: '#/components/schemas/Pagination' description: Pagination parameters for the results. Default is 10,000 rows with no offset. type: object required: - asset_id title: OptimizationQuery ContentOptimizationResponseInfo: properties: total_rows: type: integer title: Total Rows query: $ref: '#/components/schemas/OptimizationQuery' type: object required: - total_rows - query title: ContentOptimizationResponseInfo securitySchemes: APIKeyHeader: type: apiKey in: header name: X-API-Key BearerAuth: type: http scheme: bearer