Mood Metrics API (v1.0.0)

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.

  • Sentiment classification
  • Intent classification
  • Confidence scores (0.0 – 1.0) for each primary emotion
  • Language-agnostic – works with any UTF-8 text
  • RESTful design with predictable resource-oriented URLs
  • Secure, scalable, cloud-backed infrastructure

Useful Resources

analysis

Standalone sentiment analysis (/analyses)

Submit text for sentiment analysis

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}.
header Parameters
X-WFT-Async-Mode
string (AsyncModeHeaderValue)
Value: "true"

Controls whether the request is processed asynchronously (true, default) or synchronously (false).

Request Body schema: application/json
required
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.

  • GENERAL (default when omitted): Full analysis—sentiment label, confidence, primary emotions, rationale, and intent. Use for social posts, reviews, support tickets, and general text.
  • FINANCIAL_NEWS: Polarity-focused output for market tone (e.g. earnings, upgrades). Returns only sentiment label and confidence; emotions, rationale, and intent are omitted.
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)

Responses

Request samples

Content type
application/json
{
  • "text": "I absolutely love this product! It's the best thing ever!"
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "errors": [ ]
}

Retrieve completed sentiment analysis result

Fetches the final sentiment analysis result using the result ID obtained from a completed job. Includes overall sentiment, score, emotion breakdown, and rationale.

path Parameters
id
required
string
Example: a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8

Result ID (UUID) from a SUCCEEDED sentiment analysis job

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

encryption

Encryption key and certificate material

Retrieve encryption metadata

Returns metadata about the platform's current encryption configuration, including the public key, certificate, SHA-256 fingerprint, and key expiration date.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Download the certificate in PEM format

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.

Responses

Response samples

Content type
text/plain
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEbGlua0ANBQ...
-----END CERTIFICATE-----

Download the public key in PEM format

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.

Responses

Response samples

Content type
text/plain
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
-----END PUBLIC KEY-----

job

Asynchronous processing jobs

Retrieve full job details

Returns the complete state of an asynchronous job, including status, owner information, progress tracking, and result ID (if the job has succeeded).

path Parameters
id
required
string
Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6

UUID of the job returned when the analysis was submitted

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Get job processing status

Returns the current status of an asynchronous job (PENDING, PROCESSING, SUCCEEDED, FAILED, CANCELED). On success, also returns the result ID.

path Parameters
id
required
string
Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6

UUID of the job returned when the analysis was submitted

Responses

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "errors": [ ]
}

platform-feed

Platform-scoped feeds (/platform-feeds) and related analyses and statistics

List platform feeds

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.

query Parameters
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. name,asc or id,desc). Allowed properties are name and id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Retrieve a platform feed

Fetches the details of a platform-scoped feed by its ID, including name, description, current size, and maximum size.

path Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Aggregate platform-feed statistics by time bucket

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.

path Parameters
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.

query Parameters
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 normalized). Responses should be treated as varying by this parameter for HTTP caching.

from
string <date-time>
Example: from=2025-04-01T00:00:00Z

Inclusive start of the query window (ISO-8601 date-time, UTC recommended; a calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day). After plan limits (max history, to cap), the server aligns the window to granularity UTC buckets: snapped to bucket start, then clamped up to the policy floor if the snap would cross it. LIFETIME skips this bucket expansion.

to
string <date-time>
Example: to=2025-04-08T00:00:00Z

Exclusive end of the query window (half-open interval). A calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day. After plan limits, may expand to the next UTC bucket boundary for granularity unless capped by policy (e.g. current time for non-admin). LIFETIME skips this expansion. WEEK buckets begin Monday 00:00 UTC; MONTH begins the first calendar day 00:00 UTC.

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

Responses

Response samples

Content type
application/json
Example
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Emotion-only statistics for a platform feed by time bucket

Same behavior as GET /platform-feeds/{id}/stats, but each row lists emotion rollups only—ideal when you plot several emotions independently across time.

path Parameters
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.

query Parameters
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 date-time, UTC recommended; a calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day). After plan limits (max history, to cap), the server aligns the window to granularity UTC buckets: snapped to bucket start, then clamped up to the policy floor if the snap would cross it. LIFETIME skips this bucket expansion.

to
string <date-time>

Exclusive end of the query window (half-open interval). A calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day. After plan limits, may expand to the next UTC bucket boundary for granularity unless capped by policy (e.g. current time for non-admin). LIFETIME skips this expansion. WEEK buckets begin Monday 00:00 UTC; MONTH begins the first calendar day 00:00 UTC.

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

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Sentiment-only statistics for a platform feed by time bucket

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

path Parameters
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.

query Parameters
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 normalized (sentimentDistribution only).

from
string <date-time>

Inclusive start of the query window (ISO-8601 date-time, UTC recommended; a calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day). After plan limits (max history, to cap), the server aligns the window to granularity UTC buckets: snapped to bucket start, then clamped up to the policy floor if the snap would cross it. LIFETIME skips this bucket expansion.

to
string <date-time>

Exclusive end of the query window (half-open interval). A calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day. After plan limits, may expand to the next UTC bucket boundary for granularity unless capped by policy (e.g. current time for non-admin). LIFETIME skips this expansion. WEEK buckets begin Monday 00:00 UTC; MONTH begins the first calendar day 00:00 UTC.

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

Responses

Response samples

Content type
application/json
Example
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

user-feed

User-scoped feeds (/user-feeds) and related analyses and statistics

List user feeds

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.

query Parameters
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. name,asc or id,desc). Allowed properties are name and id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Create a new user feed

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.

Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "name": "acme-product-reviews",
  • "description": "Sentiment tracking for Acme Corp product reviews",
  • "maxSize": 1000
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Retrieve a user feed

Fetches the details of a user-scoped feed by its ID, including name, description, current size, and maximum size.

path Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Update a user feed

Updates the mutable properties of a user-scoped feed. Currently supports updating the feed description.

path Parameters
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.

Request Body schema: application/json
required
description
string

Updated description of the feed's purpose or scope

Responses

Request samples

Content type
application/json
{
  • "description": "Updated sentiment tracking for Acme Corp product reviews (Q2 2025)"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

List analyses for a user feed

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

path Parameters
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.

query Parameters
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., sentimentScore,desc)

from
string <date-time>

Inclusive lower bound on analysis inputTimestamp (ISO-8601 instant, or calendar date YYYY-MM-DD as 00:00:00 UTC); window is clamped to your tier’s max history.

to
string <date-time>

Inclusive upper bound on analysis inputTimestamp (ISO-8601 instant, or calendar date YYYY-MM-DD as 00:00:00 UTC)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Submit text for analysis within a user feed

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.
path Parameters
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.

header Parameters
X-WFT-Async-Mode
string (AsyncModeHeaderValue)
Value: "true"

Controls whether the request is processed asynchronously (true, default) or synchronously (false).

Request Body schema: application/json
required
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.

  • GENERAL (default when omitted): Full analysis—sentiment label, confidence, primary emotions, rationale, and intent. Use for social posts, reviews, support tickets, and general text.
  • FINANCIAL_NEWS: Polarity-focused output for market tone (e.g. earnings, upgrades). Returns only sentiment label and confidence; emotions, rationale, and intent are omitted.
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)

Responses

Request samples

Content type
application/json
{
  • "text": "The customer support was unhelpful and rude."
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "errors": [ ]
}

Delete an analysis from a user feed

Removes a specific sentiment analysis result from the specified user feed. This operation is irreversible.

path Parameters
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

Responses

Response samples

Content type
*/*
{}

Aggregate user-feed statistics by time bucket

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.

path Parameters
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.

query Parameters
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 GET /platform-feeds/{id}/stats (default normalized).

from
string <date-time>
Example: from=2025-04-01T00:00:00Z

Inclusive start of the query window (ISO-8601 date-time, UTC recommended; a calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day). Omit to begin at the oldest available data. After plan limits, the server aligns the window to granularity UTC buckets: snapped to bucket start, then clamped up to the policy floor if the snap would cross it. LIFETIME skips this bucket expansion.

to
string <date-time>
Example: to=2025-04-08T00:00:00Z

Exclusive end of the query window (half-open interval). A calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day. Omit to use the latest available data. After plan limits, may expand to the next UTC bucket boundary for granularity unless capped by policy (e.g. current time for non-admin). LIFETIME skips this expansion. WEEK = Monday 00:00 UTC; MONTH = first calendar day 00:00 UTC.

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

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Emotion-only statistics for a user feed by time bucket

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.

path Parameters
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.

query Parameters
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 date-time, UTC recommended; a calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day). After plan limits (max history, to cap), the server aligns the window to granularity UTC buckets: snapped to bucket start, then clamped up to the policy floor if the snap would cross it. LIFETIME skips this bucket expansion.

to
string <date-time>
Example: to=2025-04-07T18:00:00Z

Exclusive end of the query window (half-open interval). A calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day. After plan limits, may expand to the next UTC bucket boundary for granularity unless capped by policy (e.g. current time for non-admin). LIFETIME skips this expansion. WEEK buckets begin Monday 00:00 UTC; MONTH begins the first calendar day 00:00 UTC.

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

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

Sentiment-only statistics for a user feed by time bucket

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.

path Parameters
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.

query Parameters
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 normalized).

from
string <date-time>
Example: from=2025-03-01T00:00:00Z

Inclusive start of the query window (ISO-8601 date-time, UTC recommended; a calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day). After plan limits (max history, to cap), the server aligns the window to granularity UTC buckets: snapped to bucket start, then clamped up to the policy floor if the snap would cross it. LIFETIME skips this bucket expansion.

to
string <date-time>
Example: to=2025-04-01T00:00:00Z

Exclusive end of the query window (half-open interval). A calendar date YYYY-MM-DD alone is interpreted as 00:00:00 UTC that day. After plan limits, may expand to the next UTC bucket boundary for granularity unless capped by policy (e.g. current time for non-admin). LIFETIME skips this expansion. WEEK buckets begin Monday 00:00 UTC; MONTH begins the first calendar day 00:00 UTC.

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

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [ ],
  • "metadata": {
    }
}

usage

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.

Maximum page size (limit) for collection paging

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.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Combined feed usage limits for your plan

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.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Maximum feed history window (days) for your plan

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

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Allowed stat granularities for your plan

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.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}

Configured requests-per-minute for your plan

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.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [ ]
}