import requests
page_token = None
done = False
while not done:
# Make API request
response = requests.post(
"https://{control_plane_url}/api/svc/v1/spans/query",
headers={
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
},
json={
"dataRoutingDestination": "default",
"startTime": "2025-10-08T20:16:54",
"filters": [
{"spanFieldName": "createdBySubjectSlug", "operator": "EQUAL", "value": "user@example.com"},
{"spanAttributeKey": "tfy.model.name", "operator": "STRING_CONTAINS", "value": "openai"},
{"gatewayRequestMetadataKey": "foo", "operator": "IN", "value": ["bar1", "bar2"]}
],
"pageToken": page_token
}
)
response.raise_for_status()
data = response.json()
for span in data['data']:
print(span['spanName'], span['spanAttributes'].get('tfy.span_type', ''))
page_token = data['pagination'].get("nextPageToken")
done = page_token is None
print("Fetch spans completed!")