---
title: "set_end_user_standing"
description: "Generated reference for the management action set_end_user_standing: its description, access metadata, payload contract, and registration status."
slug: /reference/actions/set-end-user-standing
order: 72
visibility: public
redirects_from: ["/reference/actions/revoke-end-user","/reference/actions/reinstate-end-user"]
---

# set\_end\_user\_standing

Generated automatically from the [published contract sources](/reference/about#contract-sources).

A script calls this action over HTTPS at `POST https://turnzero.ai/api/v1/actions/set_end_user_standing`, with a bearer credential and the action's payload as the JSON body.

**Build metadata:** Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.

## Contract description

Suspend or reinstate one of an application's end users, by `standing`\. With `standing: suspended`, every session ends at once on every device and the next sign\-in is refused, until a call with `standing: active`\. Your application's cached verification may last past the suspension by at most its cache interval\. With `standing: active`, the user can sign in again; the sessions the suspension ended stay ended\. An optional `environment` \(`development` or `production`; absent, `production`\) chooses the realm you address; `development` works only once `create_environment` has turned development on\.

## Access and action metadata

```json
{
  "name": "set_end_user_standing",
  "resource": "realm",
  "tier": "reversible",
  "product": "cloud",
  "summary": "Set one end user's standing: `suspended` ends every session at once and refuses the next sign-in by name until a call sets `active`, which restores the standing and leaves the ended sessions ended.",
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": true,
    "openWorldHint": false
  }
}
```

## MCP catalog entry

```json
{
  "name": "set_end_user_standing",
  "title": "Suspend or reinstate app user",
  "tier": "reversible",
  "summary": "Suspend or reinstate one of an application's end users, by `standing`. With `standing: suspended`, every session ends at once on every device and the next sign-in is refused, until a call with `standing: active`. Your application's cached verification may last past the suspension by at most its cache interval. With `standing: active`, the user can sign in again; the sessions the suspension ended stay ended. An optional `environment` (`development` or `production`; absent, `production`) chooses the realm you address; `development` works only once `create_environment` has turned development on.",
  "owners": [
    "ACS-L0-01",
    "PLD-L0-40"
  ],
  "scenario": "ACS-L0-08"
}
```

## request

| JSON pointer | Description and constraints |
|---|---|
| "" \(root\) | Type: object<br>Required fields: \["application","end\_user","standing"\]<br>Additional properties: false |
| /<wbr>properties/<wbr>application | The application id, from `list_applications`\.<br><br>Type: string |
| /<wbr>properties/<wbr>end\_user | The end user's opaque id, from `list_end_users`\.<br><br>Type: string |
| /<wbr>properties/<wbr>standing | `suspended` ends every session of the user at once and refuses its next sign\-in; `active` restores the standing, the sessions the suspension ended staying ended\.<br><br>Type: string<br>Allowed values: \["suspended","active"\] |
| /<wbr>properties/<wbr>environment | Optional\. The environment whose realm your call addresses, `development` or `production`; leave it out for `production`\.<br><br>Type: string<br>Pattern: ^\(development\|production\)$ |

## response

| JSON pointer | Description and constraints |
|---|---|
| "" \(root\) | Type: object<br>Required fields: \["contract\_version","end\_user"\]<br>Additional properties: false |
| /<wbr>properties/<wbr>contract\_version | Required value: 1 |
| /<wbr>properties/<wbr>end\_user | Type: object<br>Required fields: \["id","standing"\]<br>Additional properties: false |
| /<wbr>properties/<wbr>end\_user/<wbr>properties/<wbr>id | Type: string |
| /<wbr>properties/<wbr>end\_user/<wbr>properties/<wbr>standing | Type: string<br>Allowed values: \["suspended","active"\] |
| /<wbr>properties/<wbr>end\_user/<wbr>properties/<wbr>sessions\_ended | Present where `standing` is `suspended`: the count of the user's sessions the suspension ended\.<br><br>Type: integer |
| /<wbr>properties/<wbr>detail | Type: string |

## Complete payload contract

```json
{
  "request": {
    "type": "object",
    "required": [
      "application",
      "end_user",
      "standing"
    ],
    "properties": {
      "application": {
        "type": "string",
        "description": "The application id, from `list_applications`."
      },
      "end_user": {
        "type": "string",
        "description": "The end user's opaque id, from `list_end_users`."
      },
      "standing": {
        "type": "string",
        "enum": [
          "suspended",
          "active"
        ],
        "description": "`suspended` ends every session of the user at once and refuses its next sign-in; `active` restores the standing, the sessions the suspension ended staying ended."
      },
      "environment": {
        "type": "string",
        "pattern": "^(development|production)$",
        "description": "Optional. The environment whose realm your call addresses, `development` or `production`; leave it out for `production`."
      }
    },
    "additionalProperties": false
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "end_user"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "end_user": {
        "type": "object",
        "required": [
          "id",
          "standing"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "standing": {
            "type": "string",
            "enum": [
              "suspended",
              "active"
            ]
          },
          "sessions_ended": {
            "type": "integer",
            "description": "Present where `standing` is `suspended`: the count of the user's sessions the suspension ended."
          }
        },
        "additionalProperties": false
      },
      "detail": {
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}
```

## Shared contracts

- [Refusals](/reference/refusals): every refusal, by surface, with its cause and its remedy
- [schemas/wire\_error\.schema\.json](/reference/sources/schemas/wire-error-schema)
- [schemas/wire\_errors\.json](/reference/sources/schemas/wire-errors)
- [schemas/action\_payloads\.json](/reference/sources/schemas/action-payloads) (includes shared shapes)
- [management\_api\_contract\.md](/reference/sources/management-api-contract)
