SandboxAQ Client Storage API
The client-storage API from SandboxAQ — 4 operation(s) for client-storage.
The client-storage API from SandboxAQ — 4 operation(s) for client-storage.
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