Skip to main content

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 provides endpoints managefor additionalmanaging extended user profile information andbeyond extendedbasic profileauthentication data in GATE.details. These endpoints handleallow supplementary user attributes like demographics, contact details, custom fields, and profile metadata that extend beyond basic user account information. Use these endpointsyou to store and retrieve comprehensiveadditional user attributes such as contact information, demographics, custom fields, and location data, enabling rich user profiles for enhancedyour personalizationGATE-integrated and data collection.applications.

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 extended user profile information in GATE. This category handlesenables you to manage supplementary user datainformation that goesextends beyond basicthe accountcore credentials,user includingauthentication demographicdata. information,This contactAPI details, location data, custom fields, and business-related attributes.

These endpoints areis essential for organizationsapplications that need to collect and managemaintain detailed user profilesprofiles, forincluding compliance,personal personalization,information, reporting,contact ordetails, customerdemographic relationshipdata, management purposes. The API supports flexible data collection through eightand custom fields,business-specific fields.

Key Features:

    Extended Profile Management: Store up to 8 custom fields plus standard demographic fields,and contact information Flexible Data Storage: Support for various data types including dates, strings, integers, and business-specificenumerations information likeParent-Child taxRelationships: IDs and passport numbers.

    The userLink extra data is linkedinformation to parent user accounts throughand thefilter parentby field,organization

    allowing youDevice toInformation: maintainOptional ainclusion clearof relationshipdevice-related betweendata corefor enhanced user accountstracking Full CRUD Operations: Complete create, read, update, and theirdelete capabilities

    Common Use Cases:

      Building comprehensive user registration forms with extended profile information.fields This separation enables you to manage sensitive or optional profile data independently from essential authentication details.

      Common scenarios include user registration flows that collect additional profile information, compliance requirements for identity verification,

      Collecting demographic data collectionfor analytics and reporting Managing customer contact information for analytics,support and communication Storing event-specific attendee information Maintaining custom databusiness fields specific to your organization's needs Tracking user preferences and locale settings

      Data Model: The User Extra resource connects to a parent user account and can store personal details (name, birthday, gender), location information (address, city, country, postal code), contact details (telephone, email preferences), business information (company, tax ID, passport number), and flexible custom fields for organization-specific needs.data.


      Endpoints

      GET /user_extra/

      Description: RetrieveRetrieves a paginated list of user extra information records. This endpoint allows you to fetch multiple user profiles with optionalsupports filtering by parent useruser, ororganization, organization.and includes optional device information. Use this forendpoint to browse all extended user profiles, filter by specific users or organizations, or retrieve bulk user data retrieval,for reporting,reporting orand administrative dashboards where you need to view multiple user profiles simultaneously.analytics.

      Use Cases:

      • GenerateRetrieve all user demographicprofiles reportswithin a specific organization for analyticsreporting
      Search for users with specific parent relationships Export extended user profile data for complianceanalytics auditsor data migration Administrative dashboards displayingBuild user information Bulk data synchronizationdirectories with externaldetailed systemsprofile information

      Full URL Example:

      https://gate.zequenze.com/api/v1/user_extra/?parent__organization_id=123&limit=50&offset=0&device_info=true
      

      Parameters:

      Parameter Type In Required Description
      parent string query No Filter by parent user IDID. Returns only user extra records linked to getthe extraspecified infoparent for specific useruser.
      parent__organization_id string query No Filter by organization IDID. to get allReturns user extra inforecords withinwhere anthe organizationparent user belongs to the specified organization.
      limit integer query No Number of results to return per pagepage. (defaultDefault is typically 10-100 depending on server configuration. Use for pagination applies)control.
      offset integer query No The initial index from which to return theresults. resultsUse with limit for pagination (e.g., offset=20&limit=10 returns records 21-30).
      device_info boolean query No IncludeWhen additionalset to true, includes device information associated with the user extra records in the responseresponse.

      cURL Example:

      curl -X GET "https://gate.zequenze.com/api/v1/user_extra/?parent__organization_id=123456&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"25&parent__organization_id=456",
        "previous": null,
        "results": [
          {
            "id": 1,
            "parent": 456,42,
            "title": "Dr.",
            "company"gender": "Acmef",
            Corporation""birthday": "1985-06-15",
            "age": 38,
            "age_range": "35-44",
            "telephone": "+1-555-0123",
            "address": "123 Main Street",
            "city": "San Francisco",
            "state": "CA",
            "postal_code": "94105"94102",
            "country": "United States",
            "country_id": "US",
            "gender"company": "f"Tech Solutions Inc",
            "birthday"tax_id": "1985-03-15"123-45-6789",
            "age"passport_number": 39,null,
            "age_range"hometown": "35-44",
            "locale": "en_US"Seattle",
            "location": "San Francisco, CA",
            "hometown"locale": "Portland,en_US",
            OR""event": "TechConf 2024",
            "accept_terms": true,
            "custom_field_1": "Premium Member",
            "custom_field_2": "ReferredReferral: byLinkedIn",
            John"custom_field_3": Smith"null,
            "custom_field_4": null,
            "custom_field_5": null,
            "custom_field_6": null,
            "custom_field_7": null,
            "custom_field_8": null
          },
          {
            "id": 2,
            "parent": 43,
            "title": "Mr.",
            "gender": "m",
            "birthday": "1990-03-22",
            "age": 33,
            "age_range": "30-34",
            "telephone": "+1-555-0456",
            "address": "456 Oak Avenue",
            "city": "Austin",
            "state": "TX",
            "postal_code": "78701",
            "country": "United States",
            "country_id": "US",
            "company": "Startup Ventures LLC",
            "tax_id": "987-65-4321",
            "passport_number": "X12345678",
            "hometown": "Houston",
            "location": "Austin, TX",
            "locale": "en_US",
            "event": "ConferenceTechConf 2024",
            "tax_id"accept_terms": true,
            "custom_field_1": "12-3456789"Standard Member",
            "passport_number"custom_field_2": "Referral: Website",
            "custom_field_3": "VIP Access",
            "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 - Returns paginated list of user extra informationrecords
      401 Unauthorized - Invalid or missing authentication token
      403 Forbidden - InsufficientAuthenticated permissionsuser lacks permission to accessview userthese datarecords
      400 Bad Request - Invalid query parameters provided

      POST /user_extra/

      Description: CreateCreates a new user extra information record for a specific parent user.record. This endpoint allows you to add comprehensiveextended profile data when users register or when additional information needsfor a user by linking it to bea collected.parent user ID. All fields except the parent user ID are optional, providing flexibility into datacollect collectiononly workflows.the information relevant to your application. Use this when onboarding new users or collecting additional profile information.

      Use Cases:

      • Complete user registration withby adding extended profile information after account creation
      Collect attendee information during event registration Add demographic dataand contact details for marketing segmentation Store custom business-specific fields during user onboarding Collect compliance-required information for identity verification Store event-specific user data during registration processes

      Full URL Example:

      https://gate.zequenze.com/api/v1/user_extra/
      

      Parameters:

      Parameter Type In Required Description data object body Yes JSON object containing the user extra information fields. Only the parent field is required.

      Request Body Schema:

      Field Type Required Description parent integer Yes The ID of the parent user account this extra information belongs to title string No User's title or honorific (e.g., Dr., Mr., Ms., Prof.) gender string No User's gender. Allowed values: "m" (male), "f" (female), "o" (other) birthday string No User's date of birth in YYYY-MM-DD format age integer No User's age in years age_range string No Age range category (e.g., "25-34", "35-44") telephone string No User's telephone number address string No Street address city string No City name state string No State or province postal_code string No Postal or ZIP code country string No Country name country_id string No ISO country code (e.g., "US", "GB", "DE") company string No Company or organization name tax_id string No Tax identification number passport_number string No Passport number hometown string No User's hometown location string No Current location description locale string No Locale/language preference (e.g., "en_US", "es_ES") event string No Associated event name or identifier accept_terms boolean No Whether user has accepted terms and conditions custom_field_1 to custom_field_8 string No Flexible custom fields for organization-specific data

      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": 789,42,
          "title": "Ms.",
          "company"gender": "Techf",
          Innovations"birthday": LLC""1992-08-14",
          "telephone": "+1-555-0456"0789",
          "address": "456789 InnovationPine Drive"Street",
          "city": "Austin"Portland",
          "state": "TX"OR",
          "postal_code": "73301"97201",
          "country": "United States",
          "country_id": "US",
          "gender"company": "f",Creative "birthday":Agency "1992-07-22"Co",
          "locale": "en_US",
          "accept_terms": true,
          "custom_field_1": "MarketingGold Campaign A"Tier",
          "custom_field_2": "EnterpriseNewsletter: Tier",
          "event": "Product Launch 2024"Yes"
        }'
      

      Example Response:

      {
        "id": 25,125,
        "parent": 789,42,
        "title": "Ms.",
        "company"gender": "Techf",
        Innovations"birthday": LLC""1992-08-14",
        "age": null,
        "age_range": null,
        "telephone": "+1-555-0456"0789",
        "address": "456789 InnovationPine Drive"Street",
        "city": "Austin"Portland",
        "state": "TX"OR",
        "postal_code": "73301"97201",
        "country": "United States",
        "country_id": "US",
        "gender"company": "f"Creative Agency Co",
        "birthday"tax_id": "1992-07-22",null,
        "age"passport_number": 32,null,
        "age_range"hometown": null,
        "25-34",location": null,
        "locale": "en_US",
        "location": "Austin, TX",
        "hometown"event": null,
        "accept_terms": true,
        "custom_field_1": "MarketingGold Campaign A"Tier",
        "custom_field_2": "EnterpriseNewsletter: Tier"Yes",
        "custom_field_3": null,
        "custom_field_4": null,
        "custom_field_5": null,
        "custom_field_6": null,
        "custom_field_7": null,
        "custom_field_8": null,
        "event": "Product Launch 2024",
        "tax_id": null,
        "passport_number": null
      }
      

      Response Codes:

      Status Description
      201 Created - User extra informationrecord successfully created
      400 Bad Request - Invalid data formatprovided or(e.g., missing required parent fieldID, invalid date format, invalid gender value)
      401 Unauthorized - Invalid or missing authentication token
      409403 ConflictForbidden - User lacks permission to create user extra informationrecords
      already existsfor404 thisNot parentFound - Parent user ID does not exist

      GET /user_extra/{id}/

      Description: RetrieveRetrieves detaileda specific user extra information for a specific record by its unique ID. This endpoint returns comprehensiveall stored extended profile datainformation for a single useruser, extra record,optionally including optional device information when requested.information. Use this forto displaying detaileddisplay user profilesprofile details, verify stored information, or retrieving specific userretrieve data for processing.editing.

      Use Cases:

      • Display complete user profile ininformation adminon interfacesa user details page
      • Retrieve user data before updating to show current values in an edit form
      Verify user information for customer servicesupport interactionsor verification purposes LoadFetch user datademographics for formpersonalized pre-populationcontent during updates Access user details for compliance or audit purposesdelivery

      Full URL Example:

      https://gate.zequenze.com/api/v1/user_extra/25/125/?device_info=true
      

      Parameters:

      Parameter Type In Required Description
      id integer path Yes The unique identifier of the user extra record to retrieve
      device_info boolean query No IncludeWhen additionalset to true, includes device information inassociated thewith responsethis user extra record

      cURL Example:

      curl -X GET "https://gate.zequenze.com/api/v1/user_extra/25/125/" \
        -H "Authorization: Bearer YOUR_API_TOKEN" \
        -H "Content-Type: application/json"
      

      Example Response:

      {
        "id": 25,125,
        "parent": 789,42,
        "title": "Ms.",
        "company"gender": "Techf",
        Innovations"birthday": LLC""1992-08-14",
        "age": 31,
        "age_range": "30-34",
        "telephone": "+1-555-0456"0789",
        "address": "456789 InnovationPine Drive"Street",
        "city": "Austin"Portland",
        "state": "TX"OR",
        "postal_code": "73301"97201",
        "country": "United States",
        "country_id": "US",
        "gender"company": "f"Creative Agency Co",
        "birthday"tax_id": "1992-07-22"555-66-7777",
        "age"passport_number": 32,null,
        "age_range"hometown": "25-34"Eugene",
        "location": "Portland, OR",
        "locale": "en_US",
        "location"event": "Austin,Design TX",Summit "hometown": "Dallas, TX"2024",
        "accept_terms": true,
        "custom_field_1": "MarketingGold Campaign A"Tier",
        "custom_field_2": "EnterpriseNewsletter: Tier"Yes",
        "custom_field_3": "Preferred Contact:contact: Email",
        "custom_field_4": null,
        "custom_field_5": null,
        "custom_field_6": null,
        "custom_field_7": null,
        "custom_field_8": null,
        "event": "Product Launch 2024",
        "tax_id": "75-1234567",
        "passport_number": null
      }
      

      Response Codes:

      Status Description
      200 Success - Returns the requested user extra informationrecord
      401 Unauthorized - Invalid or missing authentication token
      403 Forbidden - User lacks permission to view this record 404 Not Found - User extra record with specified ID does not exist 403 Forbidden - Insufficient permissions to access this user's data

      PUT /user_extra/{id}/

      Description: Completely updatereplaces an existing user extra information record.record with new data. This endpoint replacesrequires all fields ofto thebe userprovided, extraeffectively recordperforming witha thefull provided data.update. Any fields not included in the request will be cleared (set to null), except for the ID and parent fields.. Use thisPUT for complete profile updates wherewhen you want to completely replace allthe existinguser's information.extra information or when you have a complete data set to update.

      Use Cases:

      • CompleteCompletely refresh user profile updatesdata from useran settingsexternal pagessource
      • DataImplement migrationa or"replace bulkall" updatesprofile withupdate full record replacementfunctionality
      • Compliance updates that requireSynchronize complete informationuser refreshrecords from another system
      • AdministrativeReset correctionsuser thatprofile involveto multiplea fieldsknown state

      Full URL Example:

      https://gate.zequenze.com/api/v1/user_extra/25/125/
      

      Parameters:

      Parameter Type In Required Description id integer path Yes The unique identifier of the user extra record to update data object body Yes Complete JSON object containing all user extra information fields

      Request Body Schema: Same as POST endpoint - all fields should be provided to avoid clearing existing data.

      cURL Example:

      curl -X PUT "https://gate.zequenze.com/api/v1/user_extra/25/125/" \
        -H "Authorization: Bearer YOUR_API_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
          "parent": 789,42,
          "title": "Dr.",
          "company"gender": "Techf",
          Innovations"birthday": LLC""1992-08-14",
          "age": 31,
          "age_range": "30-34",
          "telephone": "+1-555-0789"0999",
          "address": "789 UpdatedPine Street"Street, Apt 4B",
          "city": "Austin"Portland",
          "state": "TX"OR",
          "postal_code": "73301"97201",
          "country": "United States",
          "country_id": "US",
          "gender"company": "f"Creative Agency Co",
          "birthday"tax_id": "1992-07-22"555-66-7777",
          "passport_number": null,
          "hometown": "Eugene",
          "location": "Portland, OR",
          "locale": "en_US",
          "event": "Design Summit 2024",
          "accept_terms": true,
          "custom_field_1": "UpdatedPlatinum Marketing Campaign"Tier",
          "custom_field_2": "PremiumNewsletter: Enterprise"Yes",
          "custom_field_3": "VIPPreferred Customer"contact: Phone",
          "event"custom_field_4": "AnnualEmergency Conferencecontact: 2024"Jane Doe",
          "custom_field_5": null,
          "custom_field_6": null,
          "custom_field_7": null,
          "custom_field_8": null
        }'
      

      Example Response:

      {
        "id": 25,125,
        "parent": 789,42,
        "title": "Dr.",
        "company"gender": "Techf",
        Innovations"birthday": LLC""1992-08-14",
        "age": 31,
        "age_range": "30-34",
        "telephone": "+1-555-0789"0999",
        "address": "789 UpdatedPine Street"Street, Apt 4B",
        "city": "Austin"Portland",
        "state": "TX"OR",
        "postal_code": "73301"97201",
        "country": "United States",
        "country_id": "US",
        "gender"company": "f"Creative Agency Co",
        "birthday"tax_id": "1992-07-22"555-66-7777",
        "age"passport_number": 32,null,
        "age_range"hometown": "25-34"Eugene",
        "location": "Portland, OR",
        "locale": "en_US",
        "location"event": "Austin,Design TX"Summit 2024",
        "hometown": null,
        "accept_terms": true,
        "custom_field_1": "UpdatedPlatinum Marketing Campaign"Tier",
        "custom_field_2": "PremiumNewsletter: Enterprise"Yes",
        "custom_field_3": "VIPPreferred Customer"contact: Phone",
        "custom_field_4": null,"Emergency contact: Jane Doe",
        "custom_field_5": null,
        "custom_field_6": null,
        "custom_field_7": null,
        "custom_field_8": null,
        "event": "Annual Conference 2024",
        "tax_id": null,
        "passport_number": null
      }
      

      Response Codes:

      Status Description
      200 Success - User extra informationrecord successfully updated
      400 Bad Request - Invalid data formatprovided or(e.g., validationinvalid errorsdate format, invalid gender value)
      401 Unauthorized - Invalid or missing authentication token
      403 Forbidden - User lacks permission to update this record 404 Not Found - User extra record with specified ID does not exist 403 Forbidden - Insufficient permissions to modify this user's data

      PATCH /user_extra/{id}/

      Description: Partially update specific fields ofupdates an existing user extra information record. ThisUnlike endpointPUT, PATCH allows you to modifyupdate only thespecific fields youwithout specify, leaving allaffecting other fieldsstored data. Fields not included in the request remain unchanged. This is idealthe recommended method for targetedmost updatesupdate likeoperations changingas ait phoneprovides number,granular updatingcontrol customand fields,prevents oraccidental modifyingdata specific demographic information without affecting the rest of the profile.loss.

      Use Cases:

      • Update specifica profileuser's fields like phonetelephone number or address without changing other information
      • ModifyAdd or modify custom fields forwhile campaignpreserving trackingexisting ordata
      Update specific demographic information based on user segmentationinput PartialImplement updates from forms that only collect certain information Incrementalincremental profile completion over multiple interactionsworkflows

      Full URL Example:

      https://gate.zequenze.com/api/v1/user_extra/25/125/
      

      Parameters:

      Parameter Type In Required Description id integer path Yes The unique identifier of the user extra record to update data object body Yes JSON object containing only the fields to update

      Request Body Schema: Same fields as POST endpoint, but all are optional - include only the fields you want to update.

      cURL Example:

      curl -X PATCH "https://gate.zequenze.com/api/v1/user_extra/25/125/" \
        -H "Authorization: Bearer YOUR_API_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
          "telephone": "+1-555-9999"1234",
          "custom_field_4"address": "Newsletter789 Subscriber"Pine Street, Suite 200",
          "tax_id"custom_field_1": "75-9876543"Diamond Tier"
        }'
      

      Example Response:

      {
        "id": 25,125,
        "parent": 789,42,
        "title": "Dr.",
        "company"gender": "Techf",
        Innovations"birthday": LLC""1992-08-14",
        "age": 31,
        "age_range": "30-34",
        "telephone": "+1-555-9999"1234",
        "address": "789 UpdatedPine Street"Street, Suite 200",
        "city": "Austin"Portland",
        "state": "TX"OR",
        "postal_code": "73301"97201",
        "country": "United States",
        "country_id": "US",
        "gender"company": "f"Creative Agency Co",
        "birthday"tax_id": "1992-07-22"555-66-7777",
        "age"passport_number": 32,null,
        "age_range"hometown": "25-34"Eugene",
        "location": "Portland, OR",
        "locale": "en_US",
        "location"event": "Austin,Design TX"Summit 2024",
        "hometown": null,
        "accept_terms": true,
        "custom_field_1": "UpdatedDiamond Marketing Campaign"Tier",
        "custom_field_2": "PremiumNewsletter: Enterprise"Yes",
        "custom_field_3": "VIPPreferred Customer"contact: Phone",
        "custom_field_4": "NewsletterEmergency Subscriber"contact: Jane Doe",
        "custom_field_5": null,
        "custom_field_6": null,
        "custom_field_7": null,
        "custom_field_8": null,
        "event": "Annual Conference 2024",
        "tax_id": "75-9876543",
        "passport_number": null
      }
      

      Response Codes:

      Status Description
      200 Success - User extra informationrecord partiallysuccessfully updated
      400 Bad Request - Invalid data formatprovided orfor validationthe errorsfields being updated
      401 Unauthorized - Invalid or missing authentication token
      403 Forbidden - User lacks permission to update this record 404 Not Found - User extra record with specified ID does not exist 403 Forbidden - Insufficient permissions to modify this user's data

      DELETE /user_extra/{id}/

      Description: Permanently deletedeletes a user extra information record. This operation cannot be undone. Use this endpoint removeswhen alla extendeduser profilerequests data fordeletion, when cleaning up test data, or when a user account is being fully removed from the specifiedsystem. recordNote whilethat leavingthis only deletes the extra information record, not the parent user account intact. Use this carefully as the operation is irreversible and will permanently remove all custom fields, demographic data, and additional profile information.account.

      Use Cases:

      • DataComply with data deletion requests (GDPR, privacy complianceregulations)
      (rightRemove touser beprofile forgottendata requests)when deactivating or deleting user accounts Clean up test or invalid user extraduplicate records RemoveReset profileuser dataprofiles whenby usersdeleting downgradeand torecreating basicextra accounts Administrative cleanup of orphaned or duplicate recordsinformation

      Full URL Example:

      https://gate.zequenze.com/api/v1/user_extra/25/125/
      

      Parameters:

      Parameter Type In Required Description id integer path Yes The unique identifier of the user extra record to delete

      cURL Example:

      curl -X DELETE "https://gate.zequenze.com/api/v1/user_extra/25/125/" \
        -H "Authorization: Bearer YOUR_API_TOKEN"
      

      Example Response:

      No content returned (204 status code indicates successful deletion)
      

      Response Codes:

      Status Description
      204 No Content - User extra informationrecord successfully deleted
      401 Unauthorized - Invalid or missing authentication token
      403
      Forbidden - User lacks permission to delete this record 404 Not Found - User extra record with specified ID does not exist or already 403 Forbidden - Insufficient permissions to delete this user's datadeleted

      Common Use Cases

      Use Case 1: Complete User RegistrationOnboarding Flowwith Extended Profile

      When implementingonboarding comprehensivea new user registration,to useyour POSTapplication, /user_extra/you afterfirst creatingcreate the basecore user account through the user authentication endpoints in GATE, then immediately create an associated user extra record to collectcapture additional profile information like demographics, company details, and custom tracking data for marketing or compliance purposes.information.

      Use

      Workflow:

      Case
      2:Create Customeruser Profileaccount Managementvia Dashboardauthentication

      BuildAPI administrative(receives interfacesuser usingID)

      GETPOST to /user_extra/ with organizationthe filteringnew user ID as parent Collect and store demographic, contact, and custom business fields

      This approach allows you to displaymaintain usera profiles,clean thenseparation usebetween individualauthentication GETdata /user_extra/{id}/and callsextended to show detailedprofile information whenwhile administratorsproviding needa toseamless viewregistration orexperience.

      assist specific users.

      Use Case 3:2: Progressive Profile Completion

      Implement a progressive profile buildingcompletion bysystem usingwhere users can gradually add information to their profiles over time. Start with minimal required fields and use PATCH /user_extra/{id}/operations to incrementally add informationdetails.

      as

      Workflow:

      users
      interactInitial registration: POST with youronly system,parent updatingand accept_terms First login: PATCH to add basic contact info (telephone, city, country) Profile enhancement: PATCH to add demographic data and preferences Event registration: PATCH to update event and event-specific custom fields to track

      This engagement,pattern preferences,improves oruser additionalexperience voluntaryby informationavoiding long registration forms while still collecting comprehensive data over time.


      Use Case 3: Organization-Wide User Data Export

      Generate reports or exports of user information across an entire organization for analytics, compliance, or migration purposes.

      Workflow:

        GET /user_extra/?parent__organization_id=123&limit=100 to retrieve first batch Process returned records and extract next URL from pagination Continue following next URLs until all records are retrieved Aggregate data for reporting, CSV export, or data warehouse loading

        Use pagination to handle large datasets efficiently and avoid timeout or memory issues.


        Use Case 4: ComplianceEvent Attendee Management

        Collect and Datamanage Privacydetailed

        Useattendee theinformation DELETEfor /user_extra/{id}/conferences, endpoint to handle right-to-be-forgotten requests while maintaining core user accounts,webinars, or useevents PUTby operations to update compliance-related fields like tax IDs and passport numbers for identity verification.

        Use Case 5: Event-Based Data Collection

        During events, conferences, or campaigns, create user extra records with event-specific information inleveraging the event field and custom fields,fields thenfor useevent-specific filteringdata.

        Workflow:

          During event registration: POST user extra records with event field populated Store event-specific data in custom fields (e.g., dietary restrictions, session preferences) Query attendees: GET /user_extra/?parent__organization_id=123 filtered by organizationevent Update attendee status: PATCH to modify custom fields as needed (check-in status, badge printed, etc.)

          This provides a flexible system for managing varying event requirements without schema changes.


          Use Case 5: Multi-Locale User Management

          Support international users with different locale preferences and location-specific information by properly utilizing the locale, country, and location fields.

          Workflow:

            Detect user's locale during registration (browser settings, IP geolocation) POST user extra record with locale, country, and country_id fields Use locale information to customize communication preferences PATCH to update location information when users move or eventtravel data to

            This generateenables attendeepersonalized reportsexperiences based on user location and analytics.language preferences while maintaining accurate demographic data.


            Best Practices

            Data Validation:

            • Use PATCH for targeted updates: When updating specific fields like contact information or custom fields, use PATCH instead of PUT to avoid accidentally clearing other profile data.

            Implement proper validation: Always validate gender field values (m, f, o) and date formats (YYYY-MM-DD) before sendingsubmitting requestsbirthday fields

            Ensure gender values are limited to "m", "f", or "o" to avoid 400validation errors. errors Validate parent user IDs exist before creating user extra records Use appropriate field types (e.g., integers for age, strings for custom fields)

            HandleEfficient Querying:

              Use pagination efficiently:(limit Forand offset) when retrieving large datasets, use reasonable limit values (25-100 records) and implement offset-based paginationdatasets to avoid timeoutsperformance and improve performance. issues Filter

              Secureby sensitiveparent__organization_id data:when Be particularly carefulworking with fieldsorganization-specific like tax_id and passport_number - ensure these are only accessible to authorized personnel and consider encryption at rest.

              data Cache

              Usefrequently device_info parameter judiciously: Only request device information when necessary as it adds processing overhead and response size.

              Implement proper error handling: Always check for 404 responses when accessing specific records, asaccessed user extra records to reduce API calls

              Consider implementing local storage for user profile data maythat bechanges deletedinfrequently independently

              Update Operations:

                Prefer PATCH over PUT for most update scenarios to prevent accidental data loss Only use PUT when you need to completely reset/replace a user's extra information Validate required fields before submission to avoid partial update failures Implement optimistic locking or version checking for concurrent update scenarios

                Privacy and Security:

                  Store only necessary personal information and comply with data privacy regulations (GDPR, CCPA) Implement proper access controls to ensure users can only access their own data or authorized records Use HTTPS for all API communications to protect sensitive user information in transit Regularly audit and purge unnecessary personal data using the DELETE endpoint Consider encrypting sensitive fields (passport numbers, tax IDs) at the application layer

                  Custom Fields Management:

                    Document the purpose and format of parenteach usercustom accounts.field used in your organization Maintain

                    Leverageconsistency custom fields strategically: Plan yourin custom field usage inacross advanceyour -application

                    useConsider consistentimplementing a naming conventionsconvention andfor documentcustom whatfields each(e.g., custom_field_1 always contains membership tier) Use JSON schema validation in your application to ensure custom field representsdata in your application. consistency

                    Error Handling:

                      Implement retry logic with exponential backoff for transient network errors Log API errors with sufficient context for debugging (user ID, request parameters) Provide user-friendly error messages while logging detailed technical errors Handle 404 errors gracefully when querying potentially deleted records

                      Performance Optimization:

                        Batch user extra record creation when onboarding multiple users simultaneously Use the device_info parameter only when device data is actually needed Implement caching strategies for frequently accessed user profile data Consider implementing webhooks or change notifications to invalidate caches when data changes