> ## Documentation Index
> Fetch the complete documentation index at: https://docs.portalhq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Disable or enable a client capability

> Disables or re-enables a single capability for the specified client.

Disabling the `SIGN` capability blocks every signing request for that client, even
when the request carries a valid client API key. Use this to freeze a client you
believe is compromised. Re-enable it by sending the same request with
`disabled: false`.

The current state is returned by the **Get a client** endpoint in
`disabledCapabilities`.




## OpenAPI

````yaml /openapi/custodian-api.yaml patch /custodians/me/clients/{clientId}/capabilities
openapi: 3.1.0
info:
  title: Portal Custodian API
  version: '3.0'
  description: >
    The Portal Custodian API provides endpoints for managing clients, building
    transactions,

    retrieving wallet data, managing delegations, alert webhooks and gas
    sponsorship, and

    reading the Portal Dashboard audit log.

    All endpoints require authentication via a Portal API Key (also known as a
    Custodian API Key)

    passed as a Bearer token.


    ## Base URL

    `https://api.portalhq.io/api/v3`


    ## Authentication

    Include your Portal API Key as a Bearer token in the `Authorization` header
    of every request.


    ## Chain ID Format

    Chain parameters use either friendly names (e.g. `ethereum`, `solana`) or
    CAIP-2 format

    (e.g. `eip155:1`, `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`). When using
    CAIP-2 format

    in URLs, ensure the colon is URI-encoded (`%3A`).
servers:
  - url: https://api.portalhq.io/api/v3
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Clients
    description: Create and manage Portal clients
  - name: Transactions
    description: Build and evaluate blockchain transactions
  - name: Wallet Metadata
    description: Retrieve wallet balances and NFTs
  - name: Wallet Shares
    description: Manage backup shares and wallet ejection
  - name: Delegations
    description: Manage token delegations and delegated transfers
  - name: Session Keys
    description: Build and send EIP-7702 session key user operations
  - name: Alert Webhooks
    description: Manage alert webhooks, external addresses, and replay failed events
  - name: Gas Sponsorship
    description: View and manage gas sponsorship across chains
  - name: Due
    description: Manage Due webhook endpoints and deliveries
  - name: Audit Events
    description: Read the audit log of actions taken in the Portal Dashboard
paths:
  /custodians/me/clients/{clientId}/capabilities:
    patch:
      tags:
        - Clients
      summary: Disable or enable a client capability
      description: >
        Disables or re-enables a single capability for the specified client.


        Disabling the `SIGN` capability blocks every signing request for that
        client, even

        when the request carries a valid client API key. Use this to freeze a
        client you

        believe is compromised. Re-enable it by sending the same request with

        `disabled: false`.


        The current state is returned by the **Get a client** endpoint in

        `disabledCapabilities`.
      operationId: updateClientCapability
      parameters:
        - $ref: '#/components/parameters/clientId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateClientCapabilityRequest'
            example:
              capability: SIGN
              disabled: true
      responses:
        '200':
          description: Capability updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateClientCapabilityResponse'
              example:
                disabledCapabilities:
                  - SIGN
                id: clientId
        '400':
          description: Bad request - invalid capability or disabled value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing authentication token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Client not found for this custodian and environment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    clientId:
      name: clientId
      in: path
      required: true
      description: The unique identifier of the client.
      schema:
        type: string
  schemas:
    UpdateClientCapabilityRequest:
      type: object
      required:
        - capability
        - disabled
      properties:
        capability:
          $ref: '#/components/schemas/ClientCapability'
        disabled:
          type: boolean
          description: Set to `true` to disable the capability, `false` to re-enable it.
    UpdateClientCapabilityResponse:
      type: object
      properties:
        disabledCapabilities:
          type: array
          description: The capabilities that are disabled for this client after the update.
          items:
            $ref: '#/components/schemas/ClientCapability'
        id:
          type: string
          description: Client ID
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message describing what went wrong
    ClientCapability:
      type: string
      description: A capability that can be disabled for a client.
      enum:
        - SIGN
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        Portal API Key (Custodian API Key). Pass as a Bearer token in the
        Authorization header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.