> ## 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.

# Vytvořit podřízený API klíč

> Vytváří nový podřízený (sub) API klíč pod volajícím nadřazeným klíčem. Podřízené klíče může vytvářet pouze nadřazený klíč s rozsahem oprávnění `full` nebo `rest-api` (max. 19 podřízených klíčů).

Sdílený (`shared`) podřízený klíč přebírá fakturaci a měnu nadřazeného klíče a čerpá kredit z jeho peněženky. Nesdílený podřízený klíč má vlastní fakturaci — pole `billing_name`, `billing_email` a `currency` jsou pak povinná.




## OpenAPI

````yaml /openapi/rest/restapi_v1.yaml post /apikey/add
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 [nastavení
    účtu](https://app.smsmanager.com/api-cloud).


    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: Partneři a integrace
    x-group: Partneři a integrace
    description: >
      Partnerský onboarding, integrace konektorů a registrace push
      zařízení/příjemců.
paths:
  /apikey/add:
    post:
      tags:
        - api
      summary: Vytvořit podřízený API klíč
      description: >
        Vytváří nový podřízený (sub) API klíč pod volajícím nadřazeným klíčem.
        Podřízené klíče může vytvářet pouze nadřazený klíč s rozsahem oprávnění
        `full` nebo `rest-api` (max. 19 podřízených klíčů).


        Sdílený (`shared`) podřízený klíč přebírá fakturaci a měnu nadřazeného
        klíče a čerpá kredit z jeho peněženky. Nesdílený podřízený klíč má
        vlastní fakturaci — pole `billing_name`, `billing_email` a `currency`
        jsou pak povinná.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                shared:
                  type: boolean
                  description: >-
                    Pokud je `true`, nový klíč sdílí fakturaci a kredit s
                    nadřazeným klíčem (měnu dědí od nadřazeného klíče).
                billing_name:
                  type: string
                  description: Fakturační jméno. Povinné, pokud `shared` není `true`.
                billing_email:
                  type: string
                  description: Fakturační e-mail. Povinný, pokud `shared` není `true`.
                currency:
                  type: string
                  enum:
                    - czk
                    - eur
                  description: >-
                    Měna nového klíče. Povinná, pokud `shared` není `true`
                    (sdílený klíč dědí měnu nadřazeného klíče).
                app_userid:
                  type: string
                  description: >-
                    Volitelná vazba na uživatele aplikace. Pokud klíč pro tohoto
                    uživatele již existuje, je vrácen existující klíč místo
                    vytvoření nového.
                billing_id:
                  type: string
                  description: Volitelné existující fakturační id.
                note:
                  type: string
                  description: Vaše poznámka k novému klíči.
                scope:
                  type: string
                  enum:
                    - full
                    - rest-api
                    - api
                  description: Rozsah oprávnění nového klíče.
                share_senders:
                  type: boolean
                  description: >-
                    Pokud je `true`, registrovaní odesílatelé nadřazeného klíče
                    (a WhatsApp čísla) jsou sdíleni s novým klíčem.
            examples:
              Child key with own billing:
                value:
                  billing_name: ACME s.r.o.
                  billing_email: invoicing@acme.example
                  currency: czk
                  note: eshop
                  scope: rest-api
              Shared child key:
                value:
                  shared: true
                  note: warehouse app
                  scope: api
                  share_senders: true
      responses:
        '200':
          description: API klíč vytvořen
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  apikey:
                    type: string
                    description: Nový API klíč.
                  billing_id:
                    type:
                      - string
                      - 'null'
                    description: Fakturační id nového klíče (`null` u sdíleného klíče).
              examples:
                Created:
                  value:
                    success: true
                    apikey: aB3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx40
                    billing_id: '1234'
                Created shared:
                  value:
                    success: true
                    apikey: cD4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx40
                    billing_id: null
        '400':
          description: Špatný požadavek
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Missing fields:
                  value:
                    message: Missing required fields in request data
                Invalid scope:
                  value:
                    message: Invalid scope value
        '403':
          description: Zakázáno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Not top-level:
                  value:
                    message: Only a top-level apikey can create new apikeys
                Limit reached:
                  value:
                    message: Child apikey limit reached (19)
        '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

````