# Choose an interface

Source: https://convergingthought.com/docs/getting-started/interfaces

> Use the console for inspection, HTTP for integration, and the tool boundary for agent memory.



All interfaces describe the same objects: projects, subjects, jobs, and adapter versions. Choose the interface that fits the caller; keep job IDs and subject IDs stable when moving between them.

## Console [#console]

The [console](/internalize/app) is the place to create API keys, inspect requests, review adapters, use the playground, and manage project spending. It authenticates with your session, so you do not paste a project key into the playground.

Use it to understand a response or investigate a specific job. A request sent through the API appears in the same project history as a playground request. The console does not create a second set of adapters or a separate billing balance.

## HTTP API [#http-api]

The public API is the portable integration surface. It accepts JSON over HTTPS and returns asynchronous jobs for inference and internalization. You can use any server-side HTTP client capable of setting bearer and idempotency headers.

Choose HTTP when you need a language not covered by the workspace SDK, want to generate a client from [OpenAPI](/openapi.json), or prefer to own transport behavior. Read [API conventions](/docs/api-reference/conventions) before implementing retries or pagination.

`/v1/chat/completions` provides OpenAI-compatible text, function calls, and buffered SSE. Existing frameworks can connect with a base URL, key, and model ID. Native `/v1/inferences` and `/v1/internalizations` return immediate durable job receipts. See [Integrations](/docs/integrations) for setup and compatibility limits.

## TypeScript client [#typescript-client]

The repository includes a private workspace package, `@internalize/sdk`. It provides typed submission, job reads, explicit activation, and a polling helper. It does not automatically retry writes. The package is not currently published to a public registry, so an external application should use HTTP or code shared through an authorized repository checkout.

See [TypeScript](/docs/sdk-reference/typescript) for the exact constructor and method signatures. Do not add `/v1` to the client's `baseUrl`; it accepts the platform origin and supplies endpoint paths.

## Python [#python]

There is no public Python SDK at present. The [Python guide](/docs/sdk-reference/python) uses the standard library to demonstrate submission, error handling, and polling without inventing an installable package. The private inference worker is an implementation detail, not a client SDK or a customer endpoint.

## Agent tool [#agent-tool]

An agent can request `internalize` through a tool handler in your application. The handler authorizes the subject, submits the learning job, waits or schedules a later read, and reports the actual validation and activation result. The model does not hold your API key.

There is no hosted MCP server in the current release. Framework-specific tool registration stays in your application. Start with the [agent integration guide](/docs/integrations/agents) for a tool schema and a reliable execution loop.
