Generate Document

Generates a document from a template and a set of merge parameters and stores it in a destination

Endpoint URLSDK Method
https://api.inkit.com/v1/generate (POST)Render.create()

Request properties

PropertyTypeRequiredDescription
template_idStringYesThe ID of the template you want to use when generating the document.
nameStringNoThe name of the document object.
descriptionStringNoThe description of the document object.
merge_paremetersObjectYesThe key-value pairs you want to use when generating your document. The data you supply here will replace the fields you have embedded in your document template.
destinationsObjectNoDetails about where and how you want to store the generated document.

Response properties

PropertyTypeDescription
document_idStringThe Document ID of the generated document if there is a inkit_storage destinations object.
idStringThe Render ID of the generated document.
mail_piece_idStringThe Sepire mail piece ID if there is a sepire destinations object .

Example request and response

# Import the Inkit Python package
import inkit
from inkit.exceptions import InkitResponseException
# Import json package
import json

# Replace the string below with your API key
inkit.api_token = "ENTER YOUR API KEY"

try:
  # Create a PDF document from a template
  resp = inkit.Render.create(
    # Specify the ID of the template
    template_id = "ENTER YOUR TEMPLATE ID",
    # Specify the data for the Name field
    merge_parameters = {"Name": "John"},
    # Specify the name of the PDF file
    destinations = {"inkit_storage": {"name": "Mail Merge Python SDK"}}
  )
  # Print the JSON repsonse of the API call
  print(json.dumps(resp.data, indent = 3))
except InkitResponseException as err:
  # Print any error
  print(err.response.data)
// Import the Inkit Node.js package
const Inkit = require("inkit");

// Replace the string below with your API key
Inkit.apiToken = "ENTER YOUR API KEY";

// Call the  PDF renderer
createRender();

// Create a PDF document from a template
async function createRender() {
    try {
        const result = await Inkit.Render.create({
            // Specify the ID of the template
            templateId: 'ENTER YOUR TEMPLATE ID',
            // Specify the data for the Name field
            mergeParameters: {"Name": "John"},
            // Specify the name of the PDF file
            destinations: {"inkit_storage": {"name": "Mail Merge Node.js SDK"}}
        });
        // Print the JSON response of the API call
        console.log(JSON.stringify(result.data, null, 3));
    } catch (error) {
        // Print any error
        console.error(error.response.status, error.response.statusText);
    }
}
curl --request POST \
     --url https://api.inkit.com/v1/generate \
     --header 'Content-Type: application/json' \
     --header 'X-Inkit-API-Token: ENTER YOUR API KEY' \
     --header 'accept: application/json' \
     --data '
{
  "merge_parameters": {
    "Name": "John"
  },
  "destinations": {
    "inkit_storage": {
      "name": "Mail Merge cURL"
    }
  },
  "template_id": "ENTER YOUR TEMPLATE ID"
}
'
{
   "document_id": "doc_IAjDpXZR1PKPXmkWttJFE",
   "id": "rend_5oGScGXBnDpKJbXnm4u6J7"
}