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

# Sample outcomes

> Returns where up to 100 sample applications ended up. For each id you get `currentState` (the furthest state across its products), `approvedAt`, `shipped` and `shippedAt`, `contentFulfilled`, `contentPosted`, a `content` summary (videos, first post time, views), attributed `gmv` where it can be matched, and per-product state timestamps.

Pass `applicationIds` as a comma-separated list of 1 to 100 numeric ids. Items come back in your order and duplicates collapse. `found: false` means Growi holds no data for that id (not synced yet, another shop's id, or a typo). Served from Growi's synced data. If the call times out, ask for fewer ids.



## OpenAPI

````yaml api-reference/tik-tok-shop-openapi.json GET /tik_tok_shop/samples/outcomes
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/samples/outcomes:
    get:
      summary: Sample outcomes
      description: >-
        Returns where up to 100 sample applications ended up. For each id you
        get `currentState` (the furthest state across its products),
        `approvedAt`, `shipped` and `shippedAt`, `contentFulfilled`,
        `contentPosted`, a `content` summary (videos, first post time, views),
        attributed `gmv` where it can be matched, and per-product state
        timestamps.


        Pass `applicationIds` as a comma-separated list of 1 to 100 numeric ids.
        Items come back in your order and duplicates collapse. `found: false`
        means Growi holds no data for that id (not synced yet, another shop's
        id, or a typo). Served from Growi's synced data. If the call times out,
        ask for fewer ids.
      parameters:
        - name: applicationIds
          in: query
          required: true
          schema:
            type: string
          description: Comma-separated numeric application ids, 1-100.
        - 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: Outcomes
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      required:
                        - applicationId
                        - found
                      properties:
                        applicationId:
                          type: string
                        found:
                          type: boolean
                          description: >-
                            false = Growi has no record or content for this id
                            (not synced yet, another shop's id, or a typo). Only
                            applicationId is present then.
                        creatorId:
                          type: string
                          nullable: true
                        creatorUsername:
                          type: string
                          nullable: true
                        partnerName:
                          type: string
                          description: Managing agency, when one handles the sample.
                          nullable: true
                        reviewRecordedAt:
                          type: string
                          format: date-time
                          description: Set when the review was made through Growi.
                          nullable: true
                        currentState:
                          type: string
                          description: >-
                            Furthest canonical state across the application's
                            product rows.
                          nullable: true
                        approvedAt:
                          type: string
                          format: date-time
                          description: >-
                            First time we saw awaiting_shipment (detection
                            time).
                          nullable: true
                        shipped:
                          type: boolean
                          description: >-
                            Shipped or further (a content state implies shipped
                            even if the ship step was never observed).
                        shippedAt:
                          type: string
                          nullable: true
                          format: date-time
                        contentFulfilled:
                          type: boolean
                          description: >-
                            TikTok counted the content requirement met
                            (content_fulfilled).
                        contentPosted:
                          type: boolean
                          description: >-
                            We hold at least one posted video for this sample,
                            or it is content_fulfilled.
                        content:
                          type: object
                          properties:
                            videos:
                              type: integer
                            firstPostedAt:
                              type: string
                              nullable: true
                              format: date-time
                            views:
                              type: number
                              description: >-
                                Sum of stored view counts across the sample's
                                videos.
                              nullable: true
                        gmv:
                          type: object
                          description: >-
                            Order lines on this sample's posted videos for the
                            products it requested, found under the creator's
                            handle (price x quantity, INELIGIBLE lines
                            excluded). A line shared by several applications
                            (one video, same product) counts once, for the
                            latest application (highest id), whichever ids you
                            ask about. null = nothing to join on (no stored
                            content, or no known handle). Orders stored without
                            a creator handle are not counted, so this can
                            undercount.
                          properties:
                            amount:
                              type: string
                              description: >-
                                Decimal string; null when the lines span more
                                than one currency.
                              nullable: true
                            currency:
                              type: string
                              description: >-
                                null when the lines span more than one currency,
                                or there are none.
                              nullable: true
                            orders:
                              type: integer
                          nullable: true
                        products:
                          type: array
                          description: One entry per stored product row of the application.
                          items:
                            type: object
                            properties:
                              productId:
                                type: string
                                nullable: true
                              currentState:
                                type: string
                              nativeStatus:
                                type: string
                                nullable: true
                              stateTimestamps:
                                type: object
                                additionalProperties:
                                  type: string
                                  format: date-time
              example:
                items:
                  - applicationId: '5800000000000000001'
                    found: true
                    creatorId: uACafQAAAABexampleOpenId0000000
                    creatorUsername: creator_one
                    partnerName: null
                    reviewRecordedAt: '2026-01-03T09:00:00.000Z'
                    currentState: content_fulfilled
                    approvedAt: '2026-01-03T09:00:00.000Z'
                    shipped: true
                    shippedAt: '2026-01-05T14:00:00.000Z'
                    contentFulfilled: true
                    contentPosted: true
                    content:
                      videos: 2
                      firstPostedAt: '2026-01-12T18:00:00.000Z'
                      views: 25400
                    gmv:
                      amount: '189.90'
                      currency: USD
                      orders: 10
                    products:
                      - productId: '1729000000000000001'
                        currentState: content_fulfilled
                        nativeStatus: COMPLETED
                        stateTimestamps:
                          sample_requested: '2026-01-02T10:00:00.000Z'
                          awaiting_shipment: '2026-01-03T09:00:00.000Z'
                          sample_shipped: '2026-01-05T14:00:00.000Z'
                          content_fulfilled: '2026-01-12T20:00:00.000Z'
                  - applicationId: '5800000000000000002'
                    found: false
        '400':
          description: Missing applicationIds, more than 100, or a non-numeric id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '401':
          description: Missing or invalid API key
          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`
          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.