Inkit Templates API

Manage document templates

OpenAPI Specification

inkit-templates-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Inkit Document Generation Batches Templates API
  description: 'The Inkit REST API enables developers to generate PDF documents from HTML templates, manage document storage and retrieval, launch document workflows and batches, and manage digital signature requests. Authentication uses the X-Inkit-API-Token header. The API enforces a rate limit of 300 requests per minute.

    '
  version: 1.0.0
  contact:
    name: Inkit Support
    url: https://docs.inkit.com/docs/welcome-to-inkit
  license:
    name: Proprietary
    url: https://www.inkit.com
servers:
- url: https://api.inkit.com/v1
  description: Inkit Production API
security:
- ApiKeyAuth: []
tags:
- name: Templates
  description: Manage document templates
paths:
  /template:
    post:
      operationId: createTemplate
      summary: Create Template
      description: Creates a new document template.
      tags:
      - Templates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateCreateRequest'
      responses:
        '200':
          description: Template created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
    get:
      operationId: listTemplates
      summary: List Templates
      description: Returns a list of document templates.
      tags:
      - Templates
      parameters:
      - name: search
        in: query
        description: Search term to filter templates
        required: false
        schema:
          type: string
      - name: sort
        in: query
        description: Sort order for results
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Page number for pagination
        required: false
        schema:
          type: integer
          minimum: 1
      - name: source
        in: query
        description: Filter by template source type
        required: false
        schema:
          type: string
      responses:
        '200':
          description: A list of templates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /template/{id}:
    get:
      operationId: getTemplate
      summary: Get Template
      description: Returns a single template by ID.
      tags:
      - Templates
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: Template details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  parameters:
    ResourceId:
      name: id
      in: path
      description: Unique identifier of the resource
      required: true
      schema:
        type: string
  responses:
    Unauthorized:
      description: Unauthorized - invalid or missing API token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters or request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Rate limit exceeded - max 300 requests per minute
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Destination:
      type: object
      description: Document delivery destination configuration
      properties:
        name:
          type: string
          description: Destination name (e.g. s3, box, dropbox, google_drive, sepire)
        status:
          type: string
          description: Current delivery status
        data:
          type: object
          description: Destination-specific configuration data
          additionalProperties: true
    TemplateData:
      type: object
      description: Template dimensions and format settings
      properties:
        width:
          type: number
          description: Page width
        height:
          type: number
          description: Page height
        unit:
          type: string
          description: Unit for dimensions (e.g. px, mm, in)
    Template:
      type: object
      properties:
        id:
          type: string
          description: Unique template identifier
        name:
          type: string
          description: Template name
        source:
          type: string
          description: Template source type
        data:
          $ref: '#/components/schemas/TemplateData'
        destinations:
          type: array
          items:
            $ref: '#/components/schemas/Destination'
        created_at:
          type: string
          format: date-time
          description: Template creation timestamp
        updated_at:
          type: string
          format: date-time
          description: Template last update timestamp
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        code:
          type: integer
          description: Error code
    TemplateCreateRequest:
      type: object
      required:
      - name
      - source
      properties:
        name:
          type: string
          description: Template name
        source:
          type: string
          description: Template source type (e.g. html, pdf, docx)
        file:
          type: string
          description: Base64-encoded template file content
        data:
          $ref: '#/components/schemas/TemplateData'
        destinations:
          type: array
          description: List of delivery destinations
          items:
            $ref: '#/components/schemas/Destination'
    TemplateListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Template'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Inkit-API-Token
      description: API token for Inkit authentication