User Extra
Endpoints Summary
| Method | Path | Swagger |
|---|---|---|
GET |
/user_extra/ |
Swagger ↗ |
POST |
/user_extra/ |
Swagger ↗ |
GET |
/user_extra/{id}/ |
Swagger ↗ |
PUT |
/user_extra/{id}/ |
Swagger ↗ |
PATCH |
/user_extra/{id}/ |
Swagger ↗ |
DELETE |
/user_extra/{id}/ |
Swagger ↗ |
The User Extra API endpoints allow you to manage additional user profile information beyond basic account details. These endpoints handle extended user attributes like demographics, contact information, location data, and custom fields for enhanced user profiles.
Base URL: https://gate.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The User Extra API provides comprehensive management of supplementary user information that extends beyond standard user account data. This API category is designed to handle detailed user profiles including demographic information, geographic data, contact details, and customizable fields.
Key Features:
- Demographic Management: Handle user gender, age ranges, and birthday information
- Geographic Data: Store and manage location information including address, city, state, country, and hometown
- Contact Information: Manage telephone numbers and other communication details
- Custom Fields: Eight configurable custom fields for organization-specific data
- Business Information: Support for company, title, and tax identification details
- Document Management: Handle passport numbers and country identification
Common Integration Scenarios:
- User onboarding workflows requiring detailed profile completion
- Customer relationship management systems needing extended user data
- Event registration systems collecting participant information
- Compliance systems requiring user verification and documentation
- Marketing platforms utilizing demographic and geographic targeting
The API follows RESTful principles with full CRUD operations, supporting both complete updates (PUT) and partial modifications (PATCH) for flexible data management.
Endpoints
GET /user_extra/
Description: Retrieves a paginated list of user extra information records. This endpoint supports filtering by parent user and organization, making it ideal for bulk data retrieval and administrative dashboards.
Use Cases:
- Administrative dashboards displaying user profile completion status
- Data export operations for reporting and analytics
- Bulk user data synchronization with external systems
- Organization-wide user profile auditing
Full URL Example:
https://gate.zequenze.com/api/v1/user_extra/?parent__organization_id=123&limit=50&device_info=true
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| parent | string | query | No | Filter by specific parent user ID |
| parent__organization_id | string | query | No | Filter by organization ID of the parent user |
| limit | integer | query | No | Number of results to return per page (default: system configured) |
| offset | integer | query | No | Starting index for pagination |
| device_info | boolean | query | No | Include additional device information in response |
cURL Example:
curl -X GET "https://gate.zequenze.com/api/v1/user_extra/?parent__organization_id=123&limit=25&offset=0" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"count": 150,
"next": "https://gate.zequenze.com/api/v1/user_extra/?limit=25&offset=25",
"previous": null,
"results": [
{
"id": 1,
"parent": 45,
"gender": "f",
"age_range": "25-34",
"age": 28,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "123 Main Street, Apt 4B",
"hometown": "Springfield",
"city": "New York",
"state": "NY",
"country": "United States",
"location": "40.7128,-74.0060",
"telephone": "+1-555-123-4567",
"accept_terms": true
},
{
"id": 2,
"parent": 67,
"gender": "m",
"age_range": "35-44",
"age": 38,
"birthday": "1985-03-22",
"locale": "en_GB",
"address": "456 Oak Avenue",
"hometown": "Manchester",
"city": "London",
"state": "England",
"country": "United Kingdom",
"location": "51.5074,-0.1278",
"telephone": "+44-20-7123-4567",
"accept_terms": true
}
]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns paginated list of user extra records |
| 401 | Unauthorized - Invalid or missing authentication token |
| 403 | Forbidden - Insufficient permissions to access user data |
POST /user_extra/
Description: Creates a new user extra information record. This endpoint accepts comprehensive user profile data including demographics, location, contact information, and custom fields for organization-specific requirements.
Use Cases:
- User registration completion workflows
- Profile enhancement during onboarding
- Event registration with detailed participant information
- Customer data collection for CRM systems
Full URL Example:
https://gate.zequenze.com/api/v1/user_extra/
Request Body Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| parent | integer | Yes | ID of the parent user account |
| gender | string | No | Gender identifier (m/f/o for male/female/other) |
| age_range | string | No | Age category for demographic analysis |
| age | integer | No | Specific age value |
| birthday | string (date) | No | Birth date in YYYY-MM-DD format |
| locale | string | No | User's preferred locale/language setting |
| address | string | No | Complete street address |
| city | string | No | City of residence |
| state | string | No | State or province |
| postal_code | string | No | ZIP or postal code |
| country | string | No | Country name or code |
| telephone | string | No | Primary phone number |
| company | string | No | Employer or company name |
| title | string | No | Job title or position |
| accept_terms | boolean | No | Terms and conditions acceptance status |
cURL Example:
curl -X POST "https://gate.zequenze.com/api/v1/user_extra/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"parent": 45,
"gender": "f",
"age": 28,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "123 Main Street, Apt 4B",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "United States",
"telephone": "+1-555-123-4567",
"company": "Tech Solutions Inc",
"title": "Software Engineer",
"accept_terms": true,
"custom_field_1": "Department: Engineering",
"custom_field_2": "Employee ID: ENG001"
}'
Example Response:
{
"id": 1,
"gender": "f",
"age_range": null,
"age": 28,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "123 Main Street, Apt 4B",
"hometown": null,
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "United States",
"location": null,
"telephone": "+1-555-123-4567",
"company": "Tech Solutions Inc",
"title": "Software Engineer",
"passport_number": null,
"country_id": null,
"tax_id": null,
"event": null,
"accept_terms": true,
"custom_field_1": "Department: Engineering",
"custom_field_2": "Employee ID: ENG001",
"custom_field_3": null,
"custom_field_4": null,
"custom_field_5": null,
"custom_field_6": null,
"custom_field_7": null,
"custom_field_8": null
}
Response Codes:
| Status | Description |
|---|---|
| 201 | Created - User extra record successfully created |
| 400 | Bad Request - Invalid data format or missing required fields |
| 401 | Unauthorized - Invalid or missing authentication token |
| 409 | Conflict - User extra record already exists for this parent user |
GET /user_extra/{id}/
Description: Retrieves detailed information for a specific user extra record by ID. This endpoint provides complete access to all stored additional user information and optionally includes device-related data.
Use Cases:
- User profile display pages
- Profile editing form pre-population
- User data verification processes
- Individual record auditing and compliance checks
Full URL Example:
https://gate.zequenze.com/api/v1/user_extra/1/?device_info=true
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| id | integer | path | Yes | Unique identifier of the user extra record |
| device_info | boolean | query | No | Include additional device information in response |
cURL Example:
curl -X GET "https://gate.zequenze.com/api/v1/user_extra/1/?device_info=true" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"id": 1,
"parent": 45,
"gender": "f",
"age_range": "25-34",
"age": 28,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "123 Main Street, Apt 4B",
"hometown": "Springfield",
"city": "New York",
"state": "NY",
"country": "United States",
"location": "40.7128,-74.0060",
"telephone": "+1-555-123-4567",
"accept_terms": true
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns the requested user extra record |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - User extra record does not exist |
| 403 | Forbidden - Insufficient permissions to access this record |
PUT /user_extra/{id}/
Description: Completely updates an existing user extra record with new data. This endpoint requires all fields to be provided and replaces the entire record, making it ideal for complete profile updates and data synchronization.
Use Cases:
- Complete profile updates from user settings pages
- Data synchronization from external systems
- Profile migration or data correction workflows
- Bulk data updates with complete record replacement
Full URL Example:
https://gate.zequenze.com/api/v1/user_extra/1/
cURL Example:
curl -X PUT "https://gate.zequenze.com/api/v1/user_extra/1/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"gender": "f",
"age": 29,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "456 New Street, Suite 2A",
"city": "New York",
"state": "NY",
"postal_code": "10002",
"country": "United States",
"telephone": "+1-555-987-6543",
"company": "Advanced Tech Corp",
"title": "Senior Software Engineer",
"accept_terms": true,
"custom_field_1": "Department: Senior Engineering",
"custom_field_2": "Employee ID: SEN001",
"custom_field_3": "Team: Backend Development"
}'
Example Response:
{
"id": 1,
"gender": "f",
"age_range": null,
"age": 29,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "456 New Street, Suite 2A",
"hometown": null,
"city": "New York",
"state": "NY",
"postal_code": "10002",
"country": "United States",
"location": null,
"telephone": "+1-555-987-6543",
"company": "Advanced Tech Corp",
"title": "Senior Software Engineer",
"passport_number": null,
"country_id": null,
"tax_id": null,
"event": null,
"accept_terms": true,
"custom_field_1": "Department: Senior Engineering",
"custom_field_2": "Employee ID: SEN001",
"custom_field_3": "Team: Backend Development",
"custom_field_4": null,
"custom_field_5": null,
"custom_field_6": null,
"custom_field_7": null,
"custom_field_8": null
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - User extra record successfully updated |
| 400 | Bad Request - Invalid data format or validation errors |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - User extra record does not exist |
| 403 | Forbidden - Insufficient permissions to modify this record |
PATCH /user_extra/{id}/
Description: Partially updates specific fields in an existing user extra record. This endpoint allows selective field updates without affecting other stored data, making it efficient for individual field modifications and incremental updates.
Use Cases:
- Single field updates from user interfaces
- Progressive profile completion workflows
- Targeted data corrections
- Event-driven field updates from external triggers
Full URL Example:
https://gate.zequenze.com/api/v1/user_extra/1/
cURL Example:
curl -X PATCH "https://gate.zequenze.com/api/v1/user_extra/1/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"telephone": "+1-555-111-2222",
"title": "Lead Software Engineer",
"custom_field_3": "Team: Full Stack Development"
}'
Example Response:
{
"id": 1,
"gender": "f",
"age_range": null,
"age": 29,
"birthday": "1995-06-15",
"locale": "en_US",
"address": "456 New Street, Suite 2A",
"hometown": null,
"city": "New York",
"state": "NY",
"postal_code": "10002",
"country": "United States",
"location": null,
"telephone": "+1-555-111-2222",
"company": "Advanced Tech Corp",
"title": "Lead Software Engineer",
"passport_number": null,
"country_id": null,
"tax_id": null,
"event": null,
"accept_terms": true,
"custom_field_1": "Department: Senior Engineering",
"custom_field_2": "Employee ID: SEN001",
"custom_field_3": "Team: Full Stack Development",
"custom_field_4": null,
"custom_field_5": null,
"custom_field_6": null,
"custom_field_7": null,
"custom_field_8": null
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - User extra record successfully updated |
| 400 | Bad Request - Invalid data format or validation errors |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - User extra record does not exist |
| 403 | Forbidden - Insufficient permissions to modify this record |
DELETE /user_extra/{id}/
Description: Permanently removes a user extra information record from the system. This operation cannot be undone and should be used with caution, typically in data cleanup scenarios or user account deletion workflows.
Use Cases:
- User account deletion processes
- Data cleanup and privacy compliance (GDPR/CCPA)
- Duplicate record removal
- Administrative data management
Full URL Example:
https://gate.zequenze.com/api/v1/user_extra/1/
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| id | integer | path | Yes | Unique identifier of the user extra record to delete |
cURL Example:
curl -X DELETE "https://gate.zequenze.com/api/v1/user_extra/1/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response Codes:
| Status | Description |
|---|---|
| 204 | No Content - User extra record successfully deleted |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - User extra record does not exist |
| 403 | Forbidden - Insufficient permissions to delete this record |
Common Use Cases
Use Case 1: Complete User Onboarding Workflow
Implement a multi-step registration process where basic user accounts are created first, then enhanced with detailed profile information using POST /user_extra/. Use PATCH for progressive profile completion as users provide additional information over time.
Use Case 2: Organization User Management Dashboard
Build administrative interfaces using GET /user_extra/ with organization filtering to display user profile completion status, demographic analytics, and data quality metrics across the organization.
Use Case 3: Event Registration System
Collect comprehensive attendee information during event registration using POST /user_extra/ with custom fields for event-specific data like dietary restrictions, accommodation preferences, and special requirements.
Use Case 4: CRM Integration and Data Synchronization
Synchronize customer data between external CRM systems using PUT /user_extra/{id}/ for complete record updates and PATCH for incremental changes triggered by external system events.
Use Case 5: Compliance and Data Privacy Management
Implement GDPR/CCPA compliance workflows using DELETE /user_extra/{id}/ for data removal requests and GET operations for data export and audit trail requirements.
Best Practices
-
Pagination Strategy: Always use appropriate limit and offset values when retrieving large datasets. Start with smaller page sizes (25-50 records) and adjust based on performance requirements.
-
Incremental Updates: Prefer PATCH over PUT for single field updates to minimize bandwidth usage and reduce the risk of data conflicts in concurrent environments.
-
Data Validation: Validate gender values ('m', 'f', 'o') and date formats (YYYY-MM-DD) on the client side before submission to prevent validation errors.
-
Custom Fields Management: Establish clear naming conventions for custom fields within your organization to ensure consistency and maintainability across different integrations.
-
Error Handling: Implement robust error handling for 404 responses when accessing records that may have been deleted by other processes, and 403 responses for authorization issues.
-
Geographic Data: Use consistent country naming conventions and consider implementing country code validation to ensure data quality for location-based features.
-
Performance Optimization: Use the
device_infoparameter only when necessary, as it may impact response times for large datasets. -
Security Considerations: Always validate user permissions before allowing access to user extra data, especially in multi-tenant environments with organization-based access controls.