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

# Submission bot score



## OpenAPI

````yaml /openapi.json get /submissions/{submission_id}/bot-score
openapi: 3.1.0
info:
  title: Clipstake API
  description: Instagram media tracking, audience geography and demographics, as an API.
  version: 0.0.1
servers:
  - url: https://api.clipstake.com/v1
security: []
paths:
  /submissions/{submission_id}/bot-score:
    get:
      tags:
        - Submissions
      summary: Submission bot score
      operationId: submissions-botScore
      parameters:
        - in: path
          name: submission_id
          schema:
            type: string
            description: >-
              Submission ID. Format: sub_ followed by 24 lowercase hexadecimal
              characters.
            example: sub_0899bdcb659c102e360005ec
          required: true
          description: >-
            Submission ID. Format: sub_ followed by 24 lowercase hexadecimal
            characters.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  scored:
                    type: boolean
                    description: >-
                      False until a read reports views. All score fields are
                      then null.
                  as_of:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                      - type: 'null'
                    description: The time of the newest read. Null before the first read.
                  trust_score:
                    anyOf:
                      - type: integer
                        minimum: 1
                        maximum: 100
                      - type: 'null'
                    description: >-
                      1 to 100. Higher is more organic. It is independent of
                      bot_flagged.
                  bot_flagged:
                    description: True when any one check lands in an extreme band.
                    type:
                      - boolean
                      - 'null'
                  views_at_score:
                    anyOf:
                      - type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      - type: 'null'
                  snapshot_count:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: The reads with views that the score uses.
                  signals:
                    type: array
                    items:
                      type: object
                      properties:
                        metric:
                          type: string
                          description: >-
                            The check. Known values: engagement_ratio,
                            like_ratio, comment_ratio, share_ratio, save_ratio,
                            uniqueness_ratio, view_curve, velocity_ratio,
                            spike_engagement, plateaus, trend_reversal,
                            engagement_timing.
                        band:
                          type: string
                          enum:
                            - very_low
                            - low
                            - expected
                            - high
                            - very_high
                          description: >-
                            Where the measured value falls. very_low and
                            very_high flag the submission.
                        evaluated:
                          type: boolean
                          description: >-
                            False when there is not enough data for this check.
                            An unevaluated check counts as expected.
                        flagged:
                          type: boolean
                        value_bps:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                          description: >-
                            The measured value in basis points. 10000 is 1. Null
                            when the check has no single value.
                        detail:
                          type:
                            - string
                            - 'null'
                      required:
                        - metric
                        - band
                        - evaluated
                        - flagged
                        - value_bps
                        - detail
                      additionalProperties: false
                required:
                  - scored
                  - as_of
                  - trust_score
                  - bot_flagged
                  - views_at_score
                  - snapshot_count
                  - signals
                additionalProperties: false
              example:
                scored: true
                as_of: '2026-09-14T10:00:00.000Z'
                trust_score: 100
                bot_flagged: false
                views_at_score: 128450
                snapshot_count: 7
                signals:
                  - metric: engagement_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 945
                    detail: null
                  - metric: like_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 634
                    detail: null
                  - metric: comment_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 25
                    detail: null
                  - metric: share_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 93
                    detail: null
                  - metric: save_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 193
                    detail: null
                  - metric: uniqueness_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 7530
                    detail: null
                  - metric: view_curve
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: null
                    detail: null
                  - metric: velocity_ratio
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 13285
                    detail: Peak 6.9K/h, median 5.2K/h
                  - metric: spike_engagement
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 945
                    detail: 5.0K interactions / 53.1K views
                  - metric: plateaus
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 0
                    detail: No stalls before new growth
                  - metric: trend_reversal
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 0
                    detail: No growth restarts after a decline
                  - metric: engagement_timing
                    band: expected
                    evaluated: true
                    flagged: false
                    value_bps: 3721
                    detail: 37% of likes (2.8K/7.5K) while views were slow
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
              example:
                error:
                  code: invalid_request
                  message: The request body or parameters are invalid.
                  request_id: req_01K5A7N8QY2M4C6V9X3J
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
              example:
                error:
                  code: unauthorized
                  message: Provide a valid API key.
                  request_id: req_01K5A7P2CH8T6R4W9M1B
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
              example:
                error:
                  code: analytics_not_enabled
                  message: Analytics is not enabled for this workspace.
                  request_id: req_01K5A7Q3NB6D8F2H4V9T
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
              example:
                error:
                  code: not_found
                  message: The requested resource was not found.
                  request_id: req_01K5A7R4WM9C2N6B8X3D
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
              example:
                error:
                  code: internal_error
                  message: An unexpected error occurred.
                  request_id: req_01K5A7S6FQ3V8H2N9C4M
      security:
        - Authorization: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Bad request
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Bad request error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Bad request
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Unauthorized
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Unauthorized error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Unauthorized
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Forbidden
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Forbidden error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Forbidden
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Not found error (404)
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````

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