schema

Langsmith Schema

graph LR
    LangSmithAccessPolicy -- ATTACHED_TO --> LangSmithRole
    LangSmithAgent -- HAS_CREDENTIAL --> LangSmithAgentCredential
    LangSmithAgentCredential -- FOR_PROVIDER --> LangSmithOAuthProvider
    LangSmithAgentCredential -- ON_BEHALF_OF --> LangSmithUser
    LangSmithApiKey -- ASSUMES --> LangSmithRole
    LangSmithApiKey -- OWNED_BY --> LangSmithUser
    LangSmithDeployment -- RUNS --> LangSmithAgent
    LangSmithOrgMembership -- HAS_ROLE --> LangSmithRole
    LangSmithOrganization -- RESOURCE --> LangSmithAccessPolicy
    LangSmithOrganization -- RESOURCE --> LangSmithAgent
    LangSmithOrganization -- RESOURCE --> LangSmithAgentCredential
    LangSmithOrganization -- RESOURCE --> LangSmithApiKey
    LangSmithOrganization -- RESOURCE --> LangSmithDataPlane
    LangSmithOrganization -- RESOURCE --> LangSmithDeployment
    LangSmithOrganization -- RESOURCE --> LangSmithMcpServer
    LangSmithOrganization -- RESOURCE --> LangSmithOAuthClient
    LangSmithOrganization -- RESOURCE --> LangSmithOAuthProvider
    LangSmithOrganization -- RESOURCE --> LangSmithOrgMembership
    LangSmithOrganization -- RESOURCE --> LangSmithPermission
    LangSmithOrganization -- RESOURCE --> LangSmithResourceTag
    LangSmithOrganization -- RESOURCE --> LangSmithRole
    LangSmithOrganization -- RESOURCE --> LangSmithSSOProvider
    LangSmithOrganization -- RESOURCE --> LangSmithSecret
    LangSmithOrganization -- RESOURCE --> LangSmithServiceAccount
    LangSmithOrganization -- RESOURCE --> LangSmithWorkspace
    LangSmithOrganization -- RESOURCE --> LangSmithWorkspaceMembership
    LangSmithRole -- GRANTS --> LangSmithPermission
    LangSmithSSOProvider -- DEFAULT_ROLE --> LangSmithRole
    LangSmithSSOProvider -- PROVISIONS_INTO --> LangSmithWorkspace
    LangSmithServiceAccount -- DEFAULT_WORKSPACE --> LangSmithWorkspace
    LangSmithUser -- HAS_MEMBERSHIP --> LangSmithOrgMembership
    LangSmithUser -- HAS_MEMBERSHIP --> LangSmithWorkspaceMembership
    LangSmithUser -- MEMBER_OF --> LangSmithWorkspace
    LangSmithWorkspace -- CONTAINS --> LangSmithApiKey
    LangSmithWorkspace -- CONTAINS --> LangSmithDeployment
    LangSmithWorkspace -- CONTAINS --> LangSmithMcpServer
    LangSmithWorkspace -- CONTAINS --> LangSmithOAuthClient
    LangSmithWorkspace -- CONTAINS --> LangSmithResourceTag
    LangSmithWorkspace -- CONTAINS --> LangSmithSecret
    LangSmithWorkspaceMembership -- HAS_ROLE --> LangSmithRole
    LangSmithWorkspaceMembership -- IN_WORKSPACE --> LangSmithWorkspace

LangSmithAccessPolicy

An attribute-based access control policy. Policies attach to roles and restrict which tagged resources the role's permissions apply to.

Properties

Field Index Description
id Yes Access policy UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
condition_summary Flattened, human-readable rendering of the policy's attribute-based condition groups, for example 'project.tag in [prod]'.
description Human-readable description of the policy.
effect Whether the policy allows or denies the matched resources.
name Yes Access policy name.

Relationships

  • (:LangSmithAccessPolicy)-[:ATTACHED_TO]->(:LangSmithRole): An access policy narrows the resources a role applies to.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithAccessPolicy): Links an organization to one of its access policies.

LangSmithAgent

An agent (assistant) that can hold OAuth credentials.

Cartography discovers agents by listing each deployment's assistants on its own data plane, because a LangGraph Platform agent id is an assistant id and the control plane doesn't expose it. Deployments that declare an agent block, and credential records that name an agent, top up the inventory.

Properties

Field Index Description
id Yes Synthetic identifier of the form <organization_id>|<assistant_id>. LangSmith derives an assistant id from its graph, so two organizations running the same graph can produce the same assistant id; namespacing keeps their agents, deployments and credential paths from merging.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
assistant_id Yes The raw LangSmith assistant ID, as used by the agent-auth API.
created_at Timestamp when the assistant was created.
description Human-readable description of the agent.
environment Environment the agent is deployed to, for example production.
graph_id Identifier of the LangGraph graph this agent runs.
name Agent name, taken from the deployment that serves it when one exists.
updated_at Timestamp when the assistant was last updated.
version Assistant version number.

Relationships

  • (:LangSmithAgent)-[:HAS_CREDENTIAL]->(:LangSmithAgentCredential): The agent that can use this credential.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithAgent): Links an organization to an agent running within it.

  • (:LangSmithDeployment)-[:RUNS]->(:LangSmithAgent): Links an agent to the deployment serving it.

Set when Cartography discovers the agent by listing the deployment's assistants, which is the usual case. LangSmith fills a deployment's own agent block only for deployments created with an explicit agent binding.

One-to-many: LangGraph derives an assistant id from its graph, so the same agent can be served by several deployments.

LangSmithAgentCredential

A third-party OAuth token a LangSmith agent holds on a human's behalf, letting the agent call that provider's API as them.

Cartography ingests only metadata. oauth_token_id is an opaque reference, and Cartography never requests or receives an access token, refresh token, or client secret.

Properties

Field Index Description
id Yes Agent connection UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the connection was authorized.
expires_at Timestamp when the stored token expires, or null if it does not expire.
oauth_token_id Identifier of the stored token record. This is an opaque reference only; no access or refresh token material is ingested.
provider_account_label Label identifying which upstream account the token belongs to.
scopes OAuth scopes the stored token was granted.

Relationships

  • (:LangSmithAgentCredential)-[:FOR_PROVIDER]->(:LangSmithOAuthProvider): The third-party provider this credential authenticates against.

Matched on the provider's UUID, resolved during transform, rather than on its provider_id slug. The slug is operator-chosen, so two organizations can both define one called github-prod, and relationship matching carries no implicit organization constraint.

  • (:LangSmithAgent)-[:HAS_CREDENTIAL]->(:LangSmithAgentCredential): The agent that can use this credential.

  • (:LangSmithAgentCredential)-[:ON_BEHALF_OF]->(:LangSmithUser): The human whose third-party account the agent can act as. This is the edge that answers which agents hold which user's OAuth tokens.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithAgentCredential): Links an organization to an agent credential held within it.

LangSmithApiKey

A LangSmith credential: a personal access token, an organization service key, a workspace API key, or a SCIM token. Cartography stores only the non-secret short prefix.

Ontology Mapping: This node uses the ontology label APIKey.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes API key UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
access_scope Whether the key is scoped to an organization or a workspace.
created_at Timestamp when the key was created.
default_workspace_name Name of the workspace this key targets when no workspace header is sent.
expires_at Timestamp when the key expires, or null if the key never expires.
key_type Yes One of pat (personal access token, lsv2_pt), service_key (organization service key, lsv2_sk), workspace_key (workspace API key, lsv2_sk) or scim_token (lsv2_sc).
last_used_at Timestamp when the key was last used to authenticate.
name User-supplied description of the key.
read_only Deprecated LangSmith flag retained on the API response.
revoked_at Timestamp when the key was revoked, or null if the key is still live.
short_key Truncated, non-secret prefix of the key, used to identify it in the UI. The full key value is never ingested.
workspace_names Names of the workspaces this key can reach.
_ont_created_at Yes Normalized field sourced from created_at.
_ont_expires_at Yes Normalized field sourced from expires_at.
_ont_last_used_at Yes Normalized field sourced from last_used_at.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithApiKey)-[:ASSUMES]->(:LangSmithRole): An API key acts with the permissions of the roles it is bound to.

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithApiKey): A workspace-scoped API key belongs to a workspace.

  • (:LangSmithApiKey)-[:OWNED_BY]->(:LangSmithUser): An API key is owned by the user account that created it.

  • (:User)-[:OWNS]->(:LangSmithApiKey): generated by analysis job Ontology - User OWNS APIKey linking.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithApiKey): Links an organization to an API key issued within it.

LangSmithDataPlane

A self-hosted or bring-your-own-cloud data plane serving LangSmith workspaces.

Properties

Field Index Description
id Yes Data plane UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the data plane was registered.
name Yes Data plane name.
status Data plane status.
url URL of the data plane.

Relationships

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithDataPlane): Links an organization to a data plane registered to it.

LangSmithDeployment

A LangGraph Platform deployment serving an agent.

Properties

Field Index Description
id Yes Deployment UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the deployment was created.
display_name Human-readable deployment name.
image_version Image version currently deployed.
is_managed_deep_agent True if this is a Managed Deep Agent deployment.
is_preview True if this is a preview-build deployment.
name Yes Deployment name.
route_through_gateway True if OpenAI and Anthropic model calls are routed through the LangSmith LLM gateway.
secret_names Names of the environment secrets configured on the deployment. Secret values are discarded during transform and are never written to the graph.
secret_reference_names Names of the Kubernetes Secret references configured on the deployment.
shareable True if the deployment can be shared with LangSmith users outside the organization.
source Where the deployment image comes from, for example github or external_docker.
status Deployment status.
tracer_session_id UUID of the LangSmith tracing project the deployment writes runs to.
updated_at Timestamp when the deployment was last updated.
url Serving URL of the deployment, once provisioned.

Relationships

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithDeployment): Links a deployment to the workspace that owns it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithDeployment): Links an organization to a deployment running within it.

  • (:LangSmithDeployment)-[:RUNS]->(:LangSmithAgent): Links an agent to the deployment serving it.

Set when Cartography discovers the agent by listing the deployment's assistants, which is the usual case. LangSmith fills a deployment's own agent block only for deployments created with an explicit agent binding.

One-to-many: LangGraph derives an assistant id from its graph, so the same agent can be served by several deployments.

LangSmithMcpServer

An MCP server a LangSmith workspace exposes to its agents.

Properties

Field Index Description
id Yes MCP server or gateway UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
auth_type How callers authenticate to this MCP server, for example oauth or none.
created_at Timestamp when the MCP server was registered.
description Human-readable description of the MCP server.
name Yes MCP server name.
slug MCP server slug.
status MCP server status.
tool_names Names of the tools this MCP server exposes, where the API reports them.
updated_at Timestamp when the MCP server was last updated.
url URL the MCP server is served from.
vendor MCP vendor fronting this server, when it is a vendor-managed gateway.

Relationships

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithMcpServer): Links an MCP server to the workspace that exposes it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithMcpServer): Links an organization to an MCP server registered within it.

LangSmithOAuthClient

A third-party application registered to call the LangSmith API through OAuth. This is LangSmith acting as the authorization server, the reverse direction from LangSmithOAuthProvider.

Ontology Mapping: This node uses the ontology label ThirdPartyApp.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes OAuth client ID issued by LangSmith.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
allowed_scopes LangSmith scopes this client is permitted to request.
client_type Client type, for example public or confidential.
client_uri Home page URI of the client application.
created_at Timestamp when the client was registered.
disabled True if the client has been disabled.
grant_types OAuth grant types this client may use.
logo_uri Logo URI of the client application.
name Yes Display name of the OAuth client.
policy_uri Privacy policy URI of the client application.
redirect_uris Redirect URIs registered for this client.
tos_uri Terms of service URI of the client application.
updated_at Timestamp when the client was last updated.
_ont_client_id Yes Normalized field sourced from id.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:User)-[:AUTHORIZED]->(:LangSmithOAuthClient): generated by analysis job Ontology - User AUTHORIZED ThirdPartyApp linking.

    • Properties:

      Field Description
      scopes Property generated by analysis job: Ontology - User AUTHORIZED ThirdPartyApp linking.
  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithOAuthClient): Links an OAuth client to the workspace it was registered in.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithOAuthClient): Links an organization to an OAuth client registered against it.

LangSmithOAuthProvider

A third-party OAuth provider that LangSmith agents can obtain tokens from on a user's behalf, such as GitHub, Google or an MCP server.

Ontology Mapping: This node uses the ontology label ThirdPartyApp.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes OAuth provider record UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
allowed_redirect_uris Redirect URIs accepted when completing the OAuth flow.
auth_url Upstream authorization endpoint.
client_id OAuth client ID registered with the upstream provider. The client secret is never returned by the API and is not ingested.
created_at Timestamp when the provider was registered.
is_dynamic_client True if the OAuth client was registered dynamically rather than configured.
is_platform_provider True if this is a LangChain-managed provider rather than one the organization configured.
mcp_server_url URL of the MCP server this provider fronts, when the provider is MCP-backed.
name Display name of the OAuth provider.
provider_id Yes Operator-chosen provider slug, for example github-prod.
provider_type Provider category, for example oauth2 or mcp.
token_endpoint_auth_method How LangSmith authenticates to the token endpoint.
token_url Upstream token endpoint.
updated_at Timestamp when the provider was last updated.
uses_pkce True if the provider uses PKCE.
_ont_client_id Yes Normalized field sourced from client_id.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:User)-[:AUTHORIZED]->(:LangSmithOAuthProvider): generated by analysis job Ontology - User AUTHORIZED ThirdPartyApp linking.

    • Properties:

      Field Description
      scopes Property generated by analysis job: Ontology - User AUTHORIZED ThirdPartyApp linking.
  • (:LangSmithAgentCredential)-[:FOR_PROVIDER]->(:LangSmithOAuthProvider): The third-party provider this credential authenticates against.

Matched on the provider's UUID, resolved during transform, rather than on its provider_id slug. The slug is operator-chosen, so two organizations can both define one called github-prod, and relationship matching carries no implicit organization constraint.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithOAuthProvider): Links an organization to an OAuth provider configured within it.

LangSmithOrganization

A LangSmith organization: the top-level tenant that owns workspaces, users and roles.

Ontology Mapping: This node uses the ontology label Tenant.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes LangSmith organization UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
disabled True if the organization is disabled.
invites_enabled True if members may be invited to the organization.
ip_allowlist_enabled True if an IP allowlist is enforced for this organization.
is_personal True if this is a personal organization rather than a shared one.
jit_provisioning_enabled True if SSO just-in-time user provisioning is enabled.
max_api_key_expiry_days Maximum lifetime in days allowed for an API key, or null for unlimited.
max_pat_expiry_days Maximum lifetime in days allowed for a personal access token, or null for unlimited.
max_service_key_expiry_days Maximum lifetime in days allowed for a service key, or null for unlimited.
name Organization display name.
pat_creation_disabled True if members are blocked from creating personal access tokens.
public_sharing_disabled True if publicly sharing runs, prompts and datasets is blocked.
security_contact Email address listed as the organization's security contact.
sso_login_slug Vanity slug used for the SSO login URL.
sso_only True if members may only authenticate through SSO.
tier Payment plan tier the organization is on.
workspace_admin_can_invite_to_org True if workspace admins may invite users to the whole organization.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithAccessPolicy): Links an organization to one of its access policies.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithAgent): Links an organization to an agent running within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithAgentCredential): Links an organization to an agent credential held within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithApiKey): Links an organization to an API key issued within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithDataPlane): Links an organization to a data plane registered to it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithDeployment): Links an organization to a deployment running within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithMcpServer): Links an organization to an MCP server registered within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithOAuthClient): Links an organization to an OAuth client registered against it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithOAuthProvider): Links an organization to an OAuth provider configured within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithOrgMembership): Links an organization to one of its memberships.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithPermission): Links an organization to a permission available within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithResourceTag): Links an organization to a resource tag defined within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithRole): Links an organization to a role available within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithSSOProvider): Links an organization to its configured SSO provider.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithSecret): Links an organization to a workspace secret held within it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithServiceAccount): Links an organization to one of its service accounts.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithWorkspace): Links an organization to a workspace it owns.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithWorkspaceMembership): Links an organization to a workspace membership within it.

LangSmithOrgMembership

A user's membership in a single organization, together with the role they hold there.

Modeled as a node so that organization-specific state stays organization-specific: a user can belong to several organizations, and each has its own view of whether that identity is disabled, what role it holds and how it was provisioned.

Properties

Field Index Description
id Yes Synthetic identifier of the form <organization_id>|<ls_user_id>.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the user joined the organization.
email Email address of the member, denormalized for convenience.
identity_id UUID of the organization-scoped identity row backing this membership. This is a membership identifier, not a user identifier.
is_disabled True if this organization identity is deactivated. Deactivated identities cannot authenticate, and their personal access tokens are rejected. This is per-organization state, which is why it is not on the user node.
is_pending True if this is an outstanding invitation rather than an accepted membership.
login_methods Auth providers linked to this identity, for example email, oidc or saml.
ls_user_id Yes Stable LangSmith user ID of the member.
provisioning_methods How the identity's login methods were provisioned, for example scim or saml:jit.
role_name Display name of the organization role held.

Relationships

  • (:LangSmithUser)-[:HAS_MEMBERSHIP]->(:LangSmithOrgMembership): Links a user to their membership of one organization.

  • (:LangSmithOrgMembership)-[:HAS_ROLE]->(:LangSmithRole): Links a membership to the organization role it confers.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithOrgMembership): Links an organization to one of its memberships.

LangSmithPermission

A single LangSmith permission string that roles may grant.

Properties

Field Index Description
id Yes Synthetic identifier of the form <organization_id>|. Permission strings repeat across organizations, and each organization's cleanup must only ever touch its own nodes.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
access_scope Whether the permission applies at organization or workspace scope.
name Yes Permission string, for example organization:manage or deployments:read.

Relationships

  • (:LangSmithRole)-[:GRANTS]->(:LangSmithPermission): A role grants a permission.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithPermission): Links an organization to a permission available within it.

LangSmithResourceTag

A workspace resource tag. Tags are the attributes that attribute-based access policies match on.

Cartography doesn't ingest the tagging edges that attach these tags to individual projects, datasets, and prompts, because those resource types are outside this module's scope.

Ontology Mapping: This node uses the ontology label Tag.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Tag value UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
key Yes Tag key name.
key_id UUID of the tag key this value belongs to.
value Tag value.
workspace_id UUID of the workspace the tag is defined in.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithResourceTag): Links a resource tag to the workspace it is defined in.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithResourceTag): Links an organization to a resource tag defined within it.

LangSmithRole

A LangSmith RBAC role, either a built-in system role or an organization's custom role.

Ontology Mapping: This node uses the ontology label PermissionRole.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Synthetic identifier of the form <organization_id>|. Built-in roles keep the same UUID in every organization.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
access_scope Whether the role applies at organization or workspace scope.
description Human-readable description of the role.
is_custom True if this is a user-defined role rather than a LangSmith built-in. Derived from the presence of an owning organization_id.
is_restricted True if the organization has applied a restriction to this role.
name Yes Role display name. Prefer this over system_name: every custom role is stored with the system name CUSTOM, so only the display name distinguishes them.
role_id Yes LangSmith role UUID.
role_type builtin for a LangSmith system role, custom for an organization-defined one.
system_name Internal role name, for example ORGANIZATION_ADMIN or WORKSPACE_VIEWER. Always CUSTOM for user-defined roles.
_ont_name Yes Normalized field sourced from name.
_ont_scope Yes Normalized field sourced from access_scope.
_ont_source Module that populated this node's ontology fields.
_ont_type Yes Normalized field sourced from role_type.

Relationships

  • (:LangSmithApiKey)-[:ASSUMES]->(:LangSmithRole): An API key acts with the permissions of the roles it is bound to.

  • (:LangSmithAccessPolicy)-[:ATTACHED_TO]->(:LangSmithRole): An access policy narrows the resources a role applies to.

  • (:LangSmithSSOProvider)-[:DEFAULT_ROLE]->(:LangSmithRole): The workspace role granted to users provisioned through this provider.

  • (:LangSmithRole)-[:GRANTS]->(:LangSmithPermission): A role grants a permission.

  • (:LangSmithOrgMembership)-[:HAS_ROLE]->(:LangSmithRole): Links a membership to the organization role it confers.

  • (:LangSmithWorkspaceMembership)-[:HAS_ROLE]->(:LangSmithRole): Links a membership to the role it confers in that workspace.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithRole): Links an organization to a role available within it.

LangSmithSecret

A workspace secret. Cartography ingests only the key name and never calls LangSmith's encrypted-secrets endpoint.

Ontology Mapping: This node uses the ontology label Secret.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Synthetic identifier of the form <workspace_id>|.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
name Yes Secret key name. The secret value is never ingested.
workspace_id UUID of the workspace holding the secret.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithSecret): Links a secret to the workspace that holds it.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithSecret): Links an organization to a workspace secret held within it.

LangSmithServiceAccount

A LangSmith service account: a non-human principal that can hold service keys.

Ontology Mapping: This node uses the ontology label ServiceAccount.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Service account UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the service account was created.
name Yes Service account name.
updated_at Timestamp when the service account was last updated.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithServiceAccount)-[:DEFAULT_WORKSPACE]->(:LangSmithWorkspace): Links a service account to the workspace it defaults to.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithServiceAccount): Links an organization to one of its service accounts.

LangSmithSSOProvider

An SSO identity provider configured for a LangSmith organization.

Ontology Mapping: This node uses the ontology label IdentityProvider.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes SSO settings UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
attribute_mapping_load_error Error reported while loading the provider's attribute mapping, if any.
has_metadata_xml True if SSO metadata was supplied inline as XML rather than by URL. The XML itself is not ingested.
metadata_url URL of the provider's SAML or OIDC metadata document.
name Yes Identifier of the upstream SSO provider.
sso_groups_claim_field Name of the assertion claim carrying the user's groups.
sso_groups_enabled True if group claims from the provider are consumed.
sso_groups_required True if a user must carry a matching group claim in order to log in.
sso_groups_role_sync_enabled True if workspace roles are synchronized from provider group claims.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithSSOProvider)-[:DEFAULT_ROLE]->(:LangSmithRole): The workspace role granted to users provisioned through this provider.

  • (:LangSmithSSOProvider)-[:PROVISIONS_INTO]->(:LangSmithWorkspace): A workspace that just-in-time provisioned users are placed into by default.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithSSOProvider): Links an organization to its configured SSO provider.

LangSmithUser

A LangSmith user account, keyed on the stable ls_user_id.

A user can belong to several organizations, so this node deliberately carries only identity that is true of the person everywhere. Everything organization-specific, such as whether the identity is disabled, which organization role it holds, and how it was provisioned, lives on LangSmithOrgMembership, because storing it here would mean one organization's sync overwriting another's view of the same human.

For the same reason the node has no sub-resource relationship: it is not owned by any single organization, and cleanup never deletes it, so one organization's sync cannot destroy an identity another organization still references. Its relationships are all owned by organization-scoped schemas (memberships, keys, credentials) or by the organization-scoped MEMBER_OF matchlink, and cleanup prunes them with their owner.

