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

# Apply a confirmed buyer-agent configuration control



## OpenAPI

````yaml /openapi/v3.yaml post /api/v2/buyer-agent-principals/{principalId}/controls
openapi: 3.1.0
info:
  title: Semicola Exchange platform API
  version: 3.0.0-preview
  description: >-
    Platform endpoints of Semicola: sign-in, signup and OAuth for MCP clients,
    accounts, members and keys, billing, notifications, the Semi assistant (chat
    stream, confirmations, conversations), the MCP App widget host and realtime
    feeds. Typed agent tools live on the MCP server at /mcp/v3.
servers:
  - url: https://api.semicola.com
security:
  - bearerAuth: []
  - sessionCookie: []
tags:
  - name: Auth
  - name: Signup
  - name: OAuth
  - name: Accounts
  - name: Members
  - name: API Keys
  - name: Buyer Agent Principals
  - name: Asks
  - name: Connected Apps
  - name: Onboarding
  - name: Billing
  - name: AI Usage
  - name: Notifications
  - name: Assistant
  - name: MCP Apps
  - name: Realtime
  - name: Demo
paths:
  /api/v2/buyer-agent-principals/{principalId}/controls:
    post:
      tags:
        - Buyer Agent Principals
      summary: Apply a confirmed buyer-agent configuration control
      operationId: postBuyerAgentPrincipalsByPrincipalIdControls
      parameters:
        - name: principalId
          in: path
          required: true
          schema:
            type: string
            minLength: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      const: deactivate_destination
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    destinationId:
                      type: string
                      pattern: ^[A-Za-z0-9_.:-]{1,64}$
                    generation:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 9007199254740991
                    expectedConfigurationVersion:
                      type: string
                      minLength: 1
                      maxLength: 255
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                  required:
                    - kind
                    - storefrontId
                    - destinationId
                    - generation
                    - expectedConfigurationVersion
                    - confirmationText
                  additionalProperties: false
                - type: object
                  properties:
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    subscriberId:
                      type: string
                      pattern: ^[A-Za-z0-9_.:-]{1,128}$
                    expectedConfigurationVersion:
                      type: string
                      minLength: 1
                      maxLength: 255
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                    kind:
                      type: string
                      const: deactivate_subscriber
                  required:
                    - storefrontId
                    - subscriberId
                    - expectedConfigurationVersion
                    - confirmationText
                    - kind
                  additionalProperties: false
                - type: object
                  properties:
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    subscriberId:
                      type: string
                      pattern: ^[A-Za-z0-9_.:-]{1,64}$
                    expectedConfigurationVersion:
                      type: string
                      minLength: 1
                      maxLength: 255
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                    kind:
                      type: string
                      const: replace_subscriber
                    endpointUrl:
                      type: string
                      maxLength: 2048
                      format: uri
                    eventTypes:
                      minItems: 1
                      maxItems: 64
                      type: array
                      items:
                        type: string
                        enum:
                          - scheduled
                          - final
                          - delayed
                          - adjusted
                          - window_update
                          - impairment
                          - creative.status_changed
                          - creative.assignment_changed
                          - indicators.changed
                          - creative.purged
                          - account.status_changed
                          - account.change_recorded
                          - product.created
                          - product.updated
                          - product.priced
                          - product.removed
                          - signal.created
                          - signal.updated
                          - signal.priced
                          - signal.removed
                          - wholesale_feed.bulk_change
                          - capabilities.changed
                          - reporting.delivery_ready
                          - reporting.status_changed
                          - reporting.ledger_changed
                          - principal.changed
                    active:
                      default: true
                      type: boolean
                    allAuthorizedAccounts:
                      default: false
                      type: boolean
                    includeFutureEventTypes:
                      default: false
                      type: boolean
                  required:
                    - storefrontId
                    - subscriberId
                    - expectedConfigurationVersion
                    - confirmationText
                    - kind
                    - endpointUrl
                    - eventTypes
                  additionalProperties: false
                - type: object
                  properties:
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    subscriberId:
                      type: string
                      pattern: ^[A-Za-z0-9_.:-]{1,64}$
                    expectedConfigurationVersion:
                      type: string
                      minLength: 1
                      maxLength: 255
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                    kind:
                      type: string
                      const: pause_subscriber
                  required:
                    - storefrontId
                    - subscriberId
                    - expectedConfigurationVersion
                    - confirmationText
                    - kind
                  additionalProperties: false
                - type: object
                  properties:
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    subscriberId:
                      type: string
                      pattern: ^[A-Za-z0-9_.:-]{1,64}$
                    expectedConfigurationVersion:
                      type: string
                      minLength: 1
                      maxLength: 255
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                    kind:
                      type: string
                      const: reactivate_subscriber
                  required:
                    - storefrontId
                    - subscriberId
                    - expectedConfigurationVersion
                    - confirmationText
                    - kind
                  additionalProperties: false
                - type: object
                  properties:
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    subscriberId:
                      type: string
                      pattern: ^[A-Za-z0-9_.:-]{1,64}$
                    expectedConfigurationVersion:
                      type: string
                      minLength: 1
                      maxLength: 255
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                    kind:
                      type: string
                      const: remove_subscriber
                  required:
                    - storefrontId
                    - subscriberId
                    - expectedConfigurationVersion
                    - confirmationText
                    - kind
                  additionalProperties: false
                - type: object
                  properties:
                    kind:
                      type: string
                      const: suspend
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    expectedLifecycleState:
                      type: string
                      const: active
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                  required:
                    - kind
                    - storefrontId
                    - expectedLifecycleState
                    - confirmationText
                  additionalProperties: false
                - type: object
                  properties:
                    kind:
                      type: string
                      const: retire
                    storefrontId:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 2147483647
                    expectedLifecycleState:
                      type: string
                      enum:
                        - active
                        - suspended
                    confirmationText:
                      type: string
                      minLength: 1
                      maxLength: 255
                  required:
                    - kind
                    - storefrontId
                    - expectedLifecycleState
                    - confirmationText
                  additionalProperties: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                      - anyOf:
                          - type: object
                            properties:
                              kind:
                                type: string
                                enum:
                                  - deactivate_destination
                                  - deactivate_subscriber
                                  - replace_subscriber
                                  - pause_subscriber
                                  - reactivate_subscriber
                                  - remove_subscriber
                              applied:
                                type: boolean
                                const: true
                              principalId:
                                type: string
                              storefrontId:
                                type: integer
                                exclusiveMinimum: 0
                                maximum: 2147483647
                              configurationVersion:
                                type: string
                                minLength: 1
                                maxLength: 255
                            required:
                              - kind
                              - applied
                              - principalId
                              - storefrontId
                              - configurationVersion
                            additionalProperties: false
                          - type: object
                            properties:
                              kind:
                                type: string
                                enum:
                                  - suspend
                                  - retire
                              applied:
                                type: boolean
                                const: true
                              principalId:
                                type: string
                              storefrontId:
                                type: integer
                                exclusiveMinimum: 0
                                maximum: 2147483647
                              lifecycleState:
                                type: string
                                enum:
                                  - suspended
                                  - retired
                            required:
                              - kind
                              - applied
                              - principalId
                              - storefrontId
                              - lifecycleState
                            additionalProperties: false
                      - type: 'null'
                  error:
                    anyOf:
                      - type: object
                        properties:
                          code:
                            type: string
                          message:
                            type: string
                          field:
                            type: string
                          details: {}
                        required:
                          - code
                          - message
                        additionalProperties: false
                      - type: 'null'
                required:
                  - data
                  - error
                additionalProperties: false
        default:
          description: >-
            Error envelope `{data: null, error: {code, message, field?,
            details?}}`.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or OAuth access token.
    sessionCookie:
      type: apiKey
      in: cookie
      name: __Host-sc_session
      description: >-
        The app session: host-only on the api and sent only by the web app.
        Integrations use bearerAuth.

````