---
title: "Reactivate a creator you deactivated"
method: POST
path: "/api/v1/solo-accounts/{accountId}/reactivate"
tags: ["Solo Accounts"]
---

# Reactivate a creator you deactivated

`POST /api/v1/solo-accounts/{accountId}/reactivate`

## Request

- Base URL: `https://easy2257.com`
- URL: `https://easy2257.com/api/v1/solo-accounts/{accountId}/reactivate`
- Auth: HTTP bearer

Brings back a creator you deactivated. No new verification and no second onboarding trip: they return on the record Easy2257 already holds, and they are on your next invoice again from this moment. If their ID verification is on file the account is `active` at once and `solo_account.verified` fires again, exactly as after a lapse. If they never finished verification the account returns at `subscribed_pending_id`, and `GET /api/v1/solo-accounts/{accountId}` has their continue URL. Idempotent: reactivating an active creator returns `200` with `{ "reactivated": false }`. Clears only a `partner_deactivated` suspension. A lapse clears when the fee is paid; an Easy2257 suspension clears when Easy2257 lifts it.

## Path parameters

- `accountId` string, required

## Response `200`

Reactivated, or already active.

- ReactivateSoloAccountResponse
  - `reactivated` boolean, required: true if this call cleared your deactivation. false if the creator was already active, which is a successful no-op, not an error.
  - `accountId` string, required
  - `externalUserId` string, required
  - `status` 'active' | 'subscribed_pending_id', required: `active`: back in custody, and `solo_account.verified` fires again. `subscribed_pending_id`: your deactivation is cleared but the creator never finished ID verification. `GET /api/v1/solo-accounts/{accountId}` returns their continue URL, and they become `active` when their verification is approved.
  - `verifiedAt` string, date-time: Present when `status` is `active`. The original verification date: no new verification was run.

## Other responses

- `400`: Invalid request: a required field is missing or malformed.
- `401`: No `Authorization: Bearer` header, or a key that is unknown, revoked, or expired. The body carries only `error`, never a `code`.
- `403`: Rejected before the handler: a test-mode key (`TEST_MODE_UNAVAILABLE`) or a partner account that is not ACTIVE. Never used for cross-partner access, which returns 404.
- `404`: No such account, or it belongs to another partner. The two cases are indistinguishable on purpose, so the API cannot be used to enumerate accounts.
- `409`: Nothing changed. Four codes: `NOT_DEACTIVATED`: the creator is not suspended (`status` carries their current value). `SUSPENDED_FOR_OTHER_REASON`: suspended for a reason your platform does not control (`suspendReason` says which). `PLATFORM_NOT_FUNDING`: your platform is no longer on an active platform-funded agreement, so nobody would be paying for the restored creator; contact Easy2257. `CREATOR_PAYS_OWN_SUBSCRIPTION`: the creator has since taken over payment themselves; contact Easy2257.
- `429`: Rate limit exceeded: 300 requests per 60 seconds per API key, shared across all `/api/v1` endpoints (requests without a `Bearer` key fall back to 60 per 60 seconds per client IP, and a per-address flood ceiling of 1200 per 60 seconds also applies). Honor `Retry-After`.
- `500`: Server error. Retry with exponential backoff.

---

[API](https://skmtc.dev/easy2257/apis/easy2257-partner-api.md) · [All operations](https://skmtc.dev/easy2257/apis/easy2257-partner-api/llms.txt) · [OpenAPI document](https://skmtc.dev/easy2257/apis/easy2257-partner-api/revisions/f880026c1f04?raw)