Ontology Mapping: This node uses the ontology label UserAccount.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Stable LangSmith user ID. Used instead of the user_id field, which mirrors the first linked auth provider subject and is not stable across login methods.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
avatar_url URL of the user's avatar image.
display_name User display name.
email Yes User email address.
ls_user_id Stable LangSmith user ID.
name User full name.
_ont_email Yes Normalized field sourced from email.
_ont_fullname Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:User)-[:HAS_ACCOUNT]->(:LangSmithUser)

  • (:LangSmithUser)-[:HAS_MEMBERSHIP]->(:LangSmithOrgMembership): Links a user to their membership of one organization.

  • (:LangSmithUser)-[:HAS_MEMBERSHIP]->(:LangSmithWorkspaceMembership): Links a user to one of their workspace memberships.

  • (:LangSmithUser)-[:MEMBER_OF]->(:LangSmithWorkspace): A user is a member of a workspace. The role held there is on the membership node.

  • (:LangSmithAgentCredential)-[:ON_BEHALF_OF]->(:LangSmithUser): The human whose third-party account the agent can act as. This is the edge that answers which agents hold which user's OAuth tokens.

  • (:LangSmithApiKey)-[:OWNED_BY]->(:LangSmithUser): An API key is owned by the user account that created it.

LangSmithWorkspace

A LangSmith workspace, called a tenant in the API, scoping projects, datasets and deployments.

Ontology Mapping: This node uses the ontology label Tenant.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Workspace (tenant) UUID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the workspace was created.
data_plane_url URL of the data plane serving this workspace, for self-hosted and BYOC deployments.
is_deleted True if the workspace has been deleted.
is_personal True if this is a user's personal workspace rather than a shared one.
name Workspace display name.
tenant_handle URL handle for the workspace.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithApiKey): A workspace-scoped API key belongs to a workspace.

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithDeployment): Links a deployment to the workspace that owns it.

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithMcpServer): Links an MCP server to the workspace that exposes it.

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithOAuthClient): Links an OAuth client to the workspace it was registered in.

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithResourceTag): Links a resource tag to the workspace it is defined in.

  • (:LangSmithWorkspace)-[:CONTAINS]->(:LangSmithSecret): Links a secret to the workspace that holds it.

  • (:LangSmithServiceAccount)-[:DEFAULT_WORKSPACE]->(:LangSmithWorkspace): Links a service account to the workspace it defaults to.

  • (:LangSmithWorkspaceMembership)-[:IN_WORKSPACE]->(:LangSmithWorkspace): Links a membership to the workspace it grants access to.

  • (:LangSmithUser)-[:MEMBER_OF]->(:LangSmithWorkspace): A user is a member of a workspace. The role held there is on the membership node.

  • (:LangSmithSSOProvider)-[:PROVISIONS_INTO]->(:LangSmithWorkspace): A workspace that just-in-time provisioned users are placed into by default.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithWorkspace): Links an organization to a workspace it owns.

LangSmithWorkspaceMembership

A user's membership in a single workspace, together with the role they hold there.

This is modeled as a node rather than a relationship because role assignment is a (user, workspace, role) triple and LangSmith supports organization-defined custom roles, so the role cannot be encoded in a fixed set of relationship labels.

Properties

Field Index Description
id Yes Synthetic identifier of the form <ls_user_id>|<workspace_id>.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the membership was created.
email Email address of the member, denormalized for convenience.
identity_id UUID of the workspace-scoped identity row backing this membership.
is_disabled True if the member's identity is deactivated.
is_pending True if this is an outstanding workspace invitation rather than an accepted membership.
ls_user_id Yes Stable LangSmith user ID of the member.
role_name Display name of the role held in this workspace.
workspace_id Yes UUID of the workspace.

Relationships

  • (:LangSmithUser)-[:HAS_MEMBERSHIP]->(:LangSmithWorkspaceMembership): Links a user to one of their workspace memberships.

  • (:LangSmithWorkspaceMembership)-[:HAS_ROLE]->(:LangSmithRole): Links a membership to the role it confers in that workspace.

  • (:LangSmithWorkspaceMembership)-[:IN_WORKSPACE]->(:LangSmithWorkspace): Links a membership to the workspace it grants access to.

  • (:LangSmithOrganization)-[:RESOURCE]->(:LangSmithWorkspaceMembership): Links an organization to a workspace membership within it.