> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-ia-reframe-draft.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Monitor

> Update the display name, description, or notification settings of a conflict monitor.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /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}:
    post:
      tags:
        - Access Conflict
      summary: Update Monitor
      description: >-
        Update the display name, description, or notification settings of a
        conflict monitor.
      operationId: c1.api.accessconflict.v1.AccessConflictService.UpdateMonitor
      parameters:
        - in: path
          name: id
          required: true
          schema:
            description: The unique identifier of the conflict monitor to update.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.accessconflict.v1.ConflictMonitorUpdateRequestInput
      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: UpdateMonitor
          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.UpdateMonitor(ctx, operations.C1APIAccessconflictV1AccessConflictServiceUpdateMonitorRequest{\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.updateMonitor({
                id: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.accessconflict.v1.ConflictMonitorUpdateRequestInput:
      description: The request message for updating an existing conflict monitor.
      properties:
        description:
          description: The updated description for the conflict monitor.
          type: string
        displayName:
          description: The updated human-readable name for the conflict monitor.
          type: string
        negateGroupB:
          description: >-
            When true, the rule flags users who are in set A but NOT in set B
            ("is not
             in"), instead of the default A-and-B intersection.
          type: boolean
        notificationConfig:
          oneOf:
            - $ref: '#/components/schemas/c1.api.accessconflict.v1.NotificationConfig'
            - type: 'null'
      title: Conflict Monitor Update Request
      type: object
      x-speakeasy-name-override: ConflictMonitorUpdateRequest
    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
          type:
            - string
            - 'null'
        deletedAt:
          format: date-time
          type:
            - string
            - 'null'
        description:
          description: >-
            A description explaining the purpose of this Separation of Duty
            rule.
          type: string
        displayName:
          description: The human-readable name of the conflict monitor.
          type: string
        enabled:
          description: Whether the conflict monitor is actively scanning for violations.
          type: boolean
        entitlementSetAId:
          description: The identifier of entitlement set A in the conflict rule.
          type: string
        entitlementSetBId:
          description: The identifier of entitlement set B in the conflict rule.
          type: string
        id:
          description: The unique identifier of this conflict monitor.
          type: string
        negateGroupB:
          description: >-
            When true, the rule flags users who are in set A but NOT in set B
            ("is not
             in"), instead of the default A-and-B intersection.
          type: boolean
        notificationConfig:
          oneOf:
            - $ref: '#/components/schemas/c1.api.accessconflict.v1.NotificationConfig'
            - type: 'null'
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Conflict Monitor
      type: object
      x-speakeasy-name-override: ConflictMonitor
    c1.api.accessconflict.v1.NotificationConfig:
      description: The NotificationConfig message.
      properties:
        emailNotifications:
          oneOf:
            - $ref: '#/components/schemas/c1.api.accessconflict.v1.EmailNotifications'
            - type: 'null'
        slackNotifications:
          oneOf:
            - $ref: '#/components/schemas/c1.api.accessconflict.v1.SlackNotifications'
            - type: 'null'
      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.
          type: boolean
        identityUserIds:
          description: The identityUserIds field.
          items:
            type: string
          type:
            - array
            - 'null'
      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.
          type: string
        channelName:
          description: The channelName field.
          type: string
        enabled:
          description: The enabled field.
          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

````