Document template · generic.legal.reseller_agreement
Reseller Agreement
- Render-verified
- Legal-sensitive
- Version 1.0.0
Reseller / channel partner agreement — vendor appoints a reseller to resell products or services in a defined territory. Distinct from agency (no authority to bind the vendor) and franchise (no full business format licence). Vertical-restraints analysis applies in the EU under Reg. (EU) 2022/720 (VBER).
JSON Schema
Fields in this template
Data sent to the API is validated against the template’s JSON Schema before anything is rendered. This template defines 24 fields:
| Field | Required | Type | Description |
|---|---|---|---|
| reference | Optional | string | |
| effective_date | Optional | date | |
| vendor | Required | object | |
| reseller | Required | object | |
| territory | Required | array of string | |
| exclusivity | Required | enum | 'sole' = vendor may also sell directly in the territory but not appoint other resellers. |
| products_in_scope | Required | array of string | |
| discount_structure | Required | object | |
| discount_structure.discount_pct | Required | number | Baseline reseller discount off list price. |
| discount_structure.volume_tiers_optional | Optional | array of object | |
| discount_structure.currency | Optional | string | |
| marketing_obligations | Required | array of string | |
| minimum_commitments_optional | Optional | array of object | |
| minimum_commitments_optional[].period | Required | string | |
| minimum_commitments_optional[].target | Required | string | E.g. 'EUR 200,000 net revenue', '40 licence seats', '5 new customers'. |
| lead_handling_rules | Required | string | |
| brand_use_terms | Required | string | |
| term | Required | object | |
| term.initial_months | Required | integer | |
| term.renewal_months_optional | Optional | integer | |
| term.notice_days | Required | integer | |
| termination_provisions | Required | string | |
| governing_law | Required | string | |
| signatories | Required | array |
POST /render
Generate it
One POST /render call: send your JSON, get the finished PDF back. Or skip the JSON entirely and describe the document in plain language on chut.app.
curl -X POST https://api.papii.eu/render \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "generic.legal.reseller_agreement",
"data": { ... },
"options": {"language": "en"}
}' -o reseller-agreement.pdf Frequently asked questions
What is “Reseller Agreement”?
Reseller / channel partner agreement — vendor appoints a reseller to resell products or services in a defined territory. Distinct from agency (no authority to bind the vendor) and franchise (no full business format licence). Vertical-restraints analysis applies in the EU under Reg. (EU) 2022/720 (VBER). On papii this document is available as template generic.legal.reseller_agreement: a JSON Schema plus a deterministic PDF renderer, so the same data always produces the same document.
Can I generate a Reseller Agreement with AI?
Yes. chut.app — the AI back office papii powers — fills this template from a plain-language description: you describe the document in one sentence, the AI structures the data, papii validates it against the schema and renders the PDF. Developers can also call the papii API directly with structured JSON.
Is the Reseller Agreement template legally compliant?
This template is render-verified: its schema, sample data and PDF output are automatically tested on every release. It is published with status “ready”, meaning it has not yet been through papii’s final legal review. Where it references specific legislation, that is stated in the template description — always have a professional check documents with legal effect before relying on them.