> ## Documentation Index
> Fetch the complete documentation index at: https://cantonfoundation-splice-openapi-manual-pages-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Holdings summary at v1

<div class="x2mdx-ref-page x2mdx-ref-page--operation x2mdx-ref-page--manual-api" />

<div class="x2mdx-ref-hero">
  <p class="x2mdx-ref-eyebrow">Scan API</p>

  <h1 class="x2mdx-ref-title">Holdings summary at v1</h1>

  <div class="x2mdx-ref-badges">
    <span class="x2mdx-ref-badge x2mdx-ref-badge--protocol">OpenAPI</span>

    <span class="x2mdx-ref-badge x2mdx-ref-badge--added">Since 0.6.3</span>
  </div>
</div>

Returns the summary of active amulet contracts for a given migration id and record time, for the given parties. This is an aggregate of `/v0/holdings/state` by owner party ID with better performance than client-side computation. Unlike /v0/holdings/summary, this version does not include holding fee fields as they do not express a meaningful aggregate value.

## Protocol Details

<div class="x2mdx-ref-meta-grid">
  <div class="x2mdx-ref-meta-item">
    <span class="x2mdx-ref-meta-label">Operation ID</span>
    <span class="x2mdx-ref-meta-value">getHoldingsSummaryAtV1</span>
  </div>

  <div class="x2mdx-ref-meta-item">
    <span class="x2mdx-ref-meta-label">Published</span>
    <span class="x2mdx-ref-meta-value">0.7.4</span>
  </div>

  <div class="x2mdx-ref-meta-item">
    <span class="x2mdx-ref-meta-label">Specification</span>
    <span class="x2mdx-ref-meta-value"><a href="/openapi/splice/scan/scan.yaml">Download OpenAPI</a></span>
  </div>
</div>

## Inputs

### Request body

<div class="x2mdx-ref-badges">
  <span class="x2mdx-ref-badge x2mdx-ref-badge--neutral">application/json</span>
</div>

<ParamField body="migration_id" type="number" required>
  OpenAPI type: `integer (int64)`.

  The migration id for which to return the summary.
</ParamField>

<ParamField body="record_time" type="string" required>
  OpenAPI type: `string (date-time)`.

  The timestamp at which the contract set was active. This needs to be an exact timestamp, i.e., needs to correspond to a timestamp reported by `/v0/state/acs/snapshot-timestamp` if `record_time_match` is set to `exact` (which is the default). If `record_time_match` is set to `at_or_before`, this can be any timestamp, and the most recent snapshot at or before the given `record_time` will be returned.
</ParamField>

<ParamField body="record_time_match" type="string" default="exact">
  How to match the record\_time. "exact" requires the record\_time to match exactly. "at\_or\_before" finds the most recent snapshot at or before the given record\_time.
</ParamField>

<ParamField body="owner_party_ids" type="string[]" required>
  The owners for which to compute the summary.
</ParamField>

## Outputs

### 200

<div class="x2mdx-ref-badges">
  <span class="x2mdx-ref-badge x2mdx-ref-badge--neutral">application/json</span>
</div>

<ResponseField name="record_time" type="string (date-time)" required>
  The same `record_time` as in the request.
</ResponseField>

<ResponseField name="migration_id" type="integer (int64)" required>
  The same `migration_id` as in the request.
</ResponseField>

<ResponseField name="summaries" type="HoldingsSummaryV1[]" required />

### 400

<div class="x2mdx-ref-badges">
  <span class="x2mdx-ref-badge x2mdx-ref-badge--neutral">application/json</span>
</div>

<ResponseField name="error" type="string" required />

### 404

<div class="x2mdx-ref-badges">
  <span class="x2mdx-ref-badge x2mdx-ref-badge--neutral">application/json</span>
</div>

<ResponseField name="error" type="string" required />

### 500

<div class="x2mdx-ref-badges">
  <span class="x2mdx-ref-badge x2mdx-ref-badge--neutral">application/json</span>
</div>

<ResponseField name="error" type="string" required />

## History

<div class="x2mdx-ref-history" aria-label="Reference history">
  <div class="x2mdx-ref-history-event x2mdx-ref-history-event--introduced">
    <div class="x2mdx-ref-history-event-head">
      <span class="x2mdx-ref-history-event-label">Introduced</span>
      <code class="x2mdx-ref-history-event-version">0.6.3</code>
    </div>
  </div>
</div>

<RequestExample>
  ```bash Request theme={null}
  curl --request POST \
    --url 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v1/holdings/summary' \
    --header 'Content-Type: application/json' \
    --data '{"migration_id":0,"record_time":"2026-01-01T00:00:00Z","record_time_match":"exact","owner_party_ids":["string"]}'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 response theme={null}
  {
    "record_time": "2026-01-01T00:00:00Z",
    "migration_id": 0,
    "summaries": [
      {}
    ]
  }
  ```
</ResponseExample>
