Inkit Renders API

Generate and retrieve document renders (PDFs)

OpenAPI Specification

inkit-renders-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Inkit Document Generation Batches Renders 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: Renders
  description: Generate and retrieve document renders (PDFs)
paths:
  /render:
    post:
      operationId: createRender
      summary: Create Render
      description: Generates a PDF document from a template using provided merge parameters.
      tags:
      - Renders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenderCreateRequest'
      responses:
        '200':
          description: Render created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Render'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
    get:
      operationId: listRenders
      summary: List Renders
      description: Returns a list of document renders.
      tags:
      - Renders
      parameters:
      - name: sort
        in: query
        description: Sort order for results
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results per page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: page
        in: query
        description: Page number for pagination
        required: false
        schema:
          type: integer
          minimum: 1
      - name: destination_name
        in: query
        description: Filter by destination name
        required: false
        schema:
          type: string
      - name: destination_status
        in: query
        description: Filter by destination status
        required: false
        schema:
          type: string
      responses:
        '200':
          description: A list of renders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /render/{id}:
    get:
      operationId: getRender
      summary: Get Render
      description: Returns a single render by ID.
      tags:
      - Renders
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: Render details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Render'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
  /render/{id}/pdf:
    get:
      operationId: getRenderPdf
      summary: Download Render PDF
      description: Downloads the generated PDF file for a render.
      tags:
      - Renders
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: PDF file content
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '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:
    RenderListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Render'
    Render:
      type: object
      properties:
        id:
          type: string
          description: Unique render identifier
        template_id:
          type: string
          description: ID of the source template
        merge_parameters:
          type: object
          additionalProperties: true
          description: Merge parameters used for this render
        destinations:
          type: array
          items:
            $ref: '#/components/schemas/Destination'
        status:
          type: string
          description: Current render status
        created_at:
          type: string
          format: date-time
          description: Render creation timestamp
        updated_at:
          type: string
          format: date-time
          description: Render last update timestamp
    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
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        code:
          type: integer
          description: Error code
    RenderCreateRequest:
      type: object
      required:
      - template_id
      properties:
        template_id:
          type: string
          description: ID of the template to render
        merge_parameters:
          type: object
          description: Key-value pairs to merge into the template
          additionalProperties: true
        destinations:
          type: array
          description: List of delivery destinations for the rendered document
          items:
            $ref: '#/components/schemas/Destination'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Inkit-API-Token
      description: API token for Inkit authentication