Fireblocks Genie (Beta) API
The Genie (Beta) API from Fireblocks — 2 operation(s) for genie (beta).
The Genie (Beta) API from Fireblocks — 2 operation(s) for genie (beta).
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/fireblocks:fireblocks-genie-beta-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: Fireblocks Genie (Beta) API
description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.
- Visit our website for more information: Fireblocks Website
- Visit our developer docs: Fireblocks DevPortal'
version: 1.6.2
contact:
email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
description: Fireblocks Sandbox Environment Base URL
tags:
- name: Genie (Beta)
paths:
/genie/sessions:
post:
summary: Create a Genie session
description: 'Starts a new conversation with Genie, the Fireblocks AI assistant. Returns a `sessionId` — pass it when sending messages, and reuse it across calls to keep one continuous conversation.
**Note:** This endpoint is currently in beta and might be subject to changes.'
tags:
- Genie (Beta)
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Session created
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GenieCreateSessionResponse'
default:
$ref: '#/components/responses/Error'
operationId: createGenieSession
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<GenieCreateSessionResponse>> = fireblocks.genieBeta.createGenieSession(genieBetaApiCreateGenieSessionRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<GenieCreateSessionResponse>> response = fireblocks.genieBeta().createGenieSession(idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.genie_beta.create_genie_session(idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<GenieCreateSessionResponse>> = fireblocks.genieBeta.createGenieSession(genieBetaApiCreateGenieSessionRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<GenieCreateSessionResponse>> response = fireblocks.genieBeta().createGenieSession(idempotencyKey);
- lang: Python
source: response = fireblocks.genie_beta.create_genie_session(idempotency_key);
/genie/sessions/{sessionId}/messages:
post:
summary: Send a message to a Genie session
description: 'Sends a question to Genie and returns a single answer. Reuse the `sessionId` from the original session on follow-up messages to continue the conversation with prior context.
**Note:** This endpoint is currently in beta and might be subject to changes.'
tags:
- Genie (Beta)
x-rate-limit-category: write
parameters:
- in: path
name: sessionId
required: true
schema:
type: string
example: 7c1b2e1c-1c2a-4f3a-9c2d-2e0a8a1f8e1a
description: The Genie session ID returned from `POST /genie/sessions`.
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenieSendMessageRequest'
responses:
'200':
description: Genie response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GenieChatMessage'
default:
$ref: '#/components/responses/Error'
operationId: sendGenieMessage
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<GenieSendMessageResponse>> = fireblocks.genieBeta.sendGenieMessage(genieBetaApiSendGenieMessageRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<GenieSendMessageResponse>> response = fireblocks.genieBeta().sendGenieMessage(genieSendMessageRequest, sessionId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.genie_beta.send_genie_message(genie_send_message_request, session_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<GenieSendMessageResponse>> = fireblocks.genieBeta.sendGenieMessage(genieBetaApiSendGenieMessageRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<GenieSendMessageResponse>> response = fireblocks.genieBeta().sendGenieMessage(genieSendMessageRequest, sessionId, idempotencyKey);
- lang: Python
source: response = fireblocks.genie_beta.send_genie_message(genie_send_message_request, session_id, idempotency_key);
components:
schemas:
GenieChatMessage:
type: object
required:
- id
- sessionId
- role
- content
properties:
id:
type: string
description: The unique identifier of the message.
example: 0a237534-399f-4487-a869-72567b71511a
sessionId:
type: string
description: The Genie session this message belongs to.
example: 7c1b2e1c-1c2a-4f3a-9c2d-2e0a8a1f8e1a
role:
type: string
description: Who produced the message — `USER` for the customer-supplied query, `ASSISTANT` for the Genie response.
example: ASSISTANT
content:
type: string
description: The natural-language body of the message.
example: The latest balance on the BTC vault is 0.4231 BTC.
createdAt:
type: integer
format: int64
description: Message creation timestamp in epoch milliseconds.
example: 1735603200000
GenieSendMessageRequest:
type: object
required:
- content
properties:
content:
type: string
description: The natural-language question or instruction to send to Genie.
example: What is the latest balance on my BTC vault?
ErrorSchema:
type: object
properties:
message:
type: string
code:
type: number
GenieCreateSessionResponse:
type: object
required:
- id
properties:
id:
type: string
description: The unique identifier of the newly created Genie session. Use this when sending messages in the conversation.
example: 7c1b2e1c-1c2a-4f3a-9c2d-2e0a8a1f8e1a
createdAt:
type: integer
format: int64
description: Session creation timestamp in epoch milliseconds.
example: 1735603200000
title:
type: string
description: Session title. May be empty until the first message has been processed.
example: Vault balance overview
responses:
Error:
description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
parameters:
X-Idempotency-Key:
name: Idempotency-Key
in: header
description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
required: false
schema:
type: string
headers:
X-Request-ID:
schema:
type: string
description: Unique ID correlated to the API request. Please provide it in any support ticket you create or on Github issues related to Fireblocks SDKs
securitySchemes:
bearerTokenAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
x-readme:
explorer-enabled: false
samples-languages:
- curl
- javascript
- python
x-provenance:
method: harvested
publisher: Fireblocks
source: https://swagger.fireblocks.com/openapi.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)