Kollengo Public API (1.0)

Download OpenAPI specification:

Filtered public API for Kollengo customers. Use the X-API-KEY header for authentication.

system

Health check

Check if the service and database are running

Authorizations:
APIKey

Responses

Response samples

Content type
application/json
{
  • "database": "string",
  • "message": "string",
  • "status": "string",
  • "version": "string"
}

clauses

List clauses

Get all active clauses for an organization. Supports filtering by organization_id and include_history.

Authorizations:
APIKey
query Parameters
include_history
boolean

Include historical versions

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a clause

Get a specific clause by ID

Authorizations:
APIKey
path Parameters
id
required
string

Clause ID

Responses

Response samples

Content type
application/json
{
  • "clause_series_id": "string",
  • "content": "string",
  • "created_at": "string",
  • "created_by": "string",
  • "effective_date": "string",
  • "id": "string",
  • "is_active": true,
  • "order_num": 0,
  • "organization_id": "string",
  • "tags": [
    ],
  • "term_date": "string",
  • "title": "string",
  • "updated_at": "string",
  • "version": 0
}

Get clause history

Get version history for a clause

Authorizations:
APIKey
path Parameters
id
required
string

Clause ID

Responses

Response samples

Content type
application/json
{
  • "current_clause": {
    },
  • "history": [
    ]
}

contracts

List contracts

Get all contracts for an organization with filtering, sorting, and pagination

Authorizations:
APIKey
query Parameters
status
string

Filter by status (draft, finalized, approved)

product_id
string

Filter by product ID

source_type
string

Filter by source type (generated, uploaded)

q
string

Search by contract name or client

sort_by
string
Default: "generated_at"

Sort field (generated_at, updated_at, status, contract_name)

sort_dir
string
Default: "desc"

Sort direction (asc, desc)

limit
integer
Default: 20

Number of results per page

offset
integer
Default: 0

Pagination offset

Responses

Response samples

Content type
application/json
{
  • "contracts": [
    ],
  • "total": 0
}

Generate a contract

Generate a contract from product and features configuration

Authorizations:
APIKey
query Parameters
organization_id
required
string

Organization ID

Request Body schema: application/json
required

Contract generation request

object
client
string
contract_name
string
object
feature_ids
Array of strings
object
product_id
required
string
sale_date
string

Optional RFC3339 timestamp or YYYY-MM-DD format, defaults to current time

Responses

Request samples

Content type
application/json
{
  • "clause_values": {
    },
  • "client": "string",
  • "contract_name": "string",
  • "data": { },
  • "feature_ids": [
    ],
  • "optional_toggles": { },
  • "product_id": "string",
  • "sale_date": "string"
}

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "json": { }
}

Preview contract variables for a product/feature selection

Returns clause variables and template ID without creating a contract

Authorizations:
APIKey
Request Body schema: application/json
required

Contract generation request

object
client
string
contract_name
string
object
feature_ids
Array of strings
object
product_id
required
string
sale_date
string

Optional RFC3339 timestamp or YYYY-MM-DD format, defaults to current time

Responses

Request samples

Content type
application/json
{
  • "clause_values": {
    },
  • "client": "string",
  • "contract_name": "string",
  • "data": { },
  • "feature_ids": [
    ],
  • "optional_toggles": { },
  • "product_id": "string",
  • "sale_date": "string"
}

Response samples

Content type
application/json
{
  • "clause_variables": [
    ],
  • "template_id": "string"
}

Get contract

Get a specific contract by ID

Authorizations:
APIKey
path Parameters
id
required
string

Contract ID

Responses

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "features": [
    ],
  • "product": {
    }
}

Generate PDF for contract using LiquidJS template

Generate a PDF for a contract by calling the Fastify service with LiquidJS template

Authorizations:
APIKey
path Parameters
id
required
string

Contract ID

Request Body schema: application/json

Form data with template field values

form_data
object

Responses

Request samples

Content type
application/json
{
  • "form_data": { }
}

Get contract report

Get comprehensive contract report with all metadata and statistics

Authorizations:
APIKey
path Parameters
id
required
string

Contract ID

Responses

Response samples

Content type
application/json
{
  • "accepted_suggestions": 0,
  • "clause_values": {
    },
  • "contract_id": "string",
  • "contract_name": "string",
  • "created_at": "string",
  • "customer_name": "string",
  • "days_in_redlining": 0,
  • "features": [
    ],
  • "num_comments": 0,
  • "num_suggestions": 0,
  • "participants": [
    ],
  • "pending_approvers": [
    ],
  • "pending_suggestions": 0,
  • "products": [
    ],
  • "review_started_at": "string",
  • "status": "string",
  • "template_data": { }
}

Send share link via email

Send a contract share link to an email address

Authorizations:
APIKey
path Parameters
id
required
string

Contract ID

query Parameters
organization_id
required
string

Organization ID

Request Body schema: application/json
required

Email and optional message

email
string
message
string

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "message": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

features

List all features

Get all features for the organization (independent of products)

Authorizations:
APIKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

products

List products

Get all active products for an organization

Authorizations:
APIKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a product

Get a specific product by ID

Authorizations:
APIKey
path Parameters
id
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "description": "string",
  • "id": "string",
  • "is_active": true,
  • "name": "string",
  • "organization_id": "string",
  • "template_id": "string",
  • "updated_at": "string"
}

associations

List product features

Get all features associated with a product

Authorizations:
APIKey
path Parameters
id
required
string

Product ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

redlining

Get contract redlines JSON

Get the current redlines JSON for a contract (requires organization membership)

Authorizations:
APIKey
path Parameters
id
required
string

Contract ID

Responses

Response samples

Content type
application/json
{
  • "allowed_emails": [
    ],
  • "allowed_recipients": [
    ],
  • "contract_id": "string",
  • "created_at": "string",
  • "expires_at": "string",
  • "id": "string",
  • "is_enabled": true,
  • "redlines": {
    },
  • "token": "string",
  • "updated_at": "string",
  • "version": 0
}

templates

List templates

Get all active LiquidJS templates for an organization

Authorizations:
APIKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a template

Get a specific template by ID

Authorizations:
APIKey
path Parameters
id
required
string

Template ID

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "engine": "string",
  • "id": "string",
  • "is_active": true,
  • "name": "string",
  • "organization_id": "string",
  • "production_content": "string",
  • "production_version": 0,
  • "staging_content": "string",
  • "staging_updated_at": "string",
  • "staging_updated_by": "string",
  • "staging_version": 0
}

Get template fields

Extract all variables from a liquid template

Authorizations:
APIKey
path Parameters
id
required
string

Template ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}