Provider Analytics
Collect a bounded Bluesky provider observation snapshot
POST
header
AuthorizationBearer <Postdot API key>A user-owned Postdot API key sent as Authorization: Bearer <token>. Its project scope is limited by the creator’s current access.
projectId*stringLength
1 <= length- body
channelId*stringLength
1 <= lengthpublicationIds?array<>Items
items <= 25Response for status 200
application/json- response
contractVersion*integerRange
1 <= valueprojectId*stringLength
1 <= lengthprovider*stringfetchedAt*integerRange
0 <= valueinserted*integerRange
0 <= valueduplicates*integerRange
0 <= valuecoverage*observations*array<>curl -X POST 'https://postbot.example/api/projects/string/analytics/provider/bluesky/collect' \
-H 'Content-Type: application/json' \
-d '{
"channelId": "string"
}'Example Response
{
"contractVersion": 1,
"projectId": "string",
"provider": "bluesky",
"fetchedAt": 0,
"inserted": 0,
"duplicates": 0,
"coverage": {
"state": "complete",
"complete": true,
"requestedAccountMetricCount": 0,
"measuredAccountMetricCount": 0,
"requestedContentCount": 0,
"returnedContentCount": 0,
"requestedContentMetricCount": 0,
"measuredContentMetricCount": 0,
"notReportedMetricCount": 0,
"unavailableMetricCount": 0,
"gaps": [
{
"subjectType": "account",
"providerSubjectId": "string",
"postbotEntityId": "string",
"metricNames": [
"string"
],
"availability": "not_reported"
}
]
},
"observations": [
{
"id": "string",
"projectId": "string",
"provider": "string",
"subjectType": "account",
"providerSubjectId": "string",
"providerSubjectLabel": "string",
"providerContentRevisionId": "string",
"postbotEntityType": "channel",
"postbotEntityId": "string",
"metricName": "string",
"value": 0,
"unit": "string",
"aggregation": "string",
"reportingPeriodStart": 0,
"reportingPeriodEnd": 0,
"observedAt": 0,
"fetchedAt": 0,
"availability": "measured",
"freshness": "fresh",
"provenance": "string"
}
]
}