---
title: "Create Clarity Artifact Import Upload URL"
method: POST
path: "/v2/clarity-v2/processes/{process_id}/artifact-imports/create-upload-url"
tags: ["ClarityV2"]
---

# Create Clarity Artifact Import Upload URL

`POST /v2/clarity-v2/processes/{process_id}/artifact-imports/create-upload-url`

## Request

- Base URL: `https://api.duvo.ai`
- URL: `https://api.duvo.ai/v2/clarity-v2/processes/{process_id}/artifact-imports/create-upload-url`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/duvo/apis/duvo-public-api/docs/v2/clarity-v2/processes/:process_id/artifact-imports/create-upload-url/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a signed upload URL for importing a Miro export into a Clarity v2 process. Supports SVG, XML, PNG, and JPEG exports. The caller must upload the file to the returned URL, then complete the import.

## Path parameters

- `process_id` string, uuid, required

## Request body

- object
  - `file_name` string, required: Name of the Miro export file. Supported extensions: .svg, .xml, .png, .jpg, .jpeg
  - `content_type` 'image/svg+xml' | 'application/xml' | 'text/xml' | 'image/png' | 'image/jpeg', required: MIME type of the Miro export file
  - `extra_capture_request_id` string, uuid: Optional extra-capture-request id to bind this import to

## Response `200`

Default Response

- object
  - `signed_url` string, uri, required: Signed URL for uploading the artifact
  - `capture_id` string, uuid, required: Pending capture id to pass to completion
  - `expires_at` string, date-time, required: ISO 8601 upload URL expiration timestamp

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `500`: Default Response

---

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