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.
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
python -m pip install palo-spring palo --version
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'
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)curl https://api.mpalo.com/api/v1/memory/write \\
-H "Authorization: Bearer $PALO_API_KEY" \\
-H "Content-Type: application/json" \\
-H "Idempotency-Key: conversation-42-message-7" \\
-d '{"contract_version":"v1","operation":"memory.write","namespace":"conversation","event":{"event_id":"message_7","occurred_at":"2026-08-28T10:00:00Z","content":{"text":"The user changed the appointment to Monday afternoon."}}}'palo memory write "The user changed the appointment to Monday afternoon" \\ --namespace conversation \\ --idempotency-key conversation-42-message-7
Deterministic contract fixture output:
Next steps
Was this page helpful?
Your feedback helps us improve our documentation.