Outcomes
Keep account, publication, delivery, native post, schedule, and media identifiers distinct in application code.
A public reference is a JSON-safe locator, not a secret and not an authorization decision. Each reference has a kind, a version, and the backend registry key it routes to. The client checks the kind and version on some calls and routes on backend; it does not prove the caller owns the reference. The application still checks that the current tenant may use the referenced account.
Resource boundaries
- A connected account (
ConnectedAccountRef) identifies an authorized social identity through one backend instance:backend,platform, andaccountId. - A publication (
PublicationRef) identifies onepublishcall. It has onlybackendandpublicationId, with no platform or account, because one publication can span several. When its targets use more than one backend,backendis"multiple". - A delivery (
DeliveryRef) records one target’s attempt. It is account-scoped:backend,platform,accountId, anddeliveryId. Use it withposts.getDelivery. - A platform post (
PlatformPostRef) identifies content on the destination network, including content that Social SDK did not create. It is account-scoped and may carry provider-native identifiers innative. - A scheduled job belongs to a backend or application worker and is not a platform post.
- Media, comments, and conversations have their own account-scoped reference types.
These identifiers are not interchangeable. Removing a provider record, cancelling a pending schedule, and deleting content from a platform are separate operations with different permissions and side effects.
Outcome boundaries
Each target reports its own lifecycle. accepted or processing means the backend took responsibility for more work. Only a published outcome, which carries a PlatformPostRef, proves publication. A timeout can leave the result unknown; retrying that write blindly can duplicate public content.
Applications retain successful targets, reconcile uncertain targets, and retry only targets whose documented idempotency and failure state make a retry safe.