Error
A valid request URL is required to generate request examples{
"version": "external-position-snapshot/v1",
"accountId": "<string>",
"snapshotSequence": 1,
"readModelDigest": "<string>",
"positions": [
{
"positionId": "<string>",
"accountId": "<string>",
"marketId": "<string>",
"side": "long",
"status": "open",
"openedAtEpochMs": 1,
"closedAtEpochMs": 1,
"maxQuantityAtoms": "<string>",
"maxQuantity": "<string>",
"currentQuantityAtoms": "<string>",
"currentQuantity": "<string>",
"avgEntryPriceAtoms": "<string>",
"avgEntryPrice": "<string>",
"avgExitPriceAtoms": "<string>",
"avgExitPrice": "<string>",
"realizedPnlAtoms": "<string>",
"realizedPnl": "<string>",
"feesPaidAtoms": "<string>",
"feesPaid": "<string>",
"fundingPaidAtoms": "<string>",
"fundingPaid": "<string>",
"closeReason": "user_close",
"lastSequence": 1,
"markPriceAtoms": "<string>",
"unrealizedPnlAtoms": "<string>",
"liquidationPriceAtoms": "<string>",
"marginHealthBps": "<string>",
"equityAtoms": "<string>",
"maintenanceRequirementAtoms": "<string>",
"marginStatus": "healthy",
"riskAsOfMarketDataSequence": 4503599627370495,
"liquidationTierConsistent": true
}
],
"resync": {
"stream": "account.positions",
"fromSequence": 123
}
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}Accounts
Get account positions
Returns open positions enriched with live liquidation price, margin health, and mark-sequence provenance.
Method and path: GET /v1/accounts//positions
Authentication: DFNS trader bearer required.
Request schema: none.
Response schema: ExternalPositionSnapshotResponse.
Error envelope: ExternalRestError (external-rest-error/v1).
GET
/
v1
/
accounts
/
{accountId}
/
positions
Error
A valid request URL is required to generate request examples{
"version": "external-position-snapshot/v1",
"accountId": "<string>",
"snapshotSequence": 1,
"readModelDigest": "<string>",
"positions": [
{
"positionId": "<string>",
"accountId": "<string>",
"marketId": "<string>",
"side": "long",
"status": "open",
"openedAtEpochMs": 1,
"closedAtEpochMs": 1,
"maxQuantityAtoms": "<string>",
"maxQuantity": "<string>",
"currentQuantityAtoms": "<string>",
"currentQuantity": "<string>",
"avgEntryPriceAtoms": "<string>",
"avgEntryPrice": "<string>",
"avgExitPriceAtoms": "<string>",
"avgExitPrice": "<string>",
"realizedPnlAtoms": "<string>",
"realizedPnl": "<string>",
"feesPaidAtoms": "<string>",
"feesPaid": "<string>",
"fundingPaidAtoms": "<string>",
"fundingPaid": "<string>",
"closeReason": "user_close",
"lastSequence": 1,
"markPriceAtoms": "<string>",
"unrealizedPnlAtoms": "<string>",
"liquidationPriceAtoms": "<string>",
"marginHealthBps": "<string>",
"equityAtoms": "<string>",
"maintenanceRequirementAtoms": "<string>",
"marginStatus": "healthy",
"riskAsOfMarketDataSequence": 4503599627370495,
"liquidationTierConsistent": true
}
],
"resync": {
"stream": "account.positions",
"fromSequence": 123
}
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Minimum string length:
1Response
Success
Allowed value:
"external-position-snapshot/v1"Minimum string length:
1Required range:
x >= 0Covers the DURABLE episode rows ONLY. Live per-market risk is merged into positions from engine memory and is deliberately EXCLUDED, so the digest is stable across mark-price movement and does not change when marginStatus does. Do not verify it against positions; it will not match.
Pattern:
^sha256:[0-9a-f]{64}$Show child attributes
Show child attributes
Show child attributes
Show child attributes