# POST /api/v1/shell/access

> Check, enable or disable shell access for the assistant

- Group: meta
- Tier: W
- Required scope: read:hosting
- Docs: https://api.inleed.com/reference/meta/create-shell-access

## Description

`action=status` returns `{sshEnabled, enabled, fingerprint, enabledAt, lastUsedAt, toolchain}`. `enable` returns `{status:"confirmation_required", confirmationUrl, …}` and changes nothing until approved (or `alreadyEnabled: true`); `disable` removes the key at once.

## Body

- `input` — string (required). A domain, email address, website URL, or Inleed service id — for example example.se, info@example.se or 42976. Resolved to the owning account automatically, and the resolved target is echoed back in the response.
- `action` — enum (required). status (read), enable (creates a confirmation the customer approves; needs shell:hosting) or disable (removes the key at once; needs shell:hosting). One of status, enable, disable.
- `attempt_key` — string. Optional idempotency key for enable: a repeat within an hour returns the same pending confirmation instead of creating a second one.

## Request

```bash
curl -X POST "https://mcp.inleed.com/api/v1/shell/access" \
  -H "Authorization: Bearer inl_live_…" \
  -H "Content-Type: application/json" \
  -d '{"input":"example.se","action":"status","attempt_key":"example.se"}'
```

## Errors

- **400**  — codes: invalid_request
- **401** No token was presented, or the token is revoked, expired or unknown. — codes: unauthorized, token_expired, token_revoked
- **403** The token lacks a required scope, or this account does not own the resource. — codes: insufficient_scope, not_owned
- **404** No such resource for this account. — codes: not_found
- **422** Validation error — codes: validation_failed
- **429** The rate limit for this token is exhausted. See `Retry-After`. — codes: rate_limited
- **500** Something went wrong on our side. The failure is logged against `requestId`. — codes: internal_error

## Related

- GET /api/v1/shell/access — https://api.inleed.com/reference/meta/manage-shell-access
- DELETE /api/v1/shell/access — https://api.inleed.com/reference/meta/delete-shell-access

