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

# Update API key

> Edits an existing key's name, scopes, and brand restrictions in place. The key value is unchanged (no new secret is issued). Empty scopes or brand_ids mean unrestricted. Requires a full-access key or the dashboard.



## OpenAPI

````yaml /api-reference/openapi.json patch /keys/{id}
openapi: 3.0.0
info:
  description: >-
    Unified social media inbox API. Read and respond to comments, DMs, reviews,
    and mentions across Instagram, Facebook, Threads, Google Business Profile,
    TikTok, LinkedIn, and YouTube through a single REST API. X/Twitter and
    Trustpilot coming soon.
  title: SocialAPI.AI
  contact:
    name: SocialAPI.AI Support
    email: support@social-api.ai
  license:
    name: MIT
  version: '1.0'
servers:
  - url: https://api.social-api.ai/v1
security: []
paths:
  /keys/{id}:
    patch:
      tags:
        - API Keys
      summary: Update API key
      description: >-
        Edits an existing key's name, scopes, and brand restrictions in place.
        The key value is unchanged (no new secret is issued). Empty scopes or
        brand_ids mean unrestricted. Requires a full-access key or the
        dashboard.
      parameters:
        - description: API key ID
          name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api_endpoints.UpdateKeyRequest'
        description: New name and restrictions
        required: true
      responses:
        '200':
          description: Key updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.UpdateKeyResponse'
        '400':
          description: >-
            Invalid request body, missing name, unknown scope, or invalid brand
            ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '404':
          description: API key not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    api_endpoints.UpdateKeyRequest:
      type: object
      properties:
        brand_ids:
          description: >-
            BrandIDs restricts the key to specific brands. Empty means all
            brands.
          type: array
          items:
            type: string
        name:
          type: string
          example: My App
        scopes:
          description: >-
            Scopes restricts the key to specific actions. Empty means full
            access.
          type: array
          items:
            type: string
          example:
            - posts:write
            - inbox:read
    api_endpoints.UpdateKeyResponse:
      type: object
      properties:
        brand_ids:
          type: array
          items:
            type: string
        id:
          type: string
        name:
          type: string
        scopes:
          type: array
          items:
            type: string
          example:
            - posts:write
            - inbox:read
    api_endpoints.ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/api_endpoints.ErrorBody'
    api_endpoints.ErrorBody:
      type: object
      properties:
        code:
          type: string
          example: resource.not_found
        message:
          type: string
          example: Account not found
        meta:
          type: object
          additionalProperties: {}
  securitySchemes:
    BearerAuth:
      description: >-
        Prefix your API key with "Bearer ". Example: `Authorization: Bearer
        sapi_key_...`
      type: apiKey
      name: Authorization
      in: header

````