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

# Replace the opportunity's strategy-list memberships (multi-list)



## OpenAPI

````yaml /api-reference/openapi.json put /api/v2/brands/{brand_id}/opportunities/{id}/lists
openapi: 3.0.1
info:
  title: Cognizo Public API
  version: v1
  description: >-
    Public REST API for Cognizo. Authenticate with an API key via the
    `X-API-KEY` header.
servers:
  - url: https://core.cognizo.ai
security:
  - apiKey: []
paths:
  /api/v2/brands/{brand_id}/opportunities/{id}/lists:
    parameters:
      - name: brand_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
    put:
      tags:
        - Opportunities
      summary: Replace the opportunity's strategy-list memberships (multi-list)
      operationId: update_brand_ad_opportunity_list_membership
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                list_ids:
                  type: array
                  items:
                    type: string
                    format: uuid
              required:
                - list_ids
      responses:
        '200':
          description: memberships synced
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/opportunity'
        '400':
          description: list_id from another brand
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
components:
  schemas:
    opportunity:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - context_hint
            - keyword
        intent:
          type: string
          enum:
            - C
            - I
            - T
            - 'N'
          nullable: true
        difficulty:
          type: integer
          nullable: true
        cpc_micros:
          type: integer
          nullable: true
        est_volume:
          type: integer
          nullable: true
        est_volume_unit:
          type: string
          enum:
            - runs_per_week
            - searches_per_month
          nullable: true
        volume_range:
          type: string
          nullable: true
          enum:
            - <10
            - 10-50
            - 50-150
            - 150-250
            - 250-500
            - 500-1k
            - 1k-2.5k
            - 2.5k-5k
            - 5k-15k
            - 15k-50k
            - 50k-150k
            - 150k-500k
            - 500k-1m
            - 1m+
            - null
          description: >-
            Bucketed label derived from `est_volume` (Volumes::VolumeRange);
            enum ordered smallest→largest.
        reasoning_tags:
          type: array
          items:
            type: string
        rationale:
          type: string
          nullable: true
        final_score:
          type: number
        scores:
          type: object
          additionalProperties:
            type: number
        computed_at:
          type: string
          format: date-time
        source:
          oneOf:
            - $ref: '#/components/schemas/opportunity_source_context_hint'
            - $ref: '#/components/schemas/opportunity_source_keyword'
          nullable: true
        matched_prompt:
          type: object
          nullable: true
          properties:
            id:
              type: string
              format: uuid
            text:
              type: string
        list_ids:
          type: array
          items:
            type: string
            format: uuid
      required:
        - id
        - type
        - final_score
        - reasoning_tags
        - intent
        - difficulty
        - cpc_micros
        - est_volume
        - est_volume_unit
        - scores
        - computed_at
    error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: array
              items:
                $ref: '#/components/schemas/error_detail'
          required:
            - code
            - message
      required:
        - error
    opportunity_source_context_hint:
      type: object
      properties:
        kind:
          type: string
          enum:
            - context_hint
        text:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        prompt_ids:
          type: array
          items:
            type: string
            format: uuid
        prompts:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              text:
                type: string
            required:
              - id
              - text
      required:
        - kind
        - text
        - description
        - prompt_ids
        - prompts
    opportunity_source_keyword:
      type: object
      properties:
        kind:
          type: string
          enum:
            - google_ads_keyword
        id:
          type: string
          format: uuid
        text:
          type: string
        match_type:
          type: string
          nullable: true
        campaign_name:
          type: string
          nullable: true
        ad_group_name:
          type: string
          nullable: true
        clicks:
          type: integer
        impressions:
          type: integer
        ctr_bps:
          type: integer
        conversions:
          type: integer
      required:
        - kind
        - id
        - text
        - clicks
        - impressions
        - ctr_bps
        - conversions
    error_detail:
      type: object
      properties:
        field:
          type: string
          nullable: true
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
        - field
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY

````