Provider Analytics

Collect a bounded Bluesky provider observation snapshot

POST
/api/projects/{projectId}/analytics/provider/bluesky/collect

Authorization

headerAuthorizationBearer <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.

Path Parameters

projectId*string
Length1 <= length

Request Body

  1. body
channelId*string
Length1 <= length
publicationIds?array<>
Itemsitems <= 25

Response Body

Response for status 200

application/json
  1. response
contractVersion*integer
Range1 <= value
projectId*string
Length1 <= length
provider*string
fetchedAt*integer
Range0 <= value
inserted*integer
Range0 <= value
duplicates*integer
Range0 <= value
coverage*
observations*array<>
Example Request
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"
    }
  ]
}

Was this page helpful?