> ## 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.

# Current discovery results



## OpenAPI

````yaml /openapi/buyer.yaml get /api/v2/buyer/discovery/{id}/discover-products
openapi: 3.1.0
info:
  title: Semicola Exchange buyer API
  version: 2.0.0
  description: >-
    Buyer endpoints: advertisers, storefronts and connections, product
    discovery, campaigns, proposals, media buys, creatives and reporting. Every
    write accepts an Idempotency-Key header.
servers:
  - url: https://api.semicola.com
security:
  - bearerAuth: []
  - sessionCookie: []
tags:
  - name: Advertisers
  - name: Storefronts
  - name: Product Discovery
  - name: Campaigns
  - name: Media Buys
  - name: Creatives
  - name: Reporting
  - name: Event Sources
  - name: Webhooks
  - name: Tasks
  - name: Audit Logs
paths:
  /api/v2/buyer/discovery/{id}/discover-products:
    get:
      tags:
        - Product Discovery
      summary: Current discovery results
      operationId: getBuyerDiscoveryByIdDiscoverProducts
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                      - type: object
                        properties:
                          discoveryId:
                            type: string
                          productGroups:
                            type: array
                            items:
                              type: object
                              properties:
                                groupId:
                                  type: string
                                groupName:
                                  type: string
                                storefrontId:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                storefrontName:
                                  type: string
                                products:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      productId:
                                        type: string
                                      name:
                                        type: string
                                      description:
                                        type:
                                          - string
                                          - 'null'
                                      channels:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - display
                                            - olv
                                            - social
                                            - search
                                            - ctv
                                            - linear_tv
                                            - radio
                                            - streaming_audio
                                            - podcast
                                            - dooh
                                            - ooh
                                            - print
                                            - cinema
                                            - email
                                            - gaming
                                            - retail_media
                                            - influencer
                                            - affiliate
                                            - product_placement
                                            - sponsored_intelligence
                                      formatKinds:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - image
                                            - html5
                                            - display_tag
                                            - image_carousel
                                            - video_hosted
                                            - video_vast
                                            - audio_hosted
                                            - audio_daast
                                            - sponsored_placement
                                            - native_in_feed
                                            - responsive_creative
                                            - agent_placement
                                            - custom
                                      deliveryType:
                                        type: string
                                        enum:
                                          - guaranteed
                                          - non_guaranteed
                                      pricingOptions:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            pricingOptionId:
                                              type: string
                                            pricingModel:
                                              type: string
                                              enum:
                                                - cpm
                                                - vcpm
                                                - cpc
                                                - cpcv
                                                - cpv
                                                - cpp
                                                - cpa
                                                - flat_rate
                                                - time
                                            currency:
                                              type: string
                                              pattern: ^[A-Z]{3}$
                                            rate:
                                              anyOf:
                                                - type: string
                                                  pattern: ^-?\d+(\.\d{1,6})?$
                                                - type: 'null'
                                            floorPrice:
                                              anyOf:
                                                - type: string
                                                  pattern: ^-?\d+(\.\d{1,6})?$
                                                - type: 'null'
                                            isFixed:
                                              type: boolean
                                          required:
                                            - pricingOptionId
                                            - pricingModel
                                            - currency
                                            - rate
                                            - floorPrice
                                            - isFixed
                                          additionalProperties: false
                                      forecast:
                                        anyOf:
                                          - type: object
                                            propertyNames:
                                              type: string
                                            additionalProperties: {}
                                          - type: 'null'
                                    required:
                                      - productId
                                      - name
                                      - description
                                      - channels
                                      - formatKinds
                                      - deliveryType
                                      - pricingOptions
                                      - forecast
                                    additionalProperties: false
                                productCount:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                totalProducts:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                hasMoreProducts:
                                  type: boolean
                              required:
                                - groupId
                                - groupName
                                - storefrontId
                                - storefrontName
                                - products
                                - productCount
                                - totalProducts
                                - hasMoreProducts
                              additionalProperties: false
                          proposals:
                            type: array
                            items:
                              type: object
                              properties:
                                proposalId:
                                  type: string
                                name:
                                  type: string
                                description:
                                  type:
                                    - string
                                    - 'null'
                                briefAlignment:
                                  type:
                                    - string
                                    - 'null'
                                salesAgentId:
                                  type:
                                    - string
                                    - 'null'
                                storefrontId:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                allocations:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      productId:
                                        type: string
                                      productName:
                                        type: string
                                      allocationPercentage:
                                        type: number
                                        minimum: 0
                                        maximum: 100
                                      role:
                                        type: string
                                      rationale:
                                        type: string
                                    required:
                                      - productId
                                    additionalProperties: false
                                expiresAt:
                                  anyOf:
                                    - type: string
                                      format: date-time
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                    - type: 'null'
                                totalBudgetGuidance:
                                  anyOf:
                                    - type: object
                                      properties:
                                        min:
                                          type: string
                                          pattern: ^-?\d+(\.\d{1,6})?$
                                        recommended:
                                          type: string
                                          pattern: ^-?\d+(\.\d{1,6})?$
                                        max:
                                          type: string
                                          pattern: ^-?\d+(\.\d{1,6})?$
                                        currency:
                                          type: string
                                          pattern: ^[A-Z]{3}$
                                      required:
                                        - currency
                                      additionalProperties: false
                                    - type: 'null'
                              required:
                                - proposalId
                                - name
                                - description
                                - briefAlignment
                                - salesAgentId
                                - storefrontId
                                - allocations
                                - expiresAt
                                - totalBudgetGuidance
                              additionalProperties: false
                          incompleteAgents:
                            type: array
                            items:
                              type: object
                              properties:
                                storefrontId:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                reason:
                                  type: string
                                  enum:
                                    - timeout
                                    - upstream_incomplete
                                    - persistence_incomplete
                              required:
                                - storefrontId
                                - reason
                              additionalProperties: false
                          revision:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          resultsComplete:
                            type: boolean
                          pendingAgents:
                            type: array
                            items:
                              type: string
                        required:
                          - discoveryId
                          - productGroups
                          - proposals
                          - incompleteAgents
                          - revision
                          - resultsComplete
                          - pendingAgents
                        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: sc_session

````