---
title: "Create a checksum-bound one-time artifact upload"
method: POST
path: "/v1/projects/{project_id}/artifact-uploads"
tags: ["Buyer artifacts"]
---

# Create a checksum-bound one-time artifact upload

`POST /v1/projects/{project_id}/artifact-uploads`

## Request

- Base URL: `https://api.supplyslate.com`
- URL: `https://api.supplyslate.com/v1/projects/{project_id}/artifact-uploads`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://mcp.supplyslate.com/authorize`, token URL `https://mcp.supplyslate.com/oauth/token`)
  - HTTP bearer

## Path parameters

- `project_id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- ArtifactUploadWrite
  - `original_filename` string, required
  - `media_type` string, required
  - `artifact_type` 'step' | 'stp' | 'stl' | '3mf' | 'obj' | 'iges' | 'igs' | 'dxf' | 'gerber_zip' | 'kicad' | 'csv' | 'xlsx' | 'pdf' | 'image' | 'text' | 'json' | 'other', required
  - `purpose` 'design' | 'drawing' | 'bom_source' | 'datasheet' | 'photo' | 'requirement_package' | 'quote' | 'certification' | 'other', required
  - `data_classification` 'public' | 'commercial' | 'confidential' | 'restricted', required
  - `size_bytes` integer, required
  - `checksum_sha256` string, required

## Response `201`

Created durably

- ArtifactUploadResponse
  - `artifact` Artifact, required
    - `id` string, required
    - `project_id` string
    - `filename` string
    - `media_type` string
    - `byte_size` integer
    - `sha256` string
    - `scan_status` string
    - `disclosure_status` string
  - `request_id` string
  - `upload` object

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Scope or tenant boundary denied
- `404`: Resource not found
- `409`: State conflict or idempotency mismatch
- `429`: Rate limited

---

[API](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api.md) · [All operations](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api/llms.txt) · [OpenAPI document](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api/revisions/f7989551f167?raw)
