> ## Documentation Index
> Fetch the complete documentation index at: https://storeinspect.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Data model

> Field-level dictionary for StoreInspect API response objects.

API responses use public response models with opaque IDs. Do not infer hidden IDs, ordering, or non-public state from public IDs.

Fields marked nullable can return `null` when StoreInspect does not have reliable data for that value.

## Store object

Returned by store search, store lookup, and domain enrichment.

| Field              | Type           | Description                                                                        |
| ------------------ | -------------- | ---------------------------------------------------------------------------------- |
| `id`               | string         | Opaque StoreInspect store ID.                                                      |
| `object`           | string         | Always `store`.                                                                    |
| `domain`           | string         | Normalized store hostname without a URL scheme or path.                            |
| `name`             | string         | Store or company name.                                                             |
| `category`         | string or null | StoreInspect category label. Use the taxonomy endpoint for current values.         |
| `country`          | string or null | Two-letter country code inferred for the store.                                    |
| `traffic_tier`     | string or null | Estimated monthly website-traffic range.                                           |
| `revenue_tier`     | string or null | Estimated monthly online-revenue range. This is an estimate, not reported revenue. |
| `shopify_plus`     | boolean        | Whether StoreInspect detects Shopify Plus.                                         |
| `lead_fit_score`   | number or null | StoreInspect's 0-100 lead-fit score based on available store signals.              |
| `technologies`     | object         | Detected apps, pixels, and theme information.                                      |
| `contacts_summary` | object         | Aggregate contact coverage for the store.                                          |

### Technologies

| Field        | Type           | Description                                                          |
| ------------ | -------------- | -------------------------------------------------------------------- |
| `apps`       | string\[]      | Names of detected Shopify apps and ecommerce technologies.           |
| `pixels`     | string\[]      | Names of detected analytics, advertising, and tracking technologies. |
| `theme.name` | string or null | Detected Shopify theme name when available.                          |
| `theme.type` | string or null | Theme classification, such as `free`, `paid`, or `custom`.           |

### Contact summary

| Field                     | Type      | Description                                                        |
| ------------------------- | --------- | ------------------------------------------------------------------ |
| `total`                   | integer   | Number of contact records associated with the store.               |
| `has_revealable_contacts` | boolean   | Whether at least one associated contact can currently be revealed. |
| `verified_email_count`    | integer   | Number of contacts with an email that can be returned on reveal.   |
| `roles`                   | string\[] | Contact-role values represented among the store's contacts.        |

## Contact preview object

Returned by contact search and optional contact previews in domain enrichment. Preview objects help select contacts without exposing private contact channels.

| Field                  | Type           | Description                                                                                                     |
| ---------------------- | -------------- | --------------------------------------------------------------------------------------------------------------- |
| `id`                   | string         | Opaque StoreInspect contact ID used by the reveal endpoint.                                                     |
| `object`               | string         | Always `contact_preview`.                                                                                       |
| `first_name`           | string or null | Contact's first name when available.                                                                            |
| `last_name_obfuscated` | string or null | Masked last name shown before reveal.                                                                           |
| `role`                 | string or null | Normalized decision-maker role. Use the taxonomy endpoint for current values.                                   |
| `seniority`            | string         | One of `executive`, `decision_maker`, or `other`.                                                               |
| `title`                | string or null | Contact's job title when available.                                                                             |
| `has_verified_email`   | boolean        | Whether reveal can return at least one email. Returned email statuses can be `verified`, `matched`, or `found`. |
| `has_phone`            | boolean        | Whether reveal can return a phone number.                                                                       |
| `has_linkedin`         | boolean        | Whether reveal can return a LinkedIn profile URL.                                                               |
| `revealed`             | boolean        | Whether this account has already revealed the contact.                                                          |
| `store`                | object         | Store context for the contact.                                                                                  |

### Preview store context

| Field                 | Type           | Description                                   |
| --------------------- | -------------- | --------------------------------------------- |
| `id`                  | string         | Opaque StoreInspect store ID.                 |
| `domain`              | string         | Normalized store hostname.                    |
| `name`                | string         | Store or company name.                        |
| `category`            | string or null | StoreInspect category label.                  |
| `traffic_tier`        | string or null | Estimated monthly website-traffic range.      |
| `technologies.apps`   | string\[]      | Detected app names.                           |
| `technologies.pixels` | string\[]      | Detected pixel and tracking-technology names. |

## Revealed contact object

Returned by `POST /contacts/reveal` after the contact is newly revealed or retrieved from the account's existing reveals.

| Field           | Type             | Description                                                    |
| --------------- | ---------------- | -------------------------------------------------------------- |
| `id`            | string           | Opaque StoreInspect contact ID.                                |
| `object`        | string           | Always `contact`.                                              |
| `full_name`     | string or null   | Contact's full name.                                           |
| `first_name`    | string or null   | Contact's first name.                                          |
| `last_name`     | string or null   | Contact's last name.                                           |
| `title`         | string or null   | Contact's job title.                                           |
| `role`          | string or null   | Normalized decision-maker role.                                |
| `seniority`     | string           | One of `executive`, `decision_maker`, or `other`.              |
| `linkedin_url`  | string or null   | LinkedIn profile URL when available and exportable.            |
| `reveal_status` | string           | `newly_revealed` or `already_revealed`.                        |
| `charged`       | boolean          | Whether this request spent one contact credit for the contact. |
| `emails`        | object\[]        | Exportable email channels.                                     |
| `phones`        | object\[]        | Available phone channels.                                      |
| `store`         | object           | Store ID, domain, and name associated with the contact.        |
| `revealed_at`   | date-time string | ISO 8601 timestamp for the account's reveal.                   |

### Email channel

| Field        | Type    | Description                                             |
| ------------ | ------- | ------------------------------------------------------- |
| `email`      | string  | Exportable email address.                               |
| `status`     | string  | Email verification or deliverability status.            |
| `type`       | string  | Email classification supplied with the contact channel. |
| `is_primary` | boolean | Whether this is the contact's primary returned email.   |

Reveal responses exclude guessed, catch-all, bounced, suppressed, and otherwise non-exportable emails.

### Phone channel

| Field        | Type    | Description                                                  |
| ------------ | ------- | ------------------------------------------------------------ |
| `phone`      | string  | Phone number as returned by StoreInspect.                    |
| `type`       | string  | Phone classification supplied with the contact channel.      |
| `is_primary` | boolean | Whether this is the contact's primary returned phone number. |

## Response envelopes

| Field               | Type           | Description                                                                                  |
| ------------------- | -------------- | -------------------------------------------------------------------------------------------- |
| `object`            | string         | Response object type, such as `list`, `store_enrichment_result`, or `contact_reveal_result`. |
| `data`              | object\[]      | Result objects for the request.                                                              |
| `has_more`          | boolean        | Whether another page is available for a search response.                                     |
| `next_cursor`       | string or null | Opaque cursor for the next page. Pass it back unchanged.                                     |
| `found`             | integer        | Number of requested domains found in an enrichment response.                                 |
| `not_found`         | integer        | Number of requested domains not found in an enrichment response.                             |
| `credits.spent`     | integer        | Contact credits spent by a reveal request.                                                   |
| `credits.remaining` | integer        | Contact credits remaining after a reveal request.                                            |
| `request_id`        | string         | Request identifier for support and debugging.                                                |

## Domain enrichment result

Each item returned by `POST /stores/enrich` preserves the requested domain and reports whether it was found.

| Field              | Type              | Description                                                 |
| ------------------ | ----------------- | ----------------------------------------------------------- |
| `domain`           | string            | Normalized requested domain.                                |
| `status`           | string            | `found` or `not_found`.                                     |
| `store`            | Store or null     | Store object when found, otherwise `null`.                  |
| `contact_previews` | ContactPreview\[] | Optional contact previews when requested through `include`. |

For exact request schemas, limits, and endpoint examples, use the [API Reference](/docs/api-reference/introduction) or the [OpenAPI document](https://storeinspect.com/openapi.json).
