# Identity

## List Visitors

> Returns paginated visitor profiles, optionally filtered by date range and visitor field conditions.

```json
{"openapi":"3.1.0","info":{"title":"Untitled API","version":"βeta"},"servers":[{"url":"https://api.getuntitled.ai","description":"Production"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer token for authentication","scheme":"bearer"}},"schemas":{"VisitorQuery":{"properties":{"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date","description":"Start date in YYYY-MM-DD format. Defaults to 7 days ago."},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date","description":"End date in YYYY-MM-DD format. Defaults to today."},"filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/FilterCondition"},"type":"array"},{"type":"null"}],"title":"Filters","description":"Visitor field filters. Each condition targets a column on the visitors table."}},"type":"object","title":"VisitorQuery","description":"Query parameters for ``POST /visitors``.\n\n``filters`` is a flat list of ``FilterCondition`` objects applied directly\nagainst the ``visitors`` table columns."},"FilterCondition":{"properties":{"field":{"type":"string","title":"Field","description":"Column to filter on. Must be in the allowlist for the parent entity."},"method":{"$ref":"#/components/schemas/Operator","description":"Comparison method. Accepts word-style names ('equals', 'contains', …) or SQL symbols ('=', '!=', '<', '<=', '>', '>=', 'like', 'not like', 'in', 'not in', 'is null', 'is not null'). Case-insensitive."},"value":{"title":"Value","description":"Value to compare against. List for IN/NOT_IN. Ignored for IS_NULL/IS_NOT_NULL."}},"additionalProperties":false,"type":"object","required":["field","method"],"title":"FilterCondition","description":"A single filter clause: ``{field, method, value}``.\n\n``method`` accepts word-style names (``equals``, ``contains``, …) or SQL\nsymbols (``=``, ``!=``, ``like``, ``in``, …) in any case.\n\nFor ``in`` / ``not_in``, ``value`` must be a list. For ``is_null`` /\n``is_not_null``, ``value`` is ignored and may be omitted."},"Operator":{"type":"string","enum":["equals","not_equals","less_than","less_than_or_equal","greater_than","greater_than_or_equal","contains","not_contains","starts_with","not_starts_with","ends_with","not_ends_with","in","not_in","is_null","is_not_null"],"title":"Operator","description":"Canonical word-style comparison operators used internally.\n\nEach value maps to a SQL operator in\n``integrations.api.validators.OPERATOR_TO_SQL``."},"Page_VisitorResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/VisitorResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0,"title":"Total"},"page":{"type":"integer","minimum":1,"title":"Page"},"size":{"type":"integer","minimum":1,"title":"Size"},"pages":{"type":"integer","minimum":0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[VisitorResponse]"},"VisitorResponse":{"properties":{"hem":{"type":"string","title":"Hem"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"record_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Record Uuid"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"business_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Email"},"mobile_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile Phone"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"personal_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Address"},"personal_address2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Address2"},"personal_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal City"},"personal_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal State"},"personal_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Zip"},"personal_zip4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Zip4"},"personal_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Email"},"personal_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Phone"},"gender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"},"age_range":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age Range"},"married":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Married"},"income_range":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Income Range"},"net_worth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Net Worth"},"homeowner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homeowner"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title"},"seniority_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seniority Level"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"professional_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Professional Address"},"professional_address2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Professional Address2"},"professional_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Professional City"},"professional_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Professional State"},"professional_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Professional Zip"},"professional_zip4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Professional Zip4"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"company_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Domain"},"company_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Phone"},"company_sic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Sic"},"company_naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Naics"},"company_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Address"},"company_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company City"},"company_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company State"},"company_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Zip"},"company_linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Linkedin Url"},"company_revenue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Revenue"},"company_employee_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Employee Count"},"primary_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Industry"},"business_email_validation_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Email Validation Status"},"business_email_last_seen":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Email Last Seen"},"personal_email_validation_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Email Validation Status"},"personal_email_last_seen":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Personal Email Last Seen"},"ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","readOnly":true}},"type":"object","required":["hem","updated_at"],"title":"VisitorResponse","description":"Visitor profile returned by the Identity API."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/identity/visitors":{"post":{"tags":["Identity"],"summary":"List Visitors","description":"Returns paginated visitor profiles, optionally filtered by date range and visitor field conditions.","operationId":"get_visitors_identity_visitors_post","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"},{"name":"sort","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort order","default":"desc","title":"Sort"},"description":"Sort order"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/VisitorQuery"},{"type":"null"}],"title":"Query"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_VisitorResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


---

# 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://docs.getuntitled.ai/api-documentation/identity.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.
