API Design
The Intelliprint API is designed to be:- RESTful - Predictable URLs and standard HTTP methods
- Flexible - Accept JSON or multipart/form-data
- JSON-encoded - All responses are JSON with standard HTTP status codes
- Developer-friendly - Clear error messages and comprehensive documentation
https://api.intelliprint.net/v1
Authentication
All API requests require authentication using an API key in theAuthorization header.
1
Create an API key
Navigate to your API Keys page in the Intelliprint dashboard and create a new key.
2
Include it in requests
Pass your API key using Bearer authentication:
Authentication Example
Core Objects
The Intelliprint API revolves around four main objects:Print Jobs
Print jobs are the core resource - they represent a collection of letters or postcards to be sent. Each print job can contain one item or thousands at once. Object type:print
Key properties:
id- Unique identifier (e.g.,print_eg)testmode- Whether this is a test (not charged, not sent)confirmed- Whether submitted for printingtype- Eitherletterorpostcardletters- Array of individual mail itemscost- Pricing details
Backgrounds
Backgrounds let you apply reusable designs like letterheads and logos to your print jobs. Upload once, reuse everywhere. Object type:background
Key properties:
id- Unique identifier (e.g.,bg_eg)name- User-friendly name for dashboardfile- Uploaded background file details
Mailing Lists
Mailing lists store groups of recipients, allowing you to send to multiple people with a single operation. Object type:mailing_list
Key properties:
id- Unique identifier (e.g.,mal_eg)name- List namerecipients- Count of recipientsvariables- Dynamic fields for personalisation
Mailing List Recipients
Individual contacts stored within a mailing list. Object type:mailing_list_recipient
Key properties:
id- Unique identifier (e.g.,mal_rcp_eg)address- Recipient address detailsvariables- Personalisation data for this recipient
Object Relationships
Here’s how the objects relate to each other:Test Mode
Test mode allows you to preview mailings without being charged or having them physically sent.How it works
Settestmode: true when creating or updating a print job:
Test Mode vs Live Mode
| Feature | Test Mode (testmode: true) | Live Mode (testmode: false) |
|---|---|---|
| Cost | Free - no charges | Charged to your account |
| Sending | Not physically sent | Printed and mailed |
| API behaviour | Identical to live | Identical to test |
| PDFs | Generated and accessible | Generated and accessible |
| Tracking | Simulated | Real tracking numbers |
Test mode print jobs appear in your dashboard with a “TEST” badge so you can easily distinguish them from live mailings.
Confirmation Workflow
Print jobs use a two-stage workflow: draft → confirmed.Draft Mode (Default)
By default, print jobs are created as unconfirmed drafts:- Can be updated freely
- Are not sent for printing
- Can be previewed and reviewed
- Ideal for human-driven workflows
Confirmed Mode
Setconfirmed: true to submit for printing:
- Are submitted to our print queue
- Cannot be updated (immutable)
- Will be printed and mailed
- Can be cancelled if not yet printed
Same-day handover to Royal Mail: If you confirm a print job before 3pm UK time, we aim to print it and hand it over to Royal Mail on the same business day.
Jobs confirmed after 3pm are processed the next business day. Delivery times quoted for postage services are measured from Royal Mail’s acceptance of the mail, not from the moment you submit the job to Intelliprint.
Jobs confirmed after 3pm are processed the next business day. Delivery times quoted for postage services are measured from Royal Mail’s acceptance of the mail, not from the moment you submit the job to Intelliprint.
Workflow Examples
Programmatic workflow (single-step):Additional Features
Beyond the core functionality, the Intelliprint API offers several additional features for specific use cases:Metadata
Store arbitrary key-value data alongside your print jobs for your own use. Metadata is not used by Intelliprint and is purely for your application’s needs.Confidential Print Jobs
Mark print jobs as confidential to hide them from other users in your dashboard. Useful for sensitive mailings like salary letters or legal documents.Confidential print jobs can only be viewed by the user who created them, not by other users in your account.
Confirmation Emails
Receive an email notification when a print job is confirmed and submitted for printing.Address Validation
Address validation is a value-added service that verifies recipient addresses before sending, ensuring you only pay for deliverable mail. How it works:- Create a mailing list with
address_validation.requested: true - Intelliprint validates all addresses in the list
- Access validation results via the API
- Send only to addresses that passed validation
address_validation_status field:
passed- Address is valid and deliverablefailed- Address is invalid or undeliverablepending- Validation in progressnot_requested- Validation not requested for this list

