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

# Upravit API klíč

> Upravuje nastavení volajícího API klíče, nebo — pokud je přítomno pole `apikey` — některého z jeho podřízených klíčů. Všechna nastavení jsou volitelná: mění se pouze pole přítomná v požadavku, `null` (nebo prázdný řetězec) hodnotu smaže. Požadavek bez rozpoznaného nastavení vrací 400. Změna `default_callback_url` zároveň aktualizuje webhook URL u všech odesílatelů upravovaného klíče.

Úprava podřízeného klíče: pole `apikey` smí použít pouze nadřazený (top-level) klíč a cíl musí být jedním z jeho podřízených klíčů (viz `/apikey/list`). Všechna nastavení se chovají přesně tak, jako by se podřízený klíč upravoval sám — např. registrace `default_sender` se ověřuje proti odesílatelům podřízeného klíče. Funguje to i pro podřízené klíče se scope `api`, které tento endpoint samy volat nemohou. Pole `scope` a `disable` jsou přijímána pouze společně s `apikey`; klíč nikdy nemůže měnit vlastní scope ani blokaci.




## OpenAPI

````yaml /openapi/rest/restapi_v1.yaml post /apikey/update
openapi: 3.1.0
info:
  title: REST API SmsManager
  description: >
    REST API pro správu vašeho účtu SmsManager: API klíče, kredit, fakturace,
    kontaktní seznamy (blacklist / opt-out), zjišťování stavu zpráv, přijaté
    zprávy a podpora hromadného odesílání.


    ## Autentizace


    Pro všechny požadavky je vyžadován API klíč — zasílejte jej v HTTP hlavičce
    `x-api-key`. Svůj API klíč najdete v sekci
    [Vývojáři](https://app.smsmanager.com/app/developers/).


    Pro odesílání zpráv použijte [JSON API v2](https://api.smsmngr.com/v2).
  version: v1
  contact:
    url: https://smsmanager.com
    email: cc@smsmanager.com
servers:
  - url: https://rest-api.smsmngr.com/v1
    description: Produkční server
security:
  - x-api-key: []
tags:
  - name: api
    x-displayName: API klíče
    x-group: API klíče
    description: >
      Správa API klíčů: profil aktuálního klíče, vytváření a správa podřízených
      klíčů.
  - name: credit
    x-displayName: Kredit
    x-group: Kredit
    description: |
      Stav kreditu, ceník, objednatelné služby a upozornění na nízký kredit.
  - name: billing
    x-displayName: Fakturace
    x-group: Fakturace
    description: |
      Fakturační kontakt, faktury a dobití kreditu bankovním převodem.
  - name: status
    x-displayName: Stav zpráv
    x-group: Stav zpráv
    description: |
      Stav odeslaných zpráv a agregované statistiky odesílání.
  - name: inbox
    x-displayName: Přijaté zprávy
    x-group: Přijaté zprávy
    description: |
      Přijaté (příchozí) zprávy.
  - name: blacklist
    x-displayName: Blacklist a Opt-out
    x-group: Blacklist a Opt-out
    description: >
      Spravované kontaktní seznamy. Blacklist blokuje všechny zprávy na uvedená
      čísla; opt-out seznam blokuje zprávy s tagem `promotional`.
  - name: messaging
    x-displayName: Hromadné odesílání
    x-group: Hromadné odesílání
    description: >
      Podpůrné endpointy pro hromadné odesílání: URL pro nahrání hromadných
      souborů a rušení naplánovaných zpráv.
  - name: partner
    x-displayName: Zařízení a příjemci
    x-group: Zařízení a příjemci
    description: |
      Registrace push zařízení a příjemců zpráv.
paths:
  /apikey/update:
    post:
      tags:
        - api
      summary: Upravit API klíč
      description: >
        Upravuje nastavení volajícího API klíče, nebo — pokud je přítomno pole
        `apikey` — některého z jeho podřízených klíčů. Všechna nastavení jsou
        volitelná: mění se pouze pole přítomná v požadavku, `null` (nebo prázdný
        řetězec) hodnotu smaže. Požadavek bez rozpoznaného nastavení vrací 400.
        Změna `default_callback_url` zároveň aktualizuje webhook URL u všech
        odesílatelů upravovaného klíče.


        Úprava podřízeného klíče: pole `apikey` smí použít pouze nadřazený
        (top-level) klíč a cíl musí být jedním z jeho podřízených klíčů (viz
        `/apikey/list`). Všechna nastavení se chovají přesně tak, jako by se
        podřízený klíč upravoval sám — např. registrace `default_sender` se
        ověřuje proti odesílatelům podřízeného klíče. Funguje to i pro podřízené
        klíče se scope `api`, které tento endpoint samy volat nemohou. Pole
        `scope` a `disable` jsou přijímána pouze společně s `apikey`; klíč nikdy
        nemůže měnit vlastní scope ani blokaci.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                apikey:
                  type: string
                  description: >-
                    Podřízený API klíč, který se má upravit místo volajícího
                    klíče. Smí jej použít pouze nadřazený klíč a cíl mu musí
                    patřit.
                default_callback_url:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Výchozí webhook URL pro notifikace o doručení. `null` nebo
                    prázdný řetězec hodnotu smaže.
                note:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Vaše poznámka ke klíči. `null` nebo prázdný řetězec hodnotu
                    smaže.
                default_sender:
                  type:
                    - string
                    - 'null'
                  maxLength: 64
                  description: >-
                    Výchozí odesílatel pro zprávy, které neuvádějí `sender`.
                    Může jít o zaregistrovaného odesílatele nebo o název aliasu
                    odesílatele. Nesmí obsahovat `,` ani `:`. `null` nebo
                    prázdný řetězec jej smaže. Odesílatele, který pro klíč není
                    zaregistrovaný, uložíme, ale vrátíme jej ve `warning` a při
                    odeslání bude ignorován.
                whitelist_ip:
                  type:
                    - array
                    - 'null'
                  items:
                    type: string
                    maxLength: 100
                  maxItems: 50
                  description: >-
                    IP whitelist pro odesílání. Položka obsahující `.` nebo `:`
                    se porovnává jako přesná IP adresa (bez CIDR rozsahů);
                    jakákoli jiná položka se porovnává jako podřetězec názvu
                    ISP/organizace IP adresy požadavku. Zprávy odeslané z adresy
                    mimo whitelist se místo odeslání podrží na ruční schválení.
                    `null` nebo prázdné pole omezení zruší. Položky nesmí
                    obsahovat `,`.
                scope:
                  type: string
                  enum:
                    - full
                    - rest-api
                    - api
                  description: >-
                    Nový rozsah oprávnění podřízeného klíče. Přijímáno pouze
                    společně s `apikey`.
                disable:
                  type: integer
                  enum:
                    - 0
                    - 1
                  description: >-
                    `1` podřízený klíč zablokuje, `0` odblokuje. Přijímáno pouze
                    společně s `apikey`.
            examples:
              Set callback:
                value:
                  default_callback_url: https://example.com/hook
                  note: eshop
              Clear callback:
                value:
                  default_callback_url: null
              Set default sender:
                value:
                  default_sender: Mojefirma
              Set IP whitelist:
                value:
                  whitelist_ip:
                    - 1.2.3.4
                    - internet cz
              Clear IP whitelist:
                value:
                  whitelist_ip: null
              Update a child key:
                value:
                  apikey: cD4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx40
                  default_sender: Mojefirma
                  note: eshop child
              Block a child key:
                value:
                  apikey: cD4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx40
                  disable: 1
      responses:
        '200':
          description: API klíč upraven
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  warning:
                    type: string
                    description: >-
                      Vyplněno, když se nastavení uložilo, ale něco vyžaduje
                      pozornost, například nedostupná callback URL nebo
                      nezaregistrovaný výchozí odesílatel.
              example:
                success: true
        '400':
          description: Špatný požadavek
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: No settings to update
        '403':
          description: Zakázáno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Scope not allowed:
                  value:
                    message: Apikey scope 'api' is not allowed to change settings
                Not a parent:
                  value:
                    message: Only a top-level apikey can update child apikeys
                Not owner:
                  value:
                    message: Target apikey does not belong to this parent
        '500':
          description: Interní chyba
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
          description: Chybová zpráva.
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````

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