Make your first request
Choose your local contract and make a scoped read before submitting banking work.
This example reads the branch hierarchy through the core staff API. Use a local institution with synthetic records and an administrator-approved read-only identity.
Before you start
Obtain the exact base URL, institution identifier, authentication method and permitted operations from the owner of your environment. For local HTTPS, trust the development certificate in your client. Use your assigned identity and keep credentials in the process environment.
The placeholders below are illustrative. They contain no working credentials or preconfigured public sandbox.
Read the branch hierarchy
Choose your client. Each example calls the same GET /offices route.
export NUCLEUS_BASE_URL='https://localhost:8443/nucleus/api/v1'
export NUCLEUS_TENANT='example-institution'
# Supply NUCLEUS_USER and NUCLEUS_PASSWORD securely in this process.
curl --fail-with-body \
--user "$NUCLEUS_USER:$NUCLEUS_PASSWORD" \
-H "nucleus-platform-tenantid: $NUCLEUS_TENANT" \
"$NUCLEUS_BASE_URL/offices"const { NUCLEUS_BASE_URL, NUCLEUS_TENANT, NUCLEUS_USER, NUCLEUS_PASSWORD } = process.env;
const response = await fetch(`${NUCLEUS_BASE_URL}/offices`, {
headers: {
Authorization: `Basic ${Buffer.from(`${NUCLEUS_USER}:${NUCLEUS_PASSWORD}`).toString('base64')}`,
'nucleus-platform-tenantid': NUCLEUS_TENANT,
},
});
if (!response.ok) throw new Error(`Read refused with HTTP ${response.status}`);
const offices = await response.json();
console.log(offices.map(({ id, name }) => ({ id, name })));import base64
import json
import os
import urllib.request
credentials = f"{os.environ['NUCLEUS_USER']}:{os.environ['NUCLEUS_PASSWORD']}"
request = urllib.request.Request(
os.environ['NUCLEUS_BASE_URL'] + '/offices',
headers={
'Authorization': 'Basic ' + base64.b64encode(credentials.encode()).decode(),
'nucleus-platform-tenantid': os.environ['NUCLEUS_TENANT'],
},
)
with urllib.request.urlopen(request) as response:
offices = json.load(response)
print([{'id': office['id'], 'name': office['name']} for office in offices])Check the result
A successful response describes the offices your identity can read. Retain the HTTP status, operation name and environment for your integration check, while keeping credentials and customer information out of logs. Compare the response to the selected version’s schema.
A forbidden response requires the institution’s access owner to check permissions and office scope. A network or certificate error requires a connectivity check. The same read can be retried with the same scope.
Continue with a banking workflow
Use the core banking guide to configure the dependencies for customers and accounts. For external money movement, follow the Transfer workflow, including funding, independent approval and unknown-outcome recovery. Every financial mutation needs the operation’s actual idempotency and authority contract.