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

# Get Monitor

> Retrieve a single conflict monitor by ID.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/accessconflict/{id}
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/accessconflict/{id}:
    get:
      tags:
        - Access Conflict
      summary: Get Monitor
      description: Retrieve a single conflict monitor by ID.
      operationId: c1.api.accessconflict.v1.AccessConflictService.GetMonitor
      parameters:
        - in: path
          name: id
          required: true
          schema:
            description: The unique identifier of the conflict monitor to retrieve.
            readOnly: false
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.accessconflict.v1.ConflictMonitor'
          description: >-
            A conflict monitor defines a Separation of Duty rule between two
            entitlement sets.
             It detects when any user holds entitlements from both set A and set B simultaneously.
      x-codeSamples:
        - lang: go
          label: GetMonitor
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.AccessConflict.GetMonitor(ctx, operations.C1APIAccessconflictV1AccessConflictServiceGetMonitorRequest{\n        ID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.ConflictMonitor != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.accessConflict.getMonitor({
                id: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.accessconflict.v1.ConflictMonitor:
      description: >-
        A conflict monitor defines a Separation of Duty rule between two
        entitlement sets.
         It detects when any user holds entitlements from both set A and set B simultaneously.
      properties:
        createdAt:
          format: date-time
          readOnly: false
          type: string
        deletedAt:
          format: date-time
          readOnly: false
          type: string
        description:
          description: >-
            A description explaining the purpose of this Separation of Duty
            rule.
          readOnly: false
          type: string
        displayName:
          description: The human-readable name of the conflict monitor.
          readOnly: false
          type: string
        enabled:
          description: Whether the conflict monitor is actively scanning for violations.
          readOnly: false
          type: boolean
        entitlementSetAId:
          description: The identifier of entitlement set A in the conflict rule.
          readOnly: false
          type: string
        entitlementSetBId:
          description: The identifier of entitlement set B in the conflict rule.
          readOnly: false
          type: string
        id:
          description: The unique identifier of this conflict monitor.
          readOnly: false
          type: string
        notificationConfig:
          $ref: '#/components/schemas/c1.api.accessconflict.v1.NotificationConfig'
        updatedAt:
          format: date-time
          readOnly: false
          type: string
      title: Conflict Monitor
      type: object
      x-speakeasy-name-override: ConflictMonitor
    c1.api.accessconflict.v1.NotificationConfig:
      description: The NotificationConfig message.
      properties:
        emailNotifications:
          $ref: '#/components/schemas/c1.api.accessconflict.v1.EmailNotifications'
        slackNotifications:
          $ref: '#/components/schemas/c1.api.accessconflict.v1.SlackNotifications'
      title: Notification Config
      type: object
      x-speakeasy-name-override: AccessConflictNotificationConfig
    c1.api.accessconflict.v1.EmailNotifications:
      description: The EmailNotifications message.
      properties:
        enabled:
          description: The enabled field.
          readOnly: false
          type: boolean
        identityUserIds:
          description: The identityUserIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: Email Notifications
      type: object
      x-speakeasy-name-override: EmailNotifications
    c1.api.accessconflict.v1.SlackNotifications:
      description: The SlackNotifications message.
      properties:
        channelId:
          description: The channelId field.
          readOnly: false
          type: string
        channelName:
          description: The channelName field.
          readOnly: false
          type: string
        enabled:
          description: The enabled field.
          readOnly: false
          type: boolean
      title: Slack Notifications
      type: object
      x-speakeasy-name-override: SlackNotifications
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````