Skip to content
Judgment Labs
Esc
↑↓navigate↵open⌘Jpreview
On this page

Project routing

Reference for selecting Judgment projects by name or ID and distinguishing deployment environments within a project.

Every trace, SDK request, and JQL query belongs to one organization and one project. Judgeval clients select a project by name. Direct OTLP export selects it by ID.

Selection methods

Client Project selector Where it is sent
Python Tracer or Judgeval project_name="my-project" SDK initialization or client construction
TypeScript Tracer or Judgeval projectName: "my-project" SDK initialization or client construction
Direct OTLP/HTTP X-Project-Id: <JUDGMENT_PROJECT_ID> Request header on every export
Judgment MCP project_id Tool argument after selecting an organization

For direct OTLP, copy the project ID from the project URL or use Command Menu to find the project ID shortcut. Do not substitute a project name in the X-Project-Id header.

Projects and environments

Use a project for your application or agent. Within that project, set the SDK’s environment option to distinguish development, staging, and production traces. Keep the project name the same across deployments and pass the environment when calling Tracer.init(). See the Python and TypeScript examples in Initialize tracing.

Distributed services

All services contributing spans to one distributed trace must export to the same Judgment organization and project. Distinguish services with resource attributes such as service.name, not with separate projects. See Trace conventions.

Use Distributed tracing to carry one live request between services.

Startup verification

At startup, log the selected project name or ID and deployment environment. Never log the API key. Then send one real trace and verify:

  1. The trace appears in the intended organization, project, and environment.
  2. The expected project was selected before the root span started.
  3. Every service in one distributed trace used the same project.
  4. Local and test traces carry their intended environment labels.

Initialization logs prove only what configuration the process attempted to use. The received trace in Judgment is the routing proof.

Was this page helpful?