Skip to main content
The Nessie API integration provides access to Capital One’s banking sandbox data. All endpoints are prefixed with /api/nessie.

Authentication

Nessie API requires an API key configured in the NESSIE_API_KEY environment variable. The API key is automatically appended to all requests.

Accounts

Get Accounts by Customer

curl -X GET "http://localhost:3001/api/nessie/accounts?customerId=697541cf95150878eafea4ff"
customerId
string
required
The Nessie customer ID to retrieve accounts for
_id
string
Unique account identifier
type
string
Account type: Checking, Savings, or Credit Card
nickname
string
User-friendly account name
rewards
number
Rewards points balance
balance
number
Current account balance in dollars
account_number
string
Account number
customer_id
string
Associated customer ID

Get Account by ID

curl -X GET "http://localhost:3001/api/nessie/accounts/697541cf95150878eafea500"

Get Account Purchases

curl -X GET "http://localhost:3001/api/nessie/accounts/697541cf95150878eafea500/purchases"
_id
string
Unique purchase identifier
merchant_id
string
ID of the merchant where purchase was made
medium
string
Payment medium: balance or rewards
purchase_date
string
Date of purchase (YYYY-MM-DD)
amount
number
Purchase amount in dollars
status
string
Purchase status
description
string
Optional purchase description

Get Account Deposits

curl -X GET "http://localhost:3001/api/nessie/accounts/697541cf95150878eafea500/deposits"
_id
string
Unique deposit identifier
medium
string
Deposit medium: balance or rewards
transaction_date
string
Date of deposit (YYYY-MM-DD)
amount
number
Deposit amount in dollars
status
string
Deposit status
description
string
Optional deposit description

Get Account Bills

curl -X GET "http://localhost:3001/api/nessie/accounts/697541cf95150878eafea500/bills"
_id
string
Unique bill identifier
status
string
Bill status: pending, recurring, completed, or cancelled
payee
string
Bill payee name
nickname
string
Optional bill nickname
payment_date
string
Next payment date (YYYY-MM-DD)
recurring_date
number
Day of month for recurring bills (1-31)
payment_amount
number
Payment amount in dollars

Get Account Loans

curl -X GET "http://localhost:3001/api/nessie/accounts/697541cf95150878eafea500/loans"
_id
string
Unique loan identifier
type
string
Loan type: home, auto, or small business
status
string
Loan status: pending, approved, or declined
credit_score
number
Credit score at time of application
monthly_payment
number
Monthly payment amount in dollars
amount
number
Total loan amount in dollars
description
string
Optional loan description

Customers

Validate Customer

curl -X POST "http://localhost:3001/api/nessie/validate-customer" \
  -H "Content-Type: application/json" \
  -d '{"customerId": "697541cf95150878eafea4ff"}'
customerId
string
required
Customer ID to validate
valid
boolean
Whether the customer ID is valid
customer
object
Customer details if valid
customer._id
string
Customer identifier
customer.first_name
string
Customer first name
customer.last_name
string
Customer last name
customer.address
object
Customer address details

Get All Customers

curl -X GET "http://localhost:3001/api/nessie/customers"

Get Customer by ID

curl -X GET "http://localhost:3001/api/nessie/customers/697541cf95150878eafea4ff"

Get Customer Accounts

curl -X GET "http://localhost:3001/api/nessie/customers/697541cf95150878eafea4ff/accounts"

Merchants

Get All Merchants

curl -X GET "http://localhost:3001/api/nessie/merchants"

Get Merchant by ID

curl -X GET "http://localhost:3001/api/nessie/merchants/697541cf95150878eafea520"

Error Handling

All endpoints return standard HTTP status codes:
  • 200 OK - Request successful
  • 400 Bad Request - Missing or invalid parameters
  • 404 Not Found - Resource not found
  • 500 Internal Server Error - Server error
{
  "error": "customerId query parameter is required"
}

Build docs developers (and LLMs) love