Quickstart

This guide walks you through making your first requests to the Addigence API — from obtaining a token to executing a strategy version.

Prerequisites

Before you begin, you'll need API credentials (client_id and client_secret) provisioned from the Addigence dashboard. If you don't have credentials yet, contact your account administrator.


Step 1: Get a bearer token

Exchange your credentials for a short-lived bearer token:

Request a token

curl -X POST https://app.addigence.com/api/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "adg_01JSGV7A...",
    "client_secret": "your-client-secret"
  }'

Response

{
  "access_token": "dGhpcyBpcyBhbiBleGFtcGxlIHRva2Vu...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "strategies:read strategy_versions:create strategy_versions:read strategy_versions:execute strategy_versions:delete"
}

Save the access_token value. You'll include it in all subsequent requests. The token is valid for 1 hour.


Step 2: Retrieve a strategy

Use the token to fetch a strategy and its current positions:

Get a strategy with positions

curl "https://app.addigence.com/api/v1/strategies/019d6f6a-9be4-7d69-a04c-91912a8b9100?include=positions" \
  -H "Authorization: Bearer dGhpcyBpcyBhbiBleGFtcGxlIHRva2Vu..."

Response

{
  "data": {
    "id": "019d6f6a-9be4-7d69-a04c-91912a8b9100",
    "name": "Growth Strategy",
    "description": "A growth-oriented equity strategy",
    "fee_percent": "20.00",
    "is_liquidate_only": false,
    "liquidate_only_reason": null,
    "inserted_at": "2025-01-15T14:30:00.000000Z",
    "updated_at": "2025-03-10T09:15:00.000000Z",
    "positions": [
      {
        "id": "019d6f6a-a1b2-7d69-a04c-91912a8b9200",
        "symbol": "AAPL",
        "quantity": "150.00",
        "inserted_at": "2025-01-15T14:30:00.000000Z",
        "updated_at": "2025-03-10T09:15:00.000000Z"
      }
    ]
  }
}

Step 3: Execute a new strategy version

Create and execute a new version with updated target weights. This triggers a rebalance and generates orders:

Execute a strategy version

curl -X POST https://app.addigence.com/api/v1/strategies/019d6f6a-9be4-7d69-a04c-91912a8b9100/versions/execute \
  -H "Authorization: Bearer dGhpcyBpcyBhbiBleGFtcGxlIHRva2Vu..." \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "positions": [
        {"symbol": "AAPL", "weight": "15.0"},
        {"symbol": "NVDA", "weight": "10.0"},
        {"symbol": "GOOG", "weight": "12.5"}
      ]
    }
  }'

Response (202 Accepted)

{
  "data": {
    "id": "019d7a2b-c3d4-7e56-b789-01234abcdef0",
    "strategy_id": "019d6f6a-9be4-7d69-a04c-91912a8b9100",
    "cash_weight": "62.5",
    "old_cash_weight": "100.0",
    "scheduled_for": null,
    "status": "PENDING",
    "executed_at": "2025-03-10T14:30:00.000000Z",
    "inserted_at": "2025-03-10T14:30:00.000000Z",
    "orders": [...],
    "positions": [...]
  }
}

The response is 202 Accepted with the created version, its orders, and positions. It also includes a Location header you can use to poll for the version's status.


Step 4: Check execution status

Use the Location header (or construct the URL manually) to check the version's status and see filled order details:

Check version status

curl "https://app.addigence.com/api/v1/strategies/019d6f6a-9be4-7d69-a04c-91912a8b9100/versions/019d7a2b-c3d4-7e56-b789-01234abcdef0?include=orders" \
  -H "Authorization: Bearer dGhpcyBpcyBhbiBleGFtcGxlIHRva2Vu..."

Once the rebalance completes, the status field will change from "PENDING" to "COMPLETE", and orders will show their fill details.


What's next?