Bevaya API
Bevaya API
The Bevaya API is a RESTful service that follows a JSON API spec.
The API is designed with the following principles in mind:
- JSON API-compliant: Standardized response structures for resources, relationships, and errors.
- Authenticated: All operations require proper authentication via tokens provided by the Identity service.
- Authorization: All requests must be authorized to operate on a given resource.
Hierarchy Levels
The Bevaya hierarchy is as follows:
Code
Required Information
To start using the API, you will need:
organizationIdworkspaceIdprojectIdflowIdapiKey
These identifiers are typically found in the platform URL or provided by the system administrator.
Observability & Reliability
- Error Handling: Standard HTTP status codes are used.
400 Bad Request: The request was invalid or cannot be served.401 Unauthorized: Authentication failed or user does not have permissions.404 Not Found: The requested resource could not be found.429 Too Many Requests: Rate limit exceeded.500 Internal Server Error: An unexpected error occurred on the server.
- Rate Limiting: Users are limited to 60 requests per minute. Exceeding this limit will result in a
429 Too Many Requestsresponse. Useful headers:X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset. - Traceability: All responses include an
X-Encore-Trace-Idheader. Please provide this ID when reporting issues to support.
Tags
Authentication
There are two primary forms of authentication: with an access token, and with an API key. Treat your API key with utmost security. The best way to interact with the API is by exchanging your API key for an access token and using the access token for all subsequent API operations.
Files
File operations (upload and download) follow a two-step process involving a Signed Access Signature (SAS) URL.
Request Flow (Upload)
- Request URL: Call
POST /filesto get a signed upload URL (uploadUrl) and afileId. - Upload Content:
PUTyour file binary directly to theuploadUrlwith the headerx-ms-blob-type: BlockBlob. The URL is in the formathttps://blobs.bevaya.ai/{organization_id}/{blob_path}?{sas_token}and expires after 15 minutes.
- Request Metadata: Call
GET /files/{fileId}to retrieve file metadata, which includes adownloadUrl. - Download Content:
GETthedownloadUrlto download the file content directly from storage.
Flow Executions
Monitor and manage flow execution history and step-level details.
Items
Retrieve and manage items. Items are the products of flow runs, representing the unit of work processed by the system.