Post history import API
Backfill posts that were published outside Siar, optionally with their analytics.
| Operation | Method and path |
|---|---|
| Start a new post history import | POST /api/v1/post-history-import |
| Get import status list | GET /api/v1/post-history-import |
| Get import by ID | GET /api/v1/post-history-import/{importId} |
| Get imported posts with analytics for a social account | GET /api/v1/post-history-import/posts |
| Bulk delete imported posts and their analytics | DELETE /api/v1/post-history-import/posts |
| Retry a failed import | POST /api/v1/post-history-import/{importId}/retry |
/api/v1/post-history-import Start a new post history import
postImport.create · requires x-api-key
Request body application/json
-
teamIdstring required -
socialAccountTypestring requiredOne of:FACEBOOKINSTAGRAMTHREADSTIKTOKYOUTUBELINKEDINPINTERESTREDDITMASTODONBLUESKYTWITTER -
countinteger required ≥ 1 -
withAnalyticsboolean default true -
importCarouselsboolean default false -
surfacestring default "ALL"One of:PROFILE_GRIDNON_GRIDSTORYALL -
mediaTypestringOne of:VIDEOIMAGE
Example
curl -X POST "https://api.siaran.my/api/v1/post-history-import/" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID",
"socialAccountType": "FACEBOOK",
"count": 1
}' Response 201
18 top-level fields
-
idstring required -
teamIdstring required -
socialAccountIdstring required -
requestedCountnumber required -
withAnalyticsboolean required -
importCarouselsboolean required -
surfacestring nullableOne of:PROFILE_GRIDNON_GRIDSTORYALL -
mediaTypestring nullableOne of:VIDEOIMAGE -
statusstring requiredOne of:PENDINGFETCHING_POSTSFETCHING_ANALYTICSCOMPLETEDFAILEDRATE_LIMITED -
postsImportednumber required -
analyticsImportednumber required -
errorstring nullable -
rateLimitResetAtstring nullable date-time -
startedAtstring nullable date-time -
completedAtstring nullable date-time -
createdAtstring required nullable date-time -
updatedAtstring required nullable date-time -
deletedAtstring nullable date-time
Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 409 Conflict · 429 Rate limited · 500 Server error · 502 Network error
/api/v1/post-history-import Get import status list
postImport.getStatus · requires x-api-key
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
teamId required | query | string | |
socialAccountType | query | string | One of FACEBOOK, INSTAGRAM, THREADS, TIKTOK, YOUTUBE, LINKEDIN, PINTEREST, REDDIT, MASTODON, BLUESKY, TWITTER |
Example
curl -X GET "https://api.siaran.my/api/v1/post-history-import/?teamId=TEAM_ID" \
-H "x-api-key: $SIAR_API_KEY" Response 200
1 top-level fields
-
importsobject[] required18 fields
-
idstring required -
teamIdstring required -
socialAccountIdstring required -
requestedCountnumber required -
withAnalyticsboolean required -
importCarouselsboolean required -
surfacestring nullableOne of:PROFILE_GRIDNON_GRIDSTORYALL -
mediaTypestring nullableOne of:VIDEOIMAGE -
statusstring requiredOne of:PENDINGFETCHING_POSTSFETCHING_ANALYTICSCOMPLETEDFAILEDRATE_LIMITED -
postsImportednumber required -
analyticsImportednumber required -
errorstring nullable -
rateLimitResetAtstring nullable date-time -
startedAtstring nullable date-time -
completedAtstring nullable date-time -
createdAtstring required nullable date-time -
updatedAtstring required nullable date-time -
deletedAtstring nullable date-time
-
Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error
/api/v1/post-history-import/{importId} Get import by ID
postImport.getById · requires x-api-key
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
importId required | path | string |
Example
curl -X GET "https://api.siaran.my/api/v1/post-history-import/IMPORTID" \
-H "x-api-key: $SIAR_API_KEY" Response 200
18 top-level fields
-
idstring required -
teamIdstring required -
socialAccountIdstring required -
requestedCountnumber required -
withAnalyticsboolean required -
importCarouselsboolean required -
surfacestring nullableOne of:PROFILE_GRIDNON_GRIDSTORYALL -
mediaTypestring nullableOne of:VIDEOIMAGE -
statusstring requiredOne of:PENDINGFETCHING_POSTSFETCHING_ANALYTICSCOMPLETEDFAILEDRATE_LIMITED -
postsImportednumber required -
analyticsImportednumber required -
errorstring nullable -
rateLimitResetAtstring nullable date-time -
startedAtstring nullable date-time -
completedAtstring nullable date-time -
createdAtstring required nullable date-time -
updatedAtstring required nullable date-time -
deletedAtstring nullable date-time
Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error
/api/v1/post-history-import/posts Get imported posts with analytics for a social account
postImport.getImportedPosts · requires x-api-key
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
teamId required | query | string | |
socialAccountType required | query | string | One of FACEBOOK, INSTAGRAM, THREADS, TIKTOK, YOUTUBE, LINKEDIN, PINTEREST, REDDIT, MASTODON, BLUESKY, TWITTER |
limit | query | number | default 50 |
offset | query | number | default 0 · nullable |
Example
curl -X GET "https://api.siaran.my/api/v1/post-history-import/posts?teamId=TEAM_ID&socialAccountType=FACEBOOK" \
-H "x-api-key: $SIAR_API_KEY" Response 200
4 top-level fields
-
postsobject[] required20 fields
-
idstring required -
socialAccountIdstring required -
postIdstring nullable -
externalIdstring nullable -
titlestring nullable -
descriptionstring nullable -
smallThumbnailstring nullable -
thumbnailstring nullable -
permalinkstring nullable -
extraDataany nullable -
subredditstring nullable -
publishedAtstring nullable date-time -
typestring requiredOne of:POSTREELSTORYVIDEOIMAGE -
internalboolean required -
importedAtstring nullable date-time -
externallyDeletedAtstring nullable date-time -
createdAtstring required nullable date-time -
updatedAtstring required nullable date-time -
deletedAtstring nullable date-time -
analyticsobject[] required16 fields
-
idstring required -
profilePostIdstring required -
impressionsnumber required -
impressionsUniquenumber required -
viewsnumber required -
viewsUniquenumber required -
likesnumber required -
dislikesnumber required -
commentsnumber required -
sharesnumber required -
savesnumber required -
rawany nullable -
forcedboolean required -
createdAtstring required nullable date-time -
updatedAtstring required nullable date-time -
deletedAtstring nullable date-time
-
-
-
totalnumber required -
limitnumber required -
remainingCapacitynumber required
Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error
/api/v1/post-history-import/posts Bulk delete imported posts and their analytics
postImport.deleteImportedPosts · requires x-api-key
Request body application/json
-
teamIdstring required -
postIdsstring[] required min 1 itemsmax 100 items
Example
curl -X DELETE "https://api.siaran.my/api/v1/post-history-import/posts" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID",
"postIds": [
"POST_ID"
]
}' Response 200
1 top-level fields
-
deletedCountnumber required
Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error
/api/v1/post-history-import/{importId}/retry Retry a failed import
postImport.retryImport · requires x-api-key
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
importId required | path | string |
Request body application/json
-
teamIdstring required
Example
curl -X POST "https://api.siaran.my/api/v1/post-history-import/IMPORTID/retry" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID"
}' Response 200
18 top-level fields
-
idstring required -
teamIdstring required -
socialAccountIdstring required -
requestedCountnumber required -
withAnalyticsboolean required -
importCarouselsboolean required -
surfacestring nullableOne of:PROFILE_GRIDNON_GRIDSTORYALL -
mediaTypestring nullableOne of:VIDEOIMAGE -
statusstring requiredOne of:PENDINGFETCHING_POSTSFETCHING_ANALYTICSCOMPLETEDFAILEDRATE_LIMITED -
postsImportednumber required -
analyticsImportednumber required -
errorstring nullable -
rateLimitResetAtstring nullable date-time -
startedAtstring nullable date-time -
completedAtstring nullable date-time -
createdAtstring required nullable date-time -
updatedAtstring required nullable date-time -
deletedAtstring nullable date-time
Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error