arazzo: 1.0.1 info: title: Classify a video with GumGum Contextual and retrieve the result version: 1.0.0 description: >- Submit a video asset to the GumGum Contextual API, poll the job until analysis completes, then retrieve the contextual, brand-safety and sentiment analysis. Generated by the API Evangelist enrichment pipeline on 2026-08-01; every operationId is verified against ../openapi/gumgum-contextual-api-openapi.yml. sourceDescriptions: - name: gumgumContextual url: ../openapi/gumgum-contextual-api-openapi.yml type: openapi workflows: - workflowId: classify-video-and-retrieve-result summary: Submit a video, wait for processing, and read the classification. description: >- GumGum Contextual video analysis is asynchronous. This workflow submits the asset, captures the service-generated uuid, polls the status endpoint until analysis is processed, and then fetches the completed classification. inputs: type: object required: - apiKey - videoUrl properties: apiKey: type: string description: GumGum-issued API key, sent as the X-api-key request header. videoUrl: type: string format: uri description: URL of the video asset to process. title: type: string description: Optional video title supplied by the client. partnerVideoId: type: string description: The client's own video identifier, echoed back for correlation. steps: - stepId: submitVideo description: Submit the video asset for classification. operationId: submitVideoClassification parameters: - name: X-api-key in: header value: $inputs.apiKey requestBody: contentType: application/json payload: url: $inputs.videoUrl title: $inputs.title partnerVideoId: $inputs.partnerVideoId successCriteria: - condition: $statusCode == 202 outputs: uuid: $response.body#/uuid acceptedAt: $response.body#/acceptedAt - stepId: pollStatus description: >- Poll the classification status until processing completes. A 404 here means results are not yet available, so retry on a bounded backoff before treating the uuid as invalid. operationId: getVideoClassificationStatus parameters: - name: X-api-key in: header value: $inputs.apiKey - name: uuid in: path value: $steps.submitVideo.outputs.uuid successCriteria: - condition: $statusCode == 200 outputs: status: $response.body#/status - stepId: getResult description: Retrieve the completed contextual and brand-safety analysis. operationId: getVideoClassification parameters: - name: X-api-key in: header value: $inputs.apiKey - name: uuid in: path value: $steps.submitVideo.outputs.uuid successCriteria: - condition: $statusCode == 200 outputs: verityData: $response.body#/verityData safe: $response.body#/verityData/safe processedAt: $response.body#/processedAt expiresAt: $response.body#/expiresAt outputs: uuid: $steps.submitVideo.outputs.uuid safe: $steps.getResult.outputs.safe verityData: $steps.getResult.outputs.verityData