openapi: 3.1.0 info: title: Robot rollout verifier Archive Ingest API version: 0.1.0 tags: - name: Ingest paths: /api/ingest: post: summary: Ingest Endpoint description: 'One live take from the phone: verify it and push it onto the feed. Blocks for the ~1-3s of frame sampling + h1 so the recorder sees the verdict in hand; the feed entry is appended BEFORE we return, so the big screen never depends on the phone''s connection surviving the response. Error results are fed too — a failed take should show on screen, not vanish silently.' operationId: ingest_endpoint_api_ingest_post requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/Body_ingest_endpoint_api_ingest_post' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Ingest components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Body_ingest_endpoint_api_ingest_post: properties: task: type: string title: Task session: type: string title: Session default: '' key: type: string title: Key default: '' files: anyOf: - items: type: string contentMediaType: application/octet-stream type: array - type: 'null' title: Files tokens: type: string title: Tokens type: object required: - task title: Body_ingest_endpoint_api_ingest_post 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