ZenAdmin Catalog API

The Catalog API from ZenAdmin — 3 operation(s) for catalog.

OpenAPI Specification

zenadmin-catalog-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ZenAdmin External Catalog API
  version: v1
  description: ZenAdmin External API v1 for IT asset, device, order, employee, catalog and webhook management. This specification was reconstructed faithfully from the published developer documentation at https://docs.zenadmin.ai; ZenAdmin does not publish a machine-readable OpenAPI document. Authentication is via a per-key API key sent in the `x-api-key` header (or as a Bearer token).
  x-generated-by: API Evangelist enrichment pipeline
  x-source: https://docs.zenadmin.ai
  x-provenance:
    generated: '2026-07-21'
    method: generated
    source: https://docs.zenadmin.ai
  contact:
    name: ZenAdmin
    url: https://docs.zenadmin.ai
servers:
- url: https://console.zenadmin.ai/api/external
  description: Production
security:
- ApiKeyHeader: []
- ApiKeyBearer: []
tags:
- name: Catalog
paths:
  /catalog/devices:
    get:
      operationId: listCatalogDevices
      summary: List catalog devices
      tags:
      - Catalog
      parameters:
      - name: country_id
        in: query
        schema:
          type: string
      - name: search
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: limit
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Paginated catalog devices
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CatalogDevice'
                  meta_data:
                    $ref: '#/components/schemas/MetaData'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /catalog/devices/{product_configuration_id}:
    get:
      operationId: getCatalogDevice
      summary: Get catalog device details
      tags:
      - Catalog
      parameters:
      - name: product_configuration_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Catalog device
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/CatalogDevice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /catalog/countries:
    get:
      operationId: listCatalogCountries
      summary: List countries
      tags:
      - Catalog
      responses:
        '200':
          description: Countries
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Country'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
      required:
      - success
      - message
    Country:
      type: object
      properties:
        country_id:
          type: string
        name:
          type: string
    CatalogDevice:
      type: object
      properties:
        product_configuration_id:
          type: string
    MetaData:
      type: object
      properties:
        total_items:
          type: integer
        page_no:
          type: integer
        items_on_page:
          type: integer
  responses:
    Unauthorized:
      description: Invalid or expired API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            message: Invalid or expired API key
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: Per-key API key. Shown once at creation. Rate limit 60 req/min (burst 120).
    ApiKeyBearer:
      type: http
      scheme: bearer
      description: 'The API key may alternatively be sent as: Authorization Bearer <api-key>.'