Skip to content

Start here

Build your first Palo integration

The Palo API gives an application a memory boundary. Your application supplies the text, identity, namespace, and external model workflow. The API returns a versioned memory result, provenance, usage, and an explicit state.

Use the SDK
Typed request and response handling for application code.
Use the CLI
Interactive operations, diagnostics, exports, and agent-friendly JSON.
Use HTTP
Direct integration against the stable v1 contract.
Partly available.

The memory routes are available on the reference runtime, which stores text and ranks recall by word overlap without running a model. The infrastructure routes are part of contract v1 but are not served yet, so calls to them return an error. The HTTP reference shows each route's status and is updated as routes ship.

1. Install a client

Choose the interface that matches the job. The Python package and the Palo CLI share the same API boundary, credentials, idempotency rules, and response states.

python -m pip install mpalo-sdk

2. Authenticate without exposing secrets

Create an API key in the Mind Platform and store it in your process environment or a secret manager. The CLI also supports a browser session for control-plane actions. A session is not a substitute for an API key on metered memory operations.

export PALO_API_KEY='mpalo_...'
export PALO_BASE_URL='https://api.mpalo.com'
Never put a live key in source control, issue text, screenshots, URLs, or browser-side JavaScript.

If a key is exposed, revoke it and create a replacement. The full secret is shown only at creation time.

For a local CLI session, run palo auth login. A browser callback saves a session credential in the local keyring or Palo credential file. Run palo auth to inspect the local credential state.

3. Make a first request

Memory writes require an active memory storage connection attached to the credential. The current v1 contract accepts a text event, namespace, timestamp, and idempotency key. The result tells you whether the event was retained.

from palo import Palo

client = Palo(api_key="your-api-key")
result = client.memory.write(
    "The user changed the appointment to Monday afternoon.",
    namespace="conversation",
    idempotency_key="conversation-42-message-7",
)
print(result.state, result.decision)

Next steps