You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs). info

Monetization provides a set of APIs that you can use to unsuspend a developer that was
previously suspended, as described in the following sections. A developer might be suspended if a
configured limit is reached. For example, the number of transactions has reached its maximum
limit or a prepaid account balance has been depleted. For a complete list of reason codes, see
[Summary of reason codes for suspended developers](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#suspend-reason-codes).

## Viewing all suspended developers using the API

View all suspended developers for an organization by issuing a GET request to the following
resource: `/organizations/{org_name}/suspended-developers`.

Where:

- `{org_name}` specifies the name of the organization.

For example, the following cURL call lists all suspended developers for
`myorg`:

```
curl -H "Content-Type: application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/suspended-developers" \
-u email:password
```

The following provides an example response:

> [!IMPORTANT]
> **Tip:** Note the `devId` and `prodId` values. You will need these values to unsuspend the associated developer, as described later.

```
[
  {
    "creationDate": 1464388723633,
    "devId": "myorg@@@6Vro7VnjUhpGVn3p",
    "id": "myorg-myorg@@@6Vro7VnjUhpGVn3p-myorg@@@myproduct-null-RATE_PLAN_RATE_BAND_EXCEEDED",
    "message": "mint.productHasBeenSuspended for myorg@@@6Vro7VnjUhpGVn3p myorg@@@myproduct due to RATE_PLAN_RATE_BAND_EXCEEDED",
    "orgId": "myorg",
    "prodId": "myorg@@@myproduct",
    "reasonCode": "RATE_PLAN_RATE_BAND_EXCEEDED"
  },
  {
    "creationDate": 1464022846293,
    "devId": "myorg@@@vXh7LXxtUy9COVdy",
    "id": "myorg-myorg@@@vXh7LXxtUy9COVdy-myorg@@@myproduct-null-NO_CURRENT_PUBLISHABLE_ENTITY",
    "message": "mint.productHasBeenSuspended for myorg@@@vXh7LXxtUy9COVdy myorg@@@myproduct due to mint.noCurrentPublishableEntity",
    "orgId": "myorg",
    "prodId": "myorg@@@myproduct",
    "reasonCode": "NO_CURRENT_PUBLISHABLE_ENTITY"
  }
]
```

> [!NOTE]
> **Note:** For a complete list of reason codes, see [Summary of reason codes for suspended developers.](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#suspend-reason-codes)

## Viewing a suspended developer using the API

View a suspended developer for an organization by issuing a GET request to the following
resource:
`/organizations/{org_name}/suspended-developers/{developer_email_or_id}`.

Where:

- `{org_name}` specifies the name of the organization.
- `{developer_email_or_id}` specifies the ID of the developer. To view a list of developers, see [List
  Developers](https://docs.apigee.com/management/apis/get/organizations/%7Borg_name%7D/developers).

For example, the following cURL call lists details for the suspended developer
`joe@example.com`:

```
curl -H "Content-Type: application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/suspended-developers/joe@example.com" \
-u email:password
```

The following provides an example response:

> [!IMPORTANT]
> **Tip:** Note the `devId` and `prodId` values. You will need these values to unsuspend the associated developer, as described later.

```
[
  {
    "creationDate": 1464388723633,
    "devId": "myorg@@@6Vro7VnjUhpGVn3p",
    "id": "myorg-myorg@@@6Vro7VnjUhpGVn3p-myorg@@@myproduct-null-RATE_PLAN_RATE_BAND_EXCEEDED",
    "message": "mint.productHasBeenSuspended for myorg@@@6Vro7VnjUhpGVn3p myorg@@@myproduct due to RATE_PLAN_RATE_BAND_EXCEEDED",
    "orgId": "myorg",
    "prodId": "myorg@@@myproduct",
    "reasonCode": "RATE_PLAN_RATE_BAND_EXCEEDED"
  }
]
```

> [!NOTE]
> **Note:** For a complete list of reason codes, see [Summary of reason codes for suspended developers.](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#suspend-reason-codes)

## Unsuspending all developers for an API product using the API

Unsuspend all developers that have been suspended for an API product by issuing a POST request
to the following resource:
`/organizations/{org_name}/suspended-developers/unsuspend-by-product/{suspendedProduct_id}`.

Where:

- `{org_name}` specifies the name of the organization.
- `{suspendedProduct_id}` specifies the ID of the API product, using a format similar to the following: `{org_id}@@@{product_id}`. This value is returned as `prodId` when you view all or specific suspended developers, as described in [Viewing all suspended developers using the API](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#viewall-suspended) and [Viewing a suspended developer using the API](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#view-suspended).

For example, the following cURL call unsuspends all developers for the API product
`myorg@@@myproduct`:

```
curl -H "Content-Type: application/json" -X POST \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/suspended-developers/unsuspend-by-product/myorg@@@myproduct" \
-u email:password
```

## Unsuspending a developer using the API

Unsuspend a specific developer that has been suspended by issuing a DELETE request to the
following resource: /organizations/{org_name}/suspended-developers/{suspendedDev_id}.

Where:

- `{org_name}` specifies the name of the organization.
- `{suspendedDev_id}` specifies the ID of the suspended developer, using a format similar to the following: `{org_id}@@@{dev_id}`. This value is returned as `devId` when you view all or specific suspended developers, as described in [Viewing all suspended developers using the API](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#viewall-suspended) and [Viewing a suspended developer using the API](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#view-suspended).

Optionally, you can pass the following query parameter:

| Query Parameter | Description |
|---|---|
| `suspendedProduct_id` | ID of the API product, using a format similar to the following: `{org_id}@@@{product_id}`. This value is returned as `prodId` when you view all or specific suspended developers, as described in [Viewing all suspended developers using the API](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#viewall-suspended) and [Viewing a suspended developer using the API](https://docs.apigee.com/api-platform/monetization/unsuspend-developers#view-suspended).. |

For example, the following cURL call unsuspends the developer with ID
`myorg@@@6Vro7VnjUhpGVn3p` for the API product `myorg@@@myproduct`:

```
curl -H "Content-Type: application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/suspended-developers/myorg@@@6Vro7VnjUhpGVn3p?productId=myorg@@@myproduct" \
-u email:password
```

## Summary of reason codes for suspended developers

The following table summarizes the reason codes that indicate why a developer has been
suspended.

| Reason code | Description |
|:---|:---|
| `INSUFFICIENT_FUNDS` | Developer account has been depleted. |
| `LIMIT_VIOLATED` | Configured limit for developer account has been reached. |
| `NO_CURRENT_PUBLISHABLE_ENTITY` | Developer has not accepted (subscribed to) a rate plan. |
| `RATE_PLAN_RATE_BAND_EXCEEDED` | Configured limit of the final volume band has been reached. |