Content Introduction
The Tenant API content endpoint (POST /v2/tenant/{tenantKey}/content)
delivers digital content from a sender to a recipient in Kivra, either a
private person or a company. Every request identifies the recipient, includes a
subject, and sets a type.
The type is the most important choice you make when sending content. It determines how Kivra presents the content in the recipient’s inbox, which notifications and reminders are sent, and which actions the recipient can take, such as paying an invoice, signing a document or booking an appointment. Each type also has its own metadata requirements.
Use the guides to choose the right content type and to provide the metadata needed for the content you want to create.
Content types
Section titled “Content types”| Content type | API values | Guide |
|---|---|---|
| Invoices | invoice, invoice.* |
Invoices |
| Letters | letter, letter.* |
Letters |
| Salary slips | salaryslip |
Salary slips |
| Invites | invite.* |
Invites |
| Booking or appointment | booking |
Bookings |
The types above only need a single request to the content endpoint. The content types below require setup or follow-up calls.
| Content type | API value | Guide |
|---|---|---|
| Form | letter.form |
Forms |
| Registered letter | registered.letter |
Registered letters |
| Event ticket | ticket.event |
Tickets |
Common payload
Section titled “Common payload”Send a POST request to /v2/tenant/{tenantKey}/content. At minimum, every
request needs one valid recipient identifier (vat_number, ssn, or email),
a subject, and a type.
| Field | Purpose |
|---|---|
ssn, email, or vat_number |
Identifies the person or company recipient |
subject |
Inbox title; keep it short and never include personal or sensitive information |
type |
Selects the content experience; letter is the default for non-payable content |
parts |
Includes one or more Base64-encoded document parts |
generated_at |
Optional generation timestamp for accurate inbox sorting |
retain and retention_time |
Holds supported content for an inactive recipient |
| Type-specific object | Supplies metadata such as payment_multiple_options, salaryslip, or invite |
{ "ssn": "YYYYMMDDNNNN", "subject": "Your monthly statement", "type": "letter", "parts": [ { "name": "statement.pdf", "content_type": "application/pdf", "data": "BASE64_ENCODED_PDF" } ]}Content & Limits
Section titled “Content & Limits”See Request limits for content, rate, and payload limits, Retained content for delivery to recipients who have not yet registered, Duplicate control for safe retries, and Responsive content for mobile-friendly document presentation.
See the Send content API reference for the complete request schema, validation rules, and current list of supported values.