Skip to main content
PATCH
/
v1
/
business
/
{business_id}
/
registered-agent
End registered agent service
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    status: 'termination_requested',
    reason: 'switching_providers',
    reason_detail: 'Moving RA service in-house effective end of quarter.'
  })
};

fetch('https://api.getpalm.com/v1/business/{business_id}/registered-agent', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "object": "registered_agent",
  "business_id": "987e6543-e21a-45b6-c789-012345678901",
  "provider": "palm",
  "status": "active",
  "jurisdiction": "CA",
  "started_at": "2026-05-29T10:30:00Z",
  "ended_at": null,
  "rejection_reason": "State refused resignation form: GA requires a successor RA designation"
}

Authorizations

Authorization
string
header
required

Enter your API key in the format: sk_test_xxxxx or sk_live_xxxxx

Path Parameters

business_id
string
required

Body

application/json
status
enum<string>
required

Target status — must be termination_requested. Acts as the discriminator on the PATCH body so future status transitions can land at the same path.

Available options:
termination_requested
Example:

"termination_requested"

reason
enum<string>
required

Why the partner is terminating Palm RA service. other uses reason_detail for the free-text explanation.

Available options:
switching_providers,
business_dissolved,
business_offboarding,
other
Example:

"switching_providers"

reason_detail
string | null

Optional free-text context on the termination. Required by convention when reason is other.

Maximum string length: 500
Example:

"Moving RA service in-house effective end of quarter."

Response

Termination requested

object
enum<string>
required

Object type identifier, always "registered_agent"

Available options:
registered_agent
Example:

"registered_agent"

business_id
string<uuid>
required

Business this RA-service state belongs to

Example:

"987e6543-e21a-45b6-c789-012345678901"

provider
enum<string> | null
required

Who provides RA service. palm when Palm provides service, external when the partner uses a different RA, null when no RA is tracked.

Available options:
palm,
external
Example:

"palm"

status
enum<string> | null
required

Lifecycle status of Palm-provided RA service. null when the partner uses an external RA or has never used Palm RA.

Available options:
active,
termination_requested,
terminated
Example:

"active"

jurisdiction
object
required

Jurisdiction (state) the RA service is for

Example:

"CA"

started_at
object
required

ISO 8601 timestamp when the current service window started

Example:

"2026-05-29T10:30:00Z"

ended_at
object
required

ISO 8601 timestamp when the most recent service window ended (null while active)

Example:

null

rejection_reason
object

Reason the most recent termination request was rejected by ops. Present only on the registered_agent.termination_failed webhook payload — null on every other event and on reads of the resource. After a rejection the business is back in active and the partner can re-submit a new termination request.

Example:

"State refused resignation form: GA requires a successor RA designation"