# Introspection
source: https://docs.chalk.ai/docs/introspection

## View metadata about your deployed Chalk features and resolvers.

Occasionally, you may need to inspect a running Chalk environment to review metadata about your configured Chalk
pipelines. You can use the provided Rest API to query for this metadata as part of your admin dashboards,
monitoring tooling, or team knowledge management.

Note: if you use a user-scoped token (i.e. one that’s derived from chalk login),
you will need to specify the environment in which to trigger your resolver via the X-Chalk-Env-id header.

### View an environment's live feature and resolver graph

The auth token that should be used for the request, such as
Authorization: Bearer $(chalk token)

The environment ID for which this request should be executed, if the provided Authorization token was not created with an implicit environment

### Response

Pipelines object

### Example

```
curl -XGET -H "Authorization: Bearer $(chalk token)" \
     -H "X-Chalk-Env-Id: <your-environment-id>" \
     https://api.chalk.ai/v1/environment/graph

# Returns

{
  "deployment_id": "<deployment-id>",
  "features": […],
  "resolvers": […]
}
```

### View a deployment's feature and resolver graph

The machine-generated ID for your deployment, usually a 25-character string that begins with c
and looks something like cl789789aoa002chalkexample. The deployment can be associated with a
preview or production environment.

The auth token that should be used for the request, such as
Authorization: Bearer $(chalk token)

The environment ID for which this request should be executed, if the provided Authorization token
was not created with an implicit environment

### Response

Pipelines object

### Example

```
curl -XGET -H "Authorization: Bearer $(chalk token)" \
     -H "X-Chalk-Env-Id: <your-environment-id>" \
     https://api.chalk.ai/v1/deployments/<your-deployment-id>/graph

# Returns
{
  "deployment_id": "<deployment-id>",
  "features": […],
  "resolvers": […]
}
```

### Pipelines

The deployment ID that is being described by this graph

Array of FeatureInfo objects, one for each Feature in your deployment.
Most of the metadata in each FeatureInfo is defined in your Feature() declaration

The fully-qualified name of this feature, like user.id

The name of this feature, like "User first name"

Additional metadata about this feature's value type, including its underlying raw type, whether
it's a primary key, and feature version metadata.

The user tags associated with this feature

An ISO-8601 datetime string describing when this feature was first introduced to your deployment

An ISO-8601 datetime string describing when this feature was last modified by a deployment

Whether this feature has Offline-to-Online Chalk ETL integration

Array of ResolverInfo objects, one for each Resolver in your deployment.

The fully-qualified name of this resolver, like example.resolvers.get_user

Whether this resolver is configured to run as an

online or offline resolver, or a stream or sink resolver

The user tags associated with this resolver

The declared feature input fqns to this resolver, as a string array

The declared feature output fqns of this resolver, as a string array

If the resolver is configured to run with a schedule, this field
will describe that schedule

The last time this resolver was modified by a deployment, including its declaration or its
implementation, as an ISO-8601 datetime string





