---
title: "Upload product knowledge document"
method: POST
path: "/api/agent/products"
tags: ["Products"]
---

# Upload product knowledge document

`POST /api/agent/products`

## Request body

- ProductCreateRequest
  - `title` string, required
  - `content` string, required
  - `source_type` 'upload' | 'url' | 'manual'
  - `source_name` string
  - `source_url` string, uri

## Response `201`

Document uploaded and embedded

- ProductCreateResponse
  - `id` string, uuid, required
  - `title` string, required
  - `source_type` string, required
  - `chunks_count` integer, required
  - `chunks_failed` integer, required
  - `partial` boolean, required
  - `token_count` integer, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `402` — Insufficient credits
- `422` — Tenant document limit reached
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-03-01** `2df2182b5901` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/citedy/apis/citedy-agent-api/changes/api/agent/products/post.md)

---

[API](https://skmtc.dev/citedy/apis/citedy-agent-api.md) · [All operations](https://skmtc.dev/citedy/apis/citedy-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/citedy/citedy-agent-api/revisions/b5785d3fe446/schema)
