Skip to main content
POST
/
v1
/
case
Open a case
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    parent_id: 'fil_1a2b3c',
    summary: '<string>',
    details: '<string>',
    due_at: '2023-11-07T05:31:56Z'
  })
};

fetch('https://api.getpalm.com/v1/case', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "object": "case",
  "created_at": "2025-10-24T10:30:00Z",
  "updated_at": "2025-10-24T15:45:00Z",
  "metadata": {
    "external_id": "user_123_in_my_system",
    "customer_tier": "premium",
    "signup_source": "mobile_app"
  },
  "parent_id": "fil_1a2b3c",
  "summary": "Additional information needed to complete your filing.",
  "opened_at": "2023-11-07T05:31:56Z",
  "details": {},
  "request": {
    "fields": [
      {
        "name": "corrected_legal_name",
        "type": "string",
        "description": "Corrected legal name (state rejected \"Acme LLC\" — name already taken).",
        "required": true,
        "example": "Acme Holdings LLC"
      }
    ]
  },
  "response": {
    "fields": {}
  },
  "due_at": {},
  "resolved_at": {}
}

Authorizations

Authorization
string
header
required

Enter your API key in the format: sk_test_xxxxx or sk_live_xxxxx

Body

application/json
parent_type
enum<string>
required

Type of the parent resource this case attaches to.

Available options:
filing,
verification,
business,
session
parent_id
string
required

ID of the parent resource.

Example:

"fil_1a2b3c"

kind
enum<string>
required

Typed kind of case. Determines the shape of request and the eventual response.

Available options:
missing_information,
ra_termination
status
enum<string>
required

Initial status. needs_response surfaces the case to the partner immediately and fires case.opened. under_review keeps the case internal until a later PATCH flips it.

Available options:
needs_response,
under_review
summary
string
required

One-line partner-safe summary.

Maximum string length: 255
details
string

Markdown-formatted partner-safe details.

request
object

Typed request payload for the case kind. For missing_information: { fields: FieldSpec[] }.

due_at
string<date-time>

Optional due-by timestamp for the case.

Response

Case opened

id
string<uuid>
required

Unique identifier for the resource

Example:

"123e4567-e89b-12d3-a456-426614174000"

object
enum<string>
required

Object type

Available options:
case
Example:

"case"

created_at
string<date-time>
required

ISO 8601 timestamp of when the resource was created

Example:

"2025-10-24T10:30:00Z"

updated_at
string<date-time>
required

ISO 8601 timestamp of when the resource was last updated

Example:

"2025-10-24T15:45:00Z"

metadata
object
required

Store up to 50 custom key-value pairs for application-specific data. Useful for storing references to external systems, feature flags, or other custom attributes.

Example:
{
"external_id": "user_123_in_my_system",
"customer_tier": "premium",
"signup_source": "mobile_app"
}
parent_type
enum<string>
required

Type of the parent resource this case attaches to.

Available options:
filing,
verification,
business,
session
parent_id
string
required

ID of the parent resource (filing_id, verification_id, etc.).

Example:

"fil_1a2b3c"

kind
enum<string>
required

Typed kind of case. Each kind has its own request/response payload shape — see the request/response fields.

Available options:
missing_information,
ra_termination
status
enum<string>
required

Lifecycle status. needs_response means the partner must act; under_review means Palm is working on it. Both are open states. resolved and superseded are terminal.

Available options:
needs_response,
under_review,
resolved,
superseded
summary
string
required

One-line partner-safe summary of the case.

Example:

"Additional information needed to complete your filing."

opened_at
string<date-time>
required

Timestamp the case was opened.

details
object

Markdown-formatted partner-safe details about the case.

request
object

Typed request payload — what Palm is asking for. Shape varies by kind.

response
object

Typed response payload — what the partner submitted. Present once the partner has responded. Shape varies by kind.

due_at
object

Timestamp by which the case is expected to be resolved.

resolved_at
object

Timestamp the case was resolved or superseded.

resolution_reason
enum<string>

Why the case left an open state. Set when status is resolved or superseded.

Available options:
response_received,
no_response_needed,
parent_canceled,
parent_completed,
parent_failed