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

# Add monitoring for a company



## OpenAPI

````yaml post /v2/monitors
openapi: 3.0.0
info:
  title: Topograph
  description: The Topograph API
  version: '0.1'
  contact: {}
servers:
  - url: https://api.topograph.co
security:
  - x-api-key: []
tags: []
paths:
  /v2/monitors:
    post:
      tags:
        - Monitors
      summary: Add monitoring for a company
      operationId: MonitoringController_createMonitor_v2
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMonitorDto'
      responses:
        '201':
          description: Monitor created or retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateMonitorResponseDto'
        '400':
          description: Invalid request or monitoring not supported for country
        '401':
          description: Invalid or missing API key
      security:
        - x-api-key: []
components:
  schemas:
    CreateMonitorDto:
      type: object
      properties:
        companyId:
          type: string
          description: The company ID to monitor
          example: '123456789'
        countryCode:
          type: string
          description: The country code for the company
          enum:
            - AT
            - BE
            - BG
            - CH
            - CN
            - CZ
            - CY
            - DE
            - DK
            - EE
            - ES
            - FI
            - FR
            - GB
            - GG
            - GR
            - HK
            - HR
            - HU
            - IE
            - IS
            - IT
            - JE
            - LI
            - LU
            - LV
            - MC
            - MT
            - MU
            - NL
            - 'NO'
            - PL
            - PT
            - RO
            - RU
            - SE
            - SG
            - SI
            - SK
            - VG
          example: DE
        metadata:
          type: object
          additionalProperties:
            type: string
            maxLength: 500
          example:
            caseId: case-12345
          description: >-
            Arbitrary key-value string pairs to associate with the monitor,
            echoed back in monitor responses and in every monitor.notification
            webhook. Use it to map notifications back to your internal records
            (e.g. a case ID). Calling POST /v2/monitors again for the same
            company replaces the stored metadata when the field is provided.
            Limits: max 50 keys, keys up to 40 chars (longer keys are skipped),
            values up to 500 chars (longer values are truncated).
      required:
        - companyId
        - countryCode
    CreateMonitorResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the monitor
          example: cmfzlu1dt000j12ldeqrfszq0
        companyId:
          type: string
          description: The company ID being monitored
          example: '123456789'
        countryCode:
          type: string
          description: The country code for the monitored company
          example: DE
        metadata:
          type: object
          additionalProperties:
            type: string
          example:
            caseId: case-12345
          description: >-
            Key-value pairs provided at monitor creation, echoed back in
            responses and monitor.notification webhooks.
      required:
        - id
        - companyId
        - countryCode
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````