> For the complete documentation index, see [llms.txt](https://docs.libum.io/nexum/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.libum.io/nexum/quickstart.md).

# Quickstart

NexumAPI provides a RESTful interface for developers to interact with Symitar data through their existing SymXchange instances.

{% hint style="success" %}
**Want to jump straight to the reference?**

Use the [SymXchange API reference](/nexum/symxchange/api-reference.md) when you already know the service and operation you need.
{% endhint %}

This quickstart is designed to help you validate your endpoint, confirm your API key works, and make a real SymXchange request with the smallest useful setup.

## Get access

Email <development@libum.io> to request access. Include the credit union, environment, and use case you're working on so we can provide the right NaaS endpoint and API key.

You'll need three values:

* <mark style="color:purple;">`NEXUM_BASE_URL`</mark> - your NaaS base URL, such as <mark style="color:purple;">`https://naas.ymcu.libum.io`</mark>
* <mark style="color:purple;">`NEXUM_API_KEY`</mark> - your NexumAPI bearer token
* SymXchange credentials for the operation you want to call

## Confirm the endpoint

Start with an authenticated discovery request. This confirms your API key and shows the SymXchange services and versions exposed by your NaaS instance.

```bash
export NEXUM_BASE_URL="https://naas.ymcu.libum.io"
export NEXUM_API_KEY="your-api-key"

curl "$NEXUM_BASE_URL/supported-services" \
  --header "Authorization: Bearer $NEXUM_API_KEY"
```

A healthy response is grouped by configured host or credit union identifier:

```json
{
  "ymcu": {
    "account": ["2022.01", "persistent"],
    "findby": ["2022.01", "persistent"],
    "poweron": ["2022.01", "persistent"]
  }
}
```

{% hint style="info" %}
The [NaaS Endpoints](/nexum/naas-endpoints.md) page documents other utility endpoints, including health, connection status, host configs, and operation discovery.
{% endhint %}

## Make a SymXchange request

NexumAPI routes follow this shape:

```http
POST /nexum/{sym}/{version}/{service}/{operation}
```

For example, this calls <mark style="color:purple;">`getAccount`</mark> on Sym <mark style="color:purple;">`627`</mark> using SymXchange version <mark style="color:purple;">`2022.01`</mark>:

```bash
curl "$NEXUM_BASE_URL/nexum/627/2022.01/account/getAccount" \
  --request POST \
  --header "Authorization: Bearer $NEXUM_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "AccountNumber": "13824",
    "Credentials": {
      "AdministrativeCredentials": {
        "Password": "suwn37834b91&"
      }
    }
  }'
```

Use the [API reference](/nexum/symxchange/api-reference.md) to find the exact request fields for each service and operation.

## Use JavaScript

Node.js 18 and newer include <mark style="color:purple;">`fetch`</mark>, so no request library is required. Save the following code to a file named `first-request.mjs` (using the `.mjs` extension enables top-level `await` support):

```javascript
const baseUrl = process.env.NEXUM_BASE_URL;
const apiKey = process.env.NEXUM_API_KEY;

const response = await fetch(`${baseUrl}/nexum/627/2022.01/account/getAccount`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    AccountNumber: '13824',
    Credentials: {
      AdministrativeCredentials: {
        Password: process.env.SYMX_PASSWORD,
      },
    },
  }),
});

if (!response.ok) {
  throw new Error(`NexumAPI request failed: ${response.status} ${await response.text()}`);
}

console.log(await response.json());
```

Run it with:

```bash
export SYMX_PASSWORD="suwn37834b91&"
node first-request.mjs
```

## Next steps

* Use [NaaS Endpoints](/nexum/naas-endpoints.md) to inspect service health, connection status, host configs, and supported SymXchange services.
* Use [Credentials](/nexum/symxchange/credentials.md) to understand supported SymXchange credential shapes.
* Use [Device Information](/nexum/symxchange/device-information.md) when you need to reason about SymXchange device mappings.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.libum.io/nexum/quickstart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
