SandboxAQ Client Storage API

The client-storage API from SandboxAQ — 4 operation(s) for client-storage.

OpenAPI Specification

sandboxaq-client-storage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: Flint AI Platform API
  license:
    name: Flint AI
    url: https://www.sandboxaq.com/legal/eula
  title: Flint AI Platform Client Storage API
  version: 1.0.0
servers:
- description: Flint AI Platform (per-tenant instance)
  url: https://{instance}.flintai.dev/api/v1
  variables:
    instance:
      default: your-instance
      description: Your Flint AI instance subdomain
tags:
- name: client-storage
paths:
  /client-storage/tenants/{tenant_id}/users/{client_id}/{namespace}/{key}:
    delete:
      description: Delete an opaque key-value entry scoped to a tenant and the authenticated user. User ID is derived from the auth token.
      operationId: DeleteClientStorageTenantUser
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Delete tenant+user-scoped client storage entry
      tags:
      - client-storage
    get:
      description: Retrieve an opaque key-value entry scoped to a tenant and the authenticated user. User ID is derived from the auth token.
      operationId: GetClientStorageTenantUser
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.clientStorageEntry'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Get tenant+user-scoped client storage entry
      tags:
      - client-storage
    put:
      description: Upsert an opaque key-value entry scoped to a tenant and the authenticated user. User ID is derived from the auth token.
      operationId: PutClientStorageTenantUser
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.clientStoragePutRequest'
        description: Value to store
        required: true
        x-originalParamName: body
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Create or update tenant+user-scoped client storage entry
      tags:
      - client-storage
  /client-storage/tenants/{tenant_id}/workspaces/{workspace_id}/{client_id}/{namespace}/{key}:
    delete:
      description: Delete an opaque key-value entry scoped to a tenant, workspace, client, namespace, and key
      operationId: DeleteClientStorageTenantWorkspace
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Workspace ID
        in: path
        name: workspace_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Delete tenant+workspace-scoped client storage entry
      tags:
      - client-storage
    get:
      description: Retrieve an opaque key-value entry scoped to a tenant, workspace, client, namespace, and key
      operationId: GetClientStorageTenantWorkspace
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Workspace ID
        in: path
        name: workspace_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.clientStorageEntry'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Get tenant+workspace-scoped client storage entry
      tags:
      - client-storage
    put:
      description: Upsert an opaque key-value entry scoped to a tenant, workspace, client, namespace, and key
      operationId: PutClientStorageTenantWorkspace
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Workspace ID
        in: path
        name: workspace_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.clientStoragePutRequest'
        description: Value to store
        required: true
        x-originalParamName: body
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Create or update tenant+workspace-scoped client storage entry
      tags:
      - client-storage
  /client-storage/tenants/{tenant_id}/{client_id}/{namespace}/{key}:
    delete:
      description: Delete an opaque key-value entry scoped to a tenant, client, namespace, and key
      operationId: DeleteClientStorageTenant
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Delete tenant-scoped client storage entry
      tags:
      - client-storage
    get:
      description: Retrieve an opaque key-value entry scoped to a tenant, client, namespace, and key
      operationId: GetClientStorageTenant
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.clientStorageEntry'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Get tenant-scoped client storage entry
      tags:
      - client-storage
    put:
      description: Upsert an opaque key-value entry scoped to a tenant, client, namespace, and key
      operationId: PutClientStorageTenant
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        schema:
          type: string
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.clientStoragePutRequest'
        description: Value to store
        required: true
        x-originalParamName: body
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Create or update tenant-scoped client storage entry
      tags:
      - client-storage
  /client-storage/users/{client_id}/{namespace}/{key}:
    delete:
      description: Delete an opaque key-value entry scoped to the authenticated user. User ID is derived from the auth token.
      operationId: DeleteClientStorageUser
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Delete user-scoped client storage entry
      tags:
      - client-storage
    get:
      description: Retrieve an opaque key-value entry scoped to the authenticated user (no tenant association). User ID is derived from the auth token.
      operationId: GetClientStorageUser
      parameters:
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.clientStorageEntry'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Get user-scoped client storage entry
      tags:
      - client-storage
    put:
      description: Upsert an opaque key-value entry scoped to the authenticated user. User ID is derived from the auth token.
      operationId: PutClientStorageUser
      x-mint:
        metadata:
          playground: simple
      parameters:
      - description: Client ID
        in: path
        name: client_id
        required: true
        schema:
          type: string
      - description: Namespace
        in: path
        name: namespace
        required: true
        schema:
          type: string
      - description: Key
        in: path
        name: key
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.clientStoragePutRequest'
        description: Value to store
        required: true
        x-originalParamName: body
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Unauthorized
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.RequestError'
          description: Internal Server Error
      security:
      - BearerAuth: []
      summary: Create or update user-scoped client storage entry
      tags:
      - client-storage
components:
  schemas:
    api.clientStoragePutRequest:
      properties:
        value:
          type: object
      type: object
    api.clientStorageEntry:
      properties:
        created_at:
          type: string
        updated_at:
          type: string
        value:
          type: object
      type: object
    common.RequestError:
      description: Error responses returned by the API
      properties:
        code:
          example: 400
          type: integer
        message:
          example: Invalid request
          type: string
      required:
      - code
      - message
      type: object
  securitySchemes:
    BearerAuth:
      description: Use this header with a Bearer token to authenticate requests.
      in: header
      name: Authorization
      type: apiKey