How it works
- Provision the service. Opt in during formation, or request a change on an existing business. Palm designates a registered agent in the business’s state.
- Track the service. Query the current registered agent status, agent of record, and service window for any business.
- Receive forwarded mail. When the state sends correspondence, Palm attaches a digital copy to the business and fires a webhook.
- Manage changes. Request a change on the registered agent resource to move a business onto or off Palm.
- End the service. Request termination when a business switches providers, dissolves, or is offboarded.
Provision the service
At formation
When you form a business, omit theregistered_agent block from the request. Palm designates a registered agent in the formation state and activates the service when the filing completes.
Bash
JSON
registered_agent block, Palm uses that agent on the filing and does not provide the service. See formation add-ons for details.
For an existing business
For a business that already exists, including one not formed through Palm, request a registered agent change and omit theregistered_agent block. Palm provisions the service when the change completes.
Track the service
Retrieve the current registered agent status for a business:Bash
JSON
Status lifecycle
The endpoint returns 404 when Palm has never been the registered agent for the business. After service ends, it returns 200 with
status: terminated, so you can distinguish “never the agent” from “service ended.”
Receive forwarded mail
When the state sends correspondence for a business where Palm is the agent, Palm attaches a digital copy to the business and fires adocument.created webhook.
Route on the document type to identify registered agent mail:
notice— legal and government notices, including service of process and state compliance mail.mail— general forwarded correspondence.
JSON
Bash
Content-Disposition: attachment header. Palm forwards mail for as long as it is the agent of record, including during the termination_requested window.
File a change
Change the registered agent on record for an existing business. Use this to move a business onto Palm or off Palm. The change is expressed on the registered agent resource — not as a filing.Bash
JSON
- Pass
registered_agentto move the business off Palm to the agent you specify. - Omit
registered_agentto move the business onto Palm.
formation_jurisdiction (the change is filed in that state). The registered agent moves to pending while the change is in flight; where a state requires a real change filing, Palm handles it behind the scenes and abstracts it away. When the change completes:
- Switching to Palm fires
registered_agent.activated. Status becomesactive. - Switching away from Palm fires
registered_agent.changed. Status becomesterminated. - If the change cannot be completed (e.g. the destination agent did not confirm consent),
registered_agent.change_failedfires, status reverts toactive— Palm remains the agent — andrejection_reasonexplains why. You can re-submit once resolved.
End the service
When a business switches providers, dissolves, or is offboarded, and you are not filing a registered agent change, request termination directly.Bash
JSON
The request returns 409 when the service is not currently
active.
On success, Palm fires registered_agent.termination_requested and continues forwarding mail until the work completes. The lifecycle resolves one of two ways:
- Completed. Status becomes
terminated,ended_atis stamped, andregistered_agent.terminatedfires. - Failed. The state refused the resignation or a successor agent is required. Status reverts to
active,registered_agent.termination_failedfires with arejection_reason, and you can submit a new request once the blocker is resolved.
Webhooks
See Webhooks for delivery, retries, and signature verification.

