Biolevate Provider Items API
File and folder operations on storage providers
File and folder operations on storage providers
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/biolevate-provider-items-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Biolevate Agent Provider Items API
version: 1.0.0
description: Conversational agent jobs
servers:
- url: /
description: Biolevate Server
security:
- TOKEN: []
tags:
- name: Provider Items
description: File and folder operations on storage providers
paths:
/api/core/providers/{providerId}/items:
get:
tags:
- Provider Items
summary: List items
description: Returns a paginated list of files and folders in the specified directory
operationId: listItems
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
- name: key
in: query
description: Directory key (must end with '/' or be empty for root)
required: false
schema:
type: string
default: ''
- name: q
in: query
description: Name filter
required: false
schema:
type: string
- name: cursor
in: query
description: Pagination cursor
required: false
schema:
type: string
- name: limit
in: query
description: Max items to return
required: false
schema:
type: integer
format: int32
default: 50
responses:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ListItemsResponse'
'404':
description: Provider not found
content:
application/json:
schema:
$ref: '#/components/schemas/ListItemsResponse'
'200':
description: Successfully retrieved items
content:
application/json:
schema:
$ref: '#/components/schemas/ListItemsResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ListItemsResponse'
post:
tags:
- Provider Items
summary: Create folder
description: Creates a new folder in the provider. Key must end with '/'.
operationId: uploadFile
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
- name: key
in: query
description: Target directory key (must end with '/' or be empty for root)
required: false
schema:
type: string
default: ''
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: File to upload
required:
- file
application/json:
schema:
$ref: '#/components/schemas/CreateItemRequest'
required: true
responses:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'201':
description: Folder created
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
delete:
tags:
- Provider Items
summary: Delete item
description: Deletes a file or folder
operationId: deleteItem
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ItemReference'
required: true
responses:
'403':
description: Access denied
'404':
description: Item not found
'204':
description: Item deleted
'401':
description: Unauthorized
patch:
tags:
- Provider Items
summary: Rename item
description: Renames a file or folder
operationId: renameItem
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
- name: newName
in: query
description: New name for the item
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ItemReference'
required: true
responses:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'404':
description: Item not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'400':
description: Invalid request or missing newName
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'200':
description: Item renamed
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
/api/core/providers/{providerId}/items/upload-url:
post:
tags:
- Provider Items
summary: Get presigned upload URL
description: Returns a presigned URL for direct upload to storage (for large files)
operationId: getUploadUrl
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadUrlRequest'
required: true
responses:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/UploadUrlResponse'
'200':
description: Upload URL generated
content:
application/json:
schema:
$ref: '#/components/schemas/UploadUrlResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UploadUrlResponse'
/api/core/providers/{providerId}/items/confirm:
post:
tags:
- Provider Items
summary: Confirm presigned upload
description: Confirms that a file was uploaded via presigned URL
operationId: confirmUpload
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConfirmUploadRequest'
required: true
responses:
'200':
description: Upload confirmed
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'404':
description: File not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderItem'
/api/core/providers/{providerId}/items/download-url:
get:
tags:
- Provider Items
summary: Get download URL
description: Returns a URL to download the file
operationId: getDownloadUrl
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
- name: key
in: query
description: File key (must not end with '/')
required: true
schema:
type: string
- name: expirationMinutes
in: query
description: URL expiration in minutes
required: false
schema:
type: integer
format: int32
default: 15
responses:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadUrlResponse'
'200':
description: Download URL generated
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadUrlResponse'
'404':
description: File not found
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadUrlResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadUrlResponse'
/api/core/providers/{providerId}/items/content:
get:
tags:
- Provider Items
summary: Get file content
description: Returns the raw file content (proxy for providers without presigned URLs)
operationId: getFileContent
parameters:
- name: providerId
in: path
description: Provider ID
required: true
schema:
type: string
- name: key
in: query
description: File key (must not end with '/')
required: true
schema:
type: string
responses:
'403':
description: Access denied
content:
'*/*':
schema:
type: string
format: byte
'200':
description: File content
content:
'*/*':
schema:
type: string
format: byte
'404':
description: File not found
content:
'*/*':
schema:
type: string
format: byte
'401':
description: Unauthorized
content:
'*/*':
schema:
type: string
format: byte
components:
schemas:
ProviderItem:
type: object
description: Provider item (file or folder)
properties:
providerId:
type: string
description: Provider ID
example: 550e8400-e29b-41d4-a716-446655440000
key:
type: string
description: 'Full item key. Files: ''path/to/file.pdf'', Folders: ''path/to/folder/'''
example: reports/document.pdf
type:
type: string
description: Item type
enum:
- FILE
- FOLDER
example: FILE
size:
type: integer
format: int64
description: File size in bytes (null for folders)
example: 1048576
extension:
type: string
description: File extension (null for folders)
example: pdf
mediaType:
type: string
description: Media type (null for folders)
example: application/pdf
lastModified:
type: integer
format: int64
description: Last modified timestamp in milliseconds
example: 1708123456789
ItemReference:
type: object
description: Reference to an item. Use trailing slash for folders (e.g., 'folder/' or 'path/to/folder/')
properties:
key:
type: string
description: 'Full item key. Files: ''path/to/file.pdf'', Folders: ''path/to/folder/'''
example: reports/document.pdf
required:
- key
ConfirmUploadRequest:
type: object
description: Confirm presigned upload request
properties:
key:
type: string
description: Full file key (must not end with '/')
example: reports/document.pdf
required:
- key
UploadUrlRequest:
type: object
description: Request for presigned upload URL
properties:
key:
type: string
description: Full file key (must not end with '/')
example: reports/document.pdf
size:
type: integer
format: int64
description: File size in bytes
example: 1048576
mediaType:
type: string
description: Media type
example: application/pdf
required:
- key
DownloadUrlResponse:
type: object
description: Download URL response
properties:
url:
type: string
description: URL to download the file
expiresInSeconds:
type: integer
format: int32
description: Time in seconds until the URL expires
CreateItemRequest:
type: object
description: Create folder request. Key must end with '/' to indicate a folder.
properties:
key:
type: string
description: Full folder key ending with '/'
example: reports/archive/
required:
- key
ListItemsResponse:
type: object
description: Paginated list of provider items
properties:
items:
type: array
description: List of items (files and folders)
items:
$ref: '#/components/schemas/ProviderItem'
nextCursor:
type: string
description: Cursor for next page, null if no more pages
UploadUrlResponse:
type: object
description: Presigned upload URL response
properties:
url:
type: string
description: Presigned URL for direct upload (null if not supported)
expiresInSeconds:
type: integer
format: int32
description: Time in seconds until the URL expires
supported:
type: boolean
description: Whether presigned upload is supported by this provider
securitySchemes:
TOKEN:
type: http
scheme: bearer
bearerFormat: JWT