openapi: 3.2.0 info: title: Social Fetch Public Monitors API version: 1.0.0 description: 'REST API for Social Fetch. Versioned routes under `/v1` accept `x-api-key` credits or x402 USDC on Base (walk-up, no key). OpenAPI: https://api.socialfetch.dev/openapi.json. x402 discovery: https://api.socialfetch.dev/.well-known/x402. MCP: https://api.socialfetch.dev/mcp (POST). Docs and agent guide: https://www.socialfetch.dev/docs and https://www.socialfetch.dev/llms.txt.' servers: - url: https://api.socialfetch.dev description: API origin tags: - name: Monitors paths: /v1/monitors/sources: get: tags: - Monitors summary: List watchable sources description: List Social Fetch operations that can be watched by a monitor. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. responses: '200': description: Every public API operation Monitors can watch. content: application/json: schema: type: object properties: data: type: object properties: sources: type: array items: type: object properties: operationId: type: string description: Public API operation id this source watches. displayName: type: string description: Human name shown in the monitor-creation wizard. mode: type: string enum: - feed - search description: 'How new items are detected for this source: `feed` diffs by id-set plus a timestamp watermark; `search` diffs by id-set only.' defaultIntervalMinutes: type: integer description: Suggested default polling interval in minutes. exclusiveMinimum: 0 minIntervalMinutes: type: integer description: Minimum polling interval allowed for this source. exclusiveMinimum: 0 docsTitle: type: string description: Full sentence title for this operation. inputHint: type: string description: Optional qualifier shown next to the display name. sampleEvent: type: object properties: id: type: string description: Identifier for the sample event. apiVersion: type: string description: Monitor event envelope schema version. type: type: string description: Event type, e.g. `webhook_endpoint.test`. createdAt: type: string description: ISO-8601 timestamp for when the sample event was built. monitor: type: object properties: id: type: string description: Monitor id (`sample` for illustrative events). name: type: string description: Monitor display name. required: - id - name description: Monitor identity the event is attributed to. source: type: object properties: operationId: type: string description: Watchable public API operation for this source. params: type: object additionalProperties: {} description: Parameters used for the poll that produced this event. required: - operationId - params description: Source operation and params for this event. data: type: object additionalProperties: {} description: Event payload. Shape depends on the source. billing: type: object properties: creditsCharged: type: integer minimum: 0 description: Credits charged for the poll that produced this event. required: - creditsCharged description: Billing details for this event. required: - id - apiVersion - type - createdAt - monitor - source - data - billing description: Illustrative sample event envelope showing the shape a real webhook delivery for this source would have. required: - operationId - displayName - mode - defaultIntervalMinutes - minIntervalMinutes - docsTitle - sampleEvent description: A watchable public API source Monitors can poll. description: Every watchable public API source, in display order. required: - sources description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1MonitorsSources x-operation-id-source: derived /v1/monitors: post: tags: - Monitors summary: Create a monitor description: Create a monitor that polls a watchable source on a schedule. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: boolean description: When true, validates the monitor and returns a cost preview without creating anything or running the baseline check. required: false description: When true, validates the monitor and returns a cost preview without creating anything or running the baseline check. name: dryRun in: query requestBody: content: application/json: schema: type: object properties: name: type: string minLength: 1 description: Optional display name for the monitor. A default is generated from the source and params when omitted. operationId: type: string minLength: 1 description: Watchable public API operation id to poll. See GET /v1/monitors/sources. params: type: object additionalProperties: {} description: Parameters for the watched operation. schedule: oneOf: - type: object properties: type: type: string enum: - interval minutes: type: integer description: Polling interval in minutes. exclusiveMinimum: 0 required: - type - minutes description: Fixed-interval polling schedule. - type: object properties: type: type: string enum: - cron expression: type: string minLength: 1 description: Cron expression for polling. timezone: type: string minLength: 1 description: IANA timezone the cron expression is evaluated in. required: - type - expression - timezone description: Cron-based polling schedule. description: 'Polling schedule for a monitor: a fixed interval or a cron expression.' webhookEndpointId: type: string minLength: 1 description: Existing webhook endpoint id (owned by this account) to deliver events to. Mutually exclusive with `webhook`. webhook: type: object properties: url: type: string format: uri description: HTTPS URL to deliver events to. required: - url description: Create a new webhook endpoint inline for this monitor. Mutually exclusive with `webhookEndpointId`. spendCapCredits: type: integer minimum: 0 description: Optional monthly credit spend cap for this monitor. required: - operationId - params - schedule description: Request body for creating a monitor. responses: '201': description: The newly created monitor. content: application/json: schema: type: object properties: data: type: object properties: id: type: string minLength: 1 description: Stable identifier for the monitor. name: type: string description: Display name for the monitor. operationId: type: string description: Watchable public API operation this monitor polls. params: type: object additionalProperties: {} description: Canonicalized parameters used for each poll. schedule: oneOf: - type: object properties: type: type: string enum: - interval minutes: type: integer description: Polling interval in minutes. exclusiveMinimum: 0 required: - type - minutes description: Fixed-interval polling schedule. - type: object properties: type: type: string enum: - cron expression: type: string minLength: 1 description: Cron expression for polling. timezone: type: string minLength: 1 description: IANA timezone the cron expression is evaluated in. required: - type - expression - timezone description: Cron-based polling schedule. description: 'Polling schedule for a monitor: a fixed interval or a cron expression.' nextRunAt: type: string description: ISO-8601 timestamp for the monitor's next scheduled poll. costPreview: type: object properties: perCheckCredits: type: integer minimum: 0 description: Credits charged per poll. perDayCredits: type: integer minimum: 0 description: Estimated credits charged per day at this schedule. perMonthCredits: type: integer minimum: 0 description: Estimated credits charged per 30-day month at this schedule. required: - perCheckCredits - perDayCredits - perMonthCredits description: Estimated credit cost preview for this monitor's schedule. baseline: type: object properties: outcome: type: string description: Outcome of the synchronous baseline check. previewItems: type: array items: {} description: Preview of items observed by the baseline check. required: - outcome - previewItems description: Result of the synchronous baseline check run at creation time. Omitted for dry runs. webhookEndpoint: type: object properties: id: type: string description: Newly created webhook endpoint id. secret: type: string description: One-time signing secret for the new webhook endpoint. Shown only in this response — store it now. required: - id - secret description: Webhook endpoint created inline for this monitor, when `webhook.url` was given. required: - id - name - operationId - params - schedule - nextRunAt - costPreview description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Invalid schedule, unknown source, invalid params, plan limit exceeded, or invalid webhook URL. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '403': description: The given webhook endpoint is not owned by this account, or the account has never purchased a credit pack or held a subscription (Monitors isn't available on free trial credits alone). content: application/json: schema: type: object properties: error: type: object properties: code: anyOf: - type: string enum: - forbidden - type: string enum: - payment_history_required description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: forbidden message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: postV1Monitors x-operation-id-source: derived get: tags: - Monitors summary: List monitors description: List monitors for the authenticated account. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string enum: - active - paused - exhausted - broken description: Optional filter to only return monitors in this status. required: false description: Optional filter to only return monitors in this status. name: status in: query responses: '200': description: Monitors owned by this account. content: application/json: schema: type: object properties: data: type: object properties: monitors: type: array items: type: object properties: id: type: string minLength: 1 description: Stable identifier for the monitor. name: type: string description: Display name for the monitor. operationId: type: string description: Watchable public API operation this monitor polls. params: type: object additionalProperties: {} description: Canonicalized parameters used for each poll. status: type: string enum: - active - paused - exhausted - broken description: Current lifecycle status of the monitor. statusReason: type: - string - 'null' description: Human-readable reason for the current status when set. schedule: oneOf: - type: object properties: type: type: string enum: - interval minutes: type: integer description: Polling interval in minutes. exclusiveMinimum: 0 required: - type - minutes description: Fixed-interval polling schedule. - type: object properties: type: type: string enum: - cron expression: type: string minLength: 1 description: Cron expression for polling. timezone: type: string minLength: 1 description: IANA timezone the cron expression is evaluated in. required: - type - expression - timezone description: Cron-based polling schedule. description: 'Polling schedule for a monitor: a fixed interval or a cron expression.' nextRunAt: type: string description: ISO-8601 timestamp for the monitor's next scheduled poll. webhookEndpointId: type: - string - 'null' description: Webhook endpoint this monitor delivers events to, if any. spendCapCredits: type: - integer - 'null' minimum: 0 description: Optional monthly credit spend cap for this monitor. spendThisMonth: type: integer minimum: 0 description: Credits spent by this monitor in the current billing month. createdAt: type: string description: ISO-8601 timestamp for when the monitor was created. updatedAt: type: string description: ISO-8601 timestamp for when the monitor was last updated. required: - id - name - operationId - params - status - statusReason - schedule - nextRunAt - webhookEndpointId - spendCapCredits - spendThisMonth - createdAt - updatedAt description: A monitor and its current configuration/state. description: Monitors owned by this account, newest first. required: - monitors description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Invalid status filter. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1Monitors x-operation-id-source: derived /v1/monitors/{id}: get: tags: - Monitors summary: Get a monitor description: Get a monitor by id. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Monitor identifier. required: true description: Monitor identifier. name: id in: path responses: '200': description: The requested monitor. content: application/json: schema: type: object properties: data: type: object properties: id: type: string minLength: 1 description: Stable identifier for the monitor. name: type: string description: Display name for the monitor. operationId: type: string description: Watchable public API operation this monitor polls. params: type: object additionalProperties: {} description: Canonicalized parameters used for each poll. status: type: string enum: - active - paused - exhausted - broken description: Current lifecycle status of the monitor. statusReason: type: - string - 'null' description: Human-readable reason for the current status when set. schedule: oneOf: - type: object properties: type: type: string enum: - interval minutes: type: integer description: Polling interval in minutes. exclusiveMinimum: 0 required: - type - minutes description: Fixed-interval polling schedule. - type: object properties: type: type: string enum: - cron expression: type: string minLength: 1 description: Cron expression for polling. timezone: type: string minLength: 1 description: IANA timezone the cron expression is evaluated in. required: - type - expression - timezone description: Cron-based polling schedule. description: 'Polling schedule for a monitor: a fixed interval or a cron expression.' nextRunAt: type: string description: ISO-8601 timestamp for the monitor's next scheduled poll. webhookEndpointId: type: - string - 'null' description: Webhook endpoint this monitor delivers events to, if any. spendCapCredits: type: - integer - 'null' minimum: 0 description: Optional monthly credit spend cap for this monitor. spendThisMonth: type: integer minimum: 0 description: Credits spent by this monitor in the current billing month. createdAt: type: string description: ISO-8601 timestamp for when the monitor was created. updatedAt: type: string description: ISO-8601 timestamp for when the monitor was last updated. required: - id - name - operationId - params - status - statusReason - schedule - nextRunAt - webhookEndpointId - spendCapCredits - spendThisMonth - createdAt - updatedAt description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Monitor not found, or not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1MonitorsById x-operation-id-source: derived patch: tags: - Monitors summary: Update a monitor description: Update a monitor's schedule, destination, or status. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Monitor identifier. required: true description: Monitor identifier. name: id in: path requestBody: content: application/json: schema: type: object properties: name: type: string minLength: 1 description: New display name for the monitor. schedule: oneOf: - type: object properties: type: type: string enum: - interval minutes: type: integer description: Polling interval in minutes. exclusiveMinimum: 0 required: - type - minutes description: Fixed-interval polling schedule. - type: object properties: type: type: string enum: - cron expression: type: string minLength: 1 description: Cron expression for polling. timezone: type: string minLength: 1 description: IANA timezone the cron expression is evaluated in. required: - type - expression - timezone description: Cron-based polling schedule. description: New polling schedule for the monitor. webhookEndpointId: type: - string - 'null' minLength: 1 description: Webhook endpoint id (owned by this account) to deliver events to. Pass `null` to detach the current webhook endpoint. spendCapCredits: type: - integer - 'null' minimum: 0 description: Monthly credit spend cap for this monitor. Pass `null` to remove the cap. status: type: string enum: - active - paused description: Set to `paused` to pause the monitor, or `active` to resume it. description: Request body for updating a monitor. All fields are optional. responses: '200': description: The updated monitor. content: application/json: schema: type: object properties: data: type: object properties: id: type: string minLength: 1 description: Stable identifier for the monitor. name: type: string description: Display name for the monitor. operationId: type: string description: Watchable public API operation this monitor polls. params: type: object additionalProperties: {} description: Canonicalized parameters used for each poll. status: type: string enum: - active - paused - exhausted - broken description: Current lifecycle status of the monitor. statusReason: type: - string - 'null' description: Human-readable reason for the current status when set. schedule: oneOf: - type: object properties: type: type: string enum: - interval minutes: type: integer description: Polling interval in minutes. exclusiveMinimum: 0 required: - type - minutes description: Fixed-interval polling schedule. - type: object properties: type: type: string enum: - cron expression: type: string minLength: 1 description: Cron expression for polling. timezone: type: string minLength: 1 description: IANA timezone the cron expression is evaluated in. required: - type - expression - timezone description: Cron-based polling schedule. description: 'Polling schedule for a monitor: a fixed interval or a cron expression.' nextRunAt: type: string description: ISO-8601 timestamp for the monitor's next scheduled poll. webhookEndpointId: type: - string - 'null' description: Webhook endpoint this monitor delivers events to, if any. spendCapCredits: type: - integer - 'null' minimum: 0 description: Optional monthly credit spend cap for this monitor. spendThisMonth: type: integer minimum: 0 description: Credits spent by this monitor in the current billing month. createdAt: type: string description: ISO-8601 timestamp for when the monitor was created. updatedAt: type: string description: ISO-8601 timestamp for when the monitor was last updated. required: - id - name - operationId - params - status - statusReason - schedule - nextRunAt - webhookEndpointId - spendCapCredits - spendThisMonth - createdAt - updatedAt description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Invalid schedule, unknown source, or bad request. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '403': description: The given webhook endpoint is not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - forbidden description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: forbidden message: Example message. requestId: req_01example '404': description: Monitor not found, or not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: patchV1MonitorsById x-operation-id-source: derived delete: tags: - Monitors summary: Delete a monitor description: Delete a monitor permanently. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Monitor identifier. required: true description: Monitor identifier. name: id in: path responses: '200': description: The monitor was deleted. content: application/json: schema: type: object properties: data: type: object properties: deleted: type: boolean enum: - true description: Always true when the monitor was deleted. required: - deleted description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Monitor not found, or not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: deleteV1MonitorsById x-operation-id-source: derived /v1/monitors/{id}/trigger: post: tags: - Monitors summary: Manually trigger a monitor poll description: Manually trigger a monitor poll outside its schedule. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Monitor identifier. required: true description: Monitor identifier. name: id in: path responses: '200': description: Manual poll accepted and enqueued. content: application/json: schema: type: object properties: data: type: object properties: triggered: type: boolean enum: - true description: Always true when the manual poll was accepted and enqueued. required: - triggered description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Monitor is not active, so it cannot be manually triggered. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Monitor not found, or not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: postV1MonitorsByIdTrigger x-operation-id-source: derived /v1/monitors/{id}/events: get: tags: - Monitors summary: List monitor events description: List detected events for a monitor. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Monitor identifier. required: true description: Monitor identifier. name: id in: path - schema: type: string minLength: 1 description: Opaque pagination cursor from a previous response's `data.page.nextCursor` (or legacy `data.nextCursor`). required: false description: Opaque pagination cursor from a previous response's `data.page.nextCursor` (or legacy `data.nextCursor`). name: cursor in: query - schema: type: integer minimum: 1 maximum: 100 description: Maximum number of events to return. Defaults to 25 server-side. required: false description: Maximum number of events to return. Defaults to 25 server-side. name: limit in: query responses: '200': description: Events recorded for this monitor. content: application/json: schema: type: object properties: data: type: object properties: events: type: array items: type: object properties: id: type: string minLength: 1 description: Stable identifier for the event. type: type: string minLength: 1 description: Event type, for example `monitor.new_items`. payload: type: object additionalProperties: {} description: The event envelope payload delivered to webhooks. creditsCharged: type: integer minimum: 0 description: Credits charged for the check that produced this event. createdAt: type: string description: ISO-8601 timestamp for when the event was recorded. required: - id - type - payload - creditsCharged - createdAt description: A single monitor event. description: Events for this monitor, newest first. page: type: object properties: hasMore: type: boolean description: Whether another page is available. nextCursor: type: - string - 'null' description: Cursor to pass in the next request when more pages exist; null on the last page. required: - hasMore - nextCursor description: Pagination state for the current page of events. required: - events - page description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Invalid cursor or limit. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Monitor not found, or not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1MonitorsByIdEvents x-operation-id-source: derived /v1/monitors/{id}/checks: get: tags: - Monitors summary: List a monitor's recent check history description: List recent poll/check history for a monitor. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Monitor identifier. required: true description: Monitor identifier. name: id in: path responses: '200': description: Recent checks for this monitor. content: application/json: schema: type: object properties: data: type: object properties: checks: type: array items: {} description: Recent check history for this monitor, newest first. Each entry is a plain JSON object (`{ at, outcome, newItems?, creditsCharged?, reason? }`) taken from the monitor's check-history ring buffer. required: - checks description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Monitor not found, or not owned by this account. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1MonitorsByIdChecks x-operation-id-source: derived /v1/webhook-endpoints: post: tags: - Monitors summary: Create a webhook endpoint description: Create a webhook endpoint to receive signed monitor deliveries. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. requestBody: required: true content: application/json: schema: type: object properties: kind: type: string enum: - http - sink description: 'Delivery kind: `http` posts events to a customer-supplied URL; `sink` is a hosted test inbox with no URL (limited per account).' url: type: string maxLength: 2048 format: uri description: Destination URL to receive event deliveries. Required when `kind` is `http`; must be a public HTTPS URL. description: type: string maxLength: 500 description: Optional human-readable label for this endpoint. required: - kind description: Request body for creating a webhook endpoint. responses: '201': description: Webhook endpoint created. `secret` is returned here only — it cannot be retrieved again. content: application/json: schema: type: object properties: data: type: object properties: id: type: string minLength: 1 description: Stable identifier for the webhook endpoint. kind: type: string enum: - http - sink description: 'Delivery kind: `http` posts events to a customer-supplied URL; `sink` is a hosted test inbox with no URL (limited per account).' url: type: - string - 'null' description: Destination URL, or `null` for `sink` endpoints. description: type: - string - 'null' description: Human-readable label, when set. secret: type: string minLength: 1 description: Signing secret for verifying webhook deliveries. Shown ONLY in this response — store it now, it cannot be retrieved again. required: - id - kind - url - description - secret description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Invalid kind, url, or description. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: postV1WebhookEndpoints x-operation-id-source: derived get: tags: - Monitors summary: List webhook endpoints description: List webhook endpoints for the authenticated account. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. responses: '200': description: Webhook endpoints owned by the caller. content: application/json: schema: type: object properties: data: type: object properties: endpoints: type: array items: type: object properties: id: type: string minLength: 1 description: Stable identifier for the webhook endpoint. kind: type: string enum: - http - sink description: 'Delivery kind: `http` posts events to a customer-supplied URL; `sink` is a hosted test inbox with no URL (limited per account).' url: type: - string - 'null' description: Destination URL, or `null` for `sink` endpoints. description: type: - string - 'null' description: Human-readable label, when set. status: type: string enum: - active - disabled - disabled_by_user description: Endpoint lifecycle status. `disabled` is set automatically after sustained delivery failures; `disabled_by_user` is set by the caller. consecutiveFailures: type: integer minimum: 0 description: Consecutive delivery failures since the last success. failingSince: type: - string - 'null' description: ISO-8601 timestamp of the start of the current failure streak, or `null` when healthy. createdAt: type: string description: ISO-8601 timestamp for when the endpoint was created. updatedAt: type: string description: ISO-8601 timestamp for when the endpoint was last updated. required: - id - kind - url - description - status - consecutiveFailures - failingSince - createdAt - updatedAt description: A webhook endpoint, without secret material. description: Webhook endpoints owned by the caller, without secret material. required: - endpoints description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1WebhookEndpoints x-operation-id-source: derived /v1/webhook-endpoints/{id}: get: tags: - Monitors summary: Get a webhook endpoint description: Get a webhook endpoint by id. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook endpoint identifier. required: true description: Webhook endpoint identifier. name: id in: path responses: '200': description: Webhook endpoint details. content: application/json: schema: type: object properties: data: type: object properties: id: type: string minLength: 1 description: Stable identifier for the webhook endpoint. kind: type: string enum: - http - sink description: 'Delivery kind: `http` posts events to a customer-supplied URL; `sink` is a hosted test inbox with no URL (limited per account).' url: type: - string - 'null' description: Destination URL, or `null` for `sink` endpoints. description: type: - string - 'null' description: Human-readable label, when set. status: type: string enum: - active - disabled - disabled_by_user description: Endpoint lifecycle status. `disabled` is set automatically after sustained delivery failures; `disabled_by_user` is set by the caller. consecutiveFailures: type: integer minimum: 0 description: Consecutive delivery failures since the last success. failingSince: type: - string - 'null' description: ISO-8601 timestamp of the start of the current failure streak, or `null` when healthy. createdAt: type: string description: ISO-8601 timestamp for when the endpoint was created. updatedAt: type: string description: ISO-8601 timestamp for when the endpoint was last updated. required: - id - kind - url - description - status - consecutiveFailures - failingSince - createdAt - updatedAt description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook endpoint not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1WebhookEndpointsById x-operation-id-source: derived patch: tags: - Monitors summary: Update a webhook endpoint description: Update a webhook endpoint URL or status. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook endpoint identifier. required: true description: Webhook endpoint identifier. name: id in: path requestBody: required: true content: application/json: schema: type: object properties: description: type: string maxLength: 500 description: New human-readable label for this endpoint. status: type: string enum: - active - disabled_by_user description: Status to set. Use `active` to re-enable, `disabled_by_user` to pause. description: Request body for updating a webhook endpoint. responses: '200': description: Updated webhook endpoint. content: application/json: schema: type: object properties: data: type: object properties: id: type: string minLength: 1 description: Stable identifier for the webhook endpoint. kind: type: string enum: - http - sink description: 'Delivery kind: `http` posts events to a customer-supplied URL; `sink` is a hosted test inbox with no URL (limited per account).' url: type: - string - 'null' description: Destination URL, or `null` for `sink` endpoints. description: type: - string - 'null' description: Human-readable label, when set. status: type: string enum: - active - disabled - disabled_by_user description: Endpoint lifecycle status. `disabled` is set automatically after sustained delivery failures; `disabled_by_user` is set by the caller. consecutiveFailures: type: integer minimum: 0 description: Consecutive delivery failures since the last success. failingSince: type: - string - 'null' description: ISO-8601 timestamp of the start of the current failure streak, or `null` when healthy. createdAt: type: string description: ISO-8601 timestamp for when the endpoint was created. updatedAt: type: string description: ISO-8601 timestamp for when the endpoint was last updated. required: - id - kind - url - description - status - consecutiveFailures - failingSince - createdAt - updatedAt description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Invalid description or status. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook endpoint not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: patchV1WebhookEndpointsById x-operation-id-source: derived delete: tags: - Monitors summary: Delete a webhook endpoint description: Delete a webhook endpoint permanently. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook endpoint identifier. required: true description: Webhook endpoint identifier. name: id in: path responses: '200': description: Webhook endpoint deleted. content: application/json: schema: type: object properties: data: type: object properties: deleted: type: boolean enum: - true description: Always `true` on success. required: - deleted description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook endpoint not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: deleteV1WebhookEndpointsById x-operation-id-source: derived /v1/webhook-endpoints/{id}/test: post: tags: - Monitors summary: Send a test webhook event description: Send a signed test event to a webhook endpoint. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook endpoint id. required: true description: Webhook endpoint id. name: id in: path requestBody: content: application/json: schema: type: object properties: sampleType: type: string minLength: 1 description: Optional operationId of a watchable source to shape the sample event after (e.g. `twitter.profile.tweets.list`). Omit for a generic sample event. description: Request body for sending a test webhook event. responses: '200': description: Result of the synchronous test delivery attempt. content: application/json: schema: type: object properties: data: type: object properties: status: type: string enum: - success - failed description: Outcome of the test delivery attempt. responseStatus: type: - integer - 'null' description: HTTP status code returned by the endpoint, when available. responseBodySnippet: type: - string - 'null' description: Truncated response body from the endpoint, when available. durationMs: type: integer minimum: 0 description: Duration of the delivery attempt in milliseconds. required: - status - responseStatus - responseBodySnippet - durationMs description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Unknown `sampleType` or bad request. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook endpoint not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: postV1WebhookEndpointsByIdTest x-operation-id-source: derived /v1/webhook-endpoints/{id}/rotate-secret: post: tags: - Monitors summary: Rotate a webhook endpoint's signing secret description: Rotate the signing secret for a webhook endpoint. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook endpoint id. required: true description: Webhook endpoint id. name: id in: path responses: '200': description: New signing secret. The previous secret remains valid until it expires. content: application/json: schema: type: object properties: data: type: object properties: secret: type: string minLength: 1 description: New signing secret for this webhook endpoint. Shown here exactly once — store it now. previousSecretExpiresAt: type: string description: ISO-8601 timestamp until which the previous signing secret remains valid for verification, allowing zero-downtime rotation. required: - secret - previousSecretExpiresAt description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook endpoint not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: postV1WebhookEndpointsByIdRotateSecret x-operation-id-source: derived /v1/webhook-endpoints/{id}/deliveries: get: tags: - Monitors summary: List deliveries for a webhook endpoint description: List recent deliveries for a webhook endpoint. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook endpoint id. required: true description: Webhook endpoint id. name: id in: path - schema: type: string enum: - pending - success - failed description: Optional filter for delivery status. required: false description: Optional filter for delivery status. name: status in: query - schema: type: integer minimum: 1 maximum: 100 description: 'Maximum deliveries to return (1–100). Default: 25.' required: false description: 'Maximum deliveries to return (1–100). Default: 25.' name: limit in: query - schema: type: string minLength: 1 description: Opaque pagination cursor from a previous response's `data.page.nextCursor`. Prefer this over `after` for continuation. required: false description: Opaque pagination cursor from a previous response's `data.page.nextCursor`. Prefer this over `after` for continuation. name: cursor in: query - schema: type: string format: date-time description: ISO-8601 entry point for tail mode (oldest-first, strictly newer than this timestamp) — e.g. `socialfetch listen`. Use `cursor` to continue after the first page. When both `cursor` and `after` are set, `cursor` wins. required: false description: ISO-8601 entry point for tail mode (oldest-first, strictly newer than this timestamp) — e.g. `socialfetch listen`. Use `cursor` to continue after the first page. When both `cursor` and `after` are set, `cursor` wins. name: after in: query responses: '200': description: Delivery attempts for the requested webhook endpoint. content: application/json: schema: type: object properties: data: type: object properties: deliveries: type: array items: type: object properties: id: type: string minLength: 1 description: Delivery attempt id. eventId: type: string minLength: 1 description: Id of the event this attempt delivered. endpointId: type: string minLength: 1 description: Id of the webhook endpoint this attempt targeted. attempt: type: integer description: 1-indexed attempt number for this event/endpoint pair. exclusiveMinimum: 0 status: type: string enum: - pending - success - failed description: Outcome of this delivery attempt. requestHeaders: type: object additionalProperties: type: string description: The `socialfetch-*` headers sent with this delivery attempt. payloadText: type: string description: The exact request body bytes sent (and signed) for this attempt — byte-identical across every attempt of the same event. Forward this verbatim to reproduce a signed delivery locally (e.g. `socialfetch listen`). responseStatus: type: - integer - 'null' description: HTTP status code returned by the endpoint, when available. responseBodySnippet: type: - string - 'null' description: Truncated response body from the endpoint, when available. durationMs: type: - integer - 'null' description: Duration of the delivery attempt in milliseconds. manual: type: boolean description: True for a customer- or dashboard-triggered redelivery, vs. the automatic retry ladder. createdAt: type: string description: ISO-8601 timestamp for when this delivery attempt was made. required: - id - eventId - endpointId - attempt - status - requestHeaders - payloadText - responseStatus - responseBodySnippet - durationMs - manual - createdAt description: A single webhook delivery attempt. description: Delivery attempts for this webhook endpoint. Newest-first by default; oldest-first when entered via `after` (tail mode). page: type: object properties: hasMore: type: boolean description: Whether another page is available. nextCursor: type: - string - 'null' description: Cursor to pass in the next request when more pages exist; null on the last page. required: - hasMore - nextCursor description: Pagination state for the current page. Pass `nextCursor` as `cursor` to continue in the same direction. required: - deliveries - page description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook endpoint not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: getV1WebhookEndpointsByIdDeliveries x-operation-id-source: derived /v1/webhook-deliveries/{id}/redeliver: post: tags: - Monitors summary: Manually redeliver a webhook delivery description: Manually redeliver a previous webhook delivery attempt. security: - ApiKeyAuth: [] - {} x-socialfetch-pricing: version: 1 baseCredits: 0 surcharges: [] maxCredits: 0 normalizationFailureCredits: 0 x-socialfetch-credits-pricing: 0 credits per successful request. parameters: - schema: type: string minLength: 1 description: Webhook delivery id to redeliver. required: true description: Webhook delivery id to redeliver. name: id in: path responses: '200': description: The redelivery attempt has been queued. content: application/json: schema: type: object properties: data: type: object properties: attempt: type: integer description: Attempt number queued for this manual redelivery of the original event to its endpoint. exclusiveMinimum: 0 required: - attempt description: Endpoint-specific response payload. meta: type: object properties: requestId: type: string minLength: 1 description: Unique request identifier for tracing this API call. creditsCharged: type: integer minimum: 0 description: Credits charged for this request. version: type: string enum: - v1 description: Public API version that served the response. cached: type: boolean description: True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present. required: - requestId - creditsCharged - version description: Metadata describing the request and billing outcome. required: - data - meta description: Standard success response envelope. '400': description: Bad request content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - bad_request description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: bad_request message: Example message. requestId: req_01example '401': description: Missing or invalid API key content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - unauthorized description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: unauthorized message: Example message. requestId: req_01example '404': description: Webhook delivery not found. content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - not_found description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: not_found message: Example message. requestId: req_01example '500': description: Unexpected error content: application/json: schema: type: object properties: error: type: object properties: code: type: string enum: - internal_error description: Machine-readable error code for the failed request. message: type: string description: Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. requestId: type: string description: Unique request identifier for tracing the failed API call. checkoutUrl: type: string format: uri description: Optional one-click checkout URL when credits are exhausted and a conversion offer is available. required: - code - message - requestId description: Error details for the failed request. required: - error description: Standard error response envelope. example: error: code: internal_error message: Example message. requestId: req_01example operationId: postV1WebhookDeliveriesByIdRedeliver x-operation-id-source: derived components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-api-key description: API key (`sfk_...`)