Axiomatic
Tax

Tax Lots

Cost basis tracking, tax lot inventory, and disposal history

GET
/api/tax-reports

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string
Formatuuid
report*string

Value in

  • "schedule_d"
  • "form_8949"
  • "liability_summary"
  • "vat_reconciliation"
  • "withholding_register"
  • "provision_vs_cash"
bookId?string

Required for schedule_d and form_8949.

Formatuuid
taxYear?integer

Required for schedule_d and form_8949. The calendar year to report on.

format?string

Response format. pdf returns a PDF binary (schedule_d only). Default: json.

Value in

  • "json"
  • "pdf"
fromDate?string

Start date for non-capital-gains reports.

Formatdate
toDate?string

End date for non-capital-gains reports.

Formatdate

Response Body

application/json

application/json

curl -X GET "https://example.com/api/tax-reports?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08&report=schedule_d"
{}
{  "error": "string"}
{  "error": "string"}
GET
/api/tax-lots

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string
Formatuuid
bookId?string
Formatuuid
view?string

Response shape: lots (default), disposals, or summary.

Value in

  • "lots"
  • "disposals"
  • "summary"
asset?string

Filter lots by asset symbol (e.g. ETH). Only applies when view=lots.

status?"open"

Set to open to return only lots with remaining quantity > 0. Only applies when view=lots.

Value in

  • "open"

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/tax-lots?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
[  {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",    "bookId": "710266f4-0087-48f9-97e1-4b13ac48f353",    "asset": "string",    "assetType": "EQUITY",    "quantity": "string",    "remainingQuantity": "string",    "costBasisPerUnit": "string",    "totalCostBasis": "string",    "acquiredDate": "2019-08-24",    "source": "NATIVE",    "method": "ONCHAIN",    "status": "OPEN",    "eventId": "d6703cc8-9e79-415d-ac03-a4dc7f6ab43c",    "externalRef": "string",    "metadata": {},    "createdAt": "2019-08-24T14:15:22Z"  }]
{  "error": "string"}
{  "error": "string"}
POST
/api/tax-lots

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/tax-lots" \  -H "Content-Type: application/json" \  -d '{    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",    "bookId": "710266f4-0087-48f9-97e1-4b13ac48f353",    "action": "import",    "brokerName": "string",    "lots": [      {        "asset": "string",        "quantity": "string",        "costBasis": "string",        "acquiredDate": "2019-08-24"      }    ]  }'
{  "imported": 0,  "lots": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",      "bookId": "710266f4-0087-48f9-97e1-4b13ac48f353",      "asset": "string",      "assetType": "EQUITY",      "quantity": "string",      "remainingQuantity": "string",      "costBasisPerUnit": "string",      "totalCostBasis": "string",      "acquiredDate": "2019-08-24",      "source": "NATIVE",      "method": "ONCHAIN",      "status": "OPEN",      "eventId": "d6703cc8-9e79-415d-ac03-a4dc7f6ab43c",      "externalRef": "string",      "metadata": {},      "createdAt": "2019-08-24T14:15:22Z"    }  ]}
{  "error": "string"}
{  "error": "string"}