> ## Documentation Index > Fetch the complete documentation index at: https://help.commbox.io/llms.txt > Use this file to discover all available pages before exploring further. # Create Predefined Form Link - V2 > The newest version of this API generates a personalized form link by overlaying fillable fields onto a custom PDF or image background. It also includes additional field types and support for Base64 file uploads.

The API creates a unique form URL that can be shared with customers for completion. ### How It Works 1. Specify the form template to use (via Form ID). 2. Identify the recipient (email or phone number). 3. Add additional parameters to prefill some or all the fields (optional). 4. Add **submissionContext** (optional) that will be attached to the document and enable internal classification used by the organization. 5. Upload a background document (PDF or image) in ONE of the ways (selecting both will fail the API return process). 6. Receive a unique form link to share with the customer ## Request Parameters ### Path Parameters - `FORM_ID` **(required)**: The unique identifier of the form template (visible in the Forms list screen) ### Body Parameters (multipart/form-data) - `streamProviderId` **(required)**: Customer's phone number or email address - `streamProviderType` **(required)**: Delivery method - `4` for email, `5` for phone/SMS - `referringObjectId` *(optional)*: Conversation ID to link with the generated form object for tracking purposes - `properties` (optional): JSON object with values for form’s inputs fields.
Expected format: field1_name:{field1_value};field2_name:{field2_value} - `submissionContext` (optional): Internal-only metadata passed in webhooks - `file` **(required)**: Background document file (PDF or image format URL) - `base64Data` (Optional): A Base64-encoded PDF uploaded with the request combined with the file name.
Expected format for field’s value: filename:{file_name};base64:{base64_string} ## Important Notes **Field Positioning**: All fillable fields will appear on the **last page** of your background document **Form Object Creation**: When a recipient opens the form link, a new form object is automatically created in the system **Conversation Tracking**: Use `referringObjectId` to maintain context between the form and the originating conversation ## OpenAPI ````json POST /v2/forms/createpredefinedlink/{FORM_ID} { "openapi": "3.0.3", "info": { "title": "CommBox API", "x-logo": { "url": "https://www.commbox.io/logo/commbox_logo_large.png" }, "version": "2.07", "termsOfService": "https://www.commbox.io/end-user-license-agreement-eula/", "contact": { "name": "commbox", "url": "https://www.commbox.io", "email": "contactus@commbox.io" } }, "servers": [ { "url": "https://api.commbox.io/", "description": "Production server" } ], "security": [ { "BearerAuth": [] } ], "tags": [ { "name": "Core", "description": "

Systemwide verification" }, { "name": "Objects", "description": "

Objects are conversations between the AI Agent or the human agent and the customers, where each segment of the conversation is referred to as a Child. Every conversation must have a designated Stream – a communication channel such as Chat, Email, Text/SMS, etc., through which the conversation takes place.
The Object APIs category concentrates on a specific conversation, where the Stream is part of the identifying parameters. In contrast, the Streams APIs category, the Channel is the focal point of the request, and the objects and users are the filtering aspects." }, { "name": "Media", "description": "Converting media files to Base64" }, { "name": "AI Services", "description": "APIs that provide AI capabilities by the platform. " }, { "name": "Streams", "description": "

Streams are communication channels used in CommBox, such as Chat, WhatsApp, SMS/Text, etc. In the Streams category of APIs, the channel is the focal point of the request, and the objects and users are the filtering aspects. See the Enums Section for available channels and their CommBox code." }, { "name": "Tags", "description": "

Tags are a classification tool for summarizing aspects of the conversation or the user. It can mark the conversation to indicate a new sale or identify a customer as not interested in the product. To help manage the Tags assets, Tags can be grouped with a common identifier." }, { "name": "SMS", "description": "

Sending customers **SMS messages** (Texting) requires an initial opt-in step, which is not offered by CommBox and is the sole responsibility of the sending entity (Business)." }, { "name": "WhatsApp", "description": "

CommBox facilitates activities in **WABA** for the clients. Our platform helps clients create new templates and manage existing ones.

**Opt-in for WhatsApp**
Before sending WhatsApp messages to someone, you must first receive opt-in permission confirming that they wish to receive future messages from you on WhatsApp. This can be done using any channel your business uses to communicate with people — your website, app, email, retail location, etc.