Skip to main content
Each agent has configurable conversation and message limits. Limits are scoped to the authenticated organization, agent, and stable subjectId, so one customer cannot consume another customer’s allowance. Both resources use 60-second windows. A request containing multiple session events consumes one message point per event. These per-subject limits are separate from the organization API key’s request ceiling. Newly created organization keys allow up to 1,000 authenticated API requests per minute across all endpoints. Existing keys retain the limit stored when they were created.

Configure limits when creating an agent

Set rateLimits in POST /v1/agents:
Both fields are optional. Omitted fields use their defaults.

Update limits

Rate limits are mutable operational policy. Updating them does not create a new agent version and applies to existing sessions.
At least one field is required. An omitted field keeps its current value. The response is the full updated agent object.

Subject identity

subjectId is your stable identifier for the person, team, organization, or workspace using an agent. Reuse the same value for the same subject across sessions. Do not generate a new subjectId to bypass limits. The same subjectId can have separate allowances on different agents. Subjects in different Herm organizations are also isolated.

Response headers

Rate-limited operations include these headers after checking an allowance: A rejected request also includes Retry-After with the number of seconds to wait before retrying.

Rate-limit errors

When an allowance is exhausted, the API returns 429 rate_limited:
Wait at least the number of seconds in Retry-After before retrying. Events rejected by the message limit are not persisted, queued, or executed. A session rejected by the conversation limit is not created. If the allowance cannot be verified, the API returns a retryable 503 server_error.
Last modified on July 23, 2026