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

# Edit client's availabilities

> Edit list of products available to a client.

If you make changes in the client's personal availability settings
at least once, the availability statuses of the personalized products will not be available for further
changes with the edit default availability settings request. But there is also a request to reset these
personal settings to default ones.



## OpenAPI

````yaml /api-reference/services_documented/iam_reseller_api.yaml patch /iam/products/availability/clients/{clientId}
openapi: 3.1.0
info:
  title: Gcore OpenAPI – IAM Reseller API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-11T15:10:30.328297+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: IAM Reseller Account
    description: >-
      Account management operations including authentication, password
      management, and account details.
    x-displayName: Account
  - name: IAM Reseller Clients
    description: >-
      Clients management API.


      Note: For client's creation use [create a new
      user](#tag/Users/paths/~1users/post) method from Users management API.
    x-displayName: Clients
  - name: IAM Reseller Users
    description: Client's users management API.
    x-displayName: Users
  - name: Sellers
    description: Seller management API.
    x-displayName: Sellers
  - name: Products' availability
    description: >-
      As a reseller you can get access to multiple products that available for
      you. Such as CDN.


      With this API you can manage which products are available for you clients
      by default or manage personal

      products' availability for each client separately.
    x-displayName: Products' availability
  - name: Services
    description: Client services management API for managing service statuses and options.
    x-displayName: Services
  - name: IAM Reseller Features
    description: You can manage both free and paid features available for you.
    x-displayName: Features
  - name: Branding
    description: >-
      Branding settings management API for customizing reseller branding
      including logos, colors, and domain settings.
    x-displayName: Branding
  - name: Notification Settings
    description: Notification settings which not connected with branding
    x-displayName: Notification Settings
  - name: Other
    x-displayName: Other
paths:
  /iam/products/availability/clients/{clientId}:
    patch:
      tags:
        - Products' availability
      summary: Edit client's availabilities
      description: >-
        Edit list of products available to a client.


        If you make changes in the client's personal availability settings

        at least once, the availability statuses of the personalized products
        will not be available for further

        changes with the edit default availability settings request. But there
        is also a request to reset these

        personal settings to default ones.
      operationId: iamUpdateClientProductAvailabilities
      parameters:
        - $ref: '#/components/parameters/ClientID'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductAvailability'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductAvailability'
        '400':
          $ref: '#/components/responses/iam_reseller_400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/ProductAvailabilityEditingForbidden'
components:
  parameters:
    ClientID:
      name: clientId
      in: path
      required: true
      description: Account ID.
      schema:
        type: integer
  schemas:
    ProductAvailability:
      type: object
      required:
        - product_name
        - available
      properties:
        product_name:
          $ref: '#/components/schemas/ServiceName'
        available:
          type: boolean
          description: |-
            Availability product status:
            - `true` - product available;
            - `false` - product unavailable.
    ServiceName:
      type: string
      description: Service's name.
      enum:
        - CDN
        - STORAGE
        - STREAMING
        - DNS
        - DDOS
        - CLOUD
    iam_reseller_ValidationError:
      title: Validation error
      type: object
      properties:
        errors:
          type: object
          description: This object contains error descriptions per field from your request.
          additionalProperties:
            type: array
            description: Error list for specific field.
            items:
              type: string
              description: Error description
    JSONParseError:
      title: Invalid request JSON schema
      type: object
      properties:
        message:
          type: string
          description: >-
            This message describes error if json schema from your request is
            invalid.
          example: >
            JSON parse error - Expecting ',' delimiter: line 3 column 33 (char
            77)
    ProductAvailabilityEditingForbiddenSchema:
      type: object
      title: You will see a list of products and their statuses needed to change.
      properties:
        message:
          type: string
          description: Error description.
        trial:
          type: array
          description: >-
            You cannot change availability to `false` if there are at least one
            products' service with `trial`

            status.
          items:
            $ref: '#/components/schemas/ServiceName'
        activating:
          type: array
          description: >-
            You cannot change availability to `false` if there are at least one
            products' service with `activating`

            status.
          items:
            $ref: '#/components/schemas/ServiceName'
        active:
          type: array
          description: >-
            You cannot change availability to `false` if there are at least one
            products' service with `active`

            status.
          items:
            $ref: '#/components/schemas/ServiceName'
  responses:
    '401':
      description: >-
        Authentication credentials were not provided or given token not valid
        for any token type.
    iam_reseller_400:
      description: Validation error
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/iam_reseller_ValidationError'
              - $ref: '#/components/schemas/JSONParseError'
    ProductAvailabilityEditingForbidden:
      description: Editing forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProductAvailabilityEditingForbiddenSchema'
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````