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

# Product access

> Which product detail needs your organization to have access to the product, what every caller can read, and how a request behaves without access.

Product detail is read per product, and usually per state. Your organization either has access to a
product in a state or it doesn't, and access applies to everyone in the organization. Operations
outside the product catalog don't check it; they keep their own permissions, such as read-only keys,
filing access and dataset access.

Every caller can browse and search the product catalog and every state's availability. Filings,
forms and manuals by state, events, resources, profiles, comparison attributes and rating plan
requests need access to the product, and usually to the state.

Every product operation in the API reference ends its description with an **Access** note that says
which of these applies.

## What needs access

| Operation | Access |
| - | - |
| `listProducts` | Open, every filter included |
| `getProduct` | Open; `attributes` cover only states you have access to |
| `getProductAccess`, `listProductLines`, `getProductProfileSchema`, `getProductProfileOptions` | Open |
| `listProductAvailabilityFilings`, `getProductAvailabilityUwManuals`, `getProductAvailabilityRateManuals`, `getProductAvailabilityForms`, `listProductAvailabilityEvents` | The product in that state |
| `getProductEvent` | The product in the event's state |
| `listProductEvents`, `listProductResources`, `getProductResource`, `listProductRatingPlanRequests` | At least one state of the product; results cover only states you have access to |
| `getProductProfile` | At least one state of the product |
| `requestProductRatingPlans` | The product in every requested state |

### Product fields

`getProduct` always answers, with every configured state's `availability`: writing companies, TOI
and sub-TOI codes, new business and renewals, notes and `recorded` counts. Two fields depend on
access:

| Field | Without access to a state |
| - | - |
| `attributes` | Leaves out claims scoped to the state. Product-wide claims need access to any state. |
| `access` | Says `view: "limited"` and names the states you don't have access to in `lockedStates`. |

`recorded` tells you how many filings, forms, manuals and events a state has, so you can skip reads
that would come back empty.

## Find what your organization has access to

`getProductAccess` lists the products and states your organization has access to:

```bash theme={null}
curl --request GET \
  --url "https://api.effectiveai.app/api/v2/insurance/product-access" \
  --header "Authorization: Bearer $EFFECTIVE_API_KEY"
```

```json theme={null}
{
  "allProducts": false,
  "products": [{ "productId": "product_6K7Q2ZD", "allStates": false, "states": ["CA", "TX"] }]
}
```

`allProducts: true` means your organization has access to every product in every state. Otherwise
each product with at least one state is listed; `allStates: true` covers every state, including
states added later.

## Without access

A request for a product or state your organization doesn't have access to returns `403` with the code
`product_access_required` and an `accessUrl`, the Product access page in Effective:

```json theme={null}
{
  "code": "product_access_required",
  "error": "Your organization doesn't have access to this product's detail: comparison attributes, profiles, resources, events, rating plan requests, and filings, forms and manuals by state. To add the product to your account, contact sales@effectiveailabs.com.",
  "accessUrl": "https://your-org.effectiveai.app/product-access",
  "requestId": "1791481731950-0"
}
```

Don't retry it. To add the product to your account, open `accessUrl` or contact
[sales@effectiveailabs.com](mailto:sales@effectiveailabs.com).

With access to only some products or states, reads that span states narrow instead of failing.
`getProduct` returns a limited view, and `listProductEvents`, `listProductResources` and
`listProductRatingPlanRequests` cover only the states you have access to.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.