How it works
- Provision the service. Opt in during formation or file a change for 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. File a registered agent change to move a business onto or off Palm. The change follows the standard filing lifecycle.
- 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, file a registered agent change and omit theregistered_agent block. Palm provisions the service when the change filing completes.
Track the service
Retrieve the current registered agent status for a business:Bash
JSON
| Field | Description |
|---|---|
provider | palm when Palm provides the service, external when the business uses a different agent, null when no agent is tracked. |
status | active, termination_requested, or terminated. null when the business uses an external agent. |
jurisdiction | The state the service covers. |
started_at / ended_at | When the current service window opened and closed. ended_at is null while active. |
name / address | The agent of record: the legal name and address on the state filing. This is the provider entity, not “Palm,” and it differs by state. Read these fields per business and display them to your customer. |
Status lifecycle
| Status | Meaning |
|---|---|
active | Palm is the registered agent on record. Mail forwarding is active. |
termination_requested | You requested termination. Palm remains on record and continues forwarding mail until the request completes. |
terminated | Service has ended. |
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
File a state change to the registered agent on record for an existing business. Use this to move a business onto Palm or off Palm.Bash
JSON
- Pass
registered_agentto move the business off Palm to the agent you specify. - Omit
registered_agentto move the business onto Palm.
queued status and moves through the standard lifecycle (ready_to_file, processing, filed, completed), with a filing.* webhook at each step.
When the filing reaches completed:
- Switching to Palm fires
registered_agent.activated. Status becomesactive. - Switching away from Palm fires
registered_agent.changed. Status becomesterminated.
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
| Field | Description |
|---|---|
status | Must be termination_requested. |
reason | One of switching_providers, business_dissolved, business_offboarding, other. |
reason_detail | Free-text context, up to 500 characters. Required when reason is other. |
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
| Event | Fires when |
|---|---|
registered_agent.activated | Palm becomes the agent, from a formation or a completed change filing. |
registered_agent.changed | A change filing completes and Palm is no longer the agent. |
registered_agent.termination_requested | You submit a termination request. Mail forwarding continues. |
registered_agent.terminated | Termination completes. Palm is no longer the agent on record. |
registered_agent.termination_failed | Termination could not complete. rejection_reason carries the explanation. Status reverts to active. |
document.created | Palm attaches a forwarded document to the business. Route on document type (notice or mail). |

