Skip to main content
The projects module lists Phoenix projects, assigns existing trace retention policies to them, and manages which annotation configs they use.

Relevant Source Files

  • src/projects/getProjects.ts
  • src/projects/setProjectRetentionPolicy.ts
  • src/projects/listProjectAnnotationConfigs.ts
  • src/projects/assignProjectAnnotationConfig.ts
  • src/projects/unassignProjectAnnotationConfig.ts
  • src/projects/setProjectAnnotationConfigs.ts
  • src/types/projects.ts
  • src/types/annotationConfigs.ts

List Projects

getProjects handles cursor pagination automatically. Use nameContains for a case-insensitive, server-side substring filter.

Assign A Retention Policy

setProjectRetentionPolicy accepts a project name or project GlobalID and the GlobalID of an existing trace retention policy.
You can select the project with projectName, projectId, or the shorthand project. projectId must be the project’s GlobalID. This helper only changes which existing retention policy the project uses. It does not create, read, update, or delete retention policies; policy CRUD is outside the TypeScript client’s projects helper.

Reset To The Default Policy

Pass null as policyId to remove the explicit assignment and return the project to Phoenix’s default retention policy.
Assigning or resetting a retention policy requires an admin when authentication is enabled. Invalid policy GlobalIDs produce a 422 response, while callers without permission receive 403; both are surfaced as HttpError instances by the client.

Assign Annotation Configs

Annotation configs define the annotations that can be recorded on a project’s traces, spans, and sessions. These helpers change which existing configs a project uses. They don’t create, update, or delete the configs themselves. All four require Phoenix server 17.16.0 or later.
Select the config with exactly one of configName, configId, or the shorthand config, which accepts either. Use configId if a config name contains /, because the server can’t route it in the URL path. setProjectAnnotationConfigs takes config GlobalIDs only, because the server doesn’t accept names for this operation. Unknown or invalid config IDs produce a 422 response, and a missing project produces a 404. The single-config helpers return a 404 when the project or the config is missing. The client surfaces all of these as HttpError instances.

Source Map

  • src/projects/getProjects.ts
  • src/projects/setProjectRetentionPolicy.ts
  • src/projects/listProjectAnnotationConfigs.ts
  • src/projects/assignProjectAnnotationConfig.ts
  • src/projects/unassignProjectAnnotationConfig.ts
  • src/projects/setProjectAnnotationConfigs.ts
  • src/projects/index.ts
  • src/types/projects.ts
  • src/types/annotationConfigs.ts