vCard Simple API

A simplified endpoint for creating and updating vCard records. This endpoint automatically handles both operations in a single request.

This endpoint intelligently handles both creating new vCards and updating existing ones based on the parameters provided.
POST https://oqp.link/api/vcard-simple/
curl --request POST \
--url 'https://oqp.link/api/vcard-simple/' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Abdulmuti Salkini",
  "theme": "vcard",
  "settings": {
    "background_type": "color",
    "background_color": "#F5F5F5",
    "first_name": "Abdulmuti",
    "last_name": "Salkini",
    "company": "company",
    "job_title": "Project Manager",
    "birthday": "1999-01-01"
  }
}'
curl --request POST \
--url 'https://oqp.link/api/vcard-simple/' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: application/json' \
--data '{
  "vcard_id": 123,
  "settings": {
    "company": "New Company Name",
    "job_title": "Senior Manager"
  }
}'
Parameters Details Description
name Required* String The name/title of the vCard. (*Required for creating, optional for updating)
vcard_id Optional Integer ID of existing vCard to update. If provided, updates that vCard instead of creating new one.
url_lookup Optional String URL of existing vCard to update. Alternative to vcard_id for finding the vCard to update.
url Optional String Custom URL for the vCard. Auto-generated if not provided (recommended).
theme Optional String Theme identifier (e.g., "new-york", "vcard"). Default: "new-york"
description Optional String Description
domain_id Optional Integer Domain
settings Optional object JSON object containing vCard customization settings (see Settings Parameters below)
Settings Parameters

All fields in the settings object are optional. When updating, only provided fields are changed.

Field Type Description
Personal Information
first_name String First name (max 64 characters)
last_name String Last name (max 64 characters)
company String Company name (max 64 characters)
job_title String Job title (max 64 characters)
birthday String Birthday in YYYY-MM-DD format (e.g., "1994-08-27")
Background Customization
background_type String Type of background: "preset", "color", "gradient", or "image"
background_color String Hex color code (e.g., "#F5F5F5")
background_preset String Preset background name (when background_type is "preset")
background_gradient_one String First gradient color (hex code)
background_gradient_two String Second gradient color (hex code)
Font Settings
font_family String Font family identifier (default: "default")
font_size Integer Font size in pixels (14-22, default: 16)
Display Options
is_share_button_visible Boolean Show/hide share button (default: true)
is_download_button_visible Boolean Show/hide download button (default: true)
SEO Settings
title String Page title for SEO (max 70 characters)
meta_description String Meta description for SEO (max 160 characters)
meta_keywords String Meta keywords for SEO (max 160 characters)
{ "data": { "id": 123, "url": "abc1234", "full_url": "https://oqp.link/abc1234", "name": "Abdulmuti Salkini", "theme": "vcard", "settings": { "background_type": "color", "background_color": "#F5F5F5", "first_name": "Abdulmuti", "last_name": "Salkini", "company": "company", "job_title": "Project Manager", "birthday": "1999-01-01", "is_share_button_visible": true, "is_download_button_visible": true, "font_size": 16 }, "message": "vCard created successfully" } }
{ "data": { "id": 123, "url": "abc1234", "full_url": "https://oqp.link/abc1234", "name": "Abdulmuti Salkini", "theme": "vcard", "settings": { "company": "New Company Name", "job_title": "Senior Manager" }, "message": "vCard updated successfully" } }
What makes this endpoint special?
Auto URL Generation

Simply omit the url parameter and the system generates a unique URL automatically.

Smart Create/Update

One endpoint handles both operations. Include vcard_id or url_lookup to update, omit to create.

Partial Updates

Only send the fields you want to change. Other settings remain unchanged.

JSON Support

Clean JSON format for easy integration with modern applications.

Common Use Cases
  • CRM Integration: Automatically create vCards when new contacts are added
  • Employee Directory: Generate vCards for all staff members
  • Event Management: Create vCards for event attendees
  • Mobile Apps: Backend API for vCard management
  • Bulk Import: Import vCards from external systems
Minimal Create (Auto-generated URL)
{
  "name": "John Doe"
}
Update by ID (Partial Update)
{
  "vcard_id": 123,
  "settings": {
    "company": "New Company Only"
  }
}
Update by URL
{
  "url_lookup": "john-doe-ceo",
  "theme": "vcard",
  "settings": {
    "job_title": "Senior CEO"
  }
}
PHP Example
$data = [
    'name' => 'Abdulmuti Salkini',
    'theme' => 'vcard',
    'settings' => [
        'first_name' => 'Abdulmuti',
        'last_name' => 'Salkini',
        'company' => 'company',
        'job_title' => 'Project Manager'
    ]
];

$ch = curl_init('https://oqp.link/api/vcard-simple/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer {api_key}'
]);

$response = curl_exec($ch);
$result = json_decode($response, true);
Error Status Cause Solution
Empty fields 401 Missing required name field Include the name field when creating
URL exists 401 Custom URL already taken Use different URL or omit for auto-generation
Invalid authorization token 401 API key is invalid or missing Check your API key in Authorization header
Resource not found 404 vCard ID or URL not found Verify the vcard_id or url_lookup
Plan feature limit 401 Reached vCard creation limit Upgrade plan or delete unused vCards