Storyclash · AsyncAPI Specification
Storyclash Webhooks
Version
View Spec
View on GitHub
CompanyInfluencer MarketingCreator EconomySocial Media AnalyticsMarketing AnalyticsCampaign ManagementBusiness IntelligenceREST APIWebhooksAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: https://storyclash.notion.site/Storyclash-API-Documentation-1266dc2ddd0880a79cf9e3d34c19fa01
type: Webhooks
docs: https://storyclash.notion.site/Storyclash-API-Documentation-1266dc2ddd0880a79cf9e3d34c19fa01
correction: >-
Supersedes the 2026-07-21 catalog, which listed two events named "campaign.updated" and
"creator.import.status". Reading the provider's actual API documentation shows only ONE
webhook exists — the creator-import result callback — and Storyclash publishes no event
NAMES at all. "campaign.updated" is not a documented Storyclash event and has been removed.
The real payload fields and the full status registry are now recorded from the docs.
summary: >-
Storyclash's only documented event surface is a per-request result callback on the creator
import endpoint. There is no subscription model, no event catalog, no signing scheme and no
retry policy: the consumer passes a URL as the "webhook" parameter of a POST
/external-api/import/creator call, and Storyclash POSTs the outcome to that URL when the
import finishes. Campaign data is pull-only — the Campaign Data endpoint is polled, subject
to a one-request-per-hour-per-campaign limit. No AsyncAPI document is published.
asyncapi_published: false
transport: http
delivery: outbound HTTP POST callback to a URL supplied per-request
subscription_model: per-request (no registration, no management endpoint)
webhooks:
- name: creator-import-result
documented_name: null
trigger: >-
Fired after a POST /external-api/import/creator request completes, once per requested
creator and platform.
registered_via:
parameter: webhook
type: string
required: false
in: request body
quote: >-
"webhook (string) - This parameter provides the option to receive feedback for each
requested creator and their platforms. After the creator import is finished the result
will be sent to the given URL."
payload_fields:
- {name: packageId, type: integer}
- {name: entryId, type: integer}
- {name: status, type: integer, note: See errors/storyclash-error-codes.yml import_status_codes (101, 102, 300-310, 401).}
- {name: statusName, type: string, note: 'FOUND_EXISTING | CREATED_NEW | ERROR | PRIVATE | AGE_RESTRICTED | COUNTRY_RESTRICTED | NOT_FOUND | NO_CONTENT | INVALID_HANDLE | NO_RECENT_CONTENT | TOO_SMALL_FANBASE | BLACKLISTED | EMBED_DISABLED | NEEDS_REVIEW'}
- {name: feedId, type: integer}
- {name: requestData, type: array, note: Echoes the information sent in the original API request.}
note: >-
Field list is published verbatim by the provider; no JSON Schema or example payload is
given, and field types beyond the parenthesised hints above are not specified.
not_documented:
signing: No signature header, shared secret or verification scheme is documented.
retries: No retry, backoff or dead-letter behaviour is documented.
ordering: No ordering or de-duplication guarantee is documented.
event_registry: No named event types; no versioning of the payload.
campaign_events: >-
Despite the marketing page describing "real-time" campaign notifications, the API
documentation defines no campaign event and no campaign webhook. Campaign KPIs are
retrieved by polling GET /external-api/campaign/{campaign_id}.
cross_links:
errors: errors/storyclash-error-codes.yml
rate_limits: rate-limits/storyclash-rate-limits.yml
conventions: conventions/storyclash-conventions.yml