Ingest Impression Event

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.thankly.ai/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Thankly MCP server": {
    "url": "https://docs.thankly.ai/mcp"
  }
}

Close
POST /v1/internal/impressions/ingest

Ingest one impression/click event onto the publish queue.

The request context (IP/UA) is the gateway's, not the end user's — the gateway derives user_fingerprint/device_type at its edge from the user's actual request and forwards only those derivatives (no raw PII). The strong attribution key is tracking_id, landed on click_id — the join rail impression rows, click rows, and (later) network conversion reports all share.

application/json

Body Required

  • event_type string Required

    Values are impression, click, or experience_view.

  • tracking_id string Required

    Minimum length is 1, maximum length is 256.

  • request_id string | null

    Maximum length is 256.

  • org_id string | null

    Maximum length is 256.

  • partner_app_id string | null

    Maximum length is 256.

  • brand_slug string | null

    Maximum length is 256.

  • placement string | null

    Maximum length is 64.

  • catalog_id string | null

    Maximum length is 256.

  • product_id string | null

    Maximum length is 256.

  • position integer | null

    Minimum value is 0.0.

  • capability string | null

    Maximum length is 128.

  • tag_id string | null

    Maximum length is 128.

  • user_fingerprint string | null

    Maximum length is 128.

  • device_type string | null

    Values are Desktop, iOS, Android, Tablet, or Other.

Responses

  • 202 application/json

    Successful Response

    Additional properties are allowed.

  • 422 application/json

    Validation Error

    Hide response attribute Show response attribute object
    • detail array[object]
      Hide detail attributes Show detail attributes object
      • loc array[string | integer] Required
      • msg string Required
      • type string Required
      • input
      • ctx object
POST /v1/internal/impressions/ingest
curl \
 --request POST 'http://api.example.com/v1/internal/impressions/ingest' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"event_type":"impression","tracking_id":"string","request_id":"string","org_id":"string","partner_app_id":"string","brand_slug":"string","placement":"string","catalog_id":"string","product_id":"string","position":42,"capability":"string","tag_id":"string","user_fingerprint":"string","device_type":"Desktop"}'
Request examples
{
  "event_type": "impression",
  "tracking_id": "string",
  "request_id": "string",
  "org_id": "string",
  "partner_app_id": "string",
  "brand_slug": "string",
  "placement": "string",
  "catalog_id": "string",
  "product_id": "string",
  "position": 42,
  "capability": "string",
  "tag_id": "string",
  "user_fingerprint": "string",
  "device_type": "Desktop"
}
Response examples (202)
{}
Response examples (422)
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "ctx": {}
    }
  ]
}