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

# Target collaborations

> Lists the shop's target collaborations, one page per call, including ones created in Seller Center. Each row has `id`, `name`, the invite `message`, `startTime`, `endTime`, `createTime` and `updateTime` (Unix seconds), `type` (`STANDARD` or `TOP_CREATOR_PROGRAM`), `counts` (invited, showcase creators, content creators, products) and `freeSampleRule`.

`status` is required: `ONGOING` (more than 7 days left), `EXPIRING` (under 7 days left), `VALID` (both), `CANCELING` or `COMPLETED`. `VALID` collabs count toward TikTok's 10,000 cap. Rows don't carry their own status. Filter with `keyword` plus `keywordType` (`PRODUCT_ID`, `PRODUCT_NAME`, `TARGET_COLLABORATION_ID` or `TARGET_COLLABORATION_NAME`; the name types are fuzzy), `creatorOpenId`, `creatorAcceptStatus` and `freeSampleSetting`. `pageSize` is 20, 50 or 100 (default 100). Pass `nextCursor` back as `cursor`. For shops connected without TikTok's official API, only `ONGOING`, `EXPIRING` or `COMPLETED` with no other filter work, and fields are best effort (`source: web`). Read live from TikTok.



## OpenAPI

````yaml api-reference/tik-tok-shop-openapi.json GET /tik_tok_shop/target_collabs
openapi: 3.0.3
info:
  title: 'Growi API: TikTok Shop'
  version: 1.0.0
  description: >-
    Generated by scripts/gen_tik_tok_shop.rb from Growi's TikTok Shop route
    table.
servers:
  - url: https://api.growi.io/api/public/v1
security:
  - bearerAuth: []
paths:
  /tik_tok_shop/target_collabs:
    get:
      summary: Target collaborations
      description: >-
        Lists the shop's target collaborations, one page per call, including
        ones created in Seller Center. Each row has `id`, `name`, the invite
        `message`, `startTime`, `endTime`, `createTime` and `updateTime` (Unix
        seconds), `type` (`STANDARD` or `TOP_CREATOR_PROGRAM`), `counts`
        (invited, showcase creators, content creators, products) and
        `freeSampleRule`.


        `status` is required: `ONGOING` (more than 7 days left), `EXPIRING`
        (under 7 days left), `VALID` (both), `CANCELING` or `COMPLETED`. `VALID`
        collabs count toward TikTok's 10,000 cap. Rows don't carry their own
        status. Filter with `keyword` plus `keywordType` (`PRODUCT_ID`,
        `PRODUCT_NAME`, `TARGET_COLLABORATION_ID` or
        `TARGET_COLLABORATION_NAME`; the name types are fuzzy), `creatorOpenId`,
        `creatorAcceptStatus` and `freeSampleSetting`. `pageSize` is 20, 50 or
        100 (default 100). Pass `nextCursor` back as `cursor`. For shops
        connected without TikTok's official API, only `ONGOING`, `EXPIRING` or
        `COMPLETED` with no other filter work, and fields are best effort
        (`source: web`). Read live from TikTok.
      parameters:
        - name: status
          in: query
          required: true
          schema:
            type: string
            enum:
              - ONGOING
              - EXPIRING
              - VALID
              - CANCELING
              - COMPLETED
          description: >-
            ONGOING = more than 7 days left, EXPIRING = under 7 days left, VALID
            = both, CANCELING = being cancelled, COMPLETED = expired or
            cancelled.
        - name: keyword
          in: query
          required: false
          schema:
            type: string
          description: Search text. Requires keywordType.
        - name: keywordType
          in: query
          required: false
          schema:
            type: string
            enum:
              - PRODUCT_ID
              - PRODUCT_NAME
              - TARGET_COLLABORATION_ID
              - TARGET_COLLABORATION_NAME
          description: >-
            What `keyword` matches. The two NAME types are fuzzy; the two ID
            types are exact. Requires keyword.
        - name: creatorOpenId
          in: query
          required: false
          schema:
            type: string
          description: Only collabs this creator (TikTok open id) was invited to.
        - name: creatorAcceptStatus
          in: query
          required: false
          schema:
            type: string
            enum:
              - ACCEPT
              - ALL
          description: >-
            ACCEPT = only collabs where invited creators added the products to
            their showcase. TikTok default ALL.
        - name: freeSampleSetting
          in: query
          required: false
          schema:
            type: string
            enum:
              - WITH_FREE_SAMPLE
              - ALL
          description: >-
            WITH_FREE_SAMPLE = only collabs that offer free samples. TikTok
            default ALL.
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            enum:
              - 20
              - 50
              - 100
            default: 100
          description: Rows per page. TikTok accepts only 20, 50 or 100.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: The previous response's nextCursor.
        - name: organization_id
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Use the TikTok Shop of this child brand (organization id) of your
            API key's organization
      responses:
        '200':
          description: One page of collaborations
          content:
            application/json:
              schema:
                type: object
                required:
                  - collabs
                  - totalCount
                  - nextCursor
                  - hasMore
                  - source
                properties:
                  collabs:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          nullable: true
                        name:
                          type: string
                          nullable: true
                        message:
                          type: string
                          nullable: true
                          description: The invite message sent to creators.
                        startTime:
                          type: integer
                          nullable: true
                          description: Unix epoch seconds.
                        endTime:
                          type: integer
                          nullable: true
                          description: Unix epoch seconds.
                        createTime:
                          type: integer
                          nullable: true
                          description: Unix epoch seconds.
                        updateTime:
                          type: integer
                          nullable: true
                          description: Unix epoch seconds.
                        type:
                          type: string
                          nullable: true
                          description: >-
                            STANDARD (seller picked products and creators) or
                            TOP_CREATOR_PROGRAM.
                        counts:
                          type: object
                          properties:
                            invited:
                              type: integer
                              nullable: true
                              description: Creators invited.
                            showcaseCreators:
                              type: integer
                              nullable: true
                              description: >-
                                Creators who added a product from this collab to
                                their showcase.
                            contentCreators:
                              type: integer
                              nullable: true
                              description: >-
                                Creators who posted content featuring a product
                                from this collab.
                            products:
                              type: integer
                              nullable: true
                              description: Products in the collab.
                        freeSampleRule:
                          type: object
                          nullable: true
                          properties:
                            hasFreeSample:
                              type: boolean
                            isSampleApprovalExempt:
                              type: boolean
                  totalCount:
                    type: integer
                    nullable: true
                    description: TikTok's total for this filter across all pages.
                  nextCursor:
                    type: string
                    nullable: true
                    description: >-
                      Pass back as cursor for the next page; null on the last
                      page.
                  hasMore:
                    type: boolean
                  source:
                    type: string
                    enum:
                      - official
                      - web
                    description: >-
                      official = TikTok's API; web = the Seller Center list for
                      a token-less shop (best-effort fields).
              example:
                collabs:
                  - id: '7390000000000000001'
                    name: Summer serum push
                    message: Loved your skincare videos
                    startTime: 1756684800
                    endTime: 1759276800
                    createTime: 1756684800
                    updateTime: 1756771200
                    type: STANDARD
                    counts:
                      invited: 50
                      showcaseCreators: 12
                      contentCreators: 4
                      products: 3
                    freeSampleRule:
                      hasFreeSample: true
                      isSampleApprovalExempt: false
                totalCount: 132
                nextCursor: b2Zmc2V0PTIwCg
                hasMore: true
                source: official
        '400':
          description: >-
            Missing or unknown status, a pageSize other than 20/50/100, or
            keyword without keywordType (or the reverse)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '403':
          description: >-
            The shop's TikTok authorization doesn't include this data (`code:
            scope_not_granted`), so the seller has to re-authorize the shop
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '404':
          description: >-
            `organization_id` isn't an active child brand of your organization,
            or the record you asked for doesn't exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '422':
          description: >-
            No TikTok Shop is connected for this organization. A parent
            organization whose shops sit on its child brands has to pass
            `organization_id`. Also returned when the shop isn't connected
            through TikTok's official API (`code: unsupported_on_web_only_shop`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '429':
          description: >-
            Rate limited: one call every 2 seconds and an hourly cap per API
            key. See `Retry-After` and the `X-RateLimit-*` headers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '502':
          description: >-
            TikTok refused or failed. `error` is a fixed message and `code`
            names the failure when there is one
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
components:
  schemas:
    TikTokShopError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: What went wrong
        code:
          type: string
          description: Machine-readable reason, when there is one
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.