---
title: "Initiate signed URL upload to extend a measurement"
method: POST
path: "/cell_measurements/{measurement_id}/initiate-extend"
tags: ["Cell Measurements"]
---

# Initiate signed URL upload to extend a measurement

`POST /cell_measurements/{measurement_id}/initiate-extend`

## Request

- Base URL: `https://api.ionworks.com`
- URL: `https://api.ionworks.com/cell_measurements/{measurement_id}/initiate-extend`
- Auth: none declared

Mint a signed URL for uploading a delta time series extend file.

## Path parameters

- `measurement_id` string, uuid, required

## Response `201`

Successful Response

- InitiateUploadResponse: Response model after initiating a signed URL upload.
  - `measurement_id` string, required: Pre-generated measurement UUID
  - `uploads` UploadInfo[], required: Signed URL info for each upload target
    - `filename` string, nullable: Original filename
    - `signed_url` string, required: Pre-signed URL for uploading
    - `token` string, required: Upload token
    - `path` string, required: Storage path for the file
    - `multipart` MultipartUploadInfo: S3-multipart credentials and target for a large direct-to-storage upload. Mirrors the SDK-side model. The session token is the caller's own JWT, so Supabase Storage RLS applies to the S3 operations -- the service key must never appear in this block.
      - `endpoint` string, required: S3-compatible endpoint URL.
      - `region` string, required: S3 region name.
      - `bucket` string, required: Target storage bucket.
      - `object_path` string, required: Object key within the bucket.
      - `access_key_id` string, required: S3 access key id.
      - `secret_access_key` string, required: S3 secret access key.
      - `session_token` string, required: S3 session token (caller's JWT).
      - `expires_at` string, nullable: ISO timestamp after which the credentials stop working.

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-30** `ea3d377fec1a`: 1 breaking
  - for the `path` request parameter `measurement_id`, the format changed from no format to `uuid`

[Operation history](https://skmtc.dev/ionworks/apis/ionworks-api/changes/cell_measurements/:measurement_id/initiate-extend/post.md)

---

[API](https://skmtc.dev/ionworks/apis/ionworks-api.md) - [All operations](https://skmtc.dev/ionworks/apis/ionworks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ionworks/apis/ionworks-api/revisions/abebbbc5f60a?raw)
