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