Archive Partners API
Archive API allows you to access enriched details about your community. The Archive Community is representative of the social profiles that are captured and tracked through an Archive Community CDP.
This detailed information ranges from profile information to post engagement metrics. This data has been used for enriching ambassador/loyalty programs, automating marketing flows, and performance measurement.
GraphQL
Archive API is built on GraphQL query language: graphql.org. If you already have an API token, you can try it with our API explorer.
API Endpoints
POST: https://app.archive.com/api/v1
Headers
# Get token from our team
Authorization: Bearer <YOUR_TOKEN_HERE>
# If you have multiple shops you need to pass Shop ID in header
SHOP-ID: 123
Authentication
All queries require a valid access token. In order to get your access token, contact support@archive.com. Include your token as an Authorization header on all queries.
Webhooks
You can receive webhooks for specific events. List of available events: WebhookSubscriptionsEventsEnum
To start receiving webhooks, you need to subscribe to an event with webhookSubscriptionCreate mutation. Once subscribed, Archive will send MediaItem object with attributes in underscore style to callback_url every time there is an event trigger.
Queries
creator
Description
Returns a Creator resource by ID.
Response
Returns a Creator
Arguments
| Name | Description |
|---|---|
id - Int
|
|
accountName - String
|
|
provider - IntegrationProviderEnum
|
|
fallback - Boolean
|
Example
Query
query creator(
$id: Int,
$accountName: String,
$provider: IntegrationProviderEnum,
$fallback: Boolean
) {
creator(
id: $id,
accountName: $accountName,
provider: $provider,
fallback: $fallback
) {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
}
Variables
{
"id": 123,
"accountName": "xyz789",
"provider": "INSTAGRAM",
"fallback": false
}
Response
{
"data": {
"creator": {
"accountName": "abc123",
"authorized": false,
"avatarUrl": "abc123",
"biography": "xyz789",
"followersCount": 123,
"followingCount": 123,
"id": 123,
"labels": ["xyz789"],
"provider": "INSTAGRAM",
"verified": true
}
}
}
creatorAudienceReport
Description
Returns a Creator audience report.
Response
Returns an AudienceReportResponse!
Arguments
| Name | Description |
|---|---|
id - Int
|
|
accountName - String
|
|
provider - IntegrationProviderEnum
|
Example
Query
query creatorAudienceReport(
$id: Int,
$accountName: String,
$provider: IntegrationProviderEnum
) {
creatorAudienceReport(
id: $id,
accountName: $accountName,
provider: $provider
) {
accountName
audienceReport
id
provider
}
}
Variables
{
"id": 987,
"accountName": "abc123",
"provider": "INSTAGRAM"
}
Response
{
"data": {
"creatorAudienceReport": {
"accountName": "xyz789",
"audienceReport": {},
"id": 123,
"provider": "INSTAGRAM"
}
}
}
creatorPosts
Description
Returns a Creator posts.
Response
Returns a MediaItemConnection!
Arguments
| Name | Description |
|---|---|
id - Int
|
|
accountName - String
|
|
provider - IntegrationProviderEnum
|
|
after - String
|
Returns the elements in the list that come after the specified cursor. |
before - String
|
Returns the elements in the list that come before the specified cursor. |
first - Int
|
Returns the first n elements from the list. |
last - Int
|
Returns the last n elements from the list. |
Example
Query
query creatorPosts(
$id: Int,
$accountName: String,
$provider: IntegrationProviderEnum,
$after: String,
$before: String,
$first: Int,
$last: Int
) {
creatorPosts(
id: $id,
accountName: $accountName,
provider: $provider,
after: $after,
before: $before,
first: $first,
last: $last
) {
additionalFilters {
accountNames
accountTypes
audienceTopAges
audienceTopGender
avgCommissionRate {
from
to
}
avgEcLivePlayCount {
from
to
}
avgEcVideoPlayCount {
from
to
}
brandsNames
contentTypes
creatorAge
creatorEmail
creatorGender
creatorSimilarSearch
crmInstagramWhitelistingEligibility
crmInstagramWhitelistingStatus
crmTiktokWhitelistingEligibility
crmTiktokWhitelistingStatus
engagement {
field
range {
from
to
}
}
followersCount {
from
to
}
gmvAmount {
from
to
}
ids
importType
itemTypes
mediaItemsUsageRightsStatus
platform
postingActivity
sentiment
shopifyProductsIds
sourcesIds
superSearch {
fileName
imageUrl
mode
searchQuery
similarMediaContentId
}
tagsIds
tagsNames
takenAt {
from
to
}
tiktokAffiliate
unitsSold {
from
to
}
verified
}
edges {
cursor
node {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
}
filtersQuery
nodes {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"id": 123,
"accountName": "abc123",
"provider": "INSTAGRAM",
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 987
}
Response
{
"data": {
"creatorPosts": {
"additionalFilters": AllFilters,
"edges": [MediaItemEdge],
"filtersQuery": {},
"nodes": [MediaItem],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
getWorkspace
Description
Gets workspace info
Response
Returns a Workspace!
Example
Query
query getWorkspace {
getWorkspace {
hashtags {
id
name
provider
}
id
mentions {
id
name
provider
}
name
}
}
Response
{
"data": {
"getWorkspace": {
"hashtags": [Hashtag],
"id": 4,
"mentions": [Mention],
"name": "abc123"
}
}
}
items
Description
Gets portion of media items.
Response
Returns a MediaItemConnection!
Arguments
| Name | Description |
|---|---|
filter - Filter
|
|
after - String
|
Returns the elements in the list that come after the specified cursor. |
before - String
|
Returns the elements in the list that come before the specified cursor. |
first - Int
|
Returns the first n elements from the list. |
last - Int
|
Returns the last n elements from the list. |
Example
Query
query items(
$filter: Filter,
$after: String,
$before: String,
$first: Int,
$last: Int
) {
items(
filter: $filter,
after: $after,
before: $before,
first: $first,
last: $last
) {
additionalFilters {
accountNames
accountTypes
audienceTopAges
audienceTopGender
avgCommissionRate {
from
to
}
avgEcLivePlayCount {
from
to
}
avgEcVideoPlayCount {
from
to
}
brandsNames
contentTypes
creatorAge
creatorEmail
creatorGender
creatorSimilarSearch
crmInstagramWhitelistingEligibility
crmInstagramWhitelistingStatus
crmTiktokWhitelistingEligibility
crmTiktokWhitelistingStatus
engagement {
field
range {
from
to
}
}
followersCount {
from
to
}
gmvAmount {
from
to
}
ids
importType
itemTypes
mediaItemsUsageRightsStatus
platform
postingActivity
sentiment
shopifyProductsIds
sourcesIds
superSearch {
fileName
imageUrl
mode
searchQuery
similarMediaContentId
}
tagsIds
tagsNames
takenAt {
from
to
}
tiktokAffiliate
unitsSold {
from
to
}
verified
}
edges {
cursor
node {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
}
filtersQuery
nodes {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"filter": Filter,
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 123
}
Response
{
"data": {
"items": {
"additionalFilters": AllFilters,
"edges": [MediaItemEdge],
"filtersQuery": {},
"nodes": [MediaItem],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
listWorkspaces
Description
Gets workspaces
Response
Returns [Workspace!]!
Example
Query
query listWorkspaces {
listWorkspaces {
hashtags {
id
name
provider
}
id
mentions {
id
name
provider
}
name
}
}
Response
{
"data": {
"listWorkspaces": [
{
"hashtags": [Hashtag],
"id": "4",
"mentions": [Mention],
"name": "abc123"
}
]
}
}
mediaItem
Description
Returns a MediaItem resource by ID or externalID.
Example
Query
query mediaItem(
$id: String,
$externalId: String
) {
mediaItem(
id: $id,
externalId: $externalId
) {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
}
Variables
{
"id": "abc123",
"externalId": "abc123"
}
Response
{
"data": {
"mediaItem": {
"caption": "xyz789",
"contents": [MediaContent],
"creator": Creator,
"engagement": [MediaItemsEngagement],
"engagementHistory": [MediaItemsEngagement],
"externalId": "xyz789",
"hashtags": ["xyz789"],
"id": 4,
"location": MediaItemLocation,
"mentions": ["xyz789"],
"provider": "INSTAGRAM",
"takenAt": ISO8601DateTime,
"type": "POST",
"usageRightsStatus": "REQUESTED",
"virality": MediaItemsEngagementVirality
}
}
}
mediaItems
Description
Gets portion of media items.
Response
Returns a MediaItemConnection!
Arguments
| Name | Description |
|---|---|
filter - Filter
|
|
after - String
|
Returns the elements in the list that come after the specified cursor. |
before - String
|
Returns the elements in the list that come before the specified cursor. |
first - Int
|
Returns the first n elements from the list. |
last - Int
|
Returns the last n elements from the list. |
Example
Query
query mediaItems(
$filter: Filter,
$after: String,
$before: String,
$first: Int,
$last: Int
) {
mediaItems(
filter: $filter,
after: $after,
before: $before,
first: $first,
last: $last
) {
additionalFilters {
accountNames
accountTypes
audienceTopAges
audienceTopGender
avgCommissionRate {
from
to
}
avgEcLivePlayCount {
from
to
}
avgEcVideoPlayCount {
from
to
}
brandsNames
contentTypes
creatorAge
creatorEmail
creatorGender
creatorSimilarSearch
crmInstagramWhitelistingEligibility
crmInstagramWhitelistingStatus
crmTiktokWhitelistingEligibility
crmTiktokWhitelistingStatus
engagement {
field
range {
from
to
}
}
followersCount {
from
to
}
gmvAmount {
from
to
}
ids
importType
itemTypes
mediaItemsUsageRightsStatus
platform
postingActivity
sentiment
shopifyProductsIds
sourcesIds
superSearch {
fileName
imageUrl
mode
searchQuery
similarMediaContentId
}
tagsIds
tagsNames
takenAt {
from
to
}
tiktokAffiliate
unitsSold {
from
to
}
verified
}
edges {
cursor
node {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
}
filtersQuery
nodes {
caption
contents {
contentUrl
displayUrl
height
id
type
width
}
creator {
accountName
authorized
avatarUrl
biography
followersCount
followingCount
id
labels
provider
verified
}
engagement {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
engagementHistory {
at
commentCount
emv
engagement
followers
impressions
likeCount
playCount
viewCount
}
externalId
hashtags
id
location {
address
city
lat
lng
name
}
mentions
provider
takenAt
type
usageRightsStatus
virality {
markedHighAt
markedLowAt
markedMediumAt
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"filter": Filter,
"after": "xyz789",
"before": "abc123",
"first": 987,
"last": 987
}
Response
{
"data": {
"mediaItems": {
"additionalFilters": AllFilters,
"edges": [MediaItemEdge],
"filtersQuery": {},
"nodes": [MediaItem],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
webhookSubscriptions
Description
Gets list of webhook subscriptions by event.
Response
Returns [WebhookSubscription!]
Arguments
| Name | Description |
|---|---|
event - WebhookSubscriptionsEventsEnum
|
Example
Query
query webhookSubscriptions($event: WebhookSubscriptionsEventsEnum) {
webhookSubscriptions(event: $event) {
callbackUrl
event
id
version
}
}
Variables
{"event": "MEDIA_ITEM_CREATED"}
Response
{
"data": {
"webhookSubscriptions": [
{
"callbackUrl": "abc123",
"event": "MEDIA_ITEM_CREATED",
"id": "4",
"version": "v0"
}
]
}
}
Mutations
createWorkspace
Description
Create Workspace.
Response
Returns a Workspace
Example
Query
mutation createWorkspace(
$name: String!,
$instagramHashtags: [String!],
$instagramMentions: [String!],
$tiktokHashtags: [String!],
$tiktokMentions: [String!]
) {
createWorkspace(
name: $name,
instagramHashtags: $instagramHashtags,
instagramMentions: $instagramMentions,
tiktokHashtags: $tiktokHashtags,
tiktokMentions: $tiktokMentions
) {
hashtags {
id
name
provider
}
id
mentions {
id
name
provider
}
name
}
}
Variables
{
"name": "xyz789",
"instagramHashtags": ["xyz789"],
"instagramMentions": ["xyz789"],
"tiktokHashtags": ["abc123"],
"tiktokMentions": ["xyz789"]
}
Response
{
"data": {
"createWorkspace": {
"hashtags": [Hashtag],
"id": 4,
"mentions": [Mention],
"name": "xyz789"
}
}
}
mediaItemAddToCollection
Description
Add media item to collection.
Response
Returns a Boolean
Example
Query
mutation mediaItemAddToCollection(
$id: ID!,
$collectionId: ID,
$collectionName: String
) {
mediaItemAddToCollection(
id: $id,
collectionId: $collectionId,
collectionName: $collectionName
)
}
Variables
{
"id": "4",
"collectionId": "4",
"collectionName": "xyz789"
}
Response
{"data": {"mediaItemAddToCollection": false}}
sendInstagramMessage
Description
Send Instagram direct message.
Example
Query
mutation sendInstagramMessage(
$accountName: String!,
$message: String!
) {
sendInstagramMessage(
accountName: $accountName,
message: $message
)
}
Variables
{
"accountName": "abc123",
"message": "xyz789"
}
Response
{"data": {"sendInstagramMessage": false}}
updateWorkspace
Description
Update Workspace.
Response
Returns a Workspace
Example
Query
mutation updateWorkspace(
$name: String,
$instagramHashtags: [String!],
$instagramMentions: [String!],
$tiktokHashtags: [String!],
$tiktokMentions: [String!]
) {
updateWorkspace(
name: $name,
instagramHashtags: $instagramHashtags,
instagramMentions: $instagramMentions,
tiktokHashtags: $tiktokHashtags,
tiktokMentions: $tiktokMentions
) {
hashtags {
id
name
provider
}
id
mentions {
id
name
provider
}
name
}
}
Variables
{
"name": "xyz789",
"instagramHashtags": ["abc123"],
"instagramMentions": ["xyz789"],
"tiktokHashtags": ["abc123"],
"tiktokMentions": ["xyz789"]
}
Response
{
"data": {
"updateWorkspace": {
"hashtags": [Hashtag],
"id": "4",
"mentions": [Mention],
"name": "abc123"
}
}
}
webhookSubscriptionCreate
Description
Creates a new webhook subscription.
Response
Returns a WebhookSubscription
Arguments
| Name | Description |
|---|---|
version - WebhookSubscriptionsVersionsEnum!
|
|
event - WebhookSubscriptionsEventsEnum!
|
|
callbackUrl - String!
|
Example
Query
mutation webhookSubscriptionCreate(
$version: WebhookSubscriptionsVersionsEnum!,
$event: WebhookSubscriptionsEventsEnum!,
$callbackUrl: String!
) {
webhookSubscriptionCreate(
version: $version,
event: $event,
callbackUrl: $callbackUrl
) {
callbackUrl
event
id
version
}
}
Variables
{
"version": "v0",
"event": "MEDIA_ITEM_CREATED",
"callbackUrl": "abc123"
}
Response
{
"data": {
"webhookSubscriptionCreate": {
"callbackUrl": "xyz789",
"event": "MEDIA_ITEM_CREATED",
"id": "4",
"version": "v0"
}
}
}
webhookSubscriptionDelete
Description
Deletes a webhook subscription.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
event - WebhookSubscriptionsEventsEnum!
|
Example
Query
mutation webhookSubscriptionDelete($event: WebhookSubscriptionsEventsEnum!) {
webhookSubscriptionDelete(event: $event)
}
Variables
{"event": "MEDIA_ITEM_CREATED"}
Response
{"data": {"webhookSubscriptionDelete": false}}
Types
AccountTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"instagram__personal"
AllFilters
Fields
| Field Name | Description |
|---|---|
accountNames - [String!]
|
Influencer Account Names |
accountTypes - [AccountTypeEnum!]
|
Account Types |
audienceTopAges - [String!]
|
Audience top ages |
audienceTopGender - String
|
Audience top gender |
avgCommissionRate - FilterIntegerRange
|
Average commission rate |
avgEcLivePlayCount - FilterIntegerRange
|
Average viewers per LIVE |
avgEcVideoPlayCount - FilterIntegerRange
|
Average views per video |
brandsNames - [String!]
|
Brands names |
contentTypes - [FilterContentTypeEnum!]
|
Content Types of the items |
creatorAge - [FilterCreatorAgeEnum!]
|
|
creatorEmail - [Boolean!]
|
|
creatorGender - [FilterCreatorGenderEnum!]
|
|
creatorSimilarSearch - [String!]
|
|
crmInstagramWhitelistingEligibility - WhitelistingEligibilityEnum
|
Instagram Whitelisting Eligibility |
crmInstagramWhitelistingStatus - [FilterContractStatusEnum!]
|
CRM Instagram Whitelisting Contract status |
crmTiktokWhitelistingEligibility - WhitelistingEligibilityEnum
|
TikTok Whitelisting Eligibility |
crmTiktokWhitelistingStatus - [FilterContractStatusEnum!]
|
CRM TikTok Whitelisting Contract status |
engagement - [FilterEngagementRange!]
|
|
followersCount - FilterIntegerRange
|
|
gmvAmount - FilterIntegerRange
|
GMV amount |
ids - [ID!]
|
ShopItem IDs |
importType - ImportTypeEnum
|
|
itemTypes - [FilterMediaItemTypeEnum!]
|
Types of the items |
mediaItemsUsageRightsStatus - [MediaItemsUsageRightsStatusEnum!]
|
Usage Rights status Replaced by crm |
platform - PlatformEnum
|
|
postingActivity - FilterPostingActivityEnum
|
|
sentiment - [SentimentValueEnum!]
|
|
shopifyProductsIds - [ID!]
|
Shopify Products IDs |
sourcesIds - [ID!]
|
Sources ids |
superSearch - FilterSuperSearch
|
|
tagsIds - [ID!]
|
Tags ids |
tagsNames - [String!]
|
Tags names |
takenAt - FilterDateRange
|
Taken At Date Range |
tiktokAffiliate - Boolean
|
|
unitsSold - FilterIntegerRange
|
Units sold |
verified - [Boolean!]
|
Only verified influencers |
Example
{
"accountNames": ["xyz789"],
"accountTypes": ["instagram__personal"],
"audienceTopAges": ["xyz789"],
"audienceTopGender": "xyz789",
"avgCommissionRate": FilterIntegerRange,
"avgEcLivePlayCount": FilterIntegerRange,
"avgEcVideoPlayCount": FilterIntegerRange,
"brandsNames": ["abc123"],
"contentTypes": ["IMAGE"],
"creatorAge": ["age13_17"],
"creatorEmail": [true],
"creatorGender": ["Male"],
"creatorSimilarSearch": ["abc123"],
"crmInstagramWhitelistingEligibility": "ALL",
"crmInstagramWhitelistingStatus": ["Approved"],
"crmTiktokWhitelistingEligibility": "ALL",
"crmTiktokWhitelistingStatus": ["Approved"],
"engagement": [FilterEngagementRange],
"followersCount": FilterIntegerRange,
"gmvAmount": FilterIntegerRange,
"ids": ["4"],
"importType": "manual",
"itemTypes": ["POST"],
"mediaItemsUsageRightsStatus": ["requested"],
"platform": "instagram",
"postingActivity": "posted",
"sentiment": ["negative"],
"shopifyProductsIds": [4],
"sourcesIds": [4],
"superSearch": FilterSuperSearch,
"tagsIds": ["4"],
"tagsNames": ["xyz789"],
"takenAt": FilterDateRange,
"tiktokAffiliate": false,
"unitsSold": FilterIntegerRange,
"verified": [true]
}
AudienceReportResponse
Fields
| Field Name | Description |
|---|---|
accountName - String!
|
Name of creator account on Instagram or TikTok. |
audienceReport - JSON!
|
Audience report. |
id - Int!
|
Creator's unique identifier in Archive's system. |
provider - IntegrationProviderEnum!
|
Platform where creator exists. INSTAGRAM or TIKTOK. |
Example
{
"accountName": "abc123",
"audienceReport": {},
"id": 987,
"provider": "INSTAGRAM"
}
Boolean
Description
Represents true or false values.
Creator
Fields
| Field Name | Description |
|---|---|
accountName - String!
|
Name of creator account on Instagram or TikTok. |
authorized - Boolean!
|
Whether the creator has been authorized. |
avatarUrl - String
|
URL of the creator's profile picture. |
biography - String
|
Creator's bio (if available). |
followersCount - Int
|
Number of creator's followers. |
followingCount - Int
|
Number of accounts creator is following. |
id - Int!
|
Unique identifier in Archive's system. |
labels - [String!]
|
Labels assigned to creator. |
provider - IntegrationProviderEnum!
|
Platform where creator exists. INSTAGRAM or TIKTOK. |
verified - Boolean
|
Whether the creator is verified by the platform. |
Example
{
"accountName": "abc123",
"authorized": true,
"avatarUrl": "abc123",
"biography": "abc123",
"followersCount": 123,
"followingCount": 987,
"id": 123,
"labels": ["abc123"],
"provider": "INSTAGRAM",
"verified": true
}
EngagementFieldEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"like_count"
Filter
Fields
| Input Field | Description |
|---|---|
itemProviders - [IntegrationProviderEnum!]
|
Types of the items |
itemTypes - [TypesEnum!]
|
Types of the items |
itemTakenAt - FilterDateRangeInput
|
Taken At Date Range |
creatorAccountName - [String!]
|
Creator Account Names. Default = [] |
creatorVerified - [Boolean!]
|
Only verified influencers |
creatorLabels - [String!]
|
Creator labels. Default = [] |
usageRightsStatus - [StatusesEnum!]
|
Usage Rights request status |
Example
{
"itemProviders": ["INSTAGRAM"],
"itemTypes": ["POST"],
"itemTakenAt": FilterDateRangeInput,
"creatorAccountName": ["abc123"],
"creatorVerified": [true],
"creatorLabels": ["xyz789"],
"usageRightsStatus": ["REQUESTED"]
}
FilterContentTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"IMAGE"
FilterContractStatusEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Approved"
FilterCreatorAgeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"age13_17"
FilterCreatorGenderEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"Male"
FilterDateRange
Fields
| Field Name | Description |
|---|---|
from - ISO8601DateTime
|
|
to - ISO8601DateTime
|
Example
{
"from": ISO8601DateTime,
"to": ISO8601DateTime
}
FilterDateRangeInput
Fields
| Input Field | Description |
|---|---|
from - ISO8601DateTime
|
|
to - ISO8601DateTime
|
Example
{
"from": ISO8601DateTime,
"to": ISO8601DateTime
}
FilterEngagementRange
Fields
| Field Name | Description |
|---|---|
field - EngagementFieldEnum
|
|
range - FilterIntegerRange
|
Example
{"field": "like_count", "range": FilterIntegerRange}
FilterIntegerRange
FilterMediaItemTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"POST"
FilterPostingActivityEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"posted"
FilterSuperSearch
Fields
| Field Name | Description |
|---|---|
fileName - String
|
Name the image to use for search |
imageUrl - String
|
URL of the image to use for search |
mode - SuperSearchModeEnum
|
SuperSearch mode |
searchQuery - String
|
SuperSearch text query |
similarMediaContentId - ID
|
ID of similar media content item for SuperSearch |
Example
{
"fileName": "abc123",
"imageUrl": "xyz789",
"mode": "embedding__content",
"searchQuery": "abc123",
"similarMediaContentId": 4
}
Hashtag
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
provider - IntegrationProviderEnum!
|
Example
{
"id": 4,
"name": "xyz789",
"provider": "INSTAGRAM"
}
ID
Description
Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
ISO8601DateTime
Description
An ISO 8601-encoded datetime
Example
ISO8601DateTime
ImportTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"manual"
Int
Description
Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
IntegrationProviderEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"INSTAGRAM"
JSON
Description
Represents untyped JSON
Example
{}
MediaContent
Fields
| Field Name | Description |
|---|---|
contentUrl - String
|
URL of image or video file. |
displayUrl - String
|
URL of video thumbnail. Will be the same as content_url for images. |
height - Int
|
Height of media file in px. |
id - Int!
|
Unique identifier in Archive's system. |
type - String!
|
Type of media file. IMAGE or VIDEO. |
width - Int
|
Width of media file in px. |
Example
{
"contentUrl": "abc123",
"displayUrl": "abc123",
"height": 987,
"id": 123,
"type": "abc123",
"width": 987
}
MediaItem
Fields
| Field Name | Description |
|---|---|
caption - String
|
Content caption. |
contents - [MediaContent!]!
|
Files which represent the content of an item. For carousels, there will be multiple. |
creator - Creator!
|
Information about the content creator. |
engagement - [MediaItemsEngagement!]
|
We can track posts for X days and gather post engagement dynamics. |
engagementHistory - [MediaItemsEngagement!]
|
We can track posts for X days and gather post engagement dynamics. |
externalId - String!
|
The ID of an item on Instagram or TikTok. |
hashtags - [String!]
|
Hashtags that are used in the content. |
id - ID!
|
Unique identifier in Archive's system. |
location - MediaItemLocation
|
Content location description. |
mentions - [String!]
|
Mentions that are used in the content. |
provider - IntegrationProviderEnum!
|
Platform where content exists. INSTAGRAM or TIKTOK. |
takenAt - ISO8601DateTime!
|
Timestamp of when content was uploaded to social media (UTC). |
type - TypesEnum!
|
Type of archived content. POST, REEL, STORY or TIKTOK. |
usageRightsStatus - StatusesEnum
|
Status of usage rights request for content. REQUESTED, APPROVED or REJECTED. |
virality - MediaItemsEngagementVirality
|
Tracks the post virality metrics by measuring engagement over time. |
Example
{
"caption": "abc123",
"contents": [MediaContent],
"creator": Creator,
"engagement": [MediaItemsEngagement],
"engagementHistory": [MediaItemsEngagement],
"externalId": "xyz789",
"hashtags": ["xyz789"],
"id": 4,
"location": MediaItemLocation,
"mentions": ["abc123"],
"provider": "INSTAGRAM",
"takenAt": ISO8601DateTime,
"type": "POST",
"usageRightsStatus": "REQUESTED",
"virality": MediaItemsEngagementVirality
}
MediaItemConnection
Description
The connection type for MediaItem.
Fields
| Field Name | Description |
|---|---|
additionalFilters - AllFilters
|
|
edges - [MediaItemEdge!]!
|
A list of edges. |
filtersQuery - JSON
|
|
nodes - [MediaItem!]!
|
A list of nodes. |
pageInfo - PageInfo!
|
Information to aid in pagination. |
totalCount - Int!
|
Example
{
"additionalFilters": AllFilters,
"edges": [MediaItemEdge],
"filtersQuery": {},
"nodes": [MediaItem],
"pageInfo": PageInfo,
"totalCount": 123
}
MediaItemEdge
MediaItemLocation
MediaItemsEngagement
Fields
| Field Name | Description |
|---|---|
at - ISO8601DateTime!
|
Timestamp of when engagement metrics were captured. |
commentCount - Int
|
Number of comments. |
emv - Int
|
Earned Media Value of content in USD. |
engagement - Int
|
Sum of likes, comments, and shares. |
followers - Int
|
Number of followers at the moment when engagements were fetched. |
impressions - Int
|
Number of impressions (if available). |
likeCount - Int
|
Number of likes. |
playCount - Int
|
Number of plays (if available). |
viewCount - Int
|
Number of views (if available). |
Example
{
"at": ISO8601DateTime,
"commentCount": 123,
"emv": 123,
"engagement": 987,
"followers": 987,
"impressions": 987,
"likeCount": 987,
"playCount": 123,
"viewCount": 123
}
MediaItemsEngagementVirality
Fields
| Field Name | Description |
|---|---|
markedHighAt - ISO8601DateTime
|
Timestamp when the content was marked as having high virality. |
markedLowAt - ISO8601DateTime
|
Timestamp when the content was marked as having low virality. |
markedMediumAt - ISO8601DateTime
|
Timestamp when the content was marked as having medium virality. |
Example
{
"markedHighAt": ISO8601DateTime,
"markedLowAt": ISO8601DateTime,
"markedMediumAt": ISO8601DateTime
}
MediaItemsUsageRightsStatusEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"requested"
Mention
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
provider - IntegrationProviderEnum!
|
Example
{
"id": 4,
"name": "xyz789",
"provider": "INSTAGRAM"
}
PageInfo
Description
Information about pagination in a connection.
Fields
| Field Name | Description |
|---|---|
endCursor - String
|
When paginating forwards, the cursor to continue. |
hasNextPage - Boolean!
|
When paginating forwards, are there more items? |
hasPreviousPage - Boolean!
|
When paginating backwards, are there more items? |
startCursor - String
|
When paginating backwards, the cursor to continue. |
Example
{
"endCursor": "abc123",
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "abc123"
}
PlatformEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"instagram"
SentimentValueEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"negative"
StatusesEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"REQUESTED"
String
Description
Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
SuperSearchModeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"embedding__content"
TypesEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"POST"
WebhookSubscription
Fields
| Field Name | Description |
|---|---|
callbackUrl - String!
|
URL of where we will send webhook payload. |
event - WebhookSubscriptionsEventsEnum!
|
Event which triggers webhook. |
id - ID!
|
Unique identifier in Archive's system. |
version - WebhookSubscriptionsVersionsEnum!
|
Which version of payloads are used. |
Example
{
"callbackUrl": "abc123",
"event": "MEDIA_ITEM_CREATED",
"id": 4,
"version": "v0"
}
WebhookSubscriptionsEventsEnum
Values
| Enum Value | Description |
|---|---|
|
|
Triggers when media item comes to Archive. |
|
|
Triggers when we add a record into media item engagement history. |
|
|
Triggers when we complete the transcription processing for media item. |
Example
"MEDIA_ITEM_CREATED"
WebhookSubscriptionsVersionsEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"v0"
WhitelistingEligibilityEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ALL"
Workspace
Fields
| Field Name | Description |
|---|---|
hashtags - [Hashtag!]
|
Tracked hashtags. |
id - ID!
|
Unique identifier in Archive's system. |
mentions - [Mention!]
|
Tracked mentions. |
name - String!
|
Workspace name. |
Example
{
"hashtags": [Hashtag],
"id": 4,
"mentions": [Mention],
"name": "abc123"
}