---
title: "Change the organization's profile: its name, kind and contact details (`organization.manage`, an owner by default) and the billing contact (`billing.manage`); a request with both needs both. Only the fields given change; null clears one. An API key gets 403"
method: PATCH
path: "/v1/organization"
---

# Change the organization's profile: its name, kind and contact details (\`organization.manage\`, an owner by default) and the billing contact (\`billing.manage\`); a request with both needs both. Only the fields given change; null clears one. An API key gets 403

`PATCH /v1/organization`

## Request

- Base URL: `https://api.evictionsapi.com`
- URL: `https://api.evictionsapi.com/v1/organization`
- Auth: HTTP bearer

## Request body

- object
  - `name` string
  - `kind` 'owner' | 'property_manager' | 'both', nullable
  - `contactEmail` string, email, nullable
  - `contactPhone` string, nullable
  - `contactAddress` string, nullable
  - `billingEmail` string, email, nullable

## Response `200`

The organization after the change.

- object: An API key gets `id`, `name`, `kind` and `members` (ids, names and roles); a signed-in session also gets `verified` and the contact details.
  - `id` string, required
  - `name` string, required
  - `verified` boolean
  - `kind` unknown, required
  - `contactEmail` string, nullable: The company's own contact address.
  - `contactPhone` string, nullable
  - `contactAddress` string, nullable
  - `billingEmail` string, nullable: The billing contact: it also gets the payment, refund and receipt emails of live cases, and the online checkout of a live charge uses it as the payer's email when it can (without one, the payer types their own). Null when there is none.
  - `members` object[], required: The active members, oldest first.
    - `id` string, required: The person's user id: how a case names its complaint signer, and the `userId` of the member routes.
    - `membershipId` string
    - `name` string, nullable, required
    - `email` string
    - `role` 'owner' | 'member' | 'viewer' | 'custom', required: The person's role in the organization.
    - `permissions` string[]: What the person may change in the organization: the preset of their role, or the list of a `custom` role.
    - `caseEmails` 'all' | 'mine' | 'none': Which of the organization's case emails the person gets. On the caller's own row only.
    - `joinedAt` string, date-time
    - `lastLoginAt` string, date-time, nullable: The person's last sign-in. Only to people who manage people.
    - `you` boolean: Whether this is the caller.
    - `disabled` boolean: Whether the platform disabled the account: a disabled person performs nothing.

## Other responses

- `400`: The request is invalid.
- `401`: The credential is missing or invalid.
- `403`: `permission_denied`: an API key, or the person lacks `organization.manage` (name, kind, contact details) or `billing.manage` (the billing contact).
- `404`: Not found.
- `409`: The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.
- `422`: The case did not pass a check.

---

[API](https://skmtc.dev/evictionsapi/apis/evictions-api.md) · [All operations](https://skmtc.dev/evictionsapi/apis/evictions-api/llms.txt) · [OpenAPI document](https://skmtc.dev/evictionsapi/apis/evictions-api/revisions/28459213a1a3?raw)
