# POST /v1/organizations/:orgId/resume (/docs/api/reference/organizations/resume-organization)



<Endpoint method="POST" path="/v1/organizations/:orgId/resume" auth="Bearer" scope="org:admin" phase="1" />

Lift a [suspension](/docs/api/reference/organizations/suspend-organization) and return a child org to `active`. The child's own keys start working again immediately and held work resumes.

<Callout type="info">
  Idempotent by state: resuming an already-active org is a no-op that returns its current state. You cannot resume an `archived` org (`409 CONFLICT`) — archival is terminal.
</Callout>

<Parameters
  title="Path"
  rows="[
  { name: 'orgId', type: 'string', required: true, description: 'The child org id (`org_`-prefixed or bare UUID).' },
]"
/>

## Example request [#example-request]

<Tabs items="['curl', 'TypeScript', 'Python']">
  <Tab value="curl">
    ```bash
    curl -X POST https://api.layers.com/v1/organizations/org_d4e5f6a7-8b9c-4d0e-9f2a-3b4c5d6e7f80/resume \
      -H "Authorization: Bearer $PARENT_KEY"
    ```
  </Tab>

  <Tab value="TypeScript">
    ```ts
    const org = await fetch(
      "https://api.layers.com/v1/organizations/org_d4e5f6a7-8b9c-4d0e-9f2a-3b4c5d6e7f80/resume",
      { method: "POST", headers: { "Authorization": `Bearer ${process.env.PARENT_KEY}` } },
    ).then((r) => r.json());
    ```
  </Tab>

  <Tab value="Python">
    ```python
    import os, requests

    org = requests.post(
        "https://api.layers.com/v1/organizations/org_d4e5f6a7-8b9c-4d0e-9f2a-3b4c5d6e7f80/resume",
        headers={"Authorization": f"Bearer {os.environ['PARENT_KEY']}"},
    ).json()
    ```
  </Tab>
</Tabs>

## Response [#response]

<Response status="200" description="OK">
  ```json
  {
    "id": "org_d4e5f6a7-8b9c-4d0e-9f2a-3b4c5d6e7f80",
    "parentOrganizationId": "org_2481fa5c-a404-44ed-a561-565392499abc",
    "name": "Acme Coffee",
    "status": "active",
    "metadata": { "externalId": "cust_12345", "plan": "growth" },
    "billingEmail": "ops@acme.example",
    "archivedAt": null,
    "createdAt": "2026-06-01T14:30:00.000000+00:00",
    "updatedAt": "2026-06-02T12:00:00.000000+00:00"
  }
  ```
</Response>

## Errors [#errors]

| Status | Code              | When                                                          |
| ------ | ----------------- | ------------------------------------------------------------- |
| 404    | `NOT_FOUND`       | No such org, or it isn't a direct child of your org.          |
| 422    | `VALIDATION`      | The `:orgId` is not a valid organization id (malformed UUID). |
| 409    | `CONFLICT`        | The org is `archived` — terminal and cannot be resumed.       |
| 401    | `UNAUTHENTICATED` | Missing or invalid key.                                       |
| 403    | `FORBIDDEN_SCOPE` | Key lacks `org:admin`.                                        |

## See also [#see-also]

* [`POST /v1/organizations/:orgId/suspend`](/docs/api/reference/organizations/suspend-organization) — the inverse.
* [Organizations concept](/docs/api/concepts/organizations) — the lifecycle diagram.
