# Models

## The UserList object

```json
{"openapi":"3.1.0","info":{"title":"impact.com API - User","version":"2.0.0"},"components":{"schemas":{"UserList":{"type":"object","properties":{"count":{"type":"integer"},"totalCount":{"type":"integer"},"users":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}},"User":{"description":"A user in the impact.com referral program.","type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the user."},"accountId":{"type":"string","description":"The unique identifier of the account the user belongs to."},"firstName":{"type":"string","description":"The user's first name."},"lastName":{"type":"string","description":"The user's last name."},"lastInitial":{"type":"string","description":"The first initial of the user's last name."},"email":{"type":"string","format":"email","description":"The user's email address."},"emailHash":{"type":"string","description":"An MD5 hash of the user's email address."},"imageUrl":{"type":"string","description":"URL of the user's profile image. Empty string if not set."},"referralCode":{"type":"string","description":"The user's primary referral code."},"cookieId":{"type":"string","nullable":true,"description":"The cookie ID associated with this user."},"paymentProviderId":{"type":"string","nullable":true,"description":"The ID of the user in the payment provider system."},"locale":{"type":"string","nullable":true,"description":"The user's locale (e.g. `en_US`)."},"countryCode":{"type":"string","nullable":true,"description":"The user's ISO 3166-1 Alpha-2 country code (e.g. `US`)."},"referralSource":{"type":"string","nullable":true,"description":"The source of the user's referral."},"firstSeenIP":{"type":"string","nullable":true,"description":"The IP address the user was first seen from."},"lastSeenIP":{"type":"string","nullable":true,"description":"The IP address the user was last seen from."},"dateCreated":{"type":"integer","format":"int64","description":"Unix timestamp (milliseconds) when the user was created."},"dateBlocked":{"type":"integer","format":"int64","nullable":true,"description":"Unix timestamp (milliseconds) when the user was blocked. Null if not blocked."},"shareLinks":{"$ref":"#/components/schemas/Sharelink"}}},"Sharelink":{"description":"Legacy flat-format share links for a user, organised by share medium and engagement medium.","type":"object","properties":{"shareLink":{"type":"string","format":"uri","description":"The user's primary share link."},"facebookShareLink":{"type":"string","format":"uri","description":"The share link for Facebook."},"twitterShareLink":{"type":"string","format":"uri","description":"The share link for Twitter."},"emailShareLink":{"type":"string","format":"uri","description":"The share link for Email."},"linkedinShareLink":{"type":"string","format":"uri","description":"The share link for LinkedIn."},"mobileShareLink":{"type":"string","format":"uri","description":"The share link for mobile devices."},"mobileFacebookShareLink":{"type":"string","format":"uri","description":"The share link for Facebook on mobile."},"mobileTwitterShareLink":{"type":"string","format":"uri","description":"The share link for Twitter on mobile."},"mobileEmailShareLink":{"type":"string","format":"uri","description":"The share link for Email on mobile."},"EMBED":{"$ref":"#/components/schemas/SharelinkEngagementMedium"},"POPUP":{"$ref":"#/components/schemas/SharelinkEngagementMedium"},"HOSTED":{"$ref":"#/components/schemas/SharelinkEngagementMedium"},"MOBILE":{"$ref":"#/components/schemas/SharelinkEngagementMedium"},"EMAIL":{"$ref":"#/components/schemas/SharelinkEngagementMedium"}}},"SharelinkEngagementMedium":{"description":"Share links for a single engagement medium in the legacy flat format.","type":"object","properties":{"shareLink":{"type":"string","format":"uri","description":"The primary share link for this engagement medium."},"facebookShareLink":{"type":"string","format":"uri","description":"The Facebook share link for this engagement medium."},"twitterShareLink":{"type":"string","format":"uri","description":"The Twitter share link for this engagement medium."},"emailShareLink":{"type":"string","format":"uri","description":"The Email share link for this engagement medium."},"linkedinShareLink":{"type":"string","format":"uri","description":"The LinkedIn share link for this engagement medium."}}}}}}
```

## The OpenUserUpsert object

```json
{"openapi":"3.1.0","info":{"title":"impact.com API - User","version":"2.0.0"},"components":{"schemas":{"OpenUserUpsert":{"title":"A Open User object for Upsert/Create","description":"An object describing an individual user submitted to an open endpoint when you want to create or update a user.","required":["id","accountId"],"properties":{"id":{"type":"string","description":"The unique identifier provided for this user. Use the user's email as their user Id."},"accountId":{"type":"string","description":"The unique identifier of the account. Value must match `id`. Use the user's email as their account Id."},"firstName":{"type":"string","description":"The user's first name."},"lastName":{"type":"string","description":"The user's last name."},"email":{"type":"string","format":"email","description":"The email address provided for the user."},"referable":{"type":"boolean","description":"Flag to determine whether a user is able to be referred."},"referralCodes":{"type":"object","additionalProperties":{"type":"string"},"description":"The primary custom referral codes for different programs, mapping `programId` to `code`."},"locale":{"type":"string","description":"The user's locale, used for Internationalization (e.g., `en_US`)."},"countryCode":{"type":"string","description":"The user's ISO 3166-1 Alpha-2 country code (e.g., `US`)."},"dateUsTaxFormSubmitted":{"type":"integer","format":"int64","description":"The timestamp of when a user's W-9 tax form was submitted."},"referredByCodes":{"type":"array","items":{"type":"string"},"description":"An array of referral codes used to refer this account."},"cookies":{"type":"string","description":"The Base64URL encoded attribution cookie values."},"segments":{"type":"array","items":{"type":"string"},"description":"A list of operations for adding and removing a user from segments (e.g., `[\"segment1\", \"~segment2\"]`)."},"shareLinks":{"type":"object","additionalProperties":{"type":"string"},"description":"The primary custom shareLinks for different programs, mapping `programId` to `sharelink`."},"customFields":{"type":"object","additionalProperties":true,"description":"An object containing the custom fields for this user."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/brand-api-reference/advocate-api-reference-v1/reference/user-overview/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
