Developer kit
The Developer kit screen lets you see, for one application, one agent or one project, every resource the platform gives it (LLM gateway, identity, policies, data protection, traces, tools, documents, SDK and tests), download its environment file and copy SDK snippets ready to run. Portal path: /developer/kit. It is used by developers, application owners and tenant administrators who wire an application to the Navin Platform.
What the screen shows
- Kit for: choose An application, An agent or A project. Applications come from
GET /v1/applications, agents fromGET /v1/agents(first 200), projects are the distinct projects of the applications. - Application, agent or project: the subject of the kit. The kit itself is read with
GET /v1/developer/kitand the query parameterapplication_id,agent_idorproject. - A badge {ready} of {total} ready: green when every resource is ready, amber otherwise.
- Four tabs (the selected tab is kept in the address):
- What you get (with the number of rows): a table with the columns Resource, Provided by, Value, State, Action and a row menu. The nine rows are LLM gateway, key and allowed models, User identity and session, Permissions and policies, Data protection, AI traceability, Allowed business tools, Controlled document access, SDK, user context and rules, Quality and security tests. Each value line has its own copy button. State is Ready, Not configured or Service not installed. Action is the message of the Control Plane telling what fixes the row.
- Environment file: the
.envfile of the subject in a read only editor (gateway, OIDC, DLP, MCP gateway, OTLP and Opik). A secret entry stays empty with a comment: the kit never carries a secret. - SDK snippets: a Language list (Python, TypeScript, Go, Java) and a read only snippet that redacts the user text with the DLP, then calls a chat completion through the gateway with the agent, the purpose and the classification of the subject.
- Next steps (with the number of steps): create a project key and put it in
EAI_API_KEY, run the quality suites, run a red team before production.
The API key entry of the env file is always empty. The key is created on the LiteLLM keys page and shown once there.
Actions
| Button or action | What it does | API call | Roles |
|---|---|---|---|
| Kit for | Changes the type of subject and resets the subject list. | GET /v1/applications or GET /v1/agents | Roles allowed to read applications or agents |
| Application, agent or project | Loads the kit of the chosen subject. | GET /v1/developer/kit | tenant_admin, developer, application_owner |
| Copy button of a value line | Copies one value (URL, identifier, model list). | None | Everyone who sees the kit |
| Row menu > Open the page | Opens the portal page that fixes the row. | None | Everyone who sees the kit |
| Copy button of Environment file | Copies the whole .env text. | None | Everyone who sees the kit |
| Download .env | Downloads the file <subject-name>.env. | None | Everyone who sees the kit |
| Language | Shows the snippet of the chosen SDK. | None | Everyone who sees the kit |
| Copy button of SDK snippets | Copies the snippet. | None | Everyone who sees the kit |
| Open the page (next step) | Opens the page of the step (keys, evaluation, red team). | None | Everyone who sees the kit |
| Retry (error state) | Reads the list or the kit again. | Same call as the failed one | Same roles |
Roles
The Control Plane builds the kit only for the roles tenant_admin, developer and application_owner (KIT_ROLES in services/control-plane/src/eai/domains/developer/__init__.py); platform_admin passes every role check. The portal itself asks no role on this screen: any other user sees the error returned by the API. The kit never shows a secret, so it can be shared inside the team.
Typical tasks
Get the env file of an application
- Choose the subject. The kit is computed per application. In Kit for, choose An application, then pick it in Application, agent or project. Expected result: the badge shows the number of ready resources. If it fails: the list is empty when no application is registered; register one on the Applications page.
- Check the resources. A row that is not ready gives a wrong value in the env file. Open What you get and read the State column. Expected result: every row is Ready. If it fails: use the row menu Open the page and follow the Action message.
- Download the file. The application reads its settings from it. Open Environment file and click Download .env. Expected result: a file
<name>.envis downloaded, withEAI_API_KEY=empty. If it fails: copy the text with the copy button instead. - Add the key. The kit never holds a secret. Create a project key on the LiteLLM keys page and paste it after
EAI_API_KEY=. Expected result: the application authenticates to the gateway. If it fails: check that the key belongs to the project of the application.
Copy a snippet for an agent
- Select the agent. The snippet takes the agent name and the first allowed model. In Kit for, choose An agent, then the agent. Expected result: the kit of the agent loads. If it fails: an empty list means no agent is registered yet.
- Pick the language. Open SDK snippets and choose Python, TypeScript, Go or Java in Language. Expected result: the snippet shows the install line and the DLP plus gateway calls. If it fails: when the model reads
your-model, the LLM row has no allowed model; fix it from What you get. - Run it. Copy the snippet and run it with the env file loaded. Expected result: the answer of the model is printed. If it fails: read the Troubleshooting table below.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Error forbidden (403) with required_roles | Your roles are not tenant_admin, developer or application_owner. | Ask a tenant administrator for one of these roles. |
Error invalid_request (400) with expected_one_of | The kit was asked with zero or several subjects. | Pick exactly one subject in the list. |
Error not_found (404) on a project | The project of the kit does not exist any more. | Choose another project or create it on the Projects page. |
| No application yet or No agent yet | Nothing is registered for this type. | Register an application on the Applications page or an agent in the Registry, then come back. |
| A row shows Service not installed | The service behind the row is not installed on the platform. | Install it with the Navin Manager, then reload the kit. |
| A row shows Not configured | The service is installed but not configured for this subject. | Follow the Action message of the row. |