> ## 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
            - AG
            - BA
            - BR
            - IM
            - KY
            - US-FL
            - US-CO
            - US-IL
            - US-MA
            - US-MD
            - US-MI
            - US-TX
            - US-DE
            - UA
            - US-NY
            - US-NJ
            - US-NM
            - US-OH
            - US-WA
            - US-TN
            - US-GA
            - US-MN
            - US-MO
            - US-NV
            - RS
            - US-PA
            - US-WY
            - US-CT
            - US-UT
            - US-IA
            - US-ID
            - US-AZ
            - US-VA
            - US-MS
            - US-CA
            - US-OR
            - US-KY
            - US-NE
            - US-NC
            - US-AR
            - US-WI
            - US-SC
            - US-AL
            - US-AK
            - US-DC
            - US-IN
            - US-ME
            - US-MT
            - US-OK
            - US-SD
            - US-LA
            - US-WV
            - US-ND
            - US-VT
            - US-KS
            - US-RI
            - US-HI
            - LT
            - MD
            - MH
            - US-NH
            - CA-FED
            - CA-ON
            - CA-QC
            - CA-BC
            - CA-AB
            - CA-MB
            - CA-SK
            - CA-NS
            - CA-NL
            - CA-PE
            - CA-YT
            - CA-NT
          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.
        datapointNotices:
          description: >-
            Present when one or more monitored datapoints for this account are
            currently blocked on missing account credentials. The monitor is
            still created (other datapoints are unaffected) but these will not
            be fetched until resolved.
          type: array
          items:
            $ref: '#/components/schemas/MonitorDatapointNoticeDto'
      required:
        - id
        - companyId
        - countryCode
    MonitorDatapointNoticeDto:
      type: object
      properties:
        datapoint:
          type: string
          description: Datapoint affected
          example: ultimateBeneficialOwners
        status:
          type: string
          description: >-
            This datapoint will not be included in scheduled rechecks until the
            account configures its own credentials.
          example: blocked_missing_credentials
        message:
          type: string
          description: Human-readable explanation, safe to display to the account admin.
          example: >-
            This datapoint requires account-specific credentials that have not
            been configured. Configure them in the workspace vault, or contact
            support@topograph.co.
      required:
        - datapoint
        - status
        - message
  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.