Skip to main content
Vora DOCS
Home Search Ask AI Support Back to Vora
LIVE DOCS
Search docs... Ctrl K
πŸ“˜ User Manual
  • Account
  • Activity Overview Chart
  • Activity Stats
  • Activity Tabs
  • Advanced (Pro Features)
  • All Spaces in one place
  • Attaching Rewards to Proposals
  • Badge Earner Voting
  • Badge System
  • Challenge Phases
  • Consensus vs. Polarization
  • Contact Us
  • Creating a Challenge
  • Creating a Proposal
  • Creating Rewards
  • Creating Your Account
  • Enterprise Plan
  • Export Data
  • First Login
  • Following Spaces
  • Frequently Asked Questions
  • Gamification Overview
  • Get Pro
  • Governance Levels
  • Growth Plan
  • How Customers Submit Ideas
  • How Customers Vote
  • How It Works
  • Idea (Pro)
  • Importing Members via API
  • Importing Members via CSV
  • Key Metrics
  • Managing Groups
  • Managing Proposals
  • Managing Submissions
  • Most common questions
  • Navigating the Platform
  • Privacy (GDPR)
  • Prize Configuration
  • Profile
  • Profile Dashboard
  • Pro Plan
  • Proposal Lifecycle
  • Proposal Voting Override
  • Reward Strategy Guide
  • Reward Types
  • Searching and Filtering
  • Self Serve
  • Starter Plan (Free)
  • The Voter Experience
  • Tier Comparison
  • Verifying & Redeeming Claims
  • Voter Rewards Overview
  • Voting
  • Voting Modes
  • Voting Strategies
  • What Happens When a Proposal Closes
  • What is an Idea Challenge?
  • What is Vora?
  • XP & Rewards
πŸ”— Developers & API
  • Vora API - Overview for Developers
Home
/
πŸ“˜ User Manual
/
Importing Members via API

Importing Members via API

Internal Public
πŸ“˜ User Manual 42 views Updated 1Β month ago

Importing Members via API

If you already have a customer database (CRM, e-commerce platform, internal system), you can programmatically import members using the Vora API. This is ideal for:

  • Syncing your existing customer list into Vora
  • Automating member onboarding from your CRM or Shopify store
  • Importing large datasets without using the UI

API Endpoint

POST /api/v1/governance/{org_slug}/whitelist/import/

Authentication

Use your organization's API key (found in Settings > Advanced > API Key):

Authorization: Bearer YOUR_API_KEY

Request Format

Send a multipart/form-data request with a CSV file attached as file:

curl -X POST "https://api.voiceofthenewera.com/api/v1/governance/your-org-slug/whitelist/import/"
  -H "Authorization: Bearer YOUR_API_KEY"
  -F "file=@members.csv"

CSV Format

The CSV file must contain a phone column. All other columns are optional:

Column Required Description
phone Yes Phone number with country code (e.g., +1234567890)
name or display_name No Member's display name
customer_id or crm_id No Your external CRM/customer ID for reconciliation
group No Group assignment

Example CSV with customer IDs:

phone,name,customer_id,group
+1234567890,John Doe,CRM-001,VIP
+1987654321,Jane Smith,CRM-002,Standard
+1555555555,Bob Johnson,SHOP-1234,VIP
+4915112345678,Hans Mueller,HUB-5678,Standard

The customer_id field is especially useful if you need to cross-reference Vora members with your existing CRM, Shopify, HubSpot, or any other external system. It is stored alongside the member record and appears in:

  • The Members list table
  • API responses when querying users
  • Webhook payloads for vote events

Alternative Column Names

The API accepts multiple common column name formats:

  • Phone: phone, phone_number, mobile, Phone, Phone Number
  • Name: name, display_name, Name
  • Customer ID: customer_id, crm_id, Customer ID, CRM ID

Response

{
  "success": true,
  "added": 45,
  "skipped": 3,
  "errors": ["Row 12: Invalid phone format (+abc)"],
  "total_errors": 1
}
  • added - Number of new members successfully created
  • skipped - Members already in your whitelist (duplicates are detected automatically)
  • errors - First 10 error messages (if any rows failed validation)
  • total_errors - Total number of rows that had errors

Prerequisites

  1. Data Processing Agreement (DPA) - You must accept the DPA in Settings before importing voter data (GDPR compliance requirement)
  2. Plan quota - Your subscription plan determines the maximum number of members. If you hit the limit during import, remaining rows are skipped and a warning is returned

Example: Python Script for Bulk Import

import requests

API_KEY = "your-api-key"
ORG_SLUG = "your-org-slug"

url = f"https://api.voiceofthenewera.com/api/v1/governance/{ORG_SLUG}/whitelist/import/"
headers = {"Authorization": f"Bearer {API_KEY}"}

with open("members.csv", "rb") as f:
    response = requests.post(url, headers=headers, files={"file": f})

result = response.json()
print(f"Added: {result['added']}, Skipped: {result['skipped']}, Errors: {result['total_errors']}")

Was this page helpful?

Thank you for your feedback!

On This Page

Related Documents

Frequently Asked Questions Contact Us Self Serve Most common questions Tier Comparison
Vora

The customer engagement platform that transforms passive buyers into active stakeholders through co-creation and transparent voting.

Follow @vora_voice

Product

  • Features
  • Pricing
  • Email Marketing
  • Documentation

Resources

  • Academy
  • Blog
  • Help Center
  • Blockchain

Company

  • Manifesto
  • Partner Program
  • Refer & Earn
  • Contact

Legal

  • Legal Hub
  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 Vora S.r.l. All rights reserved.

Sign In to DocHub

Live Environment

Enter the 6-digit code from your authenticator app

Need help? Contact your system administrator.