Maintenance in progress โ€” Please try again later.

๐Ÿ•Š๏ธ

HATO API

The Pigeon Post Office

Directory

Directory stores reusable regional values for your Letterflows. Values, credentials and private keys are encrypted in the selected region.

Create and reference a variable

Create and edit Directory variables from the dashboard. Each variable has its own form; choose its region when creating it.

Open Directory, choose a region, and save a named variable. Names begin with a letter and contain letters, digits and underscores, up to 60 characters. Region codes are reserved; names are unique within your account and region.

{{ dir.base_url }}
{{ dir.au.base_url }}
{{ dir["us"].base_url }}

Set your default region on the Settings page. Unqualified references use that region. Explicit regions must be available on your plan. Tinkerer requires every dependency, including shared-header dependencies, to be in the Coordinator region.

Variable types

  • Text and secret text store literal text. Secret text uses a concealed editor field.
  • JSON and XML accept document text. Whole references preserve that text; property and index paths traverse the parsed document. Structured subvalues render as JSON.
  • XML paths include the root element. Repeated children become lists; attributes use @name and mixed text uses #text. Namespace keys use brackets. DTDs, entities and external references are rejected.
  • Basic authentication stores an ID and password. Use .id or .password, or a whole variable in Directory basic authentication. HTTP receives Basic Authorization; FTP and SFTP receive both fields.
  • Private keys can be uploaded or generated as Ed25519, with an optional passphrase. Use .key and .passphrase, or a whole variable in Directory private key (SFTP). Copy the generated public key to your server.
  • HTTP headers use text or field editing. Header values may reference other Directory variables; Letterflow step references and dependency cycles are rejected.

Expand expressions in JSON/XML values. Directory templates can reference only Directory variables. Inserted values are escaped and never interpreted again. Document template

Shared headers

Use a Headers variable or a JSON object of text values in the Letter component's Directory headers input. Local headers override shared names without regard to case. Choose Headers when its values need further Directory interpolation; JSON values remain literal data.

{{ dir.common_headers }}
Authorization: Bearer {{ dir.api_token }}

Captured revisions and limits

Submission captures your default region and every required immutable variable revision before queuing. Later edits cannot change those inputs. Each scheduled occurrence captures fresh revisions. Deleting a required variable cancels affected waiting runs; admitted runs keep their snapshots.

Directory limits apply across all regions: 5 variables on Tinkerer, 30 on Aspiring and 100 on Coder. Text, secret, JSON and XML values allow 64 KiB, 256 KiB and 1 MiB respectively. Headers allow 64 KiB; basic-auth fields and passphrases 4 KiB each; private keys 256 KiB. Runtime request and memory limits still apply after expansion.

The editor checks sizes, JSON/XML syntax and nesting, and headers before upload. Errors preserve your draft. Server validation remains authoritative. Only Headers expand Directory references; text, JSON and XML remain literal.

Integration access

Paid integration keys may explicitly select directory:read to list variables and obtain regional value URLs, including secrets. This permission is never automatic. Directory changes remain dashboard-only.