openapi: 3.0.0
info:
  title: GobbleCube Enterprise API FINAL
  version: 1.0.0
  description: >-
    # Overview


    Enterprise-ready API for campaign and job management on GobbleCube platform.


    ## Getting Started


    ### Authentication


    All requests must include:


    - `X-API-Key`: Your API key (90-day expiry, managed through dashboard)

    - `Platform`: Platform name (`zepto`)


    **API Key Management:**


    - API keys expire after 90 days

    - Key generation and rotation managed through GobbleCube dashboard

    - IP whitelisting supported for enhanced security

    - Environment segregation at account level (production vs sandbox accounts)


    ### Request Headers


    **Required Headers:**


    - `X-API-Key`: Your API key for authentication

    - `Platform`: Platform name (`zepto`)


    **Optional Headers:**


    - `X-Request-ID`: Request ID for traceability (if not provided, one will be
    generated)


    **Response Headers:**


    - `X-Request-ID`: Request ID for traceability and audit logging (always
    present)


    ### Features


    - **Campaign Management**: Bulk creation, list, update, get details

    - **Keyword Management**: Add, update, remove, bulk operations

    - **Product & City Management**: Add/remove products, create groups

    - **Live Data**: Keyword Share of Search (SOS) with real-time scraping

    - **T-1 Data**: Detailed campaign performance metrics (yesterday's data)

    - **Job Management**: Poll async job status, bulk job creation


    ### Postman Collection


    Please contact your POC (Point of Contact) to get access to the Postman
    collection for faster integration and testing.


    ## API Reference


    ### Rate Limiting


    **Rate Limits:**


    - **Overall API**: 200 requests per minute (RPM)

    - **Sliding Window**: Rate limiting implemented using sliding window
    algorithm

    - **Per Application**: Rate limits applied per API key/application

    - **Keyword SOS**: 5 keywords every 15 minutes (per API key)

    - **Page Limit**: Maximum page limit for all paginated GET APIs is 200 per
    page


    **Rate Limit Headers:**

    When rate limits are approached or exceeded, the following headers are
    included in responses:


    - `X-RateLimit-Limit`: Maximum requests allowed per window

    - `X-RateLimit-Remaining`: Remaining requests in current window

    - `X-RateLimit-Reset`: Time when the rate limit window resets


    **Rate Limit Exceeded:**


    - HTTP Status: `429 Too Many Requests`

    - Response includes retry-after information

    - Implement exponential backoff for retries


    ### Error Handling


    **Standard HTTP Status Codes:**


    - `200 OK` - Successful request

    - `201 Created` - Resource created successfully

    - `202 Accepted` - Request accepted for async processing

    - `400 Bad Request` - Invalid request parameters or payload

    - `401 Unauthorized` - Missing or invalid API key

    - `403 Forbidden` - Insufficient permissions

    - `404 Not Found` - Resource not found

    - `429 Too Many Requests` - Rate limit exceeded

    - `500 Internal Server Error` - Server error

    - `502 Bad Gateway` - Gateway error

    - `503 Service Unavailable` - Service temporarily unavailable


    **Error Response Format:**


    ``` json

    {
      "code": "ERROR_CODE",
      "message": "Human-readable error message",
      "details": "Additional error details (optional)"
    }

     ```

    **Retry Logic:**


    - Safe to retry API calls with exponential backoff up to 3 times

    - Use `X-Request-ID` from response to track retries

    - Do not retry on 4xx errors (except 429 with retry-after)

    - Retry on 5xx errors and network failures


    ### Idempotency


    - All operations support idempotency

    - Duplicate request detection mechanism in place

    - Use `X-Request-ID` header to ensure idempotency across retries

    - Same request with same `X-Request-ID` will return same result


    ### Request Ordering


    - Requests are queued and processed based on workflow type priority

    - For deterministic ordering requirements, contact support for guidance

    - Campaign-level ordering can be configured if needed


    ### Data Freshness & Sync


    **Platform Sync:**


    - Two-way sync between GobbleCube and platform ad consoles

    - Platform to GobbleCube sync: Maximum SLA of 3 hours

    - Data accuracy maintained through continuous synchronization


    **T-1 Data:**


    - T-1 data represents yesterday's performance metrics

    - Available through `GET /v1/t1-data` endpoint

    - Data is refreshed daily


    **Historical Data:**


    - Historical SOS snapshots available

    - Live data available through API endpoints


    ### Audit & Logging


    **Request Tracking:**


    - All requests return `X-Request-ID` in response headers

    - Request ID used for logging and audit trail

    - Include `X-Request-ID` in support requests for faster resolution


    **Audit Trail:**


    - All API requests logged with: request ID, entity ID, timestamp, payload,
    response code

    - Log retention: 90 days

    - Audit trails available through request logs


    **Daily Summary Logs:**


    - Automated daily summary logs will be sent on email

    - Includes all POST and GET activities

    - Contact support for access


    ### API Versioning


    **Version Policy:**


    - Current version: `v1`

    - Backward compatibility maintained across minor versions

    - Major versions (breaking changes) released as new version endpoints

    - 1 month deprecation notice period for breaking changes

    - Communication via Slack channels for version updates


    **Versioning Strategy:**


    - Standard REST-based versioning

    - Version included in URL path: `/v1/...`

    - Future versions: `/v2/...`, etc.


    ### Base URLs


    - **Production**: `https://enterprise-api.gobblecube.ai` (Live
        )


    **Environment Segregation:**


    - Separate accounts for production and sandbox

    - Same API endpoints, different account credentials

    - IP whitelisting supported per environment


    ### Security


    **Data Encryption:**


    - Data encrypted in transit (TLS/HTTPS)

    - Data encrypted at rest

    - HTTP protocol not allowed (HTTPS only)


    **Data Isolation:**


    - Customer data in separate databases

    - Role-based access control (RBAC) ensures Principle of Least Privilege
    (POLP)

    - Cross-client data access prevented through architecture


    **Certifications:**


    - SOC2 Type II compliance

    - Yearly penetration testing (next report: December 2026)

    - MFA enabled by default (no password-based authentication)


    Contact Support:

    Name: API Support

    Email:
    [ishant.dahiya@gobblecube.ai](https://mailto:ishant.dahiya@gobblecube.ai)
servers:
  - url: https://enterprise-api.gobblecube.ai/
paths:
  /v1/bulk-update:
    post:
      summary: Bulk operations orchestrator (bid updates / bid multiplier updates)
      parameters:
        - name: Platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  batch_job_id:
                    type: string
                  status:
                    type: string
              example:
                batch_job_id: ce17ca44-046f-4d80-a7ea-f274f787ffe0
                status: PENDING
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - bulk-update
      description: >-
        Accepts Monet bulk operation format and forwards to Monet for
        orchestration.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                job_type:
                  type: string
                  enum:
                    - sequential
                    - parallel
                method:
                  type: string
                  enum:
                    - bid_multiplier_update
                    - bid_update
                payloads:
                  type: array
                  items:
                    type: object
                    properties:
                      campaign_id:
                        type: string
                      keywords:
                        type: array
                        items:
                          type: object
                          properties:
                            bid:
                              type: integer
                            keyword:
                              type: string
                            match_type:
                              type: string
                          required:
                            - bid
                            - keyword
                            - match_type
                      tos:
                        type: object
                      zpu:
                        type: object
                    required:
                      - campaign_id
              required:
                - job_type
                - method
                - payloads
            example:
              method: bid_multiplier_update
              job_type: sequential
              payloads:
                - campaign_id: '2005795'
                  tos:
                    base: 0
                    premium: 10
                    super_saver: 20
                  zpu:
                    base: 0
                    premium: 5
                    super_saver: 15
                - campaign_id: '2006808'
                  tos:
                    base: 0
                    premium: 0
                    super_saver: 0
                  zpu:
                    base: 0
                    premium: 0
                    super_saver: 0
  /v1/campaigns/{campaign_id}/bid-multipliers:
    post:
      summary: Update bid multipliers
      parameters:
        - name: Platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      campaign_id:
                        type: string
                      bid_multipliers:
                        type: object
                        properties:
                          tos:
                            type: object
                            properties:
                              base:
                                type: integer
                              premium:
                                type: integer
                              super_saver:
                                type: integer
                          zpu:
                            type: object
                            properties:
                              base:
                                type: integer
                              premium:
                                type: integer
                              super_saver:
                                type: integer
                          time:
                            type: object
                      updated_at:
                        type: string
              example:
                success: true
                message: Bid multipliers updated successfully
                data:
                  campaign_id: string
                  bid_multipliers:
                    tos:
                      base: 0
                      premium: 0
                      super_saver: 0
                    zpu:
                      base: 0
                      premium: 0
                      super_saver: 0
                    time: {}
                  updated_at: '2024-01-15T10:30:00.000000'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - campaigns
        - '{campaign_id}'
        - bid-multipliers
      description: Update bid multipliers for a campaign
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tos:
                  type: object
                zpu:
                  type: object
              required:
                - tos
                - zpu
            example:
              tos:
                base: 0
                premium: 10
                super_saver: 20
              zpu:
                base: 0
                premium: 5
                super_saver: 15
    parameters:
      - name: campaign_id
        in: path
        required: true
        description: Campaign ID
        schema:
          type: string
        example: '2005795'
  /v1/campaigns/{campaign_id}/keywords/update-bid:
    post:
      summary: Update keyword bids
      parameters:
        - name: x-api-key
          in: header
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          description: Platform identifier
          schema:
            type: string
          example: zepto
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      campaign_id:
                        type: string
                      results:
                        type: array
                        items:
                          type: object
                          properties:
                            keyword:
                              type: string
                            match_type:
                              type: string
                            bid:
                              type: integer
                            success:
                              type: boolean
                      updated_at:
                        type: string
              example:
                success: true
                message: Updated 1 of 1 keyword(s) successfully
                data:
                  campaign_id: '2005795'
                  results:
                    - keyword: shampoo
                      match_type: EXACT
                      bid: 150
                      success: true
                      error: null
                  updated_at: '2026-01-22T12:47:21.542465'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - campaigns
        - '{campaign_id}'
        - keywords
        - update-bid
      security:
        - ApiKeyAuth: []
      description: Update bids for one or more keywords in a campaign
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                keywords:
                  type: array
                  items:
                    type: object
                    properties:
                      bid:
                        type: integer
                      keyword:
                        type: string
                      match_type:
                        type: string
                    required:
                      - bid
                      - keyword
                      - match_type
              required:
                - keywords
            example:
              keywords:
                - keyword: shampoo
                  match_type: exact
                  bid: 150
    parameters:
      - name: campaign_id
        in: path
        required: true
        description: Campaign ID
        schema:
          type: string
        example: string
  /v1/campaigns/{campaign_id}/keywords:
    get:
      summary: List keywords in campaign
      parameters:
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:48:35 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '1760'
            X-Request-Id:
              schema:
                type: string
              example: 416438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        keyword:
                          type: string
                        bid:
                          type: integer
                        match_type:
                          type: string
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items:
                  - id: >-
                      b4915512a39c0148b8fc6e5d1bd2812990934ec97d056b23eb6838e312742406
                    keyword: painting shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      683310b5d34a9dab545a2309643bfaaec4de43d01f9a64992e5d0a184b9aee67
                    keyword: panteen
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      2f94f23140facf3cf1fba928c033532205957369860930efe9e1a8067f52c832
                    keyword: panteene
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      b8a5727b52f1ccfad1c545a2f58dd79f845e70a984e9fbc6547c0714bb5fa388
                    keyword: panteen shampo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      7917793690c83da59c1bef84b8a08a94a69bda308a5c898c4eee4382eadecf21
                    keyword: panteen shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      0f0e761a208442a9bd24abb3321bd11d665d634975d46e0dd49d59520885f331
                    keyword: panten
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      5bb88ca6f1b5174db7e65430e49b4cc0e64d9c4e59289761ce76628ae129ea97
                    keyword: pantene
                    bid: 10
                    match_type: PHRASE
                  - id: >-
                      aa3e726c377ea614453ef8dc5cb77b3f50e66838471ed7006127619668e1f6f2
                    keyword: pantene advance
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      ab17147408b478598f9ef40644d202b4f3109d85fa0b5d9ace867626301b5727
                    keyword: pantene adv hairfall
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      170953398a79efe8d939ea945a34b600f1166c5194892c061c7ce4d7da57ba0e
                    keyword: pantene hairfall
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      9ff1931a052d711fedc0bd45dc87096d5f6365b4f96771c37afd2d2705d6d130
                    keyword: pantene hair fall
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      6562b786ad49bcd3d806bb7e81f6ecb384272e036cb5ad0c213376b95ce0536c
                    keyword: pantene hairfall control
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      2f700d254e7b903a570155dc5a6bb1e89517763c2d1685aec432fcd1643eaa3f
                    keyword: pantene hair fall control shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      df3eb39f06b46754bb90dd31135ff7f995b6096d64e7f12889364acca850da43
                    keyword: pantene hair fall shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      5de6cab37cff9844e6e1366364de766c37a2b5ba66bda7aa55065db84c456456
                    keyword: pantene hairfall shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      412c8aef963af94319e49138b70823f18dce47c93c17c80f021038b158ba2644
                    keyword: pantene hairfall solution
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      2fd02c8bb33daa4e7ffc5874c3ca30c38fc720d1391e0dfbce84e8e26ffba626
                    keyword: pantene hair science
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      4bfa6c1c6c4b373363c3373bb2360ef0788bd52c8c89d27ebf717784072fbd36
                    keyword: pantene lively
                    bid: 10
                    match_type: PHRASE
                  - id: >-
                      327f0107dac37654aa33ac3723a9d33324341b5e45d273f85f3c9f4315b7c3a4
                    keyword: pantene lively clean
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      24c6317471197ae9d7adfee13218457793f35e7c724b79e40755b1925d113c44
                    keyword: pantene lively clean shampoo
                    bid: 10
                    match_type: PHRASE
                  - id: >-
                      ef2dca3e68254a32ab4eaca042a74ecbfcfe9d62b3d6852f6637ce2b8c6699bc
                    keyword: pantene pink
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      bd5f92b857b62da2ee15beaaab1105ffbd01bc989875e0e18d2c34bc3df6b5fc
                    keyword: pantene pro v
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      6a7203322ac18bcc8ee7f159c1d6fbe8530aeaa160b4b336c27f08bb63b58753
                    keyword: pantene sampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      a1e017f1b527b36f33b18803c6b5c066998d2f241d6afa9b72ae6e2c0e8b55a1
                    keyword: pantene shampo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      0cc0dcedf014ca23ebac16133dc5f8a69d380ed33bc475e117ea12f137d60d6b
                    keyword: pantene shampoo
                    bid: 10
                    match_type: PHRASE
                  - id: >-
                      dfe213a986152119c94cb3b4167475e16cc9b3486d2b5123998b4f093c2f49bf
                    keyword: pantene shampoo small
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      f02b801f71cd6e9bd1b490465ee8ce288a124eceefdfc25baaf01227c065e014
                    keyword: pantene silky
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      5a346c7e64c3756b54b9b0f5837cd6d278048d67310639364411db3330112411
                    keyword: pantene silky smooth
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      9e657d40a3c13275580cf7e61af0e1c84e705493458b2060ba150d9529f1cb66
                    keyword: pantine
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      e279f8b74d1a215665743eb2cc61091c09eed56fdb42bc4ee0454251ed83fc70
                    keyword: pantine shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      c8a58658bd90ff4301cd19747be1340147449c4bc454e09651bd77ef0059878f
                    keyword: pantin shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      a7439525e8d8c4904a4e36e70ec0064bdfad0f99b9438b6d0d20b59608750e4b
                    keyword: pantrne
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      54d3c240062162d6ba9055824787950c5cc7add021d0dd3366115f4691a2d789
                    keyword: patene shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      299053cf410ba777855a2cc4d9ee0514babfc17d57bfd415f0401a2c8428327a
                    keyword: patten
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      51cb13e206f4e7b2457b46816610c3afc597cf3bee856e8068b3881d6e83f51f
                    keyword: pentene
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      edc83f89360991da0b203012ee4a9544f47d2d8f7708bceb8bfe77c340da480e
                    keyword: pentene shampoo
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      cd375298e4e7e46c538e07611d36567eb0c16b150223314717a513ca14b5dd98
                    keyword: shampoo panteen
                    bid: 10
                    match_type: EXACT
                  - id: >-
                      a31e0b27f6f13bad33520ac6afcc4dd1341d07c2155c584435bf59234d52e122
                    keyword: shampoo pantene
                    bid: 10
                    match_type: PHRASE
                  - id: >-
                      637edce1557234b68fca5ff00fee25149734abda30e61d1507165bbcc28bedd5
                    keyword: shampoo pantin
                    bid: 10
                    match_type: EXACT
                total: 39
                page: 1
                limit: 50
                total_pages: 1
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - campaigns
        - '{campaign_id}'
        - keywords
      security:
        - ApiKeyAuth: []
      description: Get all keywords associated with a specific campaign
    parameters:
      - name: campaign_id
        in: path
        required: true
        description: Campaign ID
        schema:
          type: string
        example: string
  /v1/campaigns/{campaign_id}/products:
    get:
      summary: List products in campaign
      parameters:
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:46:05 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '587'
            X-Request-Id:
              schema:
                type: string
              example: 3e6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        product_id:
                          type: string
                        name:
                          type: string
                        mrp:
                          type: integer
                        image_link:
                          type: string
                          format: uri
                        status:
                          type: string
                        operator:
                          type: string
                        sys_campaign_id:
                          type: string
                        sys_campaign_platform_name:
                          type: string
                        is_archived:
                          type: boolean
                        last_updated_at:
                          type: string
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items:
                  - sys_id: null
                    product_id: 6b7306aa-86f2-49c8-b40d-187b5787e94a
                    name: Pantene 2 In 1 Hairfall Control Shampoo + Conditioner
                    mrp: 999
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/583f3538-a9b4-45bc-93d3-6d4fb9953be9.jpeg
                    status: PAUSED
                    operator: zepto
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:08.892751'
                  - sys_id: null
                    product_id: 803d54cc-ee0f-48ee-9e58-18ed0cafc013
                    name: >-
                      Pantene Hairscience Hairfall Control Shampoo Lesser
                      Hairfall,With Vitaminb
                    mrp: 799
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e59c9175-9e13-4ec2-889e-f81cdad120ae.jpeg
                    status: PAUSED
                    operator: zepto
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:08.892751'
                  - sys_id: null
                    product_id: 9f4d6112-f437-41a0-bd6f-886c4dd9cf2d
                    name: Pantene 2 in 1 Hairfall Control Shampoo + Conditioner
                    mrp: 285
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/18491b9e-b6c8-46a8-84b0-4b14cc3f07fa.jpeg
                    status: PAUSED
                    operator: zepto
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:08.892751'
                  - sys_id: null
                    product_id: af64fea2-b3e8-4c7b-8b2e-1f650fd6f7a9
                    name: >-
                      Pantene Pro-V Advanced Hairfall Solution, Silky Smooth
                      Care Shampoo
                    mrp: 799
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e831be72-6e01-45ad-83fc-e2e27ef2693c.jpeg
                    status: PAUSED
                    operator: zepto
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:08.892751'
                total: 4
                page: 1
                limit: 50
                total_pages: 1
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - campaigns
        - '{campaign_id}'
        - products
      security:
        - ApiKeyAuth: []
      description: Get all products associated with a specific campaign
    parameters:
      - name: campaign_id
        in: path
        required: true
        description: Campaign ID
        schema:
          type: string
        example: string
  /v1/campaigns/{campaign_id}:
    get:
      summary: Get campaign details
      parameters:
        - name: Platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:45:13 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '1208'
            X-Request-Id:
              schema:
                type: string
              example: 3d6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  platform_name:
                    type: string
                  status:
                    type: string
                  start_date:
                    type: string
                  creation_date:
                    type: string
                  ro_id:
                    type: string
                  budget_type:
                    type: string
                  bid:
                    type: integer
                  daily_budget:
                    type: integer
                  total_budget:
                    type: integer
                  type:
                    type: string
                  sub_type:
                    type: string
                  bidding_stratergy:
                    type: string
                  bid_multipliers:
                    type: object
                    properties:
                      tos:
                        type: object
                        properties:
                          base:
                            type: integer
                          premium:
                            type: integer
                          super_saver:
                            type: integer
                      zpu:
                        type: object
                        properties:
                          base:
                            type: integer
                          premium:
                            type: integer
                          super_saver:
                            type: integer
                  city_targets:
                    type: array
                    items: {}
                  store_targets:
                    type: array
                    items: {}
                  brand_id:
                    type: string
                  keyword_targeting_enabled:
                    type: boolean
                  campaign_config:
                    type: object
                    properties:
                      id:
                        type: integer
                      campaign_id:
                        type: integer
                      city_targeting:
                        type: string
                      store_targeting:
                        type: string
                      priority:
                        type: string
                      product_targeting:
                        type: string
                      bid_targeting:
                        type: string
                      multiplier_config:
                        type: object
                        properties:
                          tos:
                            type: object
                            properties:
                              base:
                                type: integer
                              premium:
                                type: integer
                              super_saver:
                                type: integer
                          zpu:
                            type: object
                            properties:
                              base:
                                type: integer
                              premium:
                                type: integer
                              super_saver:
                                type: integer
                  last_updated_on:
                    type: string
                  brand_name:
                    type: string
                  adgroup_list:
                    type: array
                    items: {}
                  keyword_list:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        target_value:
                          type: string
                        sys_campaign_id:
                          type: string
                        sys_campaign_platform_name:
                          type: string
                        target_type:
                          type: string
                        is_negative:
                          type: boolean
                        status:
                          type: string
                        bid_value:
                          type: integer
                        last_updated:
                          type: string
                  product_list:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        mrp:
                          type: integer
                        image_link:
                          type: string
                          format: uri
                        status:
                          type: string
                        sys_campaign_id:
                          type: string
                        sys_campaign_platform_name:
                          type: string
                        last_updated_at:
                          type: string
                  pause_after_creation:
                    type: boolean
                  asset_type:
                    type: string
                  sys_id:
                    type: string
              example:
                id: '2006799'
                name: pantene shampoo cat
                platform_name: zepto
                status: PAUSED
                start_date: '2024-11-30T00:00:00'
                creation_date: '2024-11-26T02:15:03'
                end_date: null
                ro_id: PLA_MIGRATED_860004
                budget_type: DAILY_BUDGET_WITH_MAX_CAP
                bid: 0
                daily_budget: 500
                total_budget: 0
                type: PLA
                sub_type: AUCTION
                bidding_stratergy: FIXED
                bid_multipliers:
                  tos:
                    base: 30
                    premium: 0
                    super_saver: 0
                  zpu:
                    base: 0
                    premium: 0
                    super_saver: 0
                city_targets: []
                store_targets: []
                brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                keyword_targeting_enabled: false
                campaign_config:
                  id: 5575
                  campaign_id: 2006799
                  city_targeting: ALL
                  store_targeting: ALL
                  priority: NORMAL
                  product_targeting: MANUAL
                  bid_targeting: SUBCATEGORY
                  multiplier_config:
                    tos:
                      base: 30
                      premium: 0
                      super_saver: 0
                    zpu:
                      base: 0
                      premium: 0
                      super_saver: 0
                last_updated_on: '2026-01-21T07:12:08.884491'
                brand_name: pantene
                portfolio: null
                daily_budget_base: null
                total_budget_base: null
                adgroup_list: []
                keyword_list:
                  - id: >-
                      51fea89f7becc6755d2a3ba6f4672a81a8b46944cb123792be9432935e52de17
                    target_value: Shampoo
                    match_type: null
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    sys_adgroup_id: null
                    target_type: category
                    max_boost: null
                    is_negative: false
                    status: PAUSED
                    bid_value: 0
                    last_updated: '2026-01-21T07:12:08.888354'
                product_list:
                  - id: 6b7306aa-86f2-49c8-b40d-187b5787e94a
                    name: Pantene 2 In 1 Hairfall Control Shampoo + Conditioner
                    mrp: 999
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/583f3538-a9b4-45bc-93d3-6d4fb9953be9.jpeg
                    status: PAUSED
                    operator: null
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    sys_adgroup_id: null
                    last_updated_at: '2026-01-21T07:12:08.892751'
                  - id: 803d54cc-ee0f-48ee-9e58-18ed0cafc013
                    name: >-
                      Pantene Hairscience Hairfall Control Shampoo Lesser
                      Hairfall,With Vitaminb
                    mrp: 799
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e59c9175-9e13-4ec2-889e-f81cdad120ae.jpeg
                    status: PAUSED
                    operator: null
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    sys_adgroup_id: null
                    last_updated_at: '2026-01-21T07:12:08.892751'
                  - id: 9f4d6112-f437-41a0-bd6f-886c4dd9cf2d
                    name: Pantene 2 in 1 Hairfall Control Shampoo + Conditioner
                    mrp: 285
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/18491b9e-b6c8-46a8-84b0-4b14cc3f07fa.jpeg
                    status: PAUSED
                    operator: null
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    sys_adgroup_id: null
                    last_updated_at: '2026-01-21T07:12:08.892751'
                  - id: af64fea2-b3e8-4c7b-8b2e-1f650fd6f7a9
                    name: >-
                      Pantene Pro-V Advanced Hairfall Solution, Silky Smooth
                      Care Shampoo
                    mrp: 799
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e831be72-6e01-45ad-83fc-e2e27ef2693c.jpeg
                    status: PAUSED
                    operator: null
                    sys_campaign_id: '2006799'
                    sys_campaign_platform_name: zepto
                    sys_adgroup_id: null
                    last_updated_at: '2026-01-21T07:12:08.892751'
                pause_after_creation: false
                asset_type: PRODUCT_LISTING
                recommendation_targeting: null
                sys_id: 3281e971-d3ef-42cf-9833-0eaf6f72589f
                ruleset: null
                tags: null
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - campaigns
        - '{campaign_id}'
      description: Get detailed information about a specific campaign
    parameters:
      - name: campaign_id
        in: path
        required: true
        description: Campaign ID
        schema:
          type: string
        example: '2006799'
  /v1/campaigns:
    get:
      summary: List campaigns
      parameters:
        - name: status
          in: query
          description: Campaign status
          schema:
            type: string
          example: string
        - name: brand_name
          in: query
          description: Brand name filter
          schema:
            type: string
          example: string
        - name: start_date
          in: query
          description: Start date filter
          schema:
            type: string
          example: string
        - name: end_date
          in: query
          description: End date filter
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: include_tags
          in: query
          description: Include tags
          schema:
            type: string
            default: 'false'
          example: 'false'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 07:13:45 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '4883'
            X-Request-Id:
              schema:
                type: string
              example: 4f6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        platform_name:
                          type: string
                        status:
                          type: string
                        start_date:
                          type: string
                        creation_date:
                          type: string
                        ro_id:
                          type: string
                        budget_type:
                          type: string
                        bid:
                          type: integer
                        daily_budget:
                          type: integer
                        total_budget:
                          type: integer
                        type:
                          type: string
                        sub_type:
                          type: string
                        bidding_stratergy:
                          type: string
                        bid_multipliers:
                          type: object
                          properties:
                            tos:
                              type: object
                              properties:
                                base:
                                  type: integer
                                premium:
                                  type: integer
                                super_saver:
                                  type: integer
                            zpu:
                              type: object
                              properties:
                                base:
                                  type: integer
                                premium:
                                  type: integer
                                super_saver:
                                  type: integer
                        city_targets:
                          type: array
                          items: {}
                        store_targets:
                          type: array
                          items: {}
                        brand_id:
                          type: string
                        keyword_targeting_enabled:
                          type: boolean
                        campaign_config:
                          type: object
                          properties:
                            id:
                              type: integer
                            campaign_id:
                              type: integer
                            city_targeting:
                              type: string
                            store_targeting:
                              type: string
                            priority:
                              type: string
                            product_targeting:
                              type: string
                            bid_targeting:
                              type: string
                            multiplier_config:
                              type: object
                              properties:
                                tos:
                                  type: object
                                  properties:
                                    base:
                                      type: integer
                                    premium:
                                      type: integer
                                    super_saver:
                                      type: integer
                                zpu:
                                  type: object
                                  properties:
                                    base:
                                      type: integer
                                    premium:
                                      type: integer
                                    super_saver:
                                      type: integer
                        last_updated_on:
                          type: string
                        brand_name:
                          type: string
                        adgroup_list:
                          type: array
                          items: {}
                        keyword_list:
                          type: array
                          items: {}
                        product_list:
                          type: array
                          items: {}
                        pause_after_creation:
                          type: boolean
                        asset_type:
                          type: string
                        sys_id:
                          type: string
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items:
                  - id: '2006799'
                    name: pantene shampoo cat
                    platform_name: zepto
                    status: PAUSED
                    start_date: '2024-11-30T00:00:00'
                    creation_date: '2024-11-26T02:15:03'
                    end_date: null
                    ro_id: PLA_MIGRATED_860004
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 500
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 30
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 5575
                      campaign_id: 2006799
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: SUBCATEGORY
                      multiplier_config:
                        tos:
                          base: 30
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.884491'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 3281e971-d3ef-42cf-9833-0eaf6f72589f
                    ruleset: null
                    tags: null
                  - id: '2009065'
                    name: Pantene x Branded x Shampoo
                    platform_name: zepto
                    status: ACTIVE
                    start_date: '2024-11-30T00:00:00'
                    creation_date: '2024-11-26T15:59:49'
                    end_date: null
                    ro_id: PLA_MIGRATED_860017
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 2000
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 400
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 7841
                      campaign_id: 2009065
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 400
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.546776'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 2ed8509d-0956-4c6b-9f39-e262fe26144c
                    ruleset: null
                    tags: null
                  - id: '2075770'
                    name: PC June Tot
                    platform_name: zepto
                    status: ENDED
                    start_date: '2025-06-02T15:38:44'
                    creation_date: '2025-06-02T15:38:44'
                    end_date: '2025-06-30T23:59:59'
                    ro_id: null
                    budget_type: null
                    bid: 150
                    daily_budget: 6000
                    total_budget: 0
                    type: Display
                    sub_type: PDA
                    bidding_stratergy: CPM
                    bid_multipliers:
                      contextual_multiplier:
                        base: 0
                        premium: 10
                        super_saver: 0
                    city_targets:
                      - f6d77ae4-f662-4f13-a0d5-dc75a72caddd
                      - bedfb594-54b5-4976-8b57-3e1f347e413a
                      - f3cbc158-35a4-4c2c-ac5e-56e1fa5b08fd
                      - 72fb38ea-adb8-468a-9d7b-be46ae9d7fc1
                      - 3de94802-07a4-47c0-947e-65d61302752f
                      - facade53-8330-4ebe-b07e-55319220a301
                      - b4fc5b4c-ef99-4d24-be15-f8690c35955b
                      - 4f30407c-6a3c-4a4e-8a3d-652217d4b6cb
                      - e92d0690-1df3-474b-9a5a-14e9761dfae3
                      - c13eeeb7-d49a-4961-b6ba-93f14c9dd393
                      - 075236e1-be26-4084-a4fe-ceba0a69a5a0
                      - ddf073f6-808e-491a-9cd8-6f1763b38aaa
                      - 9d4b400b-637c-4886-bf35-51231380ce61
                      - 47e68964-42b7-489c-a698-b5a6bdebd374
                      - 7c1962ea-0a21-47b3-bf6c-91afabddc237
                      - 1f68f9e5-6d06-4feb-b2a1-4f208c648951
                      - ee66dc2a-aded-4445-a7b2-1ad63715725c
                      - 5a17386b-33fb-43d4-bf71-258277768fcc
                      - df1ecb02-77a5-47b1-aa59-7c78ad69d1c5
                      - f0e24877-3ed8-4026-a999-69bf3909cc40
                      - 960153c2-f137-44b9-8650-136abe528a9b
                      - 8e6bfeb7-25f2-41c2-be52-75fc98c8025c
                      - 64153376-b4d5-495f-826f-89bd134f12f1
                      - c5b3d670-f20e-4cae-a6b7-42e17b8fb08d
                      - ce56c260-4cf6-4d10-b481-9ed2fd7a90d4
                      - 169ee922-31e9-4c90-9117-38234c705b84
                      - ed4f0a63-4887-4b08-b89c-bf1ac1703f54
                      - ea6e2d03-d75e-474a-90a7-4e79096b5b45
                      - 30735969-391b-478c-a81c-be93115f87a8
                      - 82647e5a-8a81-41f8-8ed7-859e023c448f
                      - a2b4beb2-7c4d-4749-bc95-5b04d4adf837
                      - 551d6727-8fd3-4cc0-8cdc-5912c5b1ce40
                      - f31e8f17-5547-41d9-906e-082c8b3e5f3d
                      - 963e4758-abc3-4766-a26c-bdc4d0c30bd2
                      - 05ed345b-bc36-44bc-9ef6-e9d5055eba40
                      - f938d139-3cb7-4b78-8980-b88178659225
                      - bb5bb05a-5c71-4038-b342-4f1aab72d9a6
                      - d0c5c4c5-ab54-407d-a6f0-d924610c86a6
                      - 3ae99187-1625-4925-b490-6c1b080cd406
                      - a1dcbfe4-e614-4c2c-8143-c277d1aba5f8
                      - 4dda0cbc-9e53-4e45-98f8-87f574857e12
                      - 014af366-5112-4363-9b52-6226a2ff48d9
                      - 9e3216dc-1aff-41c4-bae7-75058158e6d3
                      - 3eb31521-2060-4beb-b6fb-18ba88b6adda
                      - d337388e-1a65-40b4-b89d-0d15c78d611f
                      - 056e834d-a1d2-4df3-a93d-7ebd60e6bb16
                      - 81f24084-8358-4d11-8b79-1acd7efd6a91
                      - d4f93f80-56c6-44d3-af5c-c37e70e11770
                      - a64421ba-ce07-4688-bf9e-b97533ebda45
                      - 35e672bd-8f0e-4e9d-9391-5b977c4b52ea
                      - c0d479f8-52bf-4781-8d56-ecfcb21b41d1
                      - 449216c9-1760-4194-a9d4-06f5b3ddb7db
                      - ac7cd4f0-8980-41ee-9931-cbbd3865907c
                      - 16f9be64-9fe0-4c07-b58c-f69b0d3d0610
                      - 3cd6c684-388d-45b4-b050-ac6cc2803028
                      - 078d5e32-627a-4907-8df8-4360bc7c06da
                      - 58b4b3e5-572d-491d-a9a3-66a5560e4291
                      - fea7e548-473c-4cf9-bc1b-a6fd4d9bb0e2
                      - df73cdc7-5840-4f42-bb66-c84a6f52b9c4
                      - 82c98de3-2610-47d9-ab70-251330bcb704
                      - 9123ec08-699e-4804-ad97-39d32254491b
                      - 170d7ace-25e7-4ecf-a2f7-a79024b2c8a2
                      - 1c678705-4565-415b-bbf6-e89efc48fbed
                      - 8ed26cb7-eb7d-4b7b-8d8c-3e93d5855bdd
                      - e6db07ff-ae8d-4948-a2f7-5aa6a883d6b9
                      - 55871558-d0f9-4391-b539-3f435c894d7c
                      - c5c88e82-be9a-4e49-9546-f269c0f714ec
                      - 7e926d2f-adad-4e5a-956f-f07fffa54164
                      - 76c6e4cb-adab-48fd-aa48-bffd412b3c03
                      - 3c91a871-2d4f-4d8a-a921-f2fb2859e0df
                      - 388df8a5-218a-4e80-9138-897f70252a75
                      - a5f8dc56-616d-4123-b256-047249ff1176
                      - 98141024-d057-49da-a307-82d88308db5d
                      - 67ba5a13-59ed-4e8f-b279-44a7978c516b
                      - c68232c5-7375-43fe-a7ce-510d7530cbf6
                    store_targets: null
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: null
                    campaign_config: null
                    last_updated_on: '2026-01-21T07:12:09.033252'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 2251791e-87c6-4bcd-8222-216f93cafef2
                    ruleset: null
                    tags: null
                  - id: '2088807'
                    name: PC July TOT
                    platform_name: zepto
                    status: ENDED
                    start_date: '2025-07-02T17:00:42'
                    creation_date: '2025-07-02T17:00:42'
                    end_date: '2025-07-31T23:59:59'
                    ro_id: null
                    budget_type: null
                    bid: 150
                    daily_budget: 5246
                    total_budget: 0
                    type: Display
                    sub_type: PDA
                    bidding_stratergy: CPM
                    bid_multipliers:
                      contextual_multiplier:
                        base: 0
                        premium: 25
                        super_saver: 0
                    city_targets:
                      - c5b3d670-f20e-4cae-a6b7-42e17b8fb08d
                      - facade53-8330-4ebe-b07e-55319220a301
                      - 3c91a871-2d4f-4d8a-a921-f2fb2859e0df
                      - 76c6e4cb-adab-48fd-aa48-bffd412b3c03
                      - 8ed26cb7-eb7d-4b7b-8d8c-3e93d5855bdd
                      - 169ee922-31e9-4c90-9117-38234c705b84
                      - b4fc5b4c-ef99-4d24-be15-f8690c35955b
                      - d4f93f80-56c6-44d3-af5c-c37e70e11770
                      - f31e8f17-5547-41d9-906e-082c8b3e5f3d
                      - 98141024-d057-49da-a307-82d88308db5d
                      - bedfb594-54b5-4976-8b57-3e1f347e413a
                      - 170d7ace-25e7-4ecf-a2f7-a79024b2c8a2
                      - 014af366-5112-4363-9b52-6226a2ff48d9
                      - f6d77ae4-f662-4f13-a0d5-dc75a72caddd
                      - c68232c5-7375-43fe-a7ce-510d7530cbf6
                      - bb5bb05a-5c71-4038-b342-4f1aab72d9a6
                      - 72fb38ea-adb8-468a-9d7b-be46ae9d7fc1
                      - f0e24877-3ed8-4026-a999-69bf3909cc40
                      - 16f9be64-9fe0-4c07-b58c-f69b0d3d0610
                      - 81f24084-8358-4d11-8b79-1acd7efd6a91
                      - 3eb31521-2060-4beb-b6fb-18ba88b6adda
                      - 3cd6c684-388d-45b4-b050-ac6cc2803028
                      - e92d0690-1df3-474b-9a5a-14e9761dfae3
                      - 1c678705-4565-415b-bbf6-e89efc48fbed
                      - a2b4beb2-7c4d-4749-bc95-5b04d4adf837
                      - a1dcbfe4-e614-4c2c-8143-c277d1aba5f8
                      - 82647e5a-8a81-41f8-8ed7-859e023c448f
                      - 47e68964-42b7-489c-a698-b5a6bdebd374
                      - ddf073f6-808e-491a-9cd8-6f1763b38aaa
                      - df1ecb02-77a5-47b1-aa59-7c78ad69d1c5
                      - ee66dc2a-aded-4445-a7b2-1ad63715725c
                      - 551d6727-8fd3-4cc0-8cdc-5912c5b1ce40
                      - 1f68f9e5-6d06-4feb-b2a1-4f208c648951
                      - 7c1962ea-0a21-47b3-bf6c-91afabddc237
                      - 58b4b3e5-572d-491d-a9a3-66a5560e4291
                      - 82c98de3-2610-47d9-ab70-251330bcb704
                      - 5a17386b-33fb-43d4-bf71-258277768fcc
                      - 30735969-391b-478c-a81c-be93115f87a8
                      - 056e834d-a1d2-4df3-a93d-7ebd60e6bb16
                      - d337388e-1a65-40b4-b89d-0d15c78d611f
                      - ce56c260-4cf6-4d10-b481-9ed2fd7a90d4
                      - 3de94802-07a4-47c0-947e-65d61302752f
                      - 3ae99187-1625-4925-b490-6c1b080cd406
                      - 078d5e32-627a-4907-8df8-4360bc7c06da
                      - a5f8dc56-616d-4123-b256-047249ff1176
                      - c0d479f8-52bf-4781-8d56-ecfcb21b41d1
                      - ea6e2d03-d75e-474a-90a7-4e79096b5b45
                      - f938d139-3cb7-4b78-8980-b88178659225
                      - ed4f0a63-4887-4b08-b89c-bf1ac1703f54
                      - 67ba5a13-59ed-4e8f-b279-44a7978c516b
                      - 64153376-b4d5-495f-826f-89bd134f12f1
                      - 075236e1-be26-4084-a4fe-ceba0a69a5a0
                      - 55871558-d0f9-4391-b539-3f435c894d7c
                      - 449216c9-1760-4194-a9d4-06f5b3ddb7db
                      - 388df8a5-218a-4e80-9138-897f70252a75
                      - 963e4758-abc3-4766-a26c-bdc4d0c30bd2
                      - 35e672bd-8f0e-4e9d-9391-5b977c4b52ea
                      - d0c5c4c5-ab54-407d-a6f0-d924610c86a6
                      - 960153c2-f137-44b9-8650-136abe528a9b
                      - 9d4b400b-637c-4886-bf35-51231380ce61
                      - 7e926d2f-adad-4e5a-956f-f07fffa54164
                      - 4f30407c-6a3c-4a4e-8a3d-652217d4b6cb
                      - c13eeeb7-d49a-4961-b6ba-93f14c9dd393
                      - e6db07ff-ae8d-4948-a2f7-5aa6a883d6b9
                      - df73cdc7-5840-4f42-bb66-c84a6f52b9c4
                      - 8e6bfeb7-25f2-41c2-be52-75fc98c8025c
                      - a64421ba-ce07-4688-bf9e-b97533ebda45
                      - c5c88e82-be9a-4e49-9546-f269c0f714ec
                      - f3cbc158-35a4-4c2c-ac5e-56e1fa5b08fd
                      - ac7cd4f0-8980-41ee-9931-cbbd3865907c
                      - 9e3216dc-1aff-41c4-bae7-75058158e6d3
                      - 4dda0cbc-9e53-4e45-98f8-87f574857e12
                      - 9123ec08-699e-4804-ad97-39d32254491b
                      - fea7e548-473c-4cf9-bc1b-a6fd4d9bb0e2
                      - 05ed345b-bc36-44bc-9ef6-e9d5055eba40
                    store_targets: null
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: null
                    campaign_config: null
                    last_updated_on: '2026-01-21T07:12:08.984490'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 43584c78-ed6e-42e3-9428-80522811132f
                    ruleset: null
                    tags: null
                  - id: '2095371'
                    name: Pantene x Generic x Conditioner
                    platform_name: zepto
                    status: PAUSED
                    start_date: '2025-07-18T13:59:31'
                    creation_date: '2025-07-18T13:59:31'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 4000
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 94147
                      campaign_id: 2095371
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.847946'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 20c03cc4-c025-4526-88a4-966dcf19594e
                    ruleset: null
                    tags: null
                  - id: '2099272'
                    name: PC August TOT
                    platform_name: zepto
                    status: ENDED
                    start_date: '2025-08-01T15:33:28'
                    creation_date: '2025-08-01T15:33:28'
                    end_date: '2025-08-31T23:59:59'
                    ro_id: null
                    budget_type: null
                    bid: 150
                    daily_budget: 6451
                    total_budget: 0
                    type: Display
                    sub_type: PDA
                    bidding_stratergy: CPM
                    bid_multipliers:
                      contextual_multiplier:
                        base: 0
                        premium: 25
                        super_saver: 0
                    city_targets:
                      - 170d7ace-25e7-4ecf-a2f7-a79024b2c8a2
                      - d4f93f80-56c6-44d3-af5c-c37e70e11770
                      - bb5bb05a-5c71-4038-b342-4f1aab72d9a6
                      - c13eeeb7-d49a-4961-b6ba-93f14c9dd393
                      - ac7cd4f0-8980-41ee-9931-cbbd3865907c
                      - 82647e5a-8a81-41f8-8ed7-859e023c448f
                      - a2b4beb2-7c4d-4749-bc95-5b04d4adf837
                      - 1c678705-4565-415b-bbf6-e89efc48fbed
                      - 4f30407c-6a3c-4a4e-8a3d-652217d4b6cb
                      - 4dda0cbc-9e53-4e45-98f8-87f574857e12
                      - a1dcbfe4-e614-4c2c-8143-c277d1aba5f8
                      - 64153376-b4d5-495f-826f-89bd134f12f1
                      - 078d5e32-627a-4907-8df8-4360bc7c06da
                      - 30735969-391b-478c-a81c-be93115f87a8
                      - 169ee922-31e9-4c90-9117-38234c705b84
                      - 98141024-d057-49da-a307-82d88308db5d
                      - 8e6bfeb7-25f2-41c2-be52-75fc98c8025c
                      - 3eb31521-2060-4beb-b6fb-18ba88b6adda
                      - df1ecb02-77a5-47b1-aa59-7c78ad69d1c5
                      - 9e3216dc-1aff-41c4-bae7-75058158e6d3
                      - ddf073f6-808e-491a-9cd8-6f1763b38aaa
                      - ce56c260-4cf6-4d10-b481-9ed2fd7a90d4
                      - 5a17386b-33fb-43d4-bf71-258277768fcc
                      - c5b3d670-f20e-4cae-a6b7-42e17b8fb08d
                      - 551d6727-8fd3-4cc0-8cdc-5912c5b1ce40
                      - 47e68964-42b7-489c-a698-b5a6bdebd374
                      - ed4f0a63-4887-4b08-b89c-bf1ac1703f54
                      - bedfb594-54b5-4976-8b57-3e1f347e413a
                      - 449216c9-1760-4194-a9d4-06f5b3ddb7db
                      - f3cbc158-35a4-4c2c-ac5e-56e1fa5b08fd
                      - 8ed26cb7-eb7d-4b7b-8d8c-3e93d5855bdd
                      - 16f9be64-9fe0-4c07-b58c-f69b0d3d0610
                      - ee66dc2a-aded-4445-a7b2-1ad63715725c
                      - 67ba5a13-59ed-4e8f-b279-44a7978c516b
                      - 3ae99187-1625-4925-b490-6c1b080cd406
                      - 056e834d-a1d2-4df3-a93d-7ebd60e6bb16
                      - e6db07ff-ae8d-4948-a2f7-5aa6a883d6b9
                      - 58b4b3e5-572d-491d-a9a3-66a5560e4291
                      - f938d139-3cb7-4b78-8980-b88178659225
                      - d0c5c4c5-ab54-407d-a6f0-d924610c86a6
                      - fea7e548-473c-4cf9-bc1b-a6fd4d9bb0e2
                      - 014af366-5112-4363-9b52-6226a2ff48d9
                      - 82c98de3-2610-47d9-ab70-251330bcb704
                      - f6d77ae4-f662-4f13-a0d5-dc75a72caddd
                      - f0e24877-3ed8-4026-a999-69bf3909cc40
                      - 9123ec08-699e-4804-ad97-39d32254491b
                      - 05ed345b-bc36-44bc-9ef6-e9d5055eba40
                      - b4fc5b4c-ef99-4d24-be15-f8690c35955b
                      - 81f24084-8358-4d11-8b79-1acd7efd6a91
                      - c68232c5-7375-43fe-a7ce-510d7530cbf6
                      - 9d4b400b-637c-4886-bf35-51231380ce61
                      - d337388e-1a65-40b4-b89d-0d15c78d611f
                      - 960153c2-f137-44b9-8650-136abe528a9b
                      - a5f8dc56-616d-4123-b256-047249ff1176
                      - 075236e1-be26-4084-a4fe-ceba0a69a5a0
                      - c0d479f8-52bf-4781-8d56-ecfcb21b41d1
                      - df73cdc7-5840-4f42-bb66-c84a6f52b9c4
                      - 72fb38ea-adb8-468a-9d7b-be46ae9d7fc1
                      - 3c91a871-2d4f-4d8a-a921-f2fb2859e0df
                      - a64421ba-ce07-4688-bf9e-b97533ebda45
                      - 3de94802-07a4-47c0-947e-65d61302752f
                      - e92d0690-1df3-474b-9a5a-14e9761dfae3
                      - ea6e2d03-d75e-474a-90a7-4e79096b5b45
                      - 7c1962ea-0a21-47b3-bf6c-91afabddc237
                      - 35e672bd-8f0e-4e9d-9391-5b977c4b52ea
                      - 963e4758-abc3-4766-a26c-bdc4d0c30bd2
                      - 3cd6c684-388d-45b4-b050-ac6cc2803028
                      - f31e8f17-5547-41d9-906e-082c8b3e5f3d
                      - 388df8a5-218a-4e80-9138-897f70252a75
                      - 1f68f9e5-6d06-4feb-b2a1-4f208c648951
                      - facade53-8330-4ebe-b07e-55319220a301
                      - 76c6e4cb-adab-48fd-aa48-bffd412b3c03
                      - 55871558-d0f9-4391-b539-3f435c894d7c
                      - 7e926d2f-adad-4e5a-956f-f07fffa54164
                      - c5c88e82-be9a-4e49-9546-f269c0f714ec
                    store_targets: null
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: null
                    campaign_config:
                      targeting_type: MANUAL
                      audience_id: 67f06a2b-906c-45e5-8d57-d535751359f4
                      brand_ids: null
                      cities: []
                      subcategory_ids:
                        - 00be6703-c23c-4bfa-b25b-dbb5c9502a39
                        - 712ad8fc-fc69-47f0-a8c5-a5d9525123ed
                        - 8802de5e-4b72-46ac-b79b-7e93a4fba099
                        - dc28e824-475c-4478-8727-717fc6b7bad2
                        - e2539dfe-b16a-4c9a-942a-2c1ffc26414c
                        - 87cfbc30-2aee-4bd7-ab10-920d61070201
                        - 59ae203f-71ad-4dc9-aaad-68158cc72f74
                        - 127cb167-131a-487c-a81d-9d32edeca0d7
                        - 36eec32a-adcb-4a35-8f27-c9f6eb6ec6ac
                        - 94cc7afd-328a-4489-98af-5bcad2d7bbaf
                        - 98e244c8-e4ef-4460-ade3-91957fc1e326
                      subcategory_join_operation: and
                      event_type: ATCs
                      duration_in_days: 365
                      status: Deactivated
                      custom_audience_id: ''
                      gender: ''
                      age: null
                      affluence_percentile: null
                      address_type: null
                      household_size: null
                      device_platform: null
                      device_brand: null
                      device_model: null
                      device_price: null
                      expand_target_audience: false
                    last_updated_on: '2026-01-21T07:12:08.926810'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 23640b7d-38f5-485c-aabf-7c245e766555
                    ruleset: null
                    tags: null
                  - id: '2099659'
                    name: Cross Category August TOT
                    platform_name: zepto
                    status: ENDED
                    start_date: '2025-08-01T18:23:39'
                    creation_date: '2025-08-01T18:23:39'
                    end_date: '2025-08-31T23:59:59'
                    ro_id: null
                    budget_type: null
                    bid: 260
                    daily_budget: 9677
                    total_budget: 0
                    type: Display
                    sub_type: PDA_CROSS_CATEGORY
                    bidding_stratergy: CPM
                    bid_multipliers:
                      contextual_multiplier:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets:
                      - f6d77ae4-f662-4f13-a0d5-dc75a72caddd
                      - 3c91a871-2d4f-4d8a-a921-f2fb2859e0df
                      - 82c98de3-2610-47d9-ab70-251330bcb704
                      - 35e672bd-8f0e-4e9d-9391-5b977c4b52ea
                      - f31e8f17-5547-41d9-906e-082c8b3e5f3d
                      - a1dcbfe4-e614-4c2c-8143-c277d1aba5f8
                      - 72fb38ea-adb8-468a-9d7b-be46ae9d7fc1
                      - df1ecb02-77a5-47b1-aa59-7c78ad69d1c5
                      - 078d5e32-627a-4907-8df8-4360bc7c06da
                      - 7c1962ea-0a21-47b3-bf6c-91afabddc237
                      - 3eb31521-2060-4beb-b6fb-18ba88b6adda
                      - 81f24084-8358-4d11-8b79-1acd7efd6a91
                      - 551d6727-8fd3-4cc0-8cdc-5912c5b1ce40
                      - 4dda0cbc-9e53-4e45-98f8-87f574857e12
                      - ee66dc2a-aded-4445-a7b2-1ad63715725c
                      - e6db07ff-ae8d-4948-a2f7-5aa6a883d6b9
                      - 67ba5a13-59ed-4e8f-b279-44a7978c516b
                      - 960153c2-f137-44b9-8650-136abe528a9b
                      - ea6e2d03-d75e-474a-90a7-4e79096b5b45
                      - 55871558-d0f9-4391-b539-3f435c894d7c
                      - c13eeeb7-d49a-4961-b6ba-93f14c9dd393
                      - 1f68f9e5-6d06-4feb-b2a1-4f208c648951
                      - c68232c5-7375-43fe-a7ce-510d7530cbf6
                      - 3cd6c684-388d-45b4-b050-ac6cc2803028
                      - d0c5c4c5-ab54-407d-a6f0-d924610c86a6
                      - e92d0690-1df3-474b-9a5a-14e9761dfae3
                      - f938d139-3cb7-4b78-8980-b88178659225
                      - 9e3216dc-1aff-41c4-bae7-75058158e6d3
                      - 82647e5a-8a81-41f8-8ed7-859e023c448f
                      - c5c88e82-be9a-4e49-9546-f269c0f714ec
                      - facade53-8330-4ebe-b07e-55319220a301
                      - 8ed26cb7-eb7d-4b7b-8d8c-3e93d5855bdd
                      - fea7e548-473c-4cf9-bc1b-a6fd4d9bb0e2
                      - 3ae99187-1625-4925-b490-6c1b080cd406
                      - 014af366-5112-4363-9b52-6226a2ff48d9
                      - 47e68964-42b7-489c-a698-b5a6bdebd374
                      - 64153376-b4d5-495f-826f-89bd134f12f1
                      - 9d4b400b-637c-4886-bf35-51231380ce61
                      - bedfb594-54b5-4976-8b57-3e1f347e413a
                      - a2b4beb2-7c4d-4749-bc95-5b04d4adf837
                      - 16f9be64-9fe0-4c07-b58c-f69b0d3d0610
                      - a64421ba-ce07-4688-bf9e-b97533ebda45
                      - 7e926d2f-adad-4e5a-956f-f07fffa54164
                      - 170d7ace-25e7-4ecf-a2f7-a79024b2c8a2
                      - 449216c9-1760-4194-a9d4-06f5b3ddb7db
                      - 056e834d-a1d2-4df3-a93d-7ebd60e6bb16
                      - 388df8a5-218a-4e80-9138-897f70252a75
                      - df73cdc7-5840-4f42-bb66-c84a6f52b9c4
                      - f0e24877-3ed8-4026-a999-69bf3909cc40
                      - c0d479f8-52bf-4781-8d56-ecfcb21b41d1
                      - ce56c260-4cf6-4d10-b481-9ed2fd7a90d4
                      - 075236e1-be26-4084-a4fe-ceba0a69a5a0
                      - bb5bb05a-5c71-4038-b342-4f1aab72d9a6
                      - d4f93f80-56c6-44d3-af5c-c37e70e11770
                      - 9123ec08-699e-4804-ad97-39d32254491b
                      - 3de94802-07a4-47c0-947e-65d61302752f
                      - 76c6e4cb-adab-48fd-aa48-bffd412b3c03
                      - 1c678705-4565-415b-bbf6-e89efc48fbed
                      - ddf073f6-808e-491a-9cd8-6f1763b38aaa
                      - ac7cd4f0-8980-41ee-9931-cbbd3865907c
                      - ed4f0a63-4887-4b08-b89c-bf1ac1703f54
                      - 58b4b3e5-572d-491d-a9a3-66a5560e4291
                      - b4fc5b4c-ef99-4d24-be15-f8690c35955b
                      - d337388e-1a65-40b4-b89d-0d15c78d611f
                      - 30735969-391b-478c-a81c-be93115f87a8
                      - 4f30407c-6a3c-4a4e-8a3d-652217d4b6cb
                      - c5b3d670-f20e-4cae-a6b7-42e17b8fb08d
                      - 169ee922-31e9-4c90-9117-38234c705b84
                      - 5a17386b-33fb-43d4-bf71-258277768fcc
                      - 8e6bfeb7-25f2-41c2-be52-75fc98c8025c
                      - a5f8dc56-616d-4123-b256-047249ff1176
                      - f3cbc158-35a4-4c2c-ac5e-56e1fa5b08fd
                      - 98141024-d057-49da-a307-82d88308db5d
                      - 963e4758-abc3-4766-a26c-bdc4d0c30bd2
                      - 05ed345b-bc36-44bc-9ef6-e9d5055eba40
                    store_targets: null
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: null
                    campaign_config: null
                    last_updated_on: '2026-01-21T07:12:08.959741'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: ffc13b39-2f74-46e4-b768-f27d0e1a0648
                    ruleset: null
                    tags: null
                  - id: '2111688'
                    name: Pantene x Comp x Shampoo
                    platform_name: zepto
                    status: ACTIVE
                    start_date: '2025-08-13T12:17:00'
                    creation_date: '2025-08-13T12:17:00'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 500
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 110432
                      campaign_id: 2111688
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.503177'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 4f12a44f-2eac-4d3c-b783-03d7a1b13eb8
                    ruleset: null
                    tags: null
                  - id: '2120057'
                    name: Pantene x Generic x Shampoo
                    platform_name: zepto
                    status: ACTIVE
                    start_date: '2025-09-09T15:54:53'
                    creation_date: '2025-09-09T15:54:53'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 500
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 118801
                      campaign_id: 2120057
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.665032'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 415d7b2e-6e99-4ea0-962b-dc75873d8277
                    ruleset: null
                    tags: null
                  - id: '2120100'
                    name: Pantene x Comp x Conditioner
                    platform_name: zepto
                    status: PAUSED
                    start_date: '2025-09-09T17:01:26'
                    creation_date: '2025-09-09T17:01:26'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 500
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 118844
                      campaign_id: 2120100
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.741512'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 28473d62-ed17-4cc4-8091-6233c9ffceed
                    ruleset: null
                    tags: null
                  - id: '2120103'
                    name: Pantene x Branded x Conditioner
                    platform_name: zepto
                    status: PAUSED
                    start_date: '2025-09-09T17:05:36'
                    creation_date: '2025-09-09T17:05:36'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 1000
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 118847
                      campaign_id: 2120103
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.800480'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 35329a43-36eb-444f-8a04-c1206384554c
                    ruleset: null
                    tags: null
                  - id: '2120106'
                    name: Pantene x Branded x 2 in 1
                    platform_name: zepto
                    status: ACTIVE
                    start_date: '2025-09-09T17:08:57'
                    creation_date: '2025-09-09T17:08:57'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 2000
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 118850
                      campaign_id: 2120106
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.595639'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: fecf41c9-ad18-4fa8-af07-cbdc0762a1ee
                    ruleset: null
                    tags: null
                  - id: '2120116'
                    name: Pantene x Generic x 2 in 1
                    platform_name: zepto
                    status: ACTIVE
                    start_date: '2025-09-09T17:24:08'
                    creation_date: '2025-09-09T17:24:08'
                    end_date: null
                    ro_id: null
                    budget_type: DAILY_BUDGET_WITH_MAX_CAP
                    bid: 0
                    daily_budget: 500
                    total_budget: 0
                    type: PLA
                    sub_type: AUCTION
                    bidding_stratergy: FIXED
                    bid_multipliers:
                      tos:
                        base: 0
                        premium: 0
                        super_saver: 0
                      zpu:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: []
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: false
                    campaign_config:
                      id: 118860
                      campaign_id: 2120116
                      city_targeting: ALL
                      store_targeting: ALL
                      priority: NORMAL
                      product_targeting: MANUAL
                      bid_targeting: KEYWORD
                      multiplier_config:
                        tos:
                          base: 0
                          premium: 0
                          super_saver: 0
                        zpu:
                          base: 0
                          premium: 0
                          super_saver: 0
                    last_updated_on: '2026-01-21T07:12:08.626759'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 7a4c0f19-7195-4d53-a4e9-6384cd61f48b
                    ruleset: null
                    tags: null
                  - id: '2123168'
                    name: Cross Category Sep TOT
                    platform_name: zepto
                    status: ENDED
                    start_date: '2025-09-19T13:23:56'
                    creation_date: '2025-09-19T13:23:56'
                    end_date: '2025-09-30T23:59:59'
                    ro_id: null
                    budget_type: null
                    bid: 251
                    daily_budget: 7700
                    total_budget: 100000
                    type: Display
                    sub_type: PDA_CROSS_CATEGORY
                    bidding_stratergy: CPM
                    bid_multipliers:
                      contextual_multiplier:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets:
                      - 075236e1-be26-4084-a4fe-ceba0a69a5a0
                      - a64421ba-ce07-4688-bf9e-b97533ebda45
                      - c68232c5-7375-43fe-a7ce-510d7530cbf6
                      - c5c88e82-be9a-4e49-9546-f269c0f714ec
                      - 16f9be64-9fe0-4c07-b58c-f69b0d3d0610
                      - 64153376-b4d5-495f-826f-89bd134f12f1
                      - 1f68f9e5-6d06-4feb-b2a1-4f208c648951
                      - 3ae99187-1625-4925-b490-6c1b080cd406
                      - f0e24877-3ed8-4026-a999-69bf3909cc40
                      - f938d139-3cb7-4b78-8980-b88178659225
                      - 8e6bfeb7-25f2-41c2-be52-75fc98c8025c
                      - 81f24084-8358-4d11-8b79-1acd7efd6a91
                      - 05ed345b-bc36-44bc-9ef6-e9d5055eba40
                      - b4fc5b4c-ef99-4d24-be15-f8690c35955b
                      - ce56c260-4cf6-4d10-b481-9ed2fd7a90d4
                      - a2b4beb2-7c4d-4749-bc95-5b04d4adf837
                      - 72fb38ea-adb8-468a-9d7b-be46ae9d7fc1
                      - 7c1962ea-0a21-47b3-bf6c-91afabddc237
                      - 4f30407c-6a3c-4a4e-8a3d-652217d4b6cb
                      - 58b4b3e5-572d-491d-a9a3-66a5560e4291
                      - ed4f0a63-4887-4b08-b89c-bf1ac1703f54
                      - ddf073f6-808e-491a-9cd8-6f1763b38aaa
                      - f31e8f17-5547-41d9-906e-082c8b3e5f3d
                      - ea6e2d03-d75e-474a-90a7-4e79096b5b45
                      - 35e672bd-8f0e-4e9d-9391-5b977c4b52ea
                      - 5a17386b-33fb-43d4-bf71-258277768fcc
                      - 078d5e32-627a-4907-8df8-4360bc7c06da
                      - c13eeeb7-d49a-4961-b6ba-93f14c9dd393
                      - 170d7ace-25e7-4ecf-a2f7-a79024b2c8a2
                      - 9d4b400b-637c-4886-bf35-51231380ce61
                      - e6db07ff-ae8d-4948-a2f7-5aa6a883d6b9
                      - 8ed26cb7-eb7d-4b7b-8d8c-3e93d5855bdd
                      - a1dcbfe4-e614-4c2c-8143-c277d1aba5f8
                      - 4dda0cbc-9e53-4e45-98f8-87f574857e12
                      - ac7cd4f0-8980-41ee-9931-cbbd3865907c
                      - f6d77ae4-f662-4f13-a0d5-dc75a72caddd
                      - facade53-8330-4ebe-b07e-55319220a301
                      - 9e3216dc-1aff-41c4-bae7-75058158e6d3
                      - 30735969-391b-478c-a81c-be93115f87a8
                      - df73cdc7-5840-4f42-bb66-c84a6f52b9c4
                      - 47e68964-42b7-489c-a698-b5a6bdebd374
                      - 82647e5a-8a81-41f8-8ed7-859e023c448f
                      - 449216c9-1760-4194-a9d4-06f5b3ddb7db
                      - fea7e548-473c-4cf9-bc1b-a6fd4d9bb0e2
                      - 82c98de3-2610-47d9-ab70-251330bcb704
                      - ee66dc2a-aded-4445-a7b2-1ad63715725c
                      - df1ecb02-77a5-47b1-aa59-7c78ad69d1c5
                      - 551d6727-8fd3-4cc0-8cdc-5912c5b1ce40
                      - 3eb31521-2060-4beb-b6fb-18ba88b6adda
                      - 67ba5a13-59ed-4e8f-b279-44a7978c516b
                      - 169ee922-31e9-4c90-9117-38234c705b84
                      - c5b3d670-f20e-4cae-a6b7-42e17b8fb08d
                      - c0d479f8-52bf-4781-8d56-ecfcb21b41d1
                      - f3cbc158-35a4-4c2c-ac5e-56e1fa5b08fd
                      - a5f8dc56-616d-4123-b256-047249ff1176
                      - 3de94802-07a4-47c0-947e-65d61302752f
                      - bb5bb05a-5c71-4038-b342-4f1aab72d9a6
                      - 014af366-5112-4363-9b52-6226a2ff48d9
                      - e92d0690-1df3-474b-9a5a-14e9761dfae3
                      - 3c91a871-2d4f-4d8a-a921-f2fb2859e0df
                      - bedfb594-54b5-4976-8b57-3e1f347e413a
                      - d4f93f80-56c6-44d3-af5c-c37e70e11770
                      - 76c6e4cb-adab-48fd-aa48-bffd412b3c03
                      - 388df8a5-218a-4e80-9138-897f70252a75
                      - 98141024-d057-49da-a307-82d88308db5d
                      - 55871558-d0f9-4391-b539-3f435c894d7c
                      - 056e834d-a1d2-4df3-a93d-7ebd60e6bb16
                      - 7e926d2f-adad-4e5a-956f-f07fffa54164
                      - 9123ec08-699e-4804-ad97-39d32254491b
                      - 963e4758-abc3-4766-a26c-bdc4d0c30bd2
                      - d0c5c4c5-ab54-407d-a6f0-d924610c86a6
                      - 3cd6c684-388d-45b4-b050-ac6cc2803028
                      - 1c678705-4565-415b-bbf6-e89efc48fbed
                      - d337388e-1a65-40b4-b89d-0d15c78d611f
                      - 960153c2-f137-44b9-8650-136abe528a9b
                    store_targets: null
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: null
                    campaign_config: null
                    last_updated_on: '2026-01-21T07:12:08.902254'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 89ee27f9-c64c-4627-baed-6f0314cb0e5d
                    ruleset: null
                    tags: null
                  - id: '2123172'
                    name: PCA Sept TOT
                    platform_name: zepto
                    status: ENDED
                    start_date: '2025-09-19T13:32:54'
                    creation_date: '2025-09-19T13:32:54'
                    end_date: '2025-09-30T23:59:59'
                    ro_id: null
                    budget_type: null
                    bid: 700
                    daily_budget: 16000
                    total_budget: 200000
                    type: Display
                    sub_type: PCA
                    bidding_stratergy: CPM
                    bid_multipliers:
                      search_result_page:
                        base: 0
                        premium: 0
                        super_saver: 0
                    city_targets: []
                    store_targets: null
                    brand_id: 973bb987-3835-40c6-b3ae-0914a99e8dfe
                    keyword_targeting_enabled: null
                    campaign_config: null
                    last_updated_on: '2026-01-21T07:12:09.074743'
                    brand_name: pantene
                    portfolio: null
                    daily_budget_base: null
                    total_budget_base: null
                    adgroup_list: []
                    keyword_list: []
                    product_list: []
                    pause_after_creation: false
                    asset_type: PRODUCT_LISTING
                    recommendation_targeting: null
                    sys_id: 29eb1d18-991d-4064-b355-1d92c060e7db
                    ruleset: null
                    tags: null
                total: 15
                page: 1
                limit: 50
                total_pages: 1
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - campaigns
      security:
        - ApiKeyAuth: []
      description: List all campaigns with optional filters
  /v1/cities/groups:
    get:
      summary: List city groups
      parameters:
        - name: name
          in: query
          description: City group name filter
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:49:59 GMT
            Content-Length:
              schema:
                type: integer
              example: '58'
            X-Request-Id:
              schema:
                type: string
              example: 436438cf-90d2-4f7d-ad75-102970dfa850
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items: {}
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items: []
                total: 0
                page: 1
                limit: 50
                total_pages: 0
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - cities
        - groups
      security:
        - ApiKeyAuth: []
      description: List all city groups with optional filters
  /v1/cities:
    get:
      summary: List cities
      parameters:
        - name: city_id
          in: query
          description: City ID filter
          schema:
            type: string
          example: string
        - name: city_name
          in: query
          description: City name filter
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:49:22 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '3027'
            X-Request-Id:
              schema:
                type: string
              example: 426438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        sys_id:
                          type: string
                        city_id:
                          type: string
                        city_name:
                          type: string
                        platform_name:
                          type: string
                        city_aliases:
                          type: array
                          items: {}
                        created_at:
                          type: string
                        updated_at:
                          type: string
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items:
                  - sys_id: c2316596-7a75-4b01-9aac-eba82dfd0ed1
                    city_id: 014af366-5112-4363-9b52-6226a2ff48d9
                    city_name: Saharanpur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.670499'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: c5aafc55-c780-4641-b30b-8286c4230905
                    city_id: 056e834d-a1d2-4df3-a93d-7ebd60e6bb16
                    city_name: Kolkata
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.696264'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: b7b094d7-ccf6-46c9-9e79-84c85dac82df
                    city_id: 05ed345b-bc36-44bc-9ef6-e9d5055eba40
                    city_name: Vellore
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.699368'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 8ba0d2ce-ab63-4968-8f73-b587d374879a
                    city_id: 075236e1-be26-4084-a4fe-ceba0a69a5a0
                    city_name: Thrissur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.701729'
                    updated_at: '2025-07-16T02:30:00.560319'
                  - sys_id: 45f85f1d-d502-44b7-8295-28377d06dc2c
                    city_id: 078d5e32-627a-4907-8df8-4360bc7c06da
                    city_name: Gurugram
                    platform_name: zepto
                    city_aliases:
                      - gurgaon
                      - gurugram
                    created_at: '2025-04-16T07:18:39.704259'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 537979cd-0b48-4b98-8f17-fb1d1d4fff01
                    city_id: 169ee922-31e9-4c90-9117-38234c705b84
                    city_name: Dehradun
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.706565'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 39424307-f337-42e9-8d35-eb1c3146e29d
                    city_id: 16f9be64-9fe0-4c07-b58c-f69b0d3d0610
                    city_name: Anand
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.708677'
                    updated_at: '2025-07-16T02:30:00.560319'
                  - sys_id: f643badf-ccfe-4d76-a32e-9f1d42d58119
                    city_id: 170d7ace-25e7-4ecf-a2f7-a79024b2c8a2
                    city_name: Kota
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.711132'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 0ced41ac-23d7-4afc-8d60-97fe615cd421
                    city_id: 1c678705-4565-415b-bbf6-e89efc48fbed
                    city_name: Bareilly
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.713219'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 303f7551-0372-4b0a-8e67-cd4a205025a4
                    city_id: 1f68f9e5-6d06-4feb-b2a1-4f208c648951
                    city_name: Chatrapati Sambhaji Nagar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.715212'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 3f9bae13-67ad-464e-b353-33b2fd3bf19c
                    city_id: 30735969-391b-478c-a81c-be93115f87a8
                    city_name: Madurai
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.717207'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: f69be0a0-4efb-4dd1-95c3-ff9a004645fc
                    city_id: 35e672bd-8f0e-4e9d-9391-5b977c4b52ea
                    city_name: SAS Nagar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.719147'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 31d5d235-ac41-43c7-bd25-3a40f4caf455
                    city_id: 388df8a5-218a-4e80-9138-897f70252a75
                    city_name: Surat
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.721298'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 2ccace2d-3c07-4986-a853-5ac79d41396f
                    city_id: 3ae99187-1625-4925-b490-6c1b080cd406
                    city_name: Chennai
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.723432'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 70ff593b-ddea-4440-91af-42265e684e9f
                    city_id: 3c91a871-2d4f-4d8a-a921-f2fb2859e0df
                    city_name: Jalandhar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.725827'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: df5bc1e9-7e78-40ec-a60f-466d6f27c1d8
                    city_id: 3cd6c684-388d-45b4-b050-ac6cc2803028
                    city_name: Amritsar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.728058'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 7c5604f8-9ef0-4fbf-af42-ac6bffab69da
                    city_id: 3de94802-07a4-47c0-947e-65d61302752f
                    city_name: Hisar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.730251'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 5637c394-e6b7-40e3-a34c-97cd9bdb2627
                    city_id: 3eb31521-2060-4beb-b6fb-18ba88b6adda
                    city_name: Kurukshetra
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.734606'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: ebd37848-b925-4b4d-880c-9ad60172ea7a
                    city_id: 449216c9-1760-4194-a9d4-06f5b3ddb7db
                    city_name: Jhajjar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.736911'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 56b782c7-8951-4719-8769-bb0906a0aa00
                    city_id: 47e68964-42b7-489c-a698-b5a6bdebd374
                    city_name: Agra
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.738979'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: e6f6b069-87f1-4c14-b480-2674b73d90a2
                    city_id: 4dda0cbc-9e53-4e45-98f8-87f574857e12
                    city_name: Gorakhpur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.741136'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 8edda4c0-42db-42f6-a186-778c5244d9b7
                    city_id: 4f30407c-6a3c-4a4e-8a3d-652217d4b6cb
                    city_name: Mumbai
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.743086'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 85069fb6-613f-4b47-a74b-6cfd916e90e2
                    city_id: 551d6727-8fd3-4cc0-8cdc-5912c5b1ce40
                    city_name: Test City
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.747425'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 4c6a5344-ec7d-4ea0-baa0-5a16ca186bb2
                    city_id: 55871558-d0f9-4391-b539-3f435c894d7c
                    city_name: Alwar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.749647'
                    updated_at: '2025-07-16T02:30:00.560319'
                  - sys_id: 950d0643-bf23-439f-a1f4-1ffede6091a5
                    city_id: 58b4b3e5-572d-491d-a9a3-66a5560e4291
                    city_name: Kanpur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.751589'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: a6067d51-67dd-47a1-8e99-c3d522689f7b
                    city_id: 5a17386b-33fb-43d4-bf71-258277768fcc
                    city_name: Kochi
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.753833'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 6cfe5c4a-8e3a-4c4c-af94-d1e41ecee7a5
                    city_id: 64153376-b4d5-495f-826f-89bd134f12f1
                    city_name: Prayagraj
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.755850'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 96760f8c-94d5-45be-b959-cb5bed408063
                    city_id: 67ba5a13-59ed-4e8f-b279-44a7978c516b
                    city_name: Karimnagar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.758377'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 5c2bb7ba-2eea-4959-aaa6-afda10742a8b
                    city_id: 72fb38ea-adb8-468a-9d7b-be46ae9d7fc1
                    city_name: Ahmedabad
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.760351'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 8c92a6e2-b159-40e4-b4d5-fc11711745d5
                    city_id: 76c6e4cb-adab-48fd-aa48-bffd412b3c03
                    city_name: Indore
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.762322'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: f9a2014c-382f-4637-ae5c-27991b2372a9
                    city_id: 7c1962ea-0a21-47b3-bf6c-91afabddc237
                    city_name: Chandigarh
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.764670'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 1efd979a-ce29-42cc-b456-28b99f08b317
                    city_id: 7db839ab-3f17-42e7-bdc2-609caa492d53
                    city_name: HAPUR
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-12-05T02:30:00.567843'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: fac6ceda-b87f-4fe5-ae63-19101e61d789
                    city_id: 7e926d2f-adad-4e5a-956f-f07fffa54164
                    city_name: Ghaziabad
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.767232'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 21d12e6d-98d6-4db1-bd0d-fdaec6942cb0
                    city_id: 81f24084-8358-4d11-8b79-1acd7efd6a91
                    city_name: Neemrana
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.770338'
                    updated_at: '2025-07-16T02:30:00.560319'
                  - sys_id: 665ba35c-7b75-4766-8080-77b7a6c7c171
                    city_id: 82647e5a-8a81-41f8-8ed7-859e023c448f
                    city_name: Rewari
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.772451'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: af9932cb-dda3-4f4c-acf3-d367186fd7a1
                    city_id: 82c98de3-2610-47d9-ab70-251330bcb704
                    city_name: Panipat
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.774505'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 26805e81-e3a6-4739-a07b-c37e0811db76
                    city_id: 8e6bfeb7-25f2-41c2-be52-75fc98c8025c
                    city_name: Tumkuru
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.776522'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 7f28e615-b19a-44da-8527-556ab99e7a6a
                    city_id: 8ed26cb7-eb7d-4b7b-8d8c-3e93d5855bdd
                    city_name: Bengaluru
                    platform_name: zepto
                    city_aliases:
                      - bengaluru
                      - bangalore
                      - Bengaluru
                      - Bangalore
                    created_at: '2025-04-16T07:18:39.778541'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 8356022c-656a-4445-a36d-6e87276212ad
                    city_id: 9123ec08-699e-4804-ad97-39d32254491b
                    city_name: Puducherry
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.780951'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: a913fcc7-52c0-4320-bc01-90455e248e22
                    city_id: 960153c2-f137-44b9-8650-136abe528a9b
                    city_name: Udaipur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.782899'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 716f42b8-75ae-45a6-b918-2d9287962534
                    city_id: 963e4758-abc3-4766-a26c-bdc4d0c30bd2
                    city_name: Warangal
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.785035'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: c15fcf57-08c3-4dcc-b6b1-f1e9fa88f976
                    city_id: 98141024-d057-49da-a307-82d88308db5d
                    city_name: Sonipat
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.787048'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: bcfdfa2c-bb16-488d-803f-6341684f563c
                    city_id: 9d4b400b-637c-4886-bf35-51231380ce61
                    city_name: Guntur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.789011'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 9c3c4d78-aa7f-47f6-b1d0-38f0ff1e1a67
                    city_id: 9e3216dc-1aff-41c4-bae7-75058158e6d3
                    city_name: Ludhiana
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.790887'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 552607fe-6253-4982-843e-cdc9e1526a28
                    city_id: a1dcbfe4-e614-4c2c-8143-c277d1aba5f8
                    city_name: Meerut
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.792898'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 6f2a0e01-8a56-4655-89a9-46fb3f9aa132
                    city_id: a2b4beb2-7c4d-4749-bc95-5b04d4adf837
                    city_name: Belgavi
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.796325'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 194a7b70-de04-4129-9a69-07144644bfe9
                    city_id: a5f8dc56-616d-4123-b256-047249ff1176
                    city_name: Bhiwadi
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.798838'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 6df6544d-73ec-4758-861a-edeb2f639a81
                    city_id: a64421ba-ce07-4688-bf9e-b97533ebda45
                    city_name: Vijayawada
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.801009'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 2d9135be-2860-4f62-ab16-c9d3a260004d
                    city_id: a730455f-f1a8-4a3f-83f8-a427d82ffe0b
                    city_name: Hosur
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-12-05T02:30:00.604147'
                    updated_at: '2026-01-22T02:30:00.527368'
                  - sys_id: 9929754d-959d-4394-b896-6a22bb6d31e9
                    city_id: ac7cd4f0-8980-41ee-9931-cbbd3865907c
                    city_name: Haridwar
                    platform_name: zepto
                    city_aliases: []
                    created_at: '2025-04-16T07:18:39.805447'
                    updated_at: '2026-01-22T02:30:00.527368'
                total: 77
                page: 1
                limit: 50
                total_pages: 2
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - cities
      security:
        - ApiKeyAuth: []
      description: List all cities with optional filters
  /v1/products/groups/{product_group_id}:
    get:
      summary: Get product group details
      parameters:
        - name: name
          in: query
          description: Product group name filter
          schema:
            type: string
          example: string
        - name: is_active
          in: query
          description: Active status filter
          schema:
            type: string
          example: string
        - name: include_products
          in: query
          description: Include products in response
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:53:49 GMT
            Content-Length:
              schema:
                type: integer
              example: '2'
            X-Request-Id:
              schema:
                type: string
              example: 466438cf-90d2-4f7d-ad75-102970dfa850
          content:
            application/json:
              schema:
                type: object
              example: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - products
        - groups
        - '{product_group_id}'
      security:
        - ApiKeyAuth: []
      description: Get detailed information about a specific product group
    parameters:
      - name: product_group_id
        in: path
        required: true
        description: Product Group ID
        schema:
          type: string
        example: string
  /v1/products/groups:
    get:
      summary: List product groups
      parameters:
        - name: name
          in: query
          description: Product group name filter
          schema:
            type: string
          example: string
        - name: is_active
          in: query
          description: Active status filter
          schema:
            type: string
          example: string
        - name: include_products
          in: query
          description: Include products in response
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:52:57 GMT
            Content-Length:
              schema:
                type: integer
              example: '58'
            X-Request-Id:
              schema:
                type: string
              example: 456438cf-90d2-4f7d-ad75-102970dfa850
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items: {}
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items: []
                total: 0
                page: 1
                limit: 50
                total_pages: 0
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - products
        - groups
      security:
        - ApiKeyAuth: []
      description: List all product groups with optional filters
  /v1/products:
    get:
      summary: List all products
      parameters:
        - name: product_id
          in: query
          description: Product ID filter
          schema:
            type: string
          example: string
        - name: product_group_id
          in: query
          description: Product group ID filter
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: string
            default: '1'
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: string
            default: '50'
          example: '50'
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Successful Response
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 06:52:17 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '2041'
            X-Request-Id:
              schema:
                type: string
              example: 446438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        product_id:
                          type: string
                        name:
                          type: string
                        mrp:
                          type: integer
                        image_link:
                          type: string
                          format: uri
                        status:
                          type: string
                        operator:
                          type: string
                        is_archived:
                          type: boolean
                        last_updated_at:
                          type: string
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                items:
                  - sys_id: null
                    product_id: 0c65da84-2917-4fea-ab41-bf39ae038e44
                    name: Pantene Hair Fall Control Shampoo
                    mrp: 345
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/8e1cdcbb-6d16-4781-b6c9-ab5554a9f4dd.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 0eda46d5-556f-4c79-a9f8-b7ab23150650
                    name: Pantene Hair Science Lively Clean Shampoo
                    mrp: 359
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/32d79ec8-7d86-404b-8c68-9183b9b4f4c8.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 321b5d09-e16e-4a53-abe8-d5a247b343e7
                    name: Pantene Pro-V Advanced Hairfall Solution
                    mrp: 300
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/45bebca3-167d-46d3-9999-a84577981636.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 32f931d3-bd0b-41f1-b2c0-b4aa6465f347
                    name: Pantene Adv Hairfall Solution Conditioner Silky Smooth
                    mrp: 209
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/6ff8b892-bc4b-46c4-884d-07efb1ed7bbd.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 3c97c550-8aea-4154-8ca3-7f754ace1354
                    name: Pantene 2 In 1 Silky Smooth Care Shampoo + Conditioner
                    mrp: 999
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/307dd3af-d42b-4cb8-938a-c52fd436e753.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 3d2af234-75dc-4b05-9ee1-4afde16a160e
                    name: "Pantene\_Advanced Hairfall Solutions 2 In 1 Shampoo + Conditioner"
                    mrp: 120
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/inventory/product/3d2af234-75dc-4b05-9ee1-4afde16a160e-1pm_QALcKksGNDVHaTMt3qAyDKfaPzhs2.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 6b7306aa-86f2-49c8-b40d-187b5787e94a
                    name: Pantene 2 In 1 Hairfall Control Shampoo + Conditioner
                    mrp: 999
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/583f3538-a9b4-45bc-93d3-6d4fb9953be9.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 6eb28ee0-878b-4d6c-908a-767e3b45f015
                    name: >-
                      Pantene Hairscience Hairfall Control Shampoo Lesser
                      Hairfall,With Vitaminb
                    mrp: 359
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/b50930d5-0571-4329-92b6-f0e86da7bb6c.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 7cd4d614-0edb-4e62-a3aa-1e4d0e8dd5f6
                    name: "Pantene\_Advanced Hairfall Solutions 2 In 1 Shampoo + Conditioner"
                    mrp: 305
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/5d80a784-9cb8-49dc-a93f-bd7bc190cdfa.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 803d54cc-ee0f-48ee-9e58-18ed0cafc013
                    name: >-
                      Pantene Hairscience Hairfall Control Shampoo Lesser
                      Hairfall,With Vitaminb
                    mrp: 799
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e59c9175-9e13-4ec2-889e-f81cdad120ae.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 851053f7-3a10-43ef-8f7a-e872335be337
                    name: "Pantene\_ Hair Science Deep Repair Shampoo  With Vitamin B Repaired Hair"
                    mrp: 120
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/f3adbd76-4fa2-4cb2-81eb-e0ea672a3018.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 8ffa6b0b-bf16-40db-be37-62d87842316c
                    name: >-
                      Pantene Hair Science Silky Smooth Shampoo With Vitamin E,
                      Hydrated Hair
                    mrp: 359
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/012fbcec-9404-4e75-bce1-b5d492f74a53.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: 9f4d6112-f437-41a0-bd6f-886c4dd9cf2d
                    name: Pantene 2 in 1 Hairfall Control Shampoo + Conditioner
                    mrp: 285
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/18491b9e-b6c8-46a8-84b0-4b14cc3f07fa.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: a298bf08-b2df-4e03-b727-ac126d24956f
                    name: >-
                      Pantene Hairscience Hairfall Control Shampoo, Lesser Hair
                      Fall With Vitamin B
                    mrp: 189
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/5fb0ca18-c862-4741-911e-5462c08ec643.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: a2d6d5d1-6ce0-4893-a508-1ac8abd941aa
                    name: Pantene Hair Science Lively Clean Shampoo
                    mrp: 189
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/c6d65333-a767-48da-9e99-7e27dbb96dc9.jpg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: af64fea2-b3e8-4c7b-8b2e-1f650fd6f7a9
                    name: >-
                      Pantene Pro-V Advanced Hairfall Solution, Silky Smooth
                      Care Shampoo
                    mrp: 799
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e831be72-6e01-45ad-83fc-e2e27ef2693c.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: afdc353b-68f8-40df-ab77-6d422f706dc1
                    name: >-
                      Pantene Advanced Hair Fall Solution Conditioner - Total
                      Damage Care
                    mrp: 209
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/e8c6c976-3c16-4831-94c1-89e30335155a.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: b2f4a67a-8bbc-4f9a-a3e7-166141cf6c9d
                    name: Pantene Hairfall Control Conditioner
                    mrp: 209
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/1cb62ca5-a00b-4100-bf0c-b0e0898e734d.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: bc505180-3dbc-4b8a-b4ac-90a0b01619da
                    name: 'Pantene 3-Minute Miracle Smooth And Silky Conditioner '
                    mrp: 180
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/inventory/product/55ff9e24-6d6e-43dd-b3ca-c1ab32e6f9da-48786385.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: bd0b4d7e-9af5-486d-b461-ddc1a3e4a505
                    name: Pantene Hair Science Luscious Thick Shampoo
                    mrp: 189
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/2bcb6c0e-2cac-474e-b03d-6b96ceb39ffc.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: c75964d8-5be7-4a57-9cf3-9868729240ad
                    name: Panteen Pro V Advance Hairfall Solution
                    mrp: 450
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/34fbad55-e9a3-40be-80c1-a72c86a02074.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: c90f80c6-5328-4904-8ffb-78af3c9cf743
                    name: >-
                      Pantene Hairscience Hairfall Control Shampoo, Lesser Hair
                      Fall With Vitamin B Combo
                    mrp: 378
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/721163c5-d4bc-4175-8196-6d4f9ca53795.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: d6c31513-8917-4282-b6da-b14eb606f507
                    name: >-
                      Pantene Hair Science Silky Smooth Shampoo With Vitamin E
                      Hydrated Hair
                    mrp: 189
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/169f41c7-3efb-47f8-9f70-6bfd2421bb26.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: e7dbe0ab-c140-41e5-a76a-f75ad5add606
                    name: >-
                      Pantene Hair Science Silky Smooth Shampoo With Vitamin E
                      Hydrated Hair
                    mrp: 740
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/b85bae65-33b2-4116-aa2d-6d4d0a813d6f.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: f104e81d-2b74-41f4-93dd-f5a0b67efb2b
                    name: Pantene Hair Science Luscious Thick Shampoo
                    mrp: 359
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/aaac6046-694f-4939-bfbe-c39b25e6eb72.jpeg
                    status: ENDED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:09.043140'
                  - sys_id: null
                    product_id: c83d134e-8648-42a7-8b81-5d6d4c7d56c5
                    name: Pantene Miracle Rescue Collagen Repair Conditioner
                    mrp: 290
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/dbcc6f1b-c43c-4191-90ed-c5fa18566842.jpeg
                    status: PAUSED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:08.875568'
                  - sys_id: null
                    product_id: ca2960c7-a844-4948-baf1-406c65ff3f1a
                    name: Pantene Miracle Rescue Biotin Strength Conditioner
                    mrp: 290
                    image_link: >-
                      https://ik.imagekit.io/jupdt2k6txi/cms/product_variant/92dfad4b-00f6-46cc-be84-701409c58eda.jpeg
                    status: PAUSED
                    operator: zepto
                    is_archived: false
                    last_updated_at: '2026-01-21T07:12:08.875568'
                total: 27
                page: 1
                limit: 50
                total_pages: 1
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - products
      security:
        - ApiKeyAuth: []
      description: Get all products with optional filters
  /v1/t1-data:
    get:
      summary: Get T-1 performance data
      parameters:
        - name: snapshot_date
          in: query
          description: Snapshot date
          schema:
            type: string
          example: string
        - name: snapshot_date_from
          in: query
          description: Snapshot date from
          schema:
            type: string
          example: string
        - name: snapshot_date_to
          in: query
          description: Snapshot date to
          schema:
            type: string
          example: string
        - name: campaign_id
          in: query
          description: Campaign ID
          schema:
            type: string
          example: string
        - name: campaign_name
          in: query
          description: Campaign name
          schema:
            type: string
          example: string
        - name: gc_campaign_type
          in: query
          description: >-
            GC campaign type (Sponsored Brand, Sponsored Product, Sponsored
            Display)
          schema:
            type: string
            enum:
              - Sponsored Brand
              - Sponsored Product
              - Sponsored Display
          example: string
        - name: campaign_status
          in: query
          description: Campaign status
          schema:
            type: string
          example: string
        - name: targeting_type
          in: query
          description: Targeting type
          schema:
            type: string
          example: string
        - name: targeting_value
          in: query
          description: Targeting value
          schema:
            type: string
          example: string
        - name: match_type
          in: query
          description: Match type
          schema:
            type: string
          example: string
        - name: product_id
          in: query
          description: Product ID
          schema:
            type: string
          example: string
        - name: bgr
          in: query
          description: BGR
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: integer
            default: 1
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: integer
            default: 50
          example: '50'
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
          example: string
        - name: order
          in: query
          description: Sort order
          schema:
            type: string
            default: asc
          example: asc
        - name: x-api-key
          in: header
          required: true
          description: API key for authentication
          schema:
            type: string
          example: string
        - name: x-platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Get T-1 performance data
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 07:05:19 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '416'
            X-Request-Id:
              schema:
                type: string
              example: 4d6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        snapshot_date:
                          type: string
                          format: date
                        campaign_id:
                          type: string
                        campaign_name:
                          type: string
                        campaign_type:
                          type: string
                        campaign_status:
                          type: string
                        targeting_value:
                          type: string
                        product_id:
                          type: string
                        product_title:
                          type: string
                        business_group:
                          type: string
                        cpm:
                          type: integer
                        impressions:
                          type: integer
                        direct_atc:
                          type: integer
                        indirect_atc:
                          type: integer
                        direct_quantities_sold:
                          type: integer
                        indirect_quantities_sold:
                          type: integer
                        direct_sales:
                          type: integer
                        indirect_sales:
                          type: integer
                        estimated_budget_consumed:
                          type: integer
                        total_impressions:
                          type: integer
                        ad_impressions:
                          type: integer
                        organic_impressions:
                          type: integer
                        bgr_total_impressions:
                          type: integer
                        bgr_ad_impressions:
                          type: integer
                        bgr_org_impressions:
                          type: integer
                        median_ad_rank:
                          type: integer
                        median_org_rank:
                          type: integer
                        ad_weight:
                          type: integer
                        total_ad_weight:
                          type: integer
                        offtake_weight:
                          type: integer
                        total_offtake_weight:
                          type: integer
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                data:
                  - snapshot_date: '2026-01-16'
                    campaign_id: CMP_001
                    campaign_name: CITY_A = REGION_X / SEGMENT_Y
                    campaign_type: TYPE_1
                    campaign_status: INACTIVE
                    targeting_value: CATEGORY_A
                    product_id: PROD_001
                    product_title: Sample Product Name Variant A
                    business_group: CATEGORY_GROUP_1
                    cpm: 0
                    impressions: 1
                    direct_atc: 0
                    indirect_atc: 0
                    direct_quantities_sold: 0
                    indirect_quantities_sold: 0
                    direct_sales: 0
                    indirect_sales: 0
                    estimated_budget_consumed: 0
                    total_impressions: 0
                    ad_impressions: 0
                    organic_impressions: 0
                    bgr_total_impressions: 0
                    bgr_ad_impressions: 0
                    bgr_org_impressions: 0
                    median_ad_rank: 0
                    median_org_rank: 0
                    ad_weight: 0
                    total_ad_weight: 0
                    offtake_weight: 0
                    total_offtake_weight: 0
                total: 410
                page: 1
                limit: 1
                total_pages: 410
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - t1-data
      security:
        - ApiKeyAuth: []
      description: Retrieve performance data with optional filters
  /v1/city-performance/data:
    get:
      summary: Get city performance data
      parameters:
        - name: snapshot_date
          in: query
          description: Snapshot date
          schema:
            type: string
          example: string
        - name: snapshot_date_from
          in: query
          description: Snapshot date from
          schema:
            type: string
          example: string
        - name: snapshot_date_to
          in: query
          description: Snapshot date to
          schema:
            type: string
          example: string
        - name: campaign_id
          in: query
          description: Campaign ID
          schema:
            type: string
          example: string
        - name: campaign_name
          in: query
          description: Campaign name
          schema:
            type: string
          example: string
        - name: gc_campaign_type
          in: query
          description: >-
            GC campaign type (Sponsored Brand, Sponsored Product, Sponsored
            Display)
          schema:
            type: string
            enum:
              - Sponsored Brand
              - Sponsored Product
              - Sponsored Display
          example: string
        - name: campaign_status
          in: query
          description: Campaign status
          schema:
            type: string
          example: string
        - name: targeting_type
          in: query
          description: Targeting type
          schema:
            type: string
          example: string
        - name: targeting_value
          in: query
          description: Targeting value
          schema:
            type: string
          example: string
        - name: match_type
          in: query
          description: Match type
          schema:
            type: string
          example: string
        - name: product_id
          in: query
          description: Product ID
          schema:
            type: string
          example: string
        - name: bgr
          in: query
          description: BGR
          schema:
            type: string
          example: string
        - name: city
          in: query
          description: City
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: integer
            default: 1
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: integer
            default: 50
          example: '50'
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
          example: string
        - name: order
          in: query
          description: Sort order
          schema:
            type: string
            default: asc
          example: asc
        - name: Platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Get city performance data
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 07:05:19 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '416'
            X-Request-Id:
              schema:
                type: string
              example: 4d6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        snapshot_date:
                          type: string
                          format: date
                        city:
                          type: string
                        cpm:
                          type: integer
                        impressions:
                          type: integer
                        direct_atc:
                          type: integer
                        indirect_atc:
                          type: integer
                        direct_quantities_sold:
                          type: integer
                        indirect_quantities_sold:
                          type: integer
                        direct_sales:
                          type: integer
                        indirect_sales:
                          type: integer
                        estimated_budget_consumed:
                          type: integer
                        total_impressions:
                          type: integer
                        ad_impressions:
                          type: integer
                        organic_impressions:
                          type: integer
                        bgr_total_impressions:
                          type: integer
                        bgr_ad_impressions:
                          type: integer
                        bgr_org_impressions:
                          type: integer
                        median_ad_rank:
                          type: integer
                        median_org_rank:
                          type: integer
                        ad_weight:
                          type: integer
                        total_ad_weight:
                          type: integer
                        offtake_weight:
                          type: integer
                        total_offtake_weight:
                          type: integer
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                data:
                  - snapshot_date: '2026-01-16'
                    city: Mumbai
                    cpm: 0
                    impressions: 1
                    direct_atc: 0
                    indirect_atc: 0
                    direct_quantities_sold: 0
                    indirect_quantities_sold: 0
                    direct_sales: 0
                    indirect_sales: 0
                    estimated_budget_consumed: 0
                    total_impressions: 0
                    ad_impressions: 0
                    organic_impressions: 0
                    bgr_total_impressions: 0
                    bgr_ad_impressions: 0
                    bgr_org_impressions: 0
                    median_ad_rank: 0
                    median_org_rank: 0
                    ad_weight: 0
                    total_ad_weight: 0
                    offtake_weight: 0
                    total_offtake_weight: 0
                total: 410
                page: 1
                limit: 1
                total_pages: 410
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - city-performance
      description: Retrieve city performance data with optional filters
  /v1/keyword-performance/data:
    get:
      summary: Get keyword performance data
      parameters:
        - name: snapshot_date
          in: query
          description: Snapshot date
          schema:
            type: string
          example: string
        - name: snapshot_date_from
          in: query
          description: Snapshot date from
          schema:
            type: string
          example: string
        - name: snapshot_date_to
          in: query
          description: Snapshot date to
          schema:
            type: string
          example: string
        - name: campaign_id
          in: query
          description: Campaign ID
          schema:
            type: string
          example: string
        - name: campaign_name
          in: query
          description: Campaign name
          schema:
            type: string
          example: string
        - name: gc_campaign_type
          in: query
          description: >-
            GC campaign type (Sponsored Brand, Sponsored Product, Sponsored
            Display)
          schema:
            type: string
            enum:
              - Sponsored Brand
              - Sponsored Product
              - Sponsored Display
          example: string
        - name: campaign_status
          in: query
          description: Campaign status
          schema:
            type: string
          example: string
        - name: targeting_type
          in: query
          description: Targeting type
          schema:
            type: string
          example: string
        - name: targeting_value
          in: query
          description: Targeting value (keyword)
          schema:
            type: string
          example: string
        - name: match_type
          in: query
          description: Match type
          schema:
            type: string
          example: string
        - name: product_id
          in: query
          description: Product ID
          schema:
            type: string
          example: string
        - name: bgr
          in: query
          description: BGR
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: integer
            default: 1
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: integer
            default: 50
          example: '50'
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
          example: string
        - name: order
          in: query
          description: Sort order
          schema:
            type: string
            default: asc
          example: asc
        - name: Platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Get keyword performance data
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 07:05:19 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '416'
            X-Request-Id:
              schema:
                type: string
              example: 4d6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        snapshot_date:
                          type: string
                          format: date
                        targeting_value:
                          type: string
                        match_type:
                          type: string
                        cpm:
                          type: integer
                        impressions:
                          type: integer
                        direct_atc:
                          type: integer
                        indirect_atc:
                          type: integer
                        direct_quantities_sold:
                          type: integer
                        indirect_quantities_sold:
                          type: integer
                        direct_sales:
                          type: integer
                        indirect_sales:
                          type: integer
                        estimated_budget_consumed:
                          type: integer
                        total_impressions:
                          type: integer
                        ad_impressions:
                          type: integer
                        organic_impressions:
                          type: integer
                        bgr_total_impressions:
                          type: integer
                        bgr_ad_impressions:
                          type: integer
                        bgr_org_impressions:
                          type: integer
                        median_ad_rank:
                          type: integer
                        median_org_rank:
                          type: integer
                        ad_weight:
                          type: integer
                        total_ad_weight:
                          type: integer
                        offtake_weight:
                          type: integer
                        total_offtake_weight:
                          type: integer
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                data:
                  - snapshot_date: '2026-01-16'
                    targeting_value: shampoo
                    match_type: EXACT
                    cpm: 0
                    impressions: 1
                    direct_atc: 0
                    indirect_atc: 0
                    direct_quantities_sold: 0
                    indirect_quantities_sold: 0
                    direct_sales: 0
                    indirect_sales: 0
                    estimated_budget_consumed: 0
                    total_impressions: 0
                    ad_impressions: 0
                    organic_impressions: 0
                    bgr_total_impressions: 0
                    bgr_ad_impressions: 0
                    bgr_org_impressions: 0
                    median_ad_rank: 0
                    median_org_rank: 0
                    ad_weight: 0
                    total_ad_weight: 0
                    offtake_weight: 0
                    total_offtake_weight: 0
                total: 410
                page: 1
                limit: 1
                total_pages: 410
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - keyword-performance
      description: Retrieve keyword performance data with optional filters
  /v1/product-performance/data:
    get:
      summary: Get product performance data
      parameters:
        - name: snapshot_date
          in: query
          description: Snapshot date
          schema:
            type: string
          example: string
        - name: snapshot_date_from
          in: query
          description: Snapshot date from
          schema:
            type: string
          example: string
        - name: snapshot_date_to
          in: query
          description: Snapshot date to
          schema:
            type: string
          example: string
        - name: campaign_id
          in: query
          description: Campaign ID
          schema:
            type: string
          example: string
        - name: campaign_name
          in: query
          description: Campaign name
          schema:
            type: string
          example: string
        - name: gc_campaign_type
          in: query
          description: >-
            GC campaign type (Sponsored Brand, Sponsored Product, Sponsored
            Display)
          schema:
            type: string
            enum:
              - Sponsored Brand
              - Sponsored Product
              - Sponsored Display
          example: string
        - name: campaign_status
          in: query
          description: Campaign status
          schema:
            type: string
          example: string
        - name: targeting_type
          in: query
          description: Targeting type
          schema:
            type: string
          example: string
        - name: targeting_value
          in: query
          description: Targeting value
          schema:
            type: string
          example: string
        - name: match_type
          in: query
          description: Match type
          schema:
            type: string
          example: string
        - name: product_id
          in: query
          description: Product ID
          schema:
            type: string
          example: string
        - name: bgr
          in: query
          description: BGR
          schema:
            type: string
          example: string
        - name: page
          in: query
          description: Page number
          schema:
            type: integer
            default: 1
          example: '1'
        - name: limit
          in: query
          description: Page size
          schema:
            type: integer
            default: 50
          example: '50'
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
          example: string
        - name: order
          in: query
          description: Sort order
          schema:
            type: string
            default: asc
          example: asc
        - name: Platform
          in: header
          required: true
          description: Platform identifier
          schema:
            type: string
            enum:
              - zepto
          example: zepto
      responses:
        '200':
          description: Get product performance data
          headers:
            Date:
              schema:
                type: string
              example: Thu, 22 Jan 2026 07:05:19 GMT
            Content-Encoding:
              schema:
                type: string
              example: br
            Content-Length:
              schema:
                type: integer
              example: '416'
            X-Request-Id:
              schema:
                type: string
              example: 4d6438cf-90d2-4f7d-ad75-102970dfa850
            Vary:
              schema:
                type: string
              example: Accept-Encoding
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        snapshot_date:
                          type: string
                          format: date
                        product_id:
                          type: string
                        product_title:
                          type: string
                        cpm:
                          type: integer
                        impressions:
                          type: integer
                        direct_atc:
                          type: integer
                        indirect_atc:
                          type: integer
                        direct_quantities_sold:
                          type: integer
                        indirect_quantities_sold:
                          type: integer
                        direct_sales:
                          type: integer
                        indirect_sales:
                          type: integer
                        estimated_budget_consumed:
                          type: integer
                        total_impressions:
                          type: integer
                        ad_impressions:
                          type: integer
                        organic_impressions:
                          type: integer
                        bgr_total_impressions:
                          type: integer
                        bgr_ad_impressions:
                          type: integer
                        bgr_org_impressions:
                          type: integer
                        median_ad_rank:
                          type: integer
                        median_org_rank:
                          type: integer
                        ad_weight:
                          type: integer
                        total_ad_weight:
                          type: integer
                        offtake_weight:
                          type: integer
                        total_offtake_weight:
                          type: integer
                  total:
                    type: integer
                  page:
                    type: integer
                  limit:
                    type: integer
                  total_pages:
                    type: integer
              example:
                data:
                  - snapshot_date: '2026-01-16'
                    product_id: PROD_001
                    product_title: Sample Product Name Variant A
                    cpm: 0
                    impressions: 1
                    direct_atc: 0
                    indirect_atc: 0
                    direct_quantities_sold: 0
                    indirect_quantities_sold: 0
                    direct_sales: 0
                    indirect_sales: 0
                    estimated_budget_consumed: 0
                    total_impressions: 0
                    ad_impressions: 0
                    organic_impressions: 0
                    bgr_total_impressions: 0
                    bgr_ad_impressions: 0
                    bgr_org_impressions: 0
                    median_ad_rank: 0
                    median_org_rank: 0
                    ad_weight: 0
                    total_ad_weight: 0
                    offtake_weight: 0
                    total_offtake_weight: 0
                total: 410
                page: 1
                limit: 1
                total_pages: 410
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
              example:
                code: string
                error: string
                message: string
      tags:
        - v1
        - product-performance
      description: Retrieve product performance data with optional filters
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
