supanovasupanovaDOCS
Open Launchpad
Launchpad documentation
superapp wallet

Read the lifetime weighted-average cost position per instrument of the account’s verified wallet Party.

GET /api/v1/me/positions. Read the lifetime weighted-average cost position per instrument of the account’s verified wallet Party.

Request

GET /api/v1/me/positions

Authentication is required. Supported credentials: a signed-in customer session token in Authorization: Bearer …. This route does not accept customer API keys.

Parameters

NameInTypeRequiredConstraintsDescription
instrumentAdminquerystringNomin length: 1; max length: 512—
instrumentIdquerystringNomin length: 1; max length: 512—
X-Service-Act-AsheaderstringNomin length: 3; max length: 512Service-principal path only (local and devnet stages; refused by configuration on mainnet). With an OAuth client-credentials bearer token from the validator, names the allow-listed Party the client acts as. Missing: 400 SERVICE_ACT_AS_REQUIRED; not allow-listed: 403 SERVICE_PARTY_NOT_ALLOWED. Ignored for customer session tokens.
X-Request-IdheaderstringNomin length: 8; max length: 128; pattern: ^[A-Za-z0-9._:-]+$Optional client correlation identifier. The server always generates a separate authoritative request ID and retains a valid supplied value only as secondary audit correlation metadata.

cURL

bash
curl --fail-with-body --silent --show-error \
  --request GET \
  --url "https://launch-api.supanova.app/api/v1/me/positions" \
  --header "Authorization: Bearer $SUPANOVA_SESSION_TOKEN"

Responses

200

Positions with accounting method, completeness, reconciliation and as-of offset.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Type: object.

FieldTypeRequiredConstraintsDescription
itemsarray of object · Schema 1Yes——
metaobject · Schema 2Yes——

Additional fields are not allowed.

400

instrumentAdmin and instrumentId must come together. Also: VALIDATION_FAILED, AMBIGUOUS_CREDENTIALS, SERVICE_ACT_AS_REQUIRED.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

401

A valid product account is required. Also: AUTHENTICATION_REQUIRED, INVALID_AUTHORIZATION_HEADER, INVALID_ACCESS_TOKEN, SESSION_REVOKED.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

403

The credential may not call this route. Codes: ACCOUNT_RESTRICTED, ANONYMOUS_ACCOUNT_NOT_ALLOWED, API_KEY_ROUTE_NOT_ALLOWED, SERVICE_PARTY_NOT_ALLOWED, SERVICE_PRINCIPAL_NOT_ALLOWED, SIGNUP_NOT_INVITED.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

429

The caller exceeded an IP or principal request budget.

HeaderTypeDescription
Retry-AfterintegerWhole seconds to wait before retrying a rate-limited request.
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

503

A PQS-backed position read is not configured for this environment. Also: AUTHENTICATION_UNAVAILABLE, AUTHORIZATION_UNAVAILABLE.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

default

Machine-readable API error. The HTTP status identifies the error class.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

Nested schemas

Field links above lead to the complete nested object, array, and variant definitions below. Required fields are scoped to their containing object.

Schema 1

Response 200.items

Type: array of object.

Array items: object · Schema 3.

Schema 2

Response 200.meta

Type: object.

FieldTypeRequiredConstraintsDescription
asOfstringYesformat: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Ledger time of the newest transaction the read saw.
asOfOffsetstringYespattern: ^\d{1,19}$Ledger offset of the query store watermark the read saw.
ccUsdQuoteone or more variants · Schema 4Yes——
dataMode"projected"Yes——
disclaimerstringYesmin length: 1; max length: 1024—
historyCompletebooleanYes—The whole ledger history of the Party was read, without a window or row cap.
method"weighted-average-cost"Yes——
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
partyIdone or more variants · Schema 5Yes——
schemaVersion"1"Yes——

Additional fields are not allowed.

Schema 3

Response 200.items item

Type: object.

FieldTypeRequiredConstraintsDescription
instrumentIdobject · Schema 6Yes——
tickerone or more variants · Schema 7Yes——
slugone or more variants · Schema 8Yes——
quantityobject · Schema 9Yes——
reconciliationobject · Schema 10Yes——
accountingobject · Schema 11Yes——
valuationobject · Schema 12Yes——

Additional fields are not allowed.

Schema 4

Response 200.meta.ccUsdQuote

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: object · Schema 13.
  • Variant 2: null.

Schema 5

Response 200.meta.partyId

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. min length: 3; max length: 512
  • Variant 2: null.

Schema 6

Response 200.items item.instrumentId

Type: object.

FieldTypeRequiredConstraintsDescription
adminstringYesmin length: 1; max length: 512—
idstringYesmin length: 1; max length: 512—

Additional fields are not allowed.

Schema 7

Response 200.items item.ticker

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. min length: 1; max length: 32
  • Variant 2: null.

Schema 8

Response 200.items item.slug

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. min length: 1; max length: 128
  • Variant 2: null.

Schema 9

Response 200.items item.quantity

Type: object.

FieldTypeRequiredConstraintsDescription
heldstringYespattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$Current holdings, available plus locked.
availablestringYespattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$—
lockedstringYespattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$—

Additional fields are not allowed.

Schema 10

Response 200.items item.reconciliation

Type: object.

FieldTypeRequiredConstraintsDescription
matchedbooleanYes—The replayed history (fills and transfers) reproduces the held quantity.
replayedQuantitystringYespattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$—
fillNetQuantitystringYespattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$Bought minus sold, lifetime.
transferInQuantitystringYespattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$—
transferOutQuantitystringYespattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$—

Additional fields are not allowed.

Schema 11

Response 200.items item.accounting

Type: object.

FieldTypeRequiredConstraintsDescription
completebooleanYes—True only when the full ledger history was read, it reproduces the held quantity, and every token of the current position has a known cost.
incompleteReasonone or more variants · Schema 14Yes——
costBasisCcone or more variants · Schema 15Yes—Remaining cost of the held tokens, buy fees included; null when unknown.
buyFeesInBasisCcone or more variants · Schema 16Yes——
averageEntryCcone or more variants · Schema 17Yes—costBasisCc / held; null when unknown or nothing is held.
positionOpenedAtone or more variants · Schema 18Yes——
lastMovementAtone or more variants · Schema 18Yes——
countsobject · Schema 19Yes——

Additional fields are not allowed.

Schema 12

Response 200.items item.valuation

Type: object.

FieldTypeRequiredConstraintsDescription
priceCcone or more variants · Schema 20Yes—Current market price, CC per token.
currentValueCcone or more variants · Schema 16Yes——
unrealizedPnlCcone or more variants · Schema 21Yes—currentValueCc - costBasisCc, before sale fees and slippage; null without a complete basis or a price.
unrealizedPnlPercentone or more variants · Schema 22Yes——
usdone or more variants · Schema 23Yes—Every CC figure at the one current rate in meta.ccUsdQuote; no historical FX.

Additional fields are not allowed.

Schema 13

Response 200.meta.ccUsdQuote variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
asOfstringYesformat: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$When this backend fetched the rate.
rateUsdPerCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$USD per CC.
roundNumberintegerYesminimum: 0; maximum: 9007199254740991—
sourcestringYesmin length: 1; max length: 100—
stalebooleanYes——

Additional fields are not allowed.

Schema 14

Response 200.items item.accounting.incompleteReason

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. allowed: "transfer-in-without-cost", "removal-exceeds-history", "history-before-query-store", "quantity-mismatch"
  • Variant 2: null.

Schema 15

Response 200.items item.accounting.costBasisCc

Type: one or more variants.

Remaining cost of the held tokens, buy fees included; null when unknown.

At least one of these variants must match:

  • Variant 1: string. pattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$
  • Variant 2: null.

Schema 16

Response 200.items item.accounting.buyFeesInBasisCc

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. pattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$
  • Variant 2: null.

Schema 17

Response 200.items item.accounting.averageEntryCc

Type: one or more variants.

costBasisCc / held; null when unknown or nothing is held.

At least one of these variants must match:

  • Variant 1: string. pattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$
  • Variant 2: null.

Schema 18

Response 200.items item.accounting.positionOpenedAt

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
  • Variant 2: null.

Schema 19

Response 200.items item.accounting.counts

Type: object.

FieldTypeRequiredConstraintsDescription
buysintegerYesminimum: 0; maximum: 9007199254740991—
sellsintegerYesminimum: 0; maximum: 9007199254740991—
transfersInintegerYesminimum: 0; maximum: 9007199254740991—
transfersOutintegerYesminimum: 0; maximum: 9007199254740991—

Additional fields are not allowed.

Schema 20

Response 200.items item.valuation.priceCc

Type: one or more variants.

Current market price, CC per token.

At least one of these variants must match:

  • Variant 1: string. pattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$
  • Variant 2: null.

Schema 21

Response 200.items item.valuation.unrealizedPnlCc

Type: one or more variants.

currentValueCc - costBasisCc, before sale fees and slippage; null without a complete basis or a price.

At least one of these variants must match:

  • Variant 1: string. pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
  • Variant 2: null.

Schema 22

Response 200.items item.valuation.unrealizedPnlPercent

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
  • Variant 2: null.

Schema 23

Response 200.items item.valuation.usd

Type: one or more variants.

Every CC figure at the one current rate in meta.ccUsdQuote; no historical FX.

At least one of these variants must match:

  • Variant 1: object · Schema 24.
  • Variant 2: null.

Schema 24

Response 200.items item.valuation.usd variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
rateUsdPerCcstringYespattern: ^(?:0|[1-9]\d*)(?:\.\d+)?$—
priceUsdone or more variants · Schema 16Yes——
currentValueUsdone or more variants · Schema 16Yes——
costBasisUsdone or more variants · Schema 16Yes——
averageEntryUsdone or more variants · Schema 16Yes——
unrealizedPnlUsdone or more variants · Schema 22Yes——

Additional fields are not allowed.

Source contract

This page is generated from the checked-in customer OpenAPI snapshot. Download JSON, download YAML, or compare the live API reference. Snapshot provenance records the retrieval date and checksum.

Generated from the public API contractDeveloper settings