openapi: 3.2.0 info: title: Decart Files API version: 1.0.0 description: 'Operations tagged Files across 2 of this provider''s published API definitions: decart-api-openapi-original.json, decart-platform-openapi-original.json. Each path carries the servers of the definition it was published in.' tags: - name: Files paths: /v1/files: post: summary: Upload File description: 'Upload a file once, get back a `file_*` reference id to reuse across generations. The same reference can be used in realtime `set_image { image_ref }` and (after PR2) in batch/queue endpoints via `data_ref` / `reference_image_ref` Form fields.' operationId: upload_file_v1_files_post parameters: - name: x-api-key in: header required: true schema: type: string description: API key for authentication title: X-Api-Key description: API key for authentication - name: User-Agent in: header required: false schema: anyOf: - type: string - type: 'null' title: User-Agent requestBody: required: true content: multipart/form-data: schema: $ref: '#/components/schemas/Body_upload_file_v1_files_post' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileReferenceResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Files /v1/files/{file_id}: get: summary: Get File Metadata description: Get metadata for an uploaded file. operationId: get_file_metadata_v1_files__file_id__get parameters: - name: file_id in: path required: true schema: type: string title: File Id - name: x-api-key in: header required: true schema: type: string description: API key for authentication title: X-Api-Key description: API key for authentication responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileReferenceResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Files delete: summary: Delete File description: Delete an uploaded file early (before TTL). operationId: delete_file_v1_files__file_id__delete parameters: - name: file_id in: path required: true schema: type: string title: File Id - name: x-api-key in: header required: true schema: type: string description: API key for authentication title: X-Api-Key description: API key for authentication responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Files components: schemas: FileReferenceResponse: properties: id: type: string title: Id filename: anyOf: - type: string - type: 'null' title: Filename mime_type: type: string title: Mime Type size_bytes: type: integer title: Size Bytes created_at: type: string format: date-time title: Created At expires_at: anyOf: - type: string format: date-time - type: 'null' title: Expires At type: object required: - id - filename - mime_type - size_bytes - created_at - expires_at title: FileReferenceResponse HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Body_upload_file_v1_files_post: properties: file: type: string contentMediaType: application/octet-stream title: File description: File to upload ttl_seconds: anyOf: - type: string - type: 'null' title: Ttl Seconds description: TTL in seconds (60..2_592_000), or "persistent" for no expiry. Omit for the platform default (24h). type: object required: - file title: Body_upload_file_v1_files_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 Body_upload_file_v1_files_post_2: properties: file: type: string contentMediaType: application/octet-stream format: binary title: File description: File to upload ttl_seconds: anyOf: - type: string - type: 'null' title: Ttl Seconds description: TTL in seconds (60..2_592_000), or "persistent" for no expiry. Omit for the platform default (24h). type: object required: - file title: Body_upload_file_v1_files_post x-refined-from: - decart-api-openapi-original.json - decart-platform-openapi-original.json