---
title: Identity details schema
editUrl: https://github.com/Cratis/Arc.TypeScript/edit/main/Documentation/introspection/identity-details-schema.md
description: The shape of GET /.cratis/identity-details/schema, which describes the application details returned by /.cratis/me.
---


A frontend or tool that shows identity details from another language cannot import your `detailsType` class. It can read its schema instead. `GET /.cratis/identity-details/schema` returns the JSON Schema of the `details` object that [`/.cratis/me`](/arc/backend/typescript/identity/) returns. The schema comes from the identity details provider:

| Configuration | Response |
| --- | --- |
| A provider with `detailsType` | JSON Schema derived from the class's `@field` declarations |
| A provider with a Zod `schema` | That schema converted to JSON Schema |
| No provider, legacy `identityDetailsSchema` option | That object, unchanged |
| Neither | `{}` |

For a `detailsType` with one `@field(String) greeting` field:

```json
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"greeting":{"type":"string"}},"required":["greeting"],"additionalProperties":false}
```

The endpoint follows the shared [discovery access policy](/arc/backend/typescript/introspection/#production-access): anonymous in Development, authenticated elsewhere by default. It describes the shape only, never a user's data. The legacy `identityDetailsSchema` option cannot be combined with `identityDetails`.

## Related

- [Identity](/arc/backend/typescript/identity/)
- [Introspection](/arc/backend/typescript/introspection/)
