---
title: "Create a private evidence upload intent"
method: POST
path: "/v1/owner/evidence/upload-intents"
tags: ["Business Owner"]
---

# Create a private evidence upload intent

`POST /v1/owner/evidence/upload-intents`

## Request

- Base URL: `https://loppee.com`
- URL: `https://loppee.com/v1/owner/evidence/upload-intents`
- Auth: HTTP bearer

Binds one short-lived private upload to the authenticated owner, business, factor, MIME type, byte length, and SHA-256. The upload token is returned once and only its digest is stored.

## Request body

- object
  - `business_id` string, required
  - `factor_id` 'insurance' | 'identity_ownership' | 'license' | 'domain_ownership' | 'phone_reachability', required
  - `kind` 'insurance_document' | 'source_screenshot', required
  - `file_name` string, required
  - `content_type` 'application/pdf' | 'image/jpeg' | 'image/png' | 'image/webp', required
  - `size_bytes` number, required
  - `file_sha256` string, required
  - `issuer` string, required
  - `credential_identifier` string, required
  - `jurisdiction` string
  - `evidence_observed_at` string
  - `expires_at` string
  - `source_url` string

## Response `200`

Create a private evidence upload intent response

- object: Short-lived exact-file upload authority.

## Other responses

- `400`: ErrorResponse
- `401`: ErrorResponse
- `403`: ErrorResponse
- `404`: ErrorResponse
- `409`: ErrorResponse
- `413`: ErrorResponse
- `429`: RateLimitError
- `default`: ErrorResponse

---

[API](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents.md) · [All operations](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents/revisions/37285f7cddcd?raw)
