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.

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