Keystone Developers
Open Keystone
API reference

Internal API

Social posts

5 endpoints.

POST/api/v1/internal/businesses/{business_id}/social_posts

Create a social post draft (internal)

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
Idempotency-Keyheaderstring | null
x-internal-api-keyheaderstring | null

Request bodyrequired

application/jsonSocialPostWriteBody
FieldTypeDescription
content_markdownrequiredstringmax length 5000
link_urlstring | null
photo_idsstring[]max items 10
string[] fields
target_profile_idsstring[]
string[] fields
target_formatsSocialPostTargetFormatBody[]
SocialPostTargetFormatBody[] fields
FieldTypeDescription
social_profile_idrequiredstring
formatrequiredenumone of "facebook_feed", "facebook_carousel", "instagram_feed", "instagram_carousel"
publish_modeenumone of "draft", "publish_now", "schedule" · default "draft"
scheduled_atinteger | null
timezonestring | null
workflow_run_idstring | null
thread_idstring | null
media_statusstring | null

Responses

201Successful Response
application/jsonSuccessResponse_SocialPostData_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredSocialPostData
SocialPostData fields
FieldTypeDescription
idrequiredstring
business_idrequiredstring
workflow_run_idstring | null
thread_idstring | null
content_markdownrequiredstring
link_urlstring | null
photo_idsstring[]
string[] fields
media_statusstring | null
statusrequiredenumone of "draft", "queued", "publishing", "published", "failed"
originstringdefault "keystone"
scheduled_atinteger | null
timezonestring | null
published_atinteger | null
kairos_schedule_idstring | null
kairos_schedule_statusstring | null
engagementSocialEngagementData
SocialEngagementData fields
FieldTypeDescription
likesinteger | null
commentsinteger | null
sharesinteger | null
viewsinteger | null
reachinteger | null
savedinteger | null
last_engagement_synced_atinteger | null
mediaSocialPostPreviewMediaData[]
SocialPostPreviewMediaData[] fields

SocialPostPreviewMediaData (not expanded)

targetsSocialPostTargetData[]
SocialPostTargetData[] fields

SocialPostTargetData (not expanded)

available_profilesSocialProfileData[]
SocialProfileData[] fields

SocialProfileData (not expanded)

has_external_changesbooleandefault false
created_atrequiredinteger
updated_atrequiredinteger
metadataResponseMetadata | null
ResponseMetadata fields
FieldTypeDescription
paginationPaginationMetadata | null
PaginationMetadata fields
FieldTypeDescription
limitrequiredinteger
next_cursorstring | null
prev_cursorstring | null
has_morerequiredboolean
has_prevbooleandefault false
total_countinteger | null
status_countsobject | null
object | null fields

Map of string to integer

lifecycle_countsLifecycleCounts | null
LifecycleCounts fields
FieldTypeDescription
leadintegerdefault 0
prospectintegerdefault 0
customerintegerdefault 0
former_customerintegerdefault 0
classification_countsClassificationCounts | null
ClassificationCounts fields
FieldTypeDescription
signalobject
object fields

Nested object (not expanded)

touchobject
object fields

Nested object (not expanded)

stageobject
object fields

Nested object (not expanded)

metaResponseMeta | null
ResponseMeta fields
FieldTypeDescription
totalinteger | null
total_countinteger | null
pageinteger | null
per_pageinteger | null
  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

GET/api/v1/internal/businesses/{business_id}/social_posts/{social_post_id}

Get a social post (internal)

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
social_post_idrequiredpathstring (uuid)
x-internal-api-keyheaderstring | null

Responses

200Successful Response
application/jsonSuccessResponse_SocialPostData_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredSocialPostData
SocialPostData fields

SocialPostData, expanded above.

metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

PATCH/api/v1/internal/businesses/{business_id}/social_posts/{social_post_id}

Update a social post draft (internal)

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
social_post_idrequiredpathstring (uuid)
x-internal-api-keyheaderstring | null

Request bodyrequired

application/jsonSocialPostWriteBody

SocialPostWriteBody, expanded above.

Responses

200Successful Response
application/jsonSuccessResponse_SocialPostData_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredSocialPostData
SocialPostData fields

SocialPostData, expanded above.

metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

POST/api/v1/internal/businesses/{business_id}/social_posts/{social_post_id}/publish

Publish a social post immediately (internal)

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
social_post_idrequiredpathstring (uuid)
x-internal-api-keyheaderstring | null

Request bodyrequired

application/jsonSocialPostPublishBody
FieldTypeDescription
target_profile_idsstring[]
string[] fields
target_formatsSocialPostTargetFormatBody[]
SocialPostTargetFormatBody[] fields

SocialPostTargetFormatBody, expanded above.

Responses

200Successful Response
application/jsonSuccessResponse_SocialPostPublishResult_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredSocialPostPublishResult
SocialPostPublishResult fields
FieldTypeDescription
social_postrequiredSocialPostData
SocialPostData fields

SocialPostData, expanded above.

resultsrequiredSocialPostPublishTargetResult[]
SocialPostPublishTargetResult[] fields

SocialPostPublishTargetResult (not expanded)

successrequiredboolean
successful_countrequiredinteger
failed_countrequiredinteger
total_countrequiredinteger
metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

POST/api/v1/internal/businesses/{business_id}/social_posts/generate

Generate social post caption (internal)

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
Idempotency-Keyheaderstring | null
x-internal-api-keyheaderstring | null

Request bodyrequired

application/jsonSocialPostGenerateBody
FieldTypeDescription
promptstring | null
target_profile_idsstring[]
string[] fields
platformsenum[]
enum[] fields
providerstring | null

Responses

200Successful Response
application/jsonSuccessResponse_SocialPostGenerateData_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredSocialPostGenerateData
SocialPostGenerateData fields
FieldTypeDescription
content_markdownrequiredstring
media_briefsobject[]

Photo briefs for the workflow worker to resolve against the media library, in display order. Empty unless social_media_briefs_enabled is on. The inline (non-workflow) callers return them but never act on them.

object[] fields
metadatarequiredSocialPostGenerateMetadata
SocialPostGenerateMetadata fields
FieldTypeDescription
providerrequiredstring
modelrequiredstring
latency_msrequiredinteger
context_sourcesstring[]
string[] fields

Nested object (not expanded)

generation_statusstringdefault "completed"
workflow_run_idstring | null
thread_idstring | null
social_postSocialPostData | null
SocialPostData fields

SocialPostData, expanded above.

metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.