February 5, 2025

Query tools by name

The List Tools API now supports querying by tool name.

1send_message_tool_id = client.agents.tools.list(tool_name="secret_message")[0].id

Authorization header now supports password

For self-deployed instances of Letta that are password-protected, the Authorization header now supports parsing passwords in addition to API keys. X-BARE-PASSWORD will still be supported as legacy, but will be deprecated in a future release.

Before:

1curl --request POST \
2 --url https://MYSERVER.up.railway.app/v1/agents/ \
3 --header 'X-BARE-PASSWORD: password banana' \
4 --header 'Content-Type: application/json' \
5 --data '{
6 ...
7 }'

After:

1curl --request POST \
2 --url https://MYSERVER.up.railway.app/v1/agents/ \
3 --header 'AUTHORIZATION: Bearer banana' \
4 --header 'Content-Type: application/json' \
5 --data '{
6 ...
7 }'

Password can now be passed via the token field when initializing the Letta client:

1client = LettaClient(
2 base_url="https://MYSERVER.up.railway.app",
3 token="banana",
4)