Live App →

Quickstart

Your first authenticated API call to Sentinel in under 5 minutes.


Prerequisites

  • A Sentinel account (ask your Admin for credentials)
  • curl or any HTTP client
  • Your API Base URL: https://sentinel.centricitywealth.tech

Step 1: Authenticate

curl -X POST https://sentinel.centricitywealth.tech/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@firm.com", "password": "your-password"}'

Response:

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "refresh_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "expires_in": 3600
}

Store the access_token. All subsequent calls include it as:

Authorization: Bearer <access_token>

Step 2: Check Health

curl https://sentinel.centricitywealth.tech/api/v1/health

Expected: {"status": "ok"}


Step 3: Upload a Document

curl -X POST https://sentinel.centricitywealth.tech/api/v1/nexus/upload \
  -H "Authorization: Bearer <token>" \
  -F "file=@/path/to/your-document.pdf"

Response:

{
  "document_id": "doc_abc123",
  "status": "processing",
  "document_type": "cas_statement",
  "pages": 4
}

Step 4: Poll for Completion

curl https://sentinel.centricitywealth.tech/api/v2/status/process/doc_abc123/progress \
  -H "Authorization: Bearer <token>"

Response when complete:

{
  "document_id": "doc_abc123",
  "status": "completed",
  "stages": [...],
  "extractions": {
    "holdings": [...],
    "transactions": [...]
  }
}

SDKs & Clients

No official SDKs yet. Use these patterns:

Python

import requests

BASE = "https://sentinel.centricitywealth.tech"
TOKEN = "your_access_token"

headers = {"Authorization": f"Bearer {TOKEN}"}

# Upload
with open("document.pdf", "rb") as f:
    resp = requests.post(f"{BASE}/api/v1/nexus/upload",
                         headers=headers, files={"file": f})
    doc_id = resp.json()["document_id"]

# Poll
resp = requests.get(f"{BASE}/api/v2/status/process/{doc_id}/progress",
                    headers=headers)
print(resp.json())

TypeScript

const BASE = "https://sentinel.centricitywealth.tech";
const TOKEN = "your_access_token";

const upload = async (file: File) => {
  const form = new FormData();
  form.append("file", file);
  const res = await fetch(`${BASE}/api/v1/nexus/upload`, {
    method: "POST",
    headers: { Authorization: `Bearer ${TOKEN}` },
    body: form,
  });
  return res.json();
};

Next Steps