openapi: 3.1.0 info: title: Reducto Upload API version: 1.0.0 description: Upload files directly to Reducto storage and receive a reducto://upload reference usable across the platform. contact: name: Reducto Support email: support@reducto.ai url: https://reducto.ai/contact license: name: Reducto Terms of Service url: https://reducto.ai/terms servers: - url: https://platform.reducto.ai description: Reducto production platform security: - SkippableHTTPBearer: [] tags: - name: Upload paths: /upload: post: summary: Upload operationId: upload_upload_post security: - SkippableHTTPBearer: [] parameters: - name: extension in: query required: false schema: anyOf: - type: string - type: 'null' title: Extension - name: user-id in: header required: false schema: anyOf: - type: string - type: 'null' title: User-Id requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/Body_upload_upload_post' application/json: schema: $ref: '#/components/schemas/Body_upload_upload_post' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UploadResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Upload components: schemas: UploadResponse: properties: file_id: type: string title: File Id presigned_url: anyOf: - type: string - type: 'null' title: Presigned Url type: object required: - file_id 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 HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Body_upload_upload_post: properties: file: anyOf: - type: string format: binary - type: string - type: 'null' title: File type: object title: Body_upload_upload_post securitySchemes: SkippableHTTPBearer: type: http scheme: bearer