API

SolarGloryLLC REST API

Create quotes, submit them for approval, and read status from the same catalog your deal desk uses in the product.

Getting Started

Base URL

https://api.solarglory.online/v1

Auth

Bearer token in the Authorization header. Create keys in workspace settings.

Rate limit

120 requests per minute per key. Burst headers return remaining quota.

curl https://api.solarglory.online/v1/quotes \
  -H "Authorization: Bearer $SOLARGLORY_API_KEY" \
  -H "Content-Type: application/json"

Endpoints

GET /quotes

List quotes

Returns paginated quotes for the workspace. Filter by status, owner, or opportunity id.

curl "https://api.solarglory.online/v1/quotes?status=pending&limit=20" \
  -H "Authorization: Bearer $SOLARGLORY_API_KEY"
{
  "data": [
    {
      "id": "qt_1842",
      "name": "Acme rollout",
      "status": "pending_approval",
      "total_cents": 8640000,
      "currency": "USD"
    }
  ],
  "next_cursor": "qt_1830"
}

POST /quotes

Create a quote

Draft a quote from a price book. Line items resolve SKU ids against the live catalog.

curl -X POST https://api.solarglory.online/v1/quotes \
  -H "Authorization: Bearer $SOLARGLORY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme rollout",
    "opportunity_id": "opp_91",
    "price_book_id": "pb_core",
    "line_items": [
      { "sku": "seat-pro", "qty": 40, "discount_bps": 800 }
    ]
  }'
{
  "id": "qt_1843",
  "status": "draft",
  "total_cents": 8640000,
  "needs_approval": true
}

GET /quotes/:id

Retrieve a quote

Includes version history, current approval step, and computed totals.

curl https://api.solarglory.online/v1/quotes/qt_1842 \
  -H "Authorization: Bearer $SOLARGLORY_API_KEY"
{
  "id": "qt_1842",
  "version": 3,
  "status": "pending_approval",
  "approval": { "step": "finance", "assignee": "usr_22" },
  "line_items": [{ "sku": "seat-pro", "qty": 40 }]
}

POST /quotes/:id/submit

Submit for approval

Locks the current version and starts the rule graph. Standard quotes may skip to send-ready.

curl -X POST https://api.solarglory.online/v1/quotes/qt_1842/submit \
  -H "Authorization: Bearer $SOLARGLORY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "note": "Multi-year ramp matches playbook B" }'
{
  "id": "qt_1842",
  "status": "pending_approval",
  "locked_version": 3
}

GET /approvals

List open approvals

Inbox for finance and deal desk. Filter by assignee or rule name.

curl "https://api.solarglory.online/v1/approvals?assignee=me" \
  -H "Authorization: Bearer $SOLARGLORY_API_KEY"
{
  "data": [
    {
      "id": "ap_77",
      "quote_id": "qt_1842",
      "rule": "discount_over_10",
      "status": "open"
    }
  ]
}

SDKs

Official clients wrap auth, pagination, and retries. Install from the public registries and pass the same Bearer key you use in curl.

JavaScript

npm package solarglory for Node and browsers with fetch.

Python

pip package solarglory with typed models for quotes and approvals.

Go

Module solarglory.online/sdk/go for backend sync jobs.

Need higher limits or a private endpoint? Contact support@solarglory.online.