Quadrillion blobs API

The blobs API from Quadrillion — 4 operation(s) for blobs.

OpenAPI Specification

quadrillion-blobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Quadrillion Cloud account blobs API
  description: Public cloud API service for cloud-safe backend endpoints
  version: 0.1.0
tags:
- name: blobs
paths:
  /blobs/upload:
    post:
      tags:
      - blobs
      summary: Upload Blob
      description: "Upload a file as a blob with streaming status updates.\n\nArgs:\n    file: The file to upload\n\nReturns:\n    Server-Sent Events stream with upload progress and final UUID"
      operationId: upload_blob_blobs_upload_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_blob_blobs_upload_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /blobs/{uuid_str}:
    get:
      tags:
      - blobs
      summary: Serve Blob
      description: 'Serve a blob (image) by UUID from the database.


        Requires an authenticated session. In cloud mode the caller''s user_id is

        derived from the request principal so the store scopes the lookup by owner

        and cross-tenant access is impossible even with a leaked blob UUID.'
      operationId: serve_blob_blobs__uuid_str__get
      parameters:
      - name: uuid_str
        in: path
        required: true
        schema:
          type: string
          title: Uuid Str
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /blobs/{uuid_str}/download:
    get:
      tags:
      - blobs
      summary: Download Blob
      description: 'Download a blob by UUID with proper filename.


        Requires an authenticated session; in cloud mode the lookup is scoped to

        the caller''s user_id.'
      operationId: download_blob_blobs__uuid_str__download_get
      parameters:
      - name: uuid_str
        in: path
        required: true
        schema:
          type: string
          title: Uuid Str
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /blobs/{uuid_str}/save-as-file:
    post:
      tags:
      - blobs
      summary: Save Blob As File
      description: Save a blob from storage as a file in the workspace.
      operationId: save_blob_as_file_blobs__uuid_str__save_as_file_post
      parameters:
      - name: uuid_str
        in: path
        required: true
        schema:
          type: string
          title: Uuid Str
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveBlobAsFileRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    SaveBlobAsFileRequest:
      properties:
        filename:
          type: string
          title: Filename
      type: object
      required:
      - filename
      title: SaveBlobAsFileRequest
    Body_upload_blob_blobs_upload_post:
      properties:
        file:
          type: string
          format: binary
          title: File
      type: object
      required:
      - file
      title: Body_upload_blob_blobs_upload_post
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError