Skip to main content

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 from GET /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/kit and the query parameter application_id, agent_id or project.
  • 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 .env file 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.
note

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 actionWhat it doesAPI callRoles
Kit forChanges the type of subject and resets the subject list.GET /v1/applications or GET /v1/agentsRoles allowed to read applications or agents
Application, agent or projectLoads the kit of the chosen subject.GET /v1/developer/kittenant_admin, developer, application_owner
Copy button of a value lineCopies one value (URL, identifier, model list).NoneEveryone who sees the kit
Row menu > Open the pageOpens the portal page that fixes the row.NoneEveryone who sees the kit
Copy button of Environment fileCopies the whole .env text.NoneEveryone who sees the kit
Download .envDownloads the file <subject-name>.env.NoneEveryone who sees the kit
LanguageShows the snippet of the chosen SDK.NoneEveryone who sees the kit
Copy button of SDK snippetsCopies the snippet.NoneEveryone who sees the kit
Open the page (next step)Opens the page of the step (keys, evaluation, red team).NoneEveryone who sees the kit
Retry (error state)Reads the list or the kit again.Same call as the failed oneSame 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​

  1. 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.
  2. 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.
  3. Download the file. The application reads its settings from it. Open Environment file and click Download .env. Expected result: a file <name>.env is downloaded, with EAI_API_KEY= empty. If it fails: copy the text with the copy button instead.
  4. 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​

  1. 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.
  2. 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.
  3. 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​

SymptomCauseFix
Error forbidden (403) with required_rolesYour 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_ofThe kit was asked with zero or several subjects.Pick exactly one subject in the list.
Error not_found (404) on a projectThe 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 yetNothing 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 installedThe service behind the row is not installed on the platform.Install it with the Navin Manager, then reload the kit.
A row shows Not configuredThe service is installed but not configured for this subject.Follow the Action message of the row.