Download OpenAPI specification:
The Mood Metrics API provides powerful sentiment analysis on submitted text, with optional long-term tracking and anomaly detection using feed IDs. Perfect for monitoring brand perception, social media streams, customer feedback, support tickets, or real-time news sentiment.
Submits text for sentiment analysis.
Behavior is controlled by the X-WFT-Async-Mode header:
true (default): Processing is asynchronous. The API immediately returns a job ID. Use the job endpoints to monitor progress and retrieve results when complete.false: Processing is synchronous. The API waits for the analysis to complete and returns the final sentiment analysis result in the same shape as GET /analyses/{id}.| X-WFT-Async-Mode | string (AsyncModeHeaderValue) Value: "true" Controls whether the request is processed asynchronously ( |
| correlationId | string [ 0 .. 128 ] characters Optional client-provided identifier for correlating requests with external systems |
| domain | string (AnalysisDomain) Enum: "GENERAL" "FINANCIAL_NEWS" Selects the sentiment analysis model and output shape for this request.
|
| text required | string non-empty The text to analyze. Must be valid UTF-8. Supports all languages. |
| timestamp | string <date-time> Optional timestamp of the original text (e.g., when a review was posted). Defaults to the current time if omitted. |
| topic | string [ 0 .. 512 ] characters Optional topic or subject label to categorize the analysis |
| weight | number <double> Optional weight to assign to this analysis entry within a feed (e.g., for weighted averages) |
{- "text": "I absolutely love this product! It's the best thing ever!"
}{- "data": {
- "jobId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}, - "errors": [ ]
}Fetches the final sentiment analysis result using the result ID obtained from a completed job. Includes overall sentiment, score, emotion breakdown, and rationale.
| id required | string Example: a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8 Result ID (UUID) from a SUCCEEDED sentiment analysis job |
{- "data": {
- "sentiment": "VERY_POSITIVE",
- "sentimentScore": 0.94,
- "emotionScores": [
- {
- "emotion": "HAPPINESS",
- "score": 0.97
}, - {
- "emotion": "SURPRISE",
- "score": 0.41
}, - {
- "emotion": "NEUTRAL",
- "score": 0.02
}
], - "rationale": "Strong positive indicators including words like 'love', 'best', 'amazing'"
}, - "errors": [ ]
}Returns metadata about the platform's current encryption configuration, including the public key, certificate, SHA-256 fingerprint, and key expiration date.
{- "data": {
- "keyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...\n-----END PUBLIC KEY-----",
- "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIEbGlua0ANBQ...\n-----END CERTIFICATE-----",
- "fingerprintSha256": "AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90",
- "expires": "2026-12-31T23:59:59Z"
}, - "errors": [ ]
}Returns the platform's current X.509 certificate in PEM-encoded format. The certificate can be used to verify the identity of the API and validate signed responses.
-----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEbGlua0ANBQ... -----END CERTIFICATE-----
Returns the platform's current RSA public key in PEM-encoded format. Use this key to encrypt sensitive payloads before submitting them to the API.
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... -----END PUBLIC KEY-----
Returns the complete state of an asynchronous job, including status, owner information, progress tracking, and result ID (if the job has succeeded).
| id required | string Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 UUID of the job returned when the analysis was submitted |
{- "data": {
- "type": "SENTIMENT_ANALYSIS",
- "resultId": "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8",
- "status": "SUCCEEDED",
- "owner": {
- "tenantId": "tenant-001",
- "userId": "user-abc"
}, - "progressTracking": {
- "overallProgress": {
- "percentCompleted": 100
}
}
}, - "errors": [ ]
}Returns the current status of an asynchronous job (PENDING, PROCESSING, SUCCEEDED, FAILED, CANCELED). On success, also returns the result ID.
| id required | string Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 UUID of the job returned when the analysis was submitted |
{- "data": {
- "jobId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}, - "errors": [ ]
}Returns a paginated list of all platform-scoped feeds. When sort is omitted, results are ordered by feed
name ascending, then id ascending.
Supports pagination via limit and offset, and sorting via the sort parameter (allowed fields: name, id).
Each list item includes feed metadata (id, name, description, maxSize) but not the
current analysis count (size). Use GET /platform-feeds/{id} to retrieve a feed including its size.
| limit | integer <int64> Default: 5 Example: limit=10 Maximum number of feeds to return per page |
| offset | integer <int64> Default: 0 Number of feeds to skip before returning (for pagination) |
| sort | string Example: sort=name,asc Sort order (e.g. |
{- "data": [
- {
- "id": "c3d4e5f6-a7b8-9012-cdef-ab1234567890",
- "name": "twitter-brand-mentions",
- "description": "Platform-wide sentiment tracking for Twitter brand mentions",
- "maxSize": 5000
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 1
}
}Fetches the details of a platform-scoped feed by its ID, including name, description, current size, and maximum size.
| id required | string Example: my-unique-feed-id-123 Unique identifier of the platform feed. May be any unique string — not required to be a UUID. |
{- "data": {
- "id": "c3d4e5f6-a7b8-9012-cdef-ab1234567890",
- "name": "twitter-brand-mentions",
- "description": "Platform-wide sentiment tracking for Twitter brand mentions",
- "size": 128,
- "maxSize": 5000
}, - "errors": [ ]
}Returns a paginated list of time-bucketed rollups for the specified platform feed. Each item includes interval
bounds (UTC), optional raw sentiment triples (positive / negative / neutral rollups: mean score,
variance, sample counts), optional sentimentDistribution (row-mass-weighted share per label with approximate
range95 (approximate 95% share bounds) and stdError for shares when basis is OK), and per-emotion rollups for that interval.
Query sentimentStats selects the representation: normalized (default)—sentimentDistribution only;
**raw**—sentiment only; **both**—both. Use granularity for bucket size, optional from / to to bound
the window, and limit / offset for pagination—the same semantics as the user-feed stats endpoints.
| id required | string Example: my-unique-feed-id-123 Unique identifier of the platform feed. May be any unique string — not required to be a UUID. |
| granularity | string (StatGranularity) Enum: "HOUR" "DAY" "WEEK" "MONTH" "LIFETIME" Example: granularity=DAY Size of each statistical interval (UTC bucket boundaries). When omitted, defaults to your tier’s configured granularity. |
| sentimentStats | string (SentimentStatsMode) Default: "normalized" Enum: "normalized" "raw" "both" Example: sentimentStats=normalized Which sentiment-shaped fields appear on each interval row (default |
| from | string <date-time> Example: from=2025-04-01T00:00:00Z Inclusive start of the query window (ISO-8601 |
| to | string <date-time> Example: to=2025-04-08T00:00:00Z Exclusive end of the query window (half-open interval). A calendar date |
| limit | integer <int64> Default: 5 Example: limit=10 Maximum number of interval rows to return per page |
| offset | integer <int64> Default: 0 Number of interval rows to skip before returning results |
{- "data": [
- {
- "interval": {
- "from": "2025-04-07T00:00:00Z",
- "to": "2025-04-08T00:00:00Z"
}, - "sentimentDistribution": {
- "basis": "OK",
- "positive": {
- "share": 0.42,
- "range95": {
- "low": 0.38,
- "high": 0.46
}, - "stdError": 0.0204,
- "sampleCount": 220
}, - "negative": {
- "share": 0.18,
- "range95": {
- "low": 0.14,
- "high": 0.22
}, - "stdError": 0.0204,
- "sampleCount": 95
}, - "neutral": {
- "share": 0.4,
- "range95": {
- "low": 0.36,
- "high": 0.44
}, - "stdError": 0.0204,
- "sampleCount": 197
}
}, - "emotions": [
- {
- "emotion": "HAPPINESS",
- "avgScore": 0.55,
- "variance": 0.04,
- "sampleCount": 512,
- "segmentCount": 1
}, - {
- "emotion": "ANTICIPATION",
- "avgScore": 0.28,
- "variance": 0.07,
- "sampleCount": 140,
- "segmentCount": 1
}
]
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 22
}
}Same behavior as GET /platform-feeds/{id}/stats, but each row lists emotion rollups only—ideal when you
plot several emotions independently across time.
| id required | string Example: my-unique-feed-id-123 Unique identifier of the platform feed. May be any unique string — not required to be a UUID. |
| granularity | string (StatGranularity) Enum: "HOUR" "DAY" "WEEK" "MONTH" "LIFETIME" Example: granularity=DAY Size of each statistical interval (UTC bucket boundaries). When omitted, defaults to your tier’s configured granularity. |
| from | string <date-time> Inclusive start of the query window (ISO-8601 |
| to | string <date-time> Exclusive end of the query window (half-open interval). A calendar date |
| limit | integer <int64> Default: 5 Maximum number of interval rows to return per page |
| offset | integer <int64> Default: 0 Number of interval rows to skip before returning results |
{- "data": [
- {
- "interval": {
- "from": "2025-04-07T00:00:00Z",
- "to": "2025-04-08T00:00:00Z"
}, - "emotions": [
- {
- "emotion": "HAPPINESS",
- "avgScore": 0.62,
- "variance": 0.03,
- "sampleCount": 301,
- "segmentCount": 1
}, - {
- "emotion": "DISGUST",
- "avgScore": 0.08,
- "variance": 0.01,
- "sampleCount": 44,
- "segmentCount": 1
}
]
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 22
}
}Same time bucketing as GET /platform-feeds/{id}/stats, but each row has no per-emotion array. sentimentStats
controls whether rows include sentimentDistribution (default), raw sentiment, or both (see combined
stats endpoint).
| id required | string Example: my-unique-feed-id-123 Unique identifier of the platform feed. May be any unique string — not required to be a UUID. |
| granularity | string (StatGranularity) Enum: "HOUR" "DAY" "WEEK" "MONTH" "LIFETIME" Example: granularity=MONTH Size of each statistical interval (UTC bucket boundaries). When omitted, defaults to your tier’s configured granularity. |
| sentimentStats | string (SentimentStatsMode) Default: "normalized" Enum: "normalized" "raw" "both" Example: sentimentStats=normalized Same as combined stats — default |
| from | string <date-time> Inclusive start of the query window (ISO-8601 |
| to | string <date-time> Exclusive end of the query window (half-open interval). A calendar date |
| limit | integer <int64> Default: 5 Maximum number of interval rows to return per page |
| offset | integer <int64> Default: 0 Number of interval rows to skip before returning results |
{- "data": [
- {
- "interval": {
- "from": "2025-03-01T00:00:00Z",
- "to": "2025-04-01T00:00:00Z"
}, - "sentimentDistribution": {
- "basis": "OK",
- "positive": {
- "share": 0.35,
- "range95": {
- "low": 0.31,
- "high": 0.39
}, - "stdError": 0.0204,
- "sampleCount": 1200
}, - "negative": {
- "share": 0.22,
- "range95": {
- "low": 0.18,
- "high": 0.26
}, - "stdError": 0.0204,
- "sampleCount": 800
}, - "neutral": {
- "share": 0.43,
- "range95": {
- "low": 0.39,
- "high": 0.47
}, - "stdError": 0.0204,
- "sampleCount": 600
}
}
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 3
}
}Returns a paginated list of sentiment analysis feeds owned by the authenticated user in the current tenant.
When sort is omitted, results are ordered by feed name ascending, then id ascending.
Supports pagination via limit and offset, and sorting via the sort parameter (allowed fields: name, id).
Each list item includes feed metadata (id, name, description, maxSize) but not the
current analysis count (size). Use GET /user-feeds/{id} to retrieve a feed including its size.
| limit | integer <int64> Default: 5 Example: limit=10 Maximum number of feeds to return per page |
| offset | integer <int64> Default: 0 Number of feeds to skip before returning (for pagination) |
| sort | string Example: sort=name,asc Sort order (e.g. |
{- "data": [
- {
- "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
- "name": "acme-product-reviews",
- "description": "Sentiment tracking for Acme Corp product reviews",
- "maxSize": 1000
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 1
}
}Creates a new user-scoped sentiment analysis feed. Feeds allow you to group related analyses together for long-term tracking, trend analysis, and anomaly detection.
| id | string Optional client-provided identifier for the feed. If omitted, a UUID is generated automatically. |
| name required | string non-empty Human-readable name for the feed |
| description | string Optional description of the feed's purpose or scope |
| maxSize | integer <int32> >= 1 Maximum number of analysis entries the feed can hold. Oldest entries may be evicted when the limit is reached. |
{- "name": "acme-product-reviews",
- "description": "Sentiment tracking for Acme Corp product reviews",
- "maxSize": 1000
}{- "data": {
- "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
- "name": "acme-product-reviews",
- "description": "Sentiment tracking for Acme Corp product reviews",
- "size": 0,
- "maxSize": 1000
}, - "errors": [ ]
}Fetches the details of a user-scoped feed by its ID, including name, description, current size, and maximum size.
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
{- "data": {
- "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
- "name": "acme-product-reviews",
- "description": "Sentiment tracking for Acme Corp product reviews",
- "size": 42,
- "maxSize": 1000
}, - "errors": [ ]
}Updates the mutable properties of a user-scoped feed. Currently supports updating the feed description.
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| description | string Updated description of the feed's purpose or scope |
{- "description": "Updated sentiment tracking for Acme Corp product reviews (Q2 2025)"
}{- "data": {
- "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
- "name": "acme-product-reviews",
- "description": "Updated sentiment tracking for Acme Corp product reviews (Q2 2025)",
- "size": 42,
- "maxSize": 1000
}, - "errors": [ ]
}Returns a paginated list of sentiment analysis results associated with the specified user feed.
Supports pagination via limit and offset, sorting via sort, and optional from / to on inputTimestamp
(subject to your tier’s maximum history window).
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| limit | integer <int64> Default: 5 Example: limit=10 Maximum number of results to return per page |
| offset | integer <int64> Default: 0 Number of results to skip before returning (for pagination) |
| sort | string Example: sort=sentimentScore,desc Sort order for results (e.g., |
| from | string <date-time> Inclusive lower bound on analysis |
| to | string <date-time> Inclusive upper bound on analysis |
{- "data": [
- {
- "id": "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8",
- "sentiment": "VERY_POSITIVE",
- "sentimentScore": 0.94,
- "emotionScores": [
- {
- "emotion": "HAPPINESS",
- "score": 0.97
}
], - "rationale": "Strong positive indicators"
}, - {
- "id": "b2c3d4e5-f6a7-8901-h2i3-j4k5l6m7n8o9",
- "sentiment": "NEGATIVE",
- "sentimentScore": -0.65,
- "emotionScores": [
- {
- "emotion": "ANGER",
- "score": 0.72
}
], - "rationale": "Negative language detected"
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 42
}
}Submits text for sentiment analysis and associates the result with the specified user feed.
Behavior is controlled by the X-WFT-Async-Mode header:
true (default): Processing is asynchronous. The API immediately returns a job ID.false: Processing is synchronous. The API waits for the analysis to complete and returns the final result.| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| X-WFT-Async-Mode | string (AsyncModeHeaderValue) Value: "true" Controls whether the request is processed asynchronously ( |
| correlationId | string [ 0 .. 128 ] characters Optional client-provided identifier for correlating requests with external systems |
| domain | string (AnalysisDomain) Enum: "GENERAL" "FINANCIAL_NEWS" Selects the sentiment analysis model and output shape for this request.
|
| text required | string non-empty The text to analyze. Must be valid UTF-8. Supports all languages. |
| timestamp | string <date-time> Optional timestamp of the original text (e.g., when a review was posted). Defaults to the current time if omitted. |
| topic | string [ 0 .. 512 ] characters Optional topic or subject label to categorize the analysis |
| weight | number <double> Optional weight to assign to this analysis entry within a feed (e.g., for weighted averages) |
{- "text": "The customer support was unhelpful and rude."
}{- "data": {
- "jobId": "4ab95f64-6817-4562-c3fc-3d963f77bfb7"
}, - "errors": [ ]
}Removes a specific sentiment analysis result from the specified user feed. This operation is irreversible.
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| analysisId required | string Example: a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8 Unique identifier (UUID) of the analysis result to delete |
{}
Returns a paginated list of time-bucketed rollups for the specified user feed. Each item includes interval bounds
(UTC), optional raw sentiment triples and/or sentimentDistribution (normalized shares + range95 / stdError), and per-emotion
rollups. Query sentimentStats selects the representation (default normalized)—same semantics as platform
combined stats.
Bucket boundaries are controlled by granularity (HOUR, DAY, WEEK, MONTH, or LIFETIME). Use optional
from and to (date-time) to limit the window; use limit and offset to page through intervals.
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| granularity | string (StatGranularity) Enum: "HOUR" "DAY" "WEEK" "MONTH" "LIFETIME" Example: granularity=DAY Size of each statistical interval (UTC bucket boundaries). When omitted, defaults to your tier’s configured granularity. |
| sentimentStats | string (SentimentStatsMode) Default: "normalized" Enum: "normalized" "raw" "both" Example: sentimentStats=normalized Same as |
| from | string <date-time> Example: from=2025-04-01T00:00:00Z Inclusive start of the query window (ISO-8601 |
| to | string <date-time> Example: to=2025-04-08T00:00:00Z Exclusive end of the query window (half-open interval). A calendar date |
| limit | integer <int64> Default: 5 Example: limit=10 Maximum number of interval rows to return per page |
| offset | integer <int64> Default: 0 Number of interval rows to skip before returning results |
{- "data": [
- {
- "interval": {
- "from": "2025-04-07T00:00:00Z",
- "to": "2025-04-08T00:00:00Z"
}, - "sentimentDistribution": {
- "basis": "OK",
- "positive": {
- "share": 0.41,
- "range95": {
- "low": 0.37,
- "high": 0.45
}, - "stdError": 0.0204,
- "sampleCount": 220
}, - "negative": {
- "share": 0.19,
- "range95": {
- "low": 0.15,
- "high": 0.23
}, - "stdError": 0.0204,
- "sampleCount": 95
}, - "neutral": {
- "share": 0.4,
- "range95": {
- "low": 0.36,
- "high": 0.44
}, - "stdError": 0.0204,
- "sampleCount": 197
}
}, - "emotions": [
- {
- "emotion": "HAPPINESS",
- "avgScore": 0.61,
- "variance": 0.04,
- "sampleCount": 48,
- "segmentCount": 1
}, - {
- "emotion": "ANGER",
- "avgScore": 0.11,
- "variance": 0.02,
- "sampleCount": 12,
- "segmentCount": 1
}
]
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 14
}
}Same time bucketing and query parameters as GET /user-feeds/{id}/stats, but each item lists emotion rollups
only (no combined sentiment summary object). Use this when building per-emotion trend charts.
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| granularity | string (StatGranularity) Enum: "HOUR" "DAY" "WEEK" "MONTH" "LIFETIME" Example: granularity=HOUR Size of each statistical interval (UTC bucket boundaries). When omitted, defaults to your tier’s configured granularity. |
| from | string <date-time> Example: from=2025-04-07T12:00:00Z Inclusive start of the query window (ISO-8601 |
| to | string <date-time> Example: to=2025-04-07T18:00:00Z Exclusive end of the query window (half-open interval). A calendar date |
| limit | integer <int64> Default: 5 Example: limit=24 Maximum number of interval rows to return per page |
| offset | integer <int64> Default: 0 Number of interval rows to skip before returning results |
{- "data": [
- {
- "interval": {
- "from": "2025-04-07T12:00:00Z",
- "to": "2025-04-07T13:00:00Z"
}, - "emotions": [
- {
- "emotion": "HAPPINESS",
- "avgScore": 0.58,
- "variance": 0.03,
- "sampleCount": 22,
- "segmentCount": 1
}, - {
- "emotion": "SURPRISE",
- "avgScore": 0.21,
- "variance": 0.11,
- "sampleCount": 9,
- "segmentCount": 1
}
]
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 12
}
}Same time bucketing as GET /user-feeds/{id}/stats, but each row has no per-emotion breakdown. sentimentStats
selects sentimentDistribution (default), raw sentiment, or both.
| id required | string Example: my-unique-feed-id-456 Unique identifier of the user feed. May be any unique string — not required to be a UUID. |
| granularity | string (StatGranularity) Enum: "HOUR" "DAY" "WEEK" "MONTH" "LIFETIME" Example: granularity=WEEK Size of each statistical interval (UTC bucket boundaries). When omitted, defaults to your tier’s configured granularity. |
| sentimentStats | string (SentimentStatsMode) Default: "normalized" Enum: "normalized" "raw" "both" Example: sentimentStats=normalized Same as combined user-feed stats (default |
| from | string <date-time> Example: from=2025-03-01T00:00:00Z Inclusive start of the query window (ISO-8601 |
| to | string <date-time> Example: to=2025-04-01T00:00:00Z Exclusive end of the query window (half-open interval). A calendar date |
| limit | integer <int64> Default: 5 Example: limit=5 Maximum number of interval rows to return per page |
| offset | integer <int64> Default: 0 Number of interval rows to skip before returning results |
{- "data": [
- {
- "interval": {
- "from": "2025-03-24T00:00:00Z",
- "to": "2025-03-31T00:00:00Z"
}, - "sentimentDistribution": {
- "basis": "OK",
- "positive": {
- "share": 0.36,
- "range95": {
- "low": 0.32,
- "high": 0.4
}, - "stdError": 0.0204,
- "sampleCount": 180
}, - "negative": {
- "share": 0.24,
- "range95": {
- "low": 0.2,
- "high": 0.28
}, - "stdError": 0.0204,
- "sampleCount": 120
}, - "neutral": {
- "share": 0.4,
- "range95": {
- "low": 0.36,
- "high": 0.44
}, - "stdError": 0.0204,
- "sampleCount": 200
}
}
}
], - "errors": [ ],
- "metadata": {
- "currentOffset": 0,
- "totalCount": 6
}
}Usage and plan limits for feed consumption, paging, and rate (/usage/limits/..., including /usage/limits/paging
and /usage/limits/rate).
Authentication is optional; without credentials or tier-resolving headers, values reflect deployment
defaults from the default access policy.
Returns maxAllowedPageSize from the resolved access policy—the maximum limit query parameter value
accepted on paged collection endpoints when max page-size policy is enabled server-side.
Authentication is optional. Unauthenticated requests use the default access policy when no tier-specific resolvers match request headers.
{- "data": {
- "maxAllowedPageSize": 10
}, - "errors": [ ]
}Returns maxHistoryDays and allowedGranularities from the resolved access policy in one response—the
same values as GET /usage/limits/feed/history and GET /usage/limits/feed/granularity.
Authentication is optional. Unauthenticated requests use the default access policy when no tier-specific resolvers match request headers.
Admin: values reflect configured plan metadata; admins may still query outside these bounds where the API allows.
{- "data": {
- "maxHistoryDays": 30,
- "allowedGranularities": [
- "DAY",
- "LIFETIME"
]
}, - "errors": [ ]
}Returns maxHistoryDays from the resolved access policy—the same cap applied to feed-backed reads and
statistics time windows for non-admin principals. maxHistoryDays <= 0 means unlimited lookback (still
subject to other policy caps such as “to” not beyond now).
Authentication is optional. Unauthenticated requests use the default access policy when no tier-specific resolvers match request headers.
Admin: this endpoint reflects configured plan metadata; admins may still query outside these bounds where the API allows (e.g. broader history on stats).
{- "data": {
- "maxHistoryDays": 30
}, - "errors": [ ]
}Returns allowedGranularities from the resolved access policy—the same allowlist enforced for non-admin
feed statistics queries.
Authentication is optional; anonymous callers receive default deployment limits.
Admin: this list reflects plan configuration; admins may still request granularities outside this list on stats endpoints where the API grants an admin bypass.
{- "data": {
- "allowedGranularities": [
- "DAY",
- "WEEK",
- "MONTH",
- "LIFETIME"
]
}, - "errors": [ ]
}Returns rpm from the resolved RapidAPI plan metadata when X-RapidAPI-Subscription (and related
proxy headers) resolve to a tier. Otherwise returns 60 (deployment default for non–Rapid API traffic).
Authentication is optional. Unauthenticated requests without Rapid tier headers use the default value.
Values are configured per plan in deployment (requests-per-minute); they should match the RPM advertised for
each tier on the API Hub.
{- "data": {
- "rpm": 120
}, - "errors": [ ]
}