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.
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.