> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atomscale.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Physical Sample Timeseries

> Retrieve aggregated timeseries data for a physical sample

Returns timeseries data aggregated across the data items associated with a physical sample. Results are organized by property, where each property carries its own arrays of values and times.

<ParamField path="physical_sample_id" type="string" required>
  UUID of the physical sample
</ParamField>

## Response

<ResponseField name="physical_sample_id" type="string">
  UUID of the physical sample the timeseries belong to
</ResponseField>

<ResponseField name="properties" type="array">
  Array of property timeseries objects, one per property.

  <Expandable title="properties">
    <ResponseField name="property_name" type="string">
      Name of the property (e.g., `thickness`, `temperature`)
    </ResponseField>

    <ResponseField name="property_values" type="array">
      Array of measurement values. Individual entries can be `null` where no value was recorded.
    </ResponseField>

    <ResponseField name="real_time_seconds" type="array">
      Array of time values in seconds, aligned with `property_values`
    </ResponseField>

    <ResponseField name="result_id" type="string">
      UUID of the result that produced this property series
    </ResponseField>

    <ResponseField name="last_updated" type="string">
      ISO 8601 timestamp of the last update to this series
    </ResponseField>

    <ResponseField name="constituent_data_ids" type="array">
      UUIDs of the data items that contributed to this series
    </ResponseField>

    <ResponseField name="generating_dbos_workflow_id" type="string">
      ID of the workflow that generated this series, or `null` if not applicable
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.atomscale.ai/physical_samples/a1b2c3d4-5678-90ab-cdef-1234567890ab/timeseries/",
      headers={"X-API-KEY": "YOUR_API_KEY"}
  )
  timeseries = response.json()
  ```

  ```bash cURL theme={null}
  curl "https://api.atomscale.ai/physical_samples/a1b2c3d4-5678-90ab-cdef-1234567890ab/timeseries/" \
    -H "X-API-KEY: YOUR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "physical_sample_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "properties": [
      {
        "property_name": "thickness",
        "property_values": [0, 5.2, 10.1, null, 20.0],
        "real_time_seconds": [0, 10, 20, 30, 40],
        "result_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
        "last_updated": "2024-01-15T10:00:00Z",
        "constituent_data_ids": ["d290f1ee-6c54-4b01-90e6-d701748f0851"],
        "generating_dbos_workflow_id": null
      }
    ]
  }
  ```
</ResponseExample>
