Requires version 2.0.0 or later of the Archetype platform.
/api/projects, alongside the Agents API.
What Projects Are
A project groups, within an organization, the blueprints for one agent effort and everything derived from them. Each project has aprj_ id, a name, and an optional description.
- Blueprints live in a project when you register them there with
project_idin Create Blueprint, or when you copy one in with Copy Blueprint. A blueprint’s project is fixed when it is created. To reuse a blueprint in another project, copy it. - Evals, optimizations, and packages made from a blueprint in a project are in that project.
You don’t pass a
project_idwhen you create them. A blueprint promoted from an optimization trial lands in the run’s project too. - Agent runs of a package in a project are in that project.
project_id field, which is null outside any project. Their
list endpoints take a project_id filter: a project’s prj_ id lists that project’s resources
only, and none lists the resources outside any project. Without the filter, a list holds the
resources outside projects plus those of every project you can see.
Who Can See a Project
- A project is visible to the user who created it and to the organization’s admins.
- A project created with a service-account API key is visible to every service-account key of the organization instead of a single user.
- Users with the
viewerrole have read-only access: they can’t create, change, or delete projects or what they hold.
404 response, as if it did not exist. A project you can see but not modify answers 403 when
you try to change it or what it holds.
Who Owns a Project’s Jobs and Files
The jobs and output files of an eval, optimization, or agent run in a project belong to the project’s creator, whoever starts the run. This way, the creator can always read the outputs. In a project created with a service-account API key, they belong to no user.created_by on the
run still records who started it.
For the same reason, a run in a project may only read input files that the project’s creator can
see. Any other input file returns 400 when the run is created.
Deleting a Project
Only an empty project can be deleted. Delete the blueprints, evals, optimizations, packages, and runs it holds first; until then, Delete Project returns409.