Skip to main content
RECOGNITION · PROGRAMMES · ECOSYSTEM · TRUST FinanceGPT Developers
FinanceGPT Developers

Make your first FinanceGPT API call.

Get a sandbox API key, call one workspace-scoped endpoint, and verify a successful response. Everything else can wait until this works.

1 · ACCESS
Create a sandbox application

FinanceGPT shows the sandbox API key once. Store it in FINANCEGPT_API_KEY; never paste it into documentation or support tickets.

2 · CALL
Request your workspace profile

Use one read-only workspace-scoped request to prove authentication, routing, scopes and JSON response handling.

3 · VERIFY
Confirm HTTP 200 and JSON

Once this succeeds, move into Models, APIs, Agents & tools, SDKs or webhooks as your integration requires.

Your first request

GET /api/v2/workspace

This call is intentionally boring. It proves the integration path before you add model, agent or financial-workflow complexity.
Sandbox · read only

1. Set the key

export FINANCEGPT_API_KEY="fgpt_test_..."

2. Run the request

curl --fail-with-body \
  -H "Authorization: Bearer $FINANCEGPT_API_KEY" \
  -H "Accept: application/json" \
  https://financegpt.dev/api/v2/workspace
Python
import os, requests

response = requests.get(
    "https://financegpt.dev/api/v2/workspace",
    headers={"Authorization": f"Bearer {os.environ['FINANCEGPT_API_KEY']}"},
    timeout=30,
)
response.raise_for_status()
print(response.json())
JavaScript / Node.js
const response = await fetch("https://financegpt.dev/api/v2/workspace", {
  headers: { Authorization: `Bearer ${process.env.FINANCEGPT_API_KEY}` }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
PHP
$ch = curl_init("https://financegpt.dev/api/v2/workspace");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer '.getenv('FINANCEGPT_API_KEY'),
    ],
]);
$body = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_RESPONSE_CODE) >= 400) throw new RuntimeException($body);
echo $body;

What success looks like

The exact response can evolve with the published API contract; the important first-call signals are stable.
Successful integration
HTTP/1.1 200 OK
Content-Type: application/json

{
  "workspace": { "id": "..." },
  "environment": "sandbox"
}
If it does not work
401 Credential missing, malformed or revoked.
403 Application or scope does not permit this request.
429 Sandbox rate limit reached; retry after the returned limit window.
5xx Capture the request ID and status; do not send your API key with a support request.

Choose what to build next

Only expand the integration after the first call works.

Advanced setup

These resources matter later; they should not block your first successful request.
OpenAPI, manifests and starter assets
curl https://financegpt.dev/developers/openapi.yaml
curl https://financegpt.dev/developers/manifest.json
curl https://financegpt.dev/developers/sdks/manifest.json
Postman collectionStarter kit
Authentication and production boundaries

Credentials identify an application and carry explicit scopes. They do not grant model promotion, QLM rebinding, workflow approval, production access or Financial Actions authority.

Authentication guide →