GET /topics/:topic_id/series/:series_id/latest
Returns the latest ranking data for a specific topic and series combination.
Request
HTTP Method
GET
Endpoint
/api/v1/topics/:topic_id/series/:series_id/latest
URL Parameters
Parameter | Type | Required | Description |
---|---|---|---|
topic_id | string | Yes | The topic prefix ID (e.g., tpc_abc123 ) |
series_id | string | Yes | The series prefix ID (e.g., ser_xyz789 ) |
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | Yes | Your API authentication key |
Example Request curl -X GET "https://knowatoa.com/api/v1/topics/tpc_abc123/series/ser_xyz789/latest?api_key=YOUR_API_KEY"
Response
Success Response (200 OK)
Standard Format
Returns a JSON object with topic, series, and rankings information:
{ "topic": { "id": "tpc_abc123", "name": "Example Topic" }, "series": { "id": "ser_xyz789", "name": "ChatGPT Series" }, "rankings": [ { "question": "What is example topic?", "response": "Example topic is...", "citations": "https://example.com\nhttps://another.com", "rank": "1" }, { "question": "How does example work?", "response": "It works by...", "citations": "", "rank": "Not found" } ] }
Looker Studio Format
When the request path ends with .json
, the response is flattened for Looker Studio compatibility:
[ { "topic_id": "tpc_abc123", "topic_name": "Example Topic", "series_id": "ser_xyz789", "series_name": "ChatGPT Series", "question": "What is example topic?", "rank": "1" }, { "topic_id": "tpc_abc123", "topic_name": "Example Topic", "series_id": "ser_xyz789", "series_name": "ChatGPT Series", "question": "How does example work?", "rank": "Not found" } ]
Response Fields (Standard Format)
Field | Type | Description |
---|---|---|
topic | object | Topic information |
topic.id | string | Topic prefix ID |
topic.name | string | Topic display name |
series | object | Series information |
series.id | string | Series prefix ID |
series.name | string | Series display name |
rankings | array | Array of ranking results |
rankings[].question | string | The question that was asked |
rankings[].response | string | The AI model's response |
rankings[].citations | string | URLs cited in the response (newline separated) |
rankings[].rank | string | The rank position or "Not found" |
Response Fields (Looker Studio Format)
Field | Type | Description |
---|---|---|
topic_id | string | Topic prefix ID |
topic_name | string | Topic display name |
series_id | string | Series prefix ID |
series_name | string | Series display name |
question | string | The question that was asked |
rank | string | The rank position or "Not found" |
Error Responses
401 Unauthorized
{ "error": "API key is required" }
{ "error": "Invalid API key" }
{ "error": "API key is not active" }
403 Forbidden
{ "error": "You don't have access to this series" }
404 Not Found
{ "error": "Topic not found" }
{ "error": "Series not found" }
Notes
- Returns only the most recent refresh data
- If no refresh data exists, returns an empty rankings array
- Citations are returned with the standard API
- The rank field will show the numeric position or "Not found" if the topic wasn't found in the response
- For Looker Studio integration, append
.json
to the endpoint path