---
title: "Upload a tenant-owned source or input artifact"
method: POST
path: "/credits/workflows/artifacts"
tags: ["Hosted Workflows"]
---

# Upload a tenant-owned source or input artifact

`POST /credits/workflows/artifacts`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/workflows/artifacts`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Accepts authenticated JSON content up to the configured artifact ceiling. It never fetches caller-supplied URLs.

## Request body

- object
  - `kind` 'source' | 'input', required
  - `content` unknown, required

## Response `201`

Tenant-scoped artifact metadata

## Other responses

- `400`: Invalid or oversized artifact
- `403`: Hosted Workflows unavailable or unauthorized

---

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