Archive API
The Archive API gives you programmatic access to enriched community data collected and maintained by Archive.
A "community" in Archive is the set of social profiles that interact with your brand across platforms (for example Instagram, TikTok, and YouTube). For each profile and piece of content, Archive aggregates and enriches data such as:
- Social profile details (handles, names, followers)
- Posts, Reels, Stories, Shorts and other media content
- Engagement metrics (views, plays, likes, comments, shares, EMV)
- Custom attributes and CRM-style metadata
GraphQL
The Archive API is built on the GraphQL query language (graphql.org).
- All requests are sent as
POSTrequests to the GraphQL endpoint:https://app.archive.com/api/v2 - You control which data is returned by selecting fields on the
Querytype. - Pagination follows the standard Relay-style cursor pattern.
API Endpoints
POST: https://app.archive.com/api/v2
Headers
# Contact [email protected] to obtain credentials or manage tokens.
Authorization: Bearer <YOUR_TOKEN_HERE>
# Required for workspace-scoped queries.
WORKSPACE-ID: 7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63
Authentication
All requests to the Archive API must be authenticated.
Access token
Obtain an API access token from the Archive team or your account representative. Include the token as a bearer token in the Authorization header on every request:
Authorization: Bearer arch_live_9f8b3c7a12d94e0f9e2c4b1d0a3f5c87
Workspace-scoped requests
Most data in Archive is scoped to a specific workspace (for example a single brand or region).
For workspace-scoped queries (such as workspace, items, and transcriptions), you must also provide a WORKSPACE-ID header with the UUID of the workspace you want to query:
WORKSPACE-ID: 7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63
You can obtain workspace IDs from the Archive UI or from the workspaces query, which returns all workspaces the current token can access.
Note: Some queries (for example listing all accessible workspaces) do not require the WORKSPACE-ID header and only rely on the access token.
Queries
campaigns
Description
List and paginate campaigns for the current workspace, ordered newest first. Workflow-type rows are excluded to match the in-app CRM listing.
Response
Returns a CampaignConnection!
Example
Query
query campaigns(
$after: String,
$first: Int
) {
campaigns(
after: $after,
first: $first
) {
edges {
cursor
node {
createdAt
id
name
}
}
nodes {
createdAt
id
name
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{"after": null, "first": 20}
Response
{
"data": {
"campaigns": {
"edges": [CampaignEdge],
"nodes": [Campaign],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
collection
Description
Return a single Collection by ID for the current workspace, or null if no such Collection exists here.
Response
Returns a Collection
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the Collection to fetch. |
Example
Query
query collection($id: ID!) {
collection(id: $id) {
createdAt
id
itemCount
name
updatedAt
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"collection": {
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"itemCount": 123,
"name": "abc123",
"updatedAt": "2025-01-15T10:30:00Z"
}
}
}
collections
Description
List Collections (saved tag sets) for the current workspace, in the workspace's saved order.
Response
Returns [Collection!]!
Example
Query
query collections {
collections {
createdAt
id
itemCount
name
updatedAt
}
}
Response
{
"data": {
"collections": [
{
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"itemCount": 123,
"name": "xyz789",
"updatedAt": "2025-01-15T10:30:00Z"
}
]
}
}
competitorBrand
Description
Return a single Competitor Insights brand by ID for the current workspace, or null if no brand with that ID is tracked here. Pair with competitorBrandItems(brandId:, filter:, …) to paginate the brand's media items.
Response
Returns a CompetitorBrand
Arguments
| Name | Description |
|---|---|
id - ID!
|
Competitor Insights brand ID. |
Example
Query
query competitorBrand($id: ID!) {
competitorBrand(id: $id) {
id
name
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"competitorBrand": {
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "xyz789"
}
}
}
competitorBrandItems
Description
Paginate Competitor Insights posts for a brand within a required filter.takenAt window. Posts for a given month become queryable on day 9 of the following month.
Response
Returns a CompetitorBrandItemConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
Opaque cursor for fetching the next page of results. Cursors remain valid if sorting changes between pages. A malformed cursor is rejected with an Invalid cursor error; a stale cursor that carries no position for the requested sort returns an empty page. Default = null |
brandId - ID!
|
Competitor Insights brand UUID. If the brand is not tracked by the current workspace, the query returns an empty connection. |
filter - CompetitorBrandItemFilterInput!
|
Filter criteria. A takenAt time window is required; unbounded queries are not supported. |
first - Int
|
Number of posts to return (page size). Default = 20 |
sorting - [CompetitorBrandItemSortingInput!]
|
Sort configuration. Currently accepts a list of at most one entry; multiple entries are rejected. The list shape exists for forward compatibility — a future release may honor compound sort additively without a breaking schema change. Defaults to [{ sortKey: TAKEN_AT, sortOrder: DESC }] when omitted. NOTE: EARNED_MEDIA_VALUE rankings are computed per calendar month. For a takenAt window spanning multiple months, results are ordered within each month rather than as a single cross-month ranking. Tie-breaker is the post identifier in the same direction as the primary sort. Default = [{sortKey: TAKEN_AT, sortOrder: DESC}] |
Example
Query
query competitorBrandItems(
$after: String,
$brandId: ID!,
$filter: CompetitorBrandItemFilterInput!,
$first: Int,
$sorting: [CompetitorBrandItemSortingInput!]
) {
competitorBrandItems(
after: $after,
brandId: $brandId,
filter: $filter,
first: $first,
sorting: $sorting
) {
edges {
cursor
node {
archivePublicUrl
caption
currentEngagement {
comments
earnedMediaValue
impressions
likes
linearViralityScore
shares
views
}
externalId
hashtags
id
mentions
originalUrl
provider
socialProfile {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
takenAt
transcriptions {
mediaContentId
transcript
}
type
}
}
nodes {
archivePublicUrl
caption
currentEngagement {
comments
earnedMediaValue
impressions
likes
linearViralityScore
shares
views
}
externalId
hashtags
id
mentions
originalUrl
provider
socialProfile {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
...CreatorFragment
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
takenAt
transcriptions {
mediaContentId
transcript
}
type
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"after": null,
"brandId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"filter": CompetitorBrandItemFilterInput,
"first": 20,
"sorting": [{"sortKey": "TAKEN_AT", "sortOrder": "DESC"}]
}
Response
{
"data": {
"competitorBrandItems": {
"edges": [CompetitorBrandItemEdge],
"nodes": [CompetitorBrandItem],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
competitorBrands
Description
List Competitor Insights brands tracked by the current workspace, ordered newest first. Pair with competitorBrandItems(brandId:, filter:, …) to paginate a brand's media items.
Response
Returns a CompetitorBrandConnection!
Example
Query
query competitorBrands(
$after: String,
$first: Int
) {
competitorBrands(
after: $after,
first: $first
) {
edges {
cursor
node {
id
name
}
}
nodes {
id
name
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{"after": null, "first": 20}
Response
{
"data": {
"competitorBrands": {
"edges": [CompetitorBrandEdge],
"nodes": [CompetitorBrand],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
contentView
Description
Return a single saved content (media deck) view by ID for the current workspace, or null if no such view exists here. Pair with items(presetId:) to fetch the items belonging to a view.
Response
Returns a ContentView
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the content view to fetch. |
Example
Query
query contentView($id: ID!) {
contentView(id: $id) {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"contentView": {
"createdAt": "2025-01-15T10:30:00Z",
"customAttributeConditions": {},
"filters": {},
"group": ViewGroup,
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"showReportingStats": false,
"sort": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
}
}
contentViews
Description
List saved content (media deck) views for the current workspace, ordered by most-recently-updated first. Pair with items(presetId:) to fetch the items belonging to a view.
Response
Returns [ContentView!]!
Arguments
| Name | Description |
|---|---|
filter - ContentViewFilterInput
|
Optional filter criteria. When omitted or empty, returns every media_deck view for the current workspace. Default = {} |
Example
Query
query contentViews($filter: ContentViewFilterInput) {
contentViews(filter: $filter) {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
}
Variables
{"filter": {}}
Response
{
"data": {
"contentViews": [
{
"createdAt": "2025-01-15T10:30:00Z",
"customAttributeConditions": {},
"filters": {},
"group": ViewGroup,
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"showReportingStats": false,
"sort": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
]
}
}
creator
Description
Return details for the creator.
Response
Returns a Creator!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Unique identifier for the creator in Archive's system. |
Example
Query
query creator($id: ID!) {
creator(id: $id) {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"creator": {
"customAttributes": {},
"id": "98234",
"socialProfiles": [SocialProfile]
}
}
}
creatorView
Description
Return a single saved Creator View by ID for the current workspace, or null if no such view exists here. Pair with creators(presetId:) to fetch its creators.
Response
Returns a CreatorView
Arguments
| Name | Description |
|---|---|
id - ID!
|
UUID of the Creator View to fetch. |
Example
Query
query creatorView($id: ID!) {
creatorView(id: $id) {
campaignId
conditions
createdAt
displayAs
filters
groupBy
id
name
sortBy
updatedAt
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"creatorView": {
"campaignId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"conditions": {},
"createdAt": "2025-01-15T10:30:00Z",
"displayAs": "TABLE",
"filters": {},
"groupBy": "abc123",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"sortBy": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
}
}
creatorViews
Description
List saved Creator Views for a campaign in the current workspace, ordered by position ASC. Pair with creators(presetId:) to fetch the creators belonging to a view.
Response
Returns [CreatorView!]!
Arguments
| Name | Description |
|---|---|
campaignId - ID!
|
Campaign UUID. Returns the Creator Views attached to this campaign in the current workspace. Unknown or cross-shop IDs return []. |
Example
Query
query creatorViews($campaignId: ID!) {
creatorViews(campaignId: $campaignId) {
campaignId
conditions
createdAt
displayAs
filters
groupBy
id
name
sortBy
updatedAt
}
}
Variables
{
"campaignId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"creatorViews": [
{
"campaignId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"conditions": {},
"createdAt": "2025-01-15T10:30:00Z",
"displayAs": "TABLE",
"filters": {},
"groupBy": "xyz789",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"sortBy": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
]
}
}
creators
Description
List and paginate creators for the current workspace, ordered newest first.
Response
Returns a CreatorConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
Cursor for fetching the next page of results. Default = null |
customAttributeConditions - [CustomAttributeConditionInput!]
|
Creator custom attributes conditions. Default = [] |
filter - CreatorFilterInput
|
Filter criteria to narrow down results (e.g. by canonical location). Default = {} |
first - Int
|
Number of creators to return (page size). Default = 20 |
presetId - ID
|
Saved Creator View ID. When provided, inline filter and customAttributeConditions are ignored; the view's stored conditions and sortBy drive the result set. Accepts IDs returned by creatorViews(campaignId:) or creatorView(id:), or legacy FilterPreset(accessor: crm_creators) IDs. Non-Creator-View IDs raise a GraphQL error with extensions.code = "WRONG_VIEW_TYPE"; cross-shop or unknown IDs raise with extensions.code = "NOT_FOUND". Default = null |
Example
Query
query creators(
$after: String,
$customAttributeConditions: [CustomAttributeConditionInput!],
$filter: CreatorFilterInput,
$first: Int,
$presetId: ID
) {
creators(
after: $after,
customAttributeConditions: $customAttributeConditions,
filter: $filter,
first: $first,
presetId: $presetId
) {
edges {
cursor
node {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
}
nodes {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
...CreatorFragment
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"after": null,
"customAttributeConditions": [""],
"filter": {},
"first": 20,
"presetId": null
}
Response
{
"data": {
"creators": {
"edges": [CreatorEdge],
"nodes": [Creator],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
customAttributeSchemas
Description
Retrieve custom attribute schemas to interpret customAttributes values.
Response
Returns [CustomAttributeSchema!]!
Arguments
| Name | Description |
|---|---|
entity - CustomAttributeSchemaEntity!
|
Entity type to get schemas for (ITEM or CREATOR). |
Example
Query
query customAttributeSchemas($entity: CustomAttributeSchemaEntity!) {
customAttributeSchemas(entity: $entity) {
key
name
options {
id
name
}
type
}
}
Variables
{"entity": "CREATOR"}
Response
{
"data": {
"customAttributeSchemas": [
{
"key": "xyz789",
"name": "xyz789",
"options": [CustomAttributeOption],
"type": "BOOLEAN"
}
]
}
}
engagementHistory
Description
Paginated history of engagement metric snapshots for a specific item, ordered newest first.
Response
Returns an EngagementHistoryConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
Cursor for fetching the next page of results. Default = null |
filter - EngagementHistoryFilterInput
|
Filter criteria for engagement history entries. Default = null |
first - Int
|
Number of entries to return (page size). Default = 20 |
itemId - ID!
|
The ID of the item to fetch engagement history for. |
Example
Query
query engagementHistory(
$after: String,
$filter: EngagementHistoryFilterInput,
$first: Int,
$itemId: ID!
) {
engagementHistory(
after: $after,
filter: $filter,
first: $first,
itemId: $itemId
) {
edges {
cursor
node {
at
comments
earnedMediaValue
followers
impressions
likes
linearViralityScore
shares
views
}
}
nodes {
at
comments
earnedMediaValue
followers
impressions
likes
linearViralityScore
shares
views
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"after": null,
"filter": null,
"first": 20,
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"engagementHistory": {
"edges": [EngagementHistoryEntryEdge],
"nodes": [EngagementHistoryEntry],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
filterPresets
Description
List saved filter presets for items queries in the current workspace.
Response
Returns [FilterPreset!]!
Example
Query
query filterPresets {
filterPresets {
accessor
id
name
}
}
Response
{
"data": {
"filterPresets": [
{
"accessor": "COLLECTIONS",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "xyz789"
}
]
}
}
itemIdsByUrl
Description
Look up item IDs by social media URLs within the current workspace. Supports Instagram, TikTok, and YouTube.
Response
Returns [UrlLookupResult!]!
Arguments
| Name | Description |
|---|---|
urls - [String!]!
|
Social media URLs to look up (1-100). Supports Instagram, TikTok, and YouTube URLs. |
Example
Query
query itemIdsByUrl($urls: [String!]!) {
itemIdsByUrl(urls: $urls) {
itemId
status
url
}
}
Variables
{"urls": ["xyz789"]}
Response
{
"data": {
"itemIdsByUrl": [
{
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"status": "FOUND",
"url": "https://www.instagram.com/reel/CxYz1aBcDef/"
}
]
}
}
items
Description
Search and paginate archived items (social content) for the current workspace.
Response
Returns an ItemConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
Cursor for fetching the next page of results. |
customAttributeConditions - [CustomAttributeConditionInput!]
|
Custom attribute filter conditions. Default = [] |
filter - ItemFilterInput
|
Filter criteria to narrow down results. Default = {accountNames: [], campaignsIds: [], collectionsIds: [], ids: [], shopifyProductsIds: [], socialProfileAccountTypes: [], socialProfileIds: [], sourcesIds: [], tagsNames: [], viralityScore: []} |
first - Int
|
Number of items to return (page size). Default = 20 |
presetId - ID
|
Filter preset ID. When provided, sorting, filter, and customAttributeConditions are ignored. Must reference a preset with accessor media_deck or collections — pass IDs returned by contentViews / collections queries. Unknown, cross-workspace, or wrong-accessor preset IDs raise a GraphQL error with extensions.code = "WRONG_VIEW_TYPE_FOR_ITEMS". |
sorting - [ItemSortingInput!]
|
Sorting instructions to apply to the result set. Default = [{sortKey: TAKEN_AT, sortOrder: DESC}] |
Example
Query
query items(
$after: String,
$customAttributeConditions: [CustomAttributeConditionInput!],
$filter: ItemFilterInput,
$first: Int,
$presetId: ID,
$sorting: [ItemSortingInput!]
) {
items(
after: $after,
customAttributeConditions: $customAttributeConditions,
filter: $filter,
first: $first,
presetId: $presetId,
sorting: $sorting
) {
edges {
cursor
node {
archivePublicUrl
caption
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
...CreatorFragment
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
currentEngagement {
comments
earnedMediaValue
impressions
likes
linearViralityScore
shares
views
}
customAttributes
externalId
hashtags
id
location {
city
country
formatted
name
state
}
mediaItemId
mentions
originalUrl
provider
socialProfile {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
takenAt
transcriptions {
mediaContentId
transcript
}
type
}
}
nodes {
archivePublicUrl
caption
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
currentEngagement {
comments
earnedMediaValue
impressions
likes
linearViralityScore
shares
views
}
customAttributes
externalId
hashtags
id
location {
city
country
formatted
name
state
}
mediaItemId
mentions
originalUrl
provider
socialProfile {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
...CreatorFragment
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
takenAt
transcriptions {
mediaContentId
transcript
}
type
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{
"after": "eyJpZCI6IjEyMzQ1Njc4OTAxMjM0NTY3OCJ9",
"customAttributeConditions": [""],
"filter": {
"accountNames": [""],
"campaignsIds": [""],
"collectionsIds": [""],
"ids": [""],
"shopifyProductsIds": [""],
"socialProfileAccountTypes": [""],
"socialProfileIds": [""],
"sourcesIds": [""],
"tagsNames": [""],
"viralityScore": [""]
},
"first": 20,
"presetId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"sorting": {"sortKey": "TAKEN_AT", "direction": "DESC"}
}
Response
{
"data": {
"items": {
"edges": [ItemEdge],
"nodes": [Item],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
mediaContents
Description
Retrieve media contents (images / videos) for shop items (itemIds) or for CompetitorBrandItem rows (competitorBrandItemIds). Pass exactly one. See the resolver description for routing details.
Response
Returns [MediaContent!]!
Arguments
| Name | Description |
|---|---|
competitorBrandItemIds - [ID!]
|
CompetitorBrandItem UUIDs to fetch contents for. Obtain them from the competitorBrandItems(brandId:, filter:) query. Mutually exclusive with itemIds.
|
itemIds - [ID!]
|
Item (shop-item) UUIDs to fetch contents for. Mutually exclusive with competitorBrandItemIds. |
Example
Query
query mediaContents(
$competitorBrandItemIds: [ID!],
$itemIds: [ID!]
) {
mediaContents(
competitorBrandItemIds: $competitorBrandItemIds,
itemIds: $itemIds
) {
... on Image {
deleted
fileUrl
height
id
mediaItemId
thumbnailUrl
type
width
}
... on Video {
deleted
fileUrl
height
id
mediaItemId
thumbnailUrl
type
videoDuration
width
}
}
}
Variables
{
"competitorBrandItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"itemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
]
}
Response
{"data": {"mediaContents": [Image]}}
operation
Description
Return details for an operation by ID, including status and progress.
Response
Returns an Operation
Arguments
| Name | Description |
|---|---|
id - ID!
|
Unique identifier for the operation. |
Example
Query
query operation($id: ID!) {
operation(id: $id) {
completedAt
createdAt
failedItemIds
id
operationType
pendingItemIds
processed
status
succeededItemIds
total
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"operation": {
"completedAt": "2025-01-15T10:30:00Z",
"createdAt": "2025-01-15T10:30:00Z",
"failedItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"operationType": "abc123",
"pendingItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"processed": 123,
"status": "COMPLETED",
"succeededItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"total": 987
}
}
}
operations
Description
List operations for the current workspace, ordered newest first.
Response
Returns an OperationConnection!
Example
Query
query operations(
$after: String,
$first: Int
) {
operations(
after: $after,
first: $first
) {
edges {
cursor
node {
createdAt
id
operationType
status
total
}
}
nodes {
createdAt
id
operationType
status
total
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{"after": null, "first": 20}
Response
{
"data": {
"operations": {
"edges": [OperationSummaryEdge],
"nodes": [OperationSummary],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
transcriptions
Description
Fetch transcriptions for one or more media contents belonging to the current workspace.
Response
Returns [Transcription!]!
Example
Query
query transcriptions(
$itemIds: [ID!],
$mediaContentIds: [ID!]
) {
transcriptions(
itemIds: $itemIds,
mediaContentIds: $mediaContentIds
) {
mediaContentId
transcript
}
}
Variables
{
"itemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"mediaContentIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
]
}
Response
{
"data": {
"transcriptions": [
{
"mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"transcript": "abc123"
}
]
}
}
viewGroup
Description
Return a single user-created view group by ID for the current workspace, or null if no such group exists here.
Example
Query
query viewGroup($id: ID!) {
viewGroup(id: $id) {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"viewGroup": {
"contentViews": [ContentView],
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"socialProfileViews": [SocialProfileView],
"updatedAt": "2025-01-15T10:30:00Z"
}
}
}
viewGroups
Description
List user-created view groups for the current workspace, ordered oldest-first.
Response
Returns [ViewGroup!]!
Example
Query
query viewGroups {
viewGroups {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
}
Response
{
"data": {
"viewGroups": [
{
"contentViews": [ContentView],
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"socialProfileViews": [SocialProfileView],
"updatedAt": "2025-01-15T10:30:00Z"
}
]
}
}
workspace
Description
Return details for the current workspace, inferred from the WORKSPACE-ID header.
Response
Returns a Workspace!
Example
Query
query workspace {
workspace {
hashtags {
id
name
provider
type
}
id
integrations {
connectedAt
handle
id
provider
status
}
keywords {
id
name
provider
}
mentions {
id
name
provider
type
}
name
}
}
Response
{
"data": {
"workspace": {
"hashtags": [Tag],
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"integrations": [Integration],
"keywords": [Keyword],
"mentions": [Tag],
"name": "Acme Beauty – US"
}
}
}
workspaces
Description
List all workspaces that the current API user has access to.
Response
Returns a WorkspaceConnection!
Example
Query
query workspaces(
$after: String,
$first: Int
) {
workspaces(
after: $after,
first: $first
) {
edges {
cursor
node {
hashtags {
id
name
provider
type
}
id
integrations {
connectedAt
handle
id
provider
status
}
keywords {
id
name
provider
}
mentions {
id
name
provider
type
}
name
}
}
nodes {
hashtags {
id
name
provider
type
}
id
integrations {
connectedAt
handle
id
provider
status
}
keywords {
id
name
provider
}
mentions {
id
name
provider
type
}
name
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{"after": null, "first": 20}
Response
{
"data": {
"workspaces": {
"edges": [WorkspaceEdge],
"nodes": [Workspace],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
Mutations
addItemToCollections
Description
Add an item to one or more collections.
Response
Returns an AddToCollectionsPayload
Arguments
| Name | Description |
|---|---|
autoCreate - Boolean
|
Automatically create collections by name if they do not exist. Default = false |
collectionIds - [ID!]
|
IDs of existing collections. Accepts either a FilterPreset UUID (canonical, returned by createCollection / collections) or a CustomAttributeOption UUID (legacy, deprecated — partners should migrate to the FilterPreset UUID form). Unresolved IDs reject the whole call with a userErrors entry. Default = [] |
collectionNames - [String!]
|
Names of collections to add the item to. Default = [] |
itemId - ID!
|
ID of the item to add to collections. |
Example
Query
mutation addItemToCollections(
$autoCreate: Boolean,
$collectionIds: [ID!],
$collectionNames: [String!],
$itemId: ID!
) {
addItemToCollections(
autoCreate: $autoCreate,
collectionIds: $collectionIds,
collectionNames: $collectionNames,
itemId: $itemId
) {
item {
archivePublicUrl
caption
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
currentEngagement {
comments
earnedMediaValue
impressions
likes
linearViralityScore
shares
views
}
customAttributes
externalId
hashtags
id
location {
city
country
formatted
name
state
}
mediaItemId
mentions
originalUrl
provider
socialProfile {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
...CreatorFragment
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
takenAt
transcriptions {
mediaContentId
transcript
}
type
}
userErrors {
field
message
}
}
}
Variables
{
"autoCreate": false,
"collectionIds": [""],
"collectionNames": [""],
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"addItemToCollections": {
"item": Item,
"userErrors": [UserError]
}
}
}
createCollection
Description
Create a Collection (saved tag set) in the current workspace.
Response
Returns a CreateCollectionPayload
Arguments
| Name | Description |
|---|---|
input - CreateCollectionInput!
|
Mutation input. |
Example
Query
mutation createCollection($input: CreateCollectionInput!) {
createCollection(input: $input) {
collection {
createdAt
id
itemCount
name
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{"input": CreateCollectionInput}
Response
{
"data": {
"createCollection": {
"collection": Collection,
"userErrors": [UserError]
}
}
}
createContentView
Description
Create a saved content (media deck) view for the current workspace.
Response
Returns a CreateContentViewPayload
Arguments
| Name | Description |
|---|---|
input - CreateContentViewInput!
|
Mutation input. |
Example
Query
mutation createContentView($input: CreateContentViewInput!) {
createContentView(input: $input) {
contentView {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{"input": CreateContentViewInput}
Response
{
"data": {
"createContentView": {
"contentView": ContentView,
"userErrors": [UserError]
}
}
}
createCreatorView
Description
Create a saved Creator View for the current workspace, scoped to a campaign.
Response
Returns a CreateCreatorViewPayload
Arguments
| Name | Description |
|---|---|
input - CreateCreatorViewInput!
|
Mutation input. |
Example
Query
mutation createCreatorView($input: CreateCreatorViewInput!) {
createCreatorView(input: $input) {
creatorView {
campaignId
conditions
createdAt
displayAs
filters
groupBy
id
name
sortBy
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{"input": CreateCreatorViewInput}
Response
{
"data": {
"createCreatorView": {
"creatorView": CreatorView,
"userErrors": [UserError]
}
}
}
createSocialProfileView
Description
Create a saved Social Profile view for the current workspace.
Response
Returns a CreateSocialProfileViewPayload
Arguments
| Name | Description |
|---|---|
input - CreateSocialProfileViewInput!
|
Mutation input. |
Example
Query
mutation createSocialProfileView($input: CreateSocialProfileViewInput!) {
createSocialProfileView(input: $input) {
socialProfileView {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{"input": CreateSocialProfileViewInput}
Response
{
"data": {
"createSocialProfileView": {
"socialProfileView": SocialProfileView,
"userErrors": [UserError]
}
}
}
createViewGroup
Description
Create a user-created view group for the current workspace.
Response
Returns a CreateViewGroupPayload
Arguments
| Name | Description |
|---|---|
input - CreateViewGroupInput!
|
Mutation input. |
Example
Query
mutation createViewGroup($input: CreateViewGroupInput!) {
createViewGroup(input: $input) {
userErrors {
field
message
}
viewGroup {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
}
}
Variables
{"input": CreateViewGroupInput}
Response
{
"data": {
"createViewGroup": {
"userErrors": [UserError],
"viewGroup": ViewGroup
}
}
}
deleteCollection
Description
Delete a Collection (strips the tag from items; does not delete items).
Response
Returns a DeleteCollectionPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the Collection to delete. |
Example
Query
mutation deleteCollection($id: ID!) {
deleteCollection(id: $id) {
deletedCollectionId
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"deleteCollection": {
"deletedCollectionId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
}
}
deleteContentView
Description
Hard-delete a saved content (media deck) view.
Response
Returns a DeleteContentViewPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the content view to delete. |
Example
Query
mutation deleteContentView($id: ID!) {
deleteContentView(id: $id) {
deletedContentViewId
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"deleteContentView": {
"deletedContentViewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
}
}
deleteCreatorView
Description
Hard-delete a saved Creator View.
Response
Returns a DeleteCreatorViewPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
ID of the Creator View to delete. |
Example
Query
mutation deleteCreatorView($id: ID!) {
deleteCreatorView(id: $id) {
deletedCreatorViewId
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"deleteCreatorView": {
"deletedCreatorViewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
}
}
deleteSocialProfileView
Description
Hard-delete a saved Social Profile view.
Response
Returns a DeleteSocialProfileViewPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the social profile view to delete. |
Example
Query
mutation deleteSocialProfileView($id: ID!) {
deleteSocialProfileView(id: $id) {
deletedSocialProfileViewId
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"deleteSocialProfileView": {
"deletedSocialProfileViewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
}
}
deleteViewGroup
Description
Hard-delete a user-created view group. Returns the FilterPreset UUIDs whose group membership was removed so clients can invalidate cached views.
Response
Returns a DeleteViewGroupPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
UUID of the view group to delete. |
Example
Query
mutation deleteViewGroup($id: ID!) {
deleteViewGroup(id: $id) {
deletedViewGroupId
movedViewIds
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"deleteViewGroup": {
"deletedViewGroupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"movedViewIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"userErrors": [UserError]
}
}
}
moveContentViewToGroup
Description
Move a saved content (media deck) view into a view group, or out (when groupId is null).
Response
Returns a MoveContentViewToGroupPayload
Example
Query
mutation moveContentViewToGroup(
$groupId: ID,
$viewId: ID!
) {
moveContentViewToGroup(
groupId: $groupId,
viewId: $viewId
) {
contentView {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{
"groupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"viewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"moveContentViewToGroup": {
"contentView": ContentView,
"userErrors": [UserError]
}
}
}
moveSocialProfileViewToGroup
Description
Move a saved Social Profile view into a view group, or out (when groupId is null).
Response
Returns a MoveSocialProfileViewToGroupPayload
Example
Query
mutation moveSocialProfileViewToGroup(
$groupId: ID,
$viewId: ID!
) {
moveSocialProfileViewToGroup(
groupId: $groupId,
viewId: $viewId
) {
socialProfileView {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{
"groupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"viewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"moveSocialProfileViewToGroup": {
"socialProfileView": SocialProfileView,
"userErrors": [UserError]
}
}
}
refetchEngagementBulk
Description
Queue a bulk engagement data refresh for the specified items.
Response
Returns a RefetchBulkPayload
Arguments
| Name | Description |
|---|---|
itemIds - [ID!]!
|
IDs of items to refresh engagement data for. Items belonging to other workspaces are silently ignored. Instagram stories are automatically excluded. |
Example
Query
mutation refetchEngagementBulk($itemIds: [ID!]!) {
refetchEngagementBulk(itemIds: $itemIds) {
operationId
processedCount
skippedItemIds
userErrors {
field
message
}
}
}
Variables
{
"itemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
]
}
Response
{
"data": {
"refetchEngagementBulk": {
"operationId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"processedCount": 123,
"skippedItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"userErrors": [UserError]
}
}
}
removeItemFromCollections
Description
Remove an item from one or more collections.
Response
Returns a RemoveFromCollectionsPayload
Arguments
| Name | Description |
|---|---|
collectionIds - [ID!]
|
IDs of collections to remove the item from. Accepts either a FilterPreset UUID (canonical, returned by createCollection / collections) or a CustomAttributeOption UUID (legacy, deprecated — partners should migrate to the FilterPreset UUID form). Unresolved IDs reject the whole call with a userErrors entry. Default = [] |
collectionNames - [String!]
|
Names of collections to remove the item from. Default = [] |
itemId - ID!
|
ID of the item to remove from collections. |
Example
Query
mutation removeItemFromCollections(
$collectionIds: [ID!],
$collectionNames: [String!],
$itemId: ID!
) {
removeItemFromCollections(
collectionIds: $collectionIds,
collectionNames: $collectionNames,
itemId: $itemId
) {
item {
archivePublicUrl
caption
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
...SocialProfileFragment
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
currentEngagement {
comments
earnedMediaValue
impressions
likes
linearViralityScore
shares
views
}
customAttributes
externalId
hashtags
id
location {
city
country
formatted
name
state
}
mediaItemId
mentions
originalUrl
provider
socialProfile {
accountName
avatar
creator {
customAttributes
id
socialProfiles {
accountName
avatar
creator {
...CreatorFragment
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
}
email
followers
following
fullName
id
originalUrl
phoneNumbers
private
proAccount
provider
verified
}
takenAt
transcriptions {
mediaContentId
transcript
}
type
}
userErrors {
field
message
}
}
}
Variables
{
"collectionIds": [""],
"collectionNames": [""],
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{
"data": {
"removeItemFromCollections": {
"item": Item,
"userErrors": [UserError]
}
}
}
reorderViewsInGroup
Description
Reorder the submitted Content View and Social Profile View ids within the named group. Members omitted from viewIds keep their existing position.
Response
Returns a ReorderViewsInGroupPayload
Example
Query
mutation reorderViewsInGroup(
$groupId: ID!,
$viewIds: [ID!]!
) {
reorderViewsInGroup(
groupId: $groupId,
viewIds: $viewIds
) {
userErrors {
field
message
}
viewGroup {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
}
}
Variables
{
"groupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"viewIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
]
}
Response
{
"data": {
"reorderViewsInGroup": {
"userErrors": [UserError],
"viewGroup": ViewGroup
}
}
}
updateCollection
Description
Rename a Collection in the current workspace.
Response
Returns an UpdateCollectionPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
UUID of the Collection to update (as returned by createCollection / collections). |
input - UpdateCollectionInput!
|
Mutation input. |
Example
Query
mutation updateCollection(
$id: ID!,
$input: UpdateCollectionInput!
) {
updateCollection(
id: $id,
input: $input
) {
collection {
createdAt
id
itemCount
name
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"input": UpdateCollectionInput
}
Response
{
"data": {
"updateCollection": {
"collection": Collection,
"userErrors": [UserError]
}
}
}
updateContentView
Description
Partial-update a saved content (media deck) view.
Response
Returns an UpdateContentViewPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the content view to update. |
input - UpdateContentViewInput!
|
Partial-update input. Only provided fields are updated. |
Example
Query
mutation updateContentView(
$id: ID!,
$input: UpdateContentViewInput!
) {
updateContentView(
id: $id,
input: $input
) {
contentView {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"input": UpdateContentViewInput
}
Response
{
"data": {
"updateContentView": {
"contentView": ContentView,
"userErrors": [UserError]
}
}
}
updateCreatorView
Description
Partial-update a saved Creator View.
Response
Returns an UpdateCreatorViewPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
ID of the Creator View to update. |
input - UpdateCreatorViewInput!
|
Partial-update input. Only provided fields are updated. |
Example
Query
mutation updateCreatorView(
$id: ID!,
$input: UpdateCreatorViewInput!
) {
updateCreatorView(
id: $id,
input: $input
) {
creatorView {
campaignId
conditions
createdAt
displayAs
filters
groupBy
id
name
sortBy
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"input": UpdateCreatorViewInput
}
Response
{
"data": {
"updateCreatorView": {
"creatorView": CreatorView,
"userErrors": [UserError]
}
}
}
updateSocialProfileView
Description
Partial-update a saved Social Profile view.
Response
Returns an UpdateSocialProfileViewPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
FilterPreset UUID of the social profile view to update. |
input - UpdateSocialProfileViewInput!
|
Partial-update input. Only provided fields are updated. |
Example
Query
mutation updateSocialProfileView(
$id: ID!,
$input: UpdateSocialProfileViewInput!
) {
updateSocialProfileView(
id: $id,
input: $input
) {
socialProfileView {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
...ContentViewFragment
}
createdAt
id
name
socialProfileViews {
...SocialProfileViewFragment
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
userErrors {
field
message
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"input": UpdateSocialProfileViewInput
}
Response
{
"data": {
"updateSocialProfileView": {
"socialProfileView": SocialProfileView,
"userErrors": [UserError]
}
}
}
updateViewGroup
Description
Rename a user-created view group.
Response
Returns an UpdateViewGroupPayload
Arguments
| Name | Description |
|---|---|
id - ID!
|
UUID of the view group to rename. |
input - UpdateViewGroupInput!
|
Update input. name is the only mutable field today. |
Example
Query
mutation updateViewGroup(
$id: ID!,
$input: UpdateViewGroupInput!
) {
updateViewGroup(
id: $id,
input: $input
) {
userErrors {
field
message
}
viewGroup {
contentViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
contentViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
createdAt
id
name
socialProfileViews {
createdAt
customAttributeConditions
filters
group {
...ViewGroupFragment
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
id
name
showReportingStats
sort
updatedAt
}
updatedAt
}
}
}
Variables
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"input": UpdateViewGroupInput
}
Response
{
"data": {
"updateViewGroup": {
"userErrors": [UserError],
"viewGroup": ViewGroup
}
}
}
uploadItemFromUrl
Description
Enqueue a single UGC URL for import into the current workspace.
Response
Returns an UploadItemFromUrlPayload
Arguments
| Name | Description |
|---|---|
input - UploadItemFromUrlInput!
|
Mutation input. |
Example
Query
mutation uploadItemFromUrl($input: UploadItemFromUrlInput!) {
uploadItemFromUrl(input: $input) {
success
userErrors {
field
message
}
}
}
Variables
{"input": UploadItemFromUrlInput}
Response
{
"data": {
"uploadItemFromUrl": {
"success": true,
"userErrors": [UserError]
}
}
}
Types
AddToCollectionsPayload
Description
Autogenerated return type of AddToCollections.
Fields
| Field Name | Description |
|---|---|
item - Item
|
The updated item. |
userErrors - [UserError!]!
|
List of errors that occurred. |
Example
{
"item": Item,
"userErrors": [UserError]
}
BigInt
Description
Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string.
Example
9823456712
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
Campaign
Description
A campaign in Archive that groups creators and their content.
Example
{
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123"
}
CampaignConnection
Description
Paginated list of campaigns.
Fields
| Field Name | Description |
|---|---|
edges - [CampaignEdge!]!
|
List of edges with cursors. |
nodes - [Campaign!]!
|
List of campaigns. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [CampaignEdge],
"nodes": [Campaign],
"pageInfo": PageInfo,
"totalCount": 123
}
CampaignEdge
Collection
Description
A Collection (saved tag set) for the current workspace.
Fields
| Field Name | Description |
|---|---|
createdAt - DateTimeWithZone!
|
When the Collection was created. |
id - ID!
|
Unique identifier of the Collection (FilterPreset UUID). |
itemCount - Int!
|
Number of items in this workspace tagged with the Collection. |
name - String!
|
Display name of the Collection. |
updatedAt - DateTimeWithZone!
|
When the Collection was last updated. |
Example
{
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"itemCount": 123,
"name": "xyz789",
"updatedAt": "2025-01-15T10:30:00Z"
}
CompetitorBrand
CompetitorBrandConnection
Description
Paginated list of competitor brands.
Fields
| Field Name | Description |
|---|---|
edges - [CompetitorBrandEdge!]!
|
List of edges with cursors. |
nodes - [CompetitorBrand!]!
|
List of competitor brands. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [CompetitorBrandEdge],
"nodes": [CompetitorBrand],
"pageInfo": PageInfo,
"totalCount": 987
}
CompetitorBrandEdge
Description
An edge in the competitor brand connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - CompetitorBrand!
|
The competitor brand. |
Example
{
"cursor": "xyz789",
"node": CompetitorBrand
}
CompetitorBrandItem
Description
A single post belonging to a Competitor Insights brand. Posts for a given month become available on day 9 of the following month.
Fields
| Field Name | Description |
|---|---|
archivePublicUrl - String
|
Stable Archive permalink for this post. Unlike originalUrl, this URL keeps resolving after the source post is deleted on the originating platform. Mirrors Item.archivePublicUrl for parity. |
caption - String
|
Caption text of the post, when available. Mirrors Item.caption for parity. |
currentEngagement - Engagement
|
Most recent engagement metrics (likes, comments, views, shares, EMV) and virality score for this post. |
externalId - ID!
|
Platform-side identifier (Instagram media id, TikTok video id, etc.). |
hashtags - [String!]
|
List of hashtags used in the post. Mirrors Item.hashtags for parity. |
id - ID!
|
Unique identifier of the underlying media item in Archive's system. |
mentions - [String!]
|
List of @-mentions used in the post. Mirrors Item.mentions for parity. |
originalUrl - String
|
Direct URL to the post on the source platform. Null for content types without a public URL (e.g. Instagram Stories). |
provider - Provider!
|
Platform the post was published on. |
socialProfile - SocialProfile!
|
Social media profile that posted this content. |
takenAt - DateTime!
|
When the post was published on the source platform. |
transcriptions - [Transcription!]!
|
Text transcriptions and subtitles generated for video content in this post. Mirrors Item.transcriptions for parity. |
type - ItemType!
|
Type of post (post / reel / story / short). Mirrors Item.type for parity. |
Example
{
"archivePublicUrl": "abc123",
"caption": "xyz789",
"currentEngagement": Engagement,
"externalId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"hashtags": ["abc123"],
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"mentions": ["abc123"],
"originalUrl": "abc123",
"provider": "INSTAGRAM",
"socialProfile": SocialProfile,
"takenAt": "2025-01-15T10:30:00Z",
"transcriptions": [Transcription],
"type": "POST"
}
CompetitorBrandItemConnection
Description
Paginated list of competitor brand items.
Fields
| Field Name | Description |
|---|---|
edges - [CompetitorBrandItemEdge!]!
|
List of edges with cursors. |
nodes - [CompetitorBrandItem!]!
|
List of competitor brand items. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [CompetitorBrandItemEdge],
"nodes": [CompetitorBrandItem],
"pageInfo": PageInfo,
"totalCount": 123
}
CompetitorBrandItemEdge
Description
An edge in the competitor brand item connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - CompetitorBrandItem!
|
The competitor brand item. |
Example
{
"cursor": "xyz789",
"node": CompetitorBrandItem
}
CompetitorBrandItemFilterInput
Description
Filter criteria for paginating posts within a Competitor Insights brand.
Fields
| Input Field | Description |
|---|---|
takenAt - FilterDateRangeInput!
|
Time window over post publication date. Both from and to are required — unbounded time windows are not supported. |
Example
{"takenAt": FilterDateRangeInput}
CompetitorBrandItemSortKey
Description
Field to use when ordering posts under a Competitor Insights brand.
Values
| Enum Value | Description |
|---|---|
|
|
Sort by earned media value (EMV). Rankings are computed per calendar month — for a takenAt window spanning multiple months, results are ordered within each month rather than as a single cross-month ranking. |
|
|
Sort by when the content was originally posted on the social platform. |
Example
"EARNED_MEDIA_VALUE"
CompetitorBrandItemSortingInput
Description
Single-field sort configuration for competitorBrandItems. Compound sort is not supported.
Fields
| Input Field | Description |
|---|---|
sortKey - CompetitorBrandItemSortKey!
|
Which field to sort by. |
sortOrder - SortOrder!
|
Whether to sort ascending (ASC) or descending (DESC). |
Example
{"sortKey": "EARNED_MEDIA_VALUE", "sortOrder": "ASC"}
ContentView
Description
A saved content (media deck) view for the current workspace. Use the returned id with items(presetId:) to fetch its items.
Fields
| Field Name | Description |
|---|---|
createdAt - DateTimeWithZone!
|
When the view was created. |
customAttributeConditions - JSON!
|
Custom-attribute conditions narrowing the filter set. |
filters - JSON!
|
Opaque filter blob defining which items belong to the view. |
group - ViewGroup
|
Group this view belongs to, or null when the view is ungrouped. Populated by moveContentViewToGroup. |
id - ID!
|
Unique identifier (FilterPreset UUID). Use this with items(presetId:). |
name - String!
|
Display name of the view. |
showReportingStats - Boolean!
|
Whether reporting stats are surfaced in the UI for this view. |
sort - JSON!
|
Sort directives applied when listing items via this view. |
updatedAt - DateTimeWithZone!
|
When the view was last updated. |
Example
{
"createdAt": "2025-01-15T10:30:00Z",
"customAttributeConditions": {},
"filters": {},
"group": ViewGroup,
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"showReportingStats": false,
"sort": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
ContentViewFilterInput
Description
Filter criteria for listing content views.
Fields
| Input Field | Description |
|---|---|
groupId - ID
|
When provided, returns only views belonging to this group. |
Example
{
"groupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
CreateCollectionInput
Description
Input for the createCollection mutation.
Fields
| Input Field | Description |
|---|---|
name - String!
|
Display name for the new Collection. Must be unique within the workspace. |
Example
{"name": "xyz789"}
CreateCollectionPayload
Description
Autogenerated return type of CreateCollection.
Fields
| Field Name | Description |
|---|---|
collection - Collection
|
The newly created Collection. Null on validation failure. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"collection": Collection,
"userErrors": [UserError]
}
CreateContentViewInput
Description
Input for the createContentView mutation.
Fields
| Input Field | Description |
|---|---|
customAttributeConditions - [CustomAttributeConditionInput!]
|
Custom-attribute conditions to narrow the filter set. Default = [] |
filters - JSON!
|
Opaque filter blob defining which items belong to the view. |
name - String!
|
Display name for the new content view. |
showReportingStats - Boolean
|
Whether reporting stats should be surfaced. Defaults to true. Default = true |
sort - JSON
|
Sort directives applied when listing items via this view. Defaults to []. |
Example
{
"customAttributeConditions": [
CustomAttributeConditionInput
],
"filters": {},
"name": "xyz789",
"showReportingStats": true,
"sort": {}
}
CreateContentViewPayload
Description
Autogenerated return type of CreateContentView.
Fields
| Field Name | Description |
|---|---|
contentView - ContentView
|
The newly created content view. Null on validation failure. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"contentView": ContentView,
"userErrors": [UserError]
}
CreateCreatorViewInput
Description
Input for the createCreatorView mutation.
Fields
| Input Field | Description |
|---|---|
campaignId - ID!
|
Campaign UUID. The view will be scoped to this campaign. Immutable post-create. |
conditions - [CustomAttributeConditionInput!]
|
Custom-attribute conditions narrowing which creators belong to the view. Default = [] |
displayAs - CreatorViewDisplayAs
|
Display mode (default TABLE — the only valid value for Creator Views today). |
filters - JSON
|
Opaque JSON filter blob, passed through unchanged. |
groupBy - String
|
Optional custom-attribute key to group by. |
name - String!
|
Display name for the new Creator View. |
sortBy - [CreatorViewSortOrderInput!]!
|
Sort order applied when listing creators via this view. Required (matches CRM contract). |
Example
{
"campaignId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"conditions": [CustomAttributeConditionInput],
"displayAs": "TABLE",
"filters": {},
"groupBy": "xyz789",
"name": "abc123",
"sortBy": [CreatorViewSortOrderInput]
}
CreateCreatorViewPayload
Description
Autogenerated return type of CreateCreatorView.
Fields
| Field Name | Description |
|---|---|
creatorView - CreatorView
|
The newly created Creator View. Null on validation failure. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"creatorView": CreatorView,
"userErrors": [UserError]
}
CreateSocialProfileViewInput
Description
Input for the createSocialProfileView mutation.
Fields
| Input Field | Description |
|---|---|
customAttributeConditions - [CustomAttributeConditionInput!]
|
Custom-attribute conditions to narrow the filter set. Default = [] |
filters - JSON!
|
Opaque filter blob defining which social profiles belong to the view. |
name - String!
|
Display name for the new social profile view. |
showReportingStats - Boolean
|
Whether reporting stats should be surfaced. Defaults to true. Default = true |
sort - JSON
|
Sort directives applied when listing social profiles via this view. Defaults to []. |
Example
{
"customAttributeConditions": [
CustomAttributeConditionInput
],
"filters": {},
"name": "abc123",
"showReportingStats": true,
"sort": {}
}
CreateSocialProfileViewPayload
Description
Autogenerated return type of CreateSocialProfileView.
Fields
| Field Name | Description |
|---|---|
socialProfileView - SocialProfileView
|
The newly created social profile view. Null on validation failure. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"socialProfileView": SocialProfileView,
"userErrors": [UserError]
}
CreateViewGroupInput
Description
Input for the createViewGroup mutation.
Fields
| Input Field | Description |
|---|---|
name - String!
|
Display name for the new view group. Must be unique within the workspace. |
Example
{"name": "abc123"}
CreateViewGroupPayload
Description
Autogenerated return type of CreateViewGroup.
Fields
| Field Name | Description |
|---|---|
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
viewGroup - ViewGroup
|
The newly created view group. Null on validation failure. |
Example
{
"userErrors": [UserError],
"viewGroup": ViewGroup
}
Creator
Description
A creator (influencer) whose content is tracked in Archive.
Fields
| Field Name | Description |
|---|---|
customAttributes - JSON!
|
Custom metadata fields associated with the creator (for example CRM attributes). |
id - ID!
|
Unique identifier for the creator in Archive's system. |
socialProfiles - [SocialProfile!]!
|
Social media profiles linked to this creator across all platforms (for example Instagram, TikTok, YouTube). Returns an empty list if no profiles are linked. |
Example
{
"customAttributes": {},
"id": "98234",
"socialProfiles": [SocialProfile]
}
CreatorConnection
Description
Paginated list of creators.
Fields
| Field Name | Description |
|---|---|
edges - [CreatorEdge!]!
|
List of edges with cursors. |
nodes - [Creator!]!
|
List of creators. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [CreatorEdge],
"nodes": [Creator],
"pageInfo": PageInfo,
"totalCount": 987
}
CreatorEdge
CreatorFilterInput
Description
Filter criteria for searching creators.
Fields
| Input Field | Description |
|---|---|
locations - [LocationCanonicalInput!]
|
Filter creators by canonical location. Each entry ANDs its populated components (country/region/city); multiple entries OR together — useful for disambiguating same-named cities (e.g. Portland, Oregon vs. Portland, Maine). Canonical values come from the Geo normalization pipeline; omit a component to leave it unconstrained. |
Example
{"locations": [LocationCanonicalInput]}
CreatorView
Description
A saved Creator View for the current workspace. Use the returned id with creators(presetId:) to fetch its creators.
Fields
| Field Name | Description |
|---|---|
campaignId - ID!
|
Campaign UUID this view belongs to. Immutable after creation. |
conditions - JSON!
|
Custom-attribute conditions narrowing which creators belong to the view. |
createdAt - DateTimeWithZone!
|
When the view was created. |
displayAs - CreatorViewDisplayAs!
|
Display mode (currently only TABLE). |
filters - JSON
|
Opaque filter blob (AllFiltersInput-shaped). Null when unset. |
groupBy - String
|
Custom-attribute key to group by, or null when ungrouped. |
id - ID!
|
Unique identifier of the Creator View. Use this with creators(presetId:). |
name - String!
|
Display name of the view. |
sortBy - JSON!
|
Sort directives applied when listing creators via this view. |
updatedAt - DateTimeWithZone!
|
When the view was last updated. |
Example
{
"campaignId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"conditions": {},
"createdAt": "2025-01-15T10:30:00Z",
"displayAs": "TABLE",
"filters": {},
"groupBy": "abc123",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "xyz789",
"sortBy": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
CreatorViewDisplayAs
Description
How a Creator View is rendered in the UI. Only TABLE is valid today.
Values
| Enum Value | Description |
|---|---|
|
|
Tabular list view. |
Example
"TABLE"
CreatorViewSortOrderInput
Description
Sort directive applied when listing creators via this Creator View.
Fields
| Input Field | Description |
|---|---|
direction - SortOrder!
|
Sort direction (ASC / DESC). |
field - String!
|
Field to sort by. Can be a creator column or a custom-attribute key (prefixed with custom_attributes.). |
Example
{"direction": "ASC", "field": "xyz789"}
CustomAttributeConditionInput
Fields
| Input Field | Description |
|---|---|
field - String!
|
|
operator - FilterOperator!
|
|
type - CustomAttributeType!
|
|
value - JSON
|
Example
{
"field": "xyz789",
"operator": "BETWEEN",
"type": "BOOLEAN",
"value": {}
}
CustomAttributeOption
Description
A selectable option for custom attributes with predefined choices.
Example
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123"
}
CustomAttributeSchema
Description
Definition of a custom attribute field. Use options (when present) to map IDs to display names.
Fields
| Field Name | Description |
|---|---|
key - String!
|
Key used in the customAttributes object. |
name - String!
|
Human-readable display name. |
options - [CustomAttributeOption!]
|
Available options for select-type attributes. When present, customAttributes values are option IDs that map to these options. When null, values are stored directly (text, numbers, dates, etc.). |
type - CustomAttributeType!
|
Custom attribute field type. |
Example
{
"key": "abc123",
"name": "abc123",
"options": [CustomAttributeOption],
"type": "BOOLEAN"
}
CustomAttributeSchemaEntity
Description
Entity type that custom attributes can be attached to.
Values
| Enum Value | Description |
|---|---|
|
|
Creator profile |
|
|
Item (archived social content) |
Example
"CREATOR"
CustomAttributeType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BOOLEAN"
DateTime
Description
Represents an ISO 8601-encoded date and time string. For example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is represented as "2019-09-07T15:50:00Z"
Example
"2025-01-15T10:30:00Z"
DateTimeWithZone
Description
An ISO 8601-encoded date and time. Input must be UTC (e.g., YYYY-MM-DDTHH:MM:SSZ). Output is always formatted in UTC (ending with Z).
Example
"2025-01-15T10:30:00Z"
DeleteCollectionPayload
Description
Autogenerated return type of DeleteCollection.
Fields
| Field Name | Description |
|---|---|
deletedCollectionId - ID
|
The id of the deleted Collection. Null when the Collection did not exist. |
userErrors - [UserError!]!
|
List of user-facing errors. Populated only when deletion failed. |
Example
{
"deletedCollectionId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
DeleteContentViewPayload
Description
Autogenerated return type of DeleteContentView.
Fields
| Field Name | Description |
|---|---|
deletedContentViewId - ID
|
ID of the deleted content view. Null when no such view exists in the workspace. |
userErrors - [UserError!]!
|
List of user-facing errors. Populated only when deletion failed. |
Example
{
"deletedContentViewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
DeleteCreatorViewPayload
Description
Autogenerated return type of DeleteCreatorView.
Fields
| Field Name | Description |
|---|---|
deletedCreatorViewId - ID
|
The id of the deleted Creator View. Null when the view did not exist. |
userErrors - [UserError!]!
|
List of user-facing errors. Populated only when deletion failed. |
Example
{
"deletedCreatorViewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
DeleteSocialProfileViewPayload
Description
Autogenerated return type of DeleteSocialProfileView.
Fields
| Field Name | Description |
|---|---|
deletedSocialProfileViewId - ID
|
ID of the deleted social profile view. Null when no such view exists in the workspace. |
userErrors - [UserError!]!
|
List of user-facing errors. Populated only when deletion failed. |
Example
{
"deletedSocialProfileViewId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"userErrors": [UserError]
}
DeleteViewGroupPayload
Description
Autogenerated return type of DeleteViewGroup.
Fields
| Field Name | Description |
|---|---|
deletedViewGroupId - ID
|
The id of the deleted view group. Null when the group did not exist. |
movedViewIds - [ID!]!
|
FilterPreset UUIDs whose group membership row was deleted as a side effect. Clients should invalidate any cached ContentView / SocialProfileView rows in this list. Empty on not-found or when the group had no member views. |
userErrors - [UserError!]!
|
List of user-facing errors. Populated only when deletion failed. |
Example
{
"deletedViewGroupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"movedViewIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"userErrors": [UserError]
}
Engagement
Description
Snapshot of engagement metrics for a single piece of content.
Fields
| Field Name | Description |
|---|---|
comments - BigInt
|
Total number of comments. |
earnedMediaValue - BigInt
|
Estimated earned media value (EMV) in cents. |
impressions - BigInt
|
Number of views, plays, or estimated impressions. |
likes - BigInt
|
Total number of likes. |
linearViralityScore - ViralityScore!
|
Bucketed virality score. |
shares - BigInt
|
Number of shares. |
views - BigInt
|
Number of views. |
Example
{
"comments": 9823456712,
"earnedMediaValue": 9823456712,
"impressions": 9823456712,
"likes": 9823456712,
"linearViralityScore": "HIGH",
"shares": 9823456712,
"views": 9823456712
}
EngagementHistoryConnection
Description
Paginated list of engagement history entries.
Fields
| Field Name | Description |
|---|---|
edges - [EngagementHistoryEntryEdge!]!
|
List of edges with cursors. |
nodes - [EngagementHistoryEntry!]!
|
List of engagement history entries. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [EngagementHistoryEntryEdge],
"nodes": [EngagementHistoryEntry],
"pageInfo": PageInfo,
"totalCount": 987
}
EngagementHistoryEntry
Description
A single historical snapshot of engagement metrics for a piece of content.
Fields
| Field Name | Description |
|---|---|
at - DateTime!
|
Timestamp when the engagement metrics were captured (UTC). |
comments - BigInt
|
Total number of comments. |
earnedMediaValue - BigInt
|
Estimated earned media value (EMV) in cents. |
followers - BigInt
|
Number of followers at the time of capture. |
impressions - BigInt
|
Number of views, plays, or estimated impressions. |
likes - BigInt
|
Total number of likes. |
linearViralityScore - ViralityScore!
|
Bucketed virality score based on engagement relative to follower count. |
shares - BigInt
|
Number of shares. |
views - BigInt
|
Number of views. |
Example
{
"at": "2025-01-15T10:30:00Z",
"comments": 9823456712,
"earnedMediaValue": 9823456712,
"followers": 9823456712,
"impressions": 9823456712,
"likes": 9823456712,
"linearViralityScore": "HIGH",
"shares": 9823456712,
"views": 9823456712
}
EngagementHistoryEntryEdge
Description
An edge in the engagement history entry connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - EngagementHistoryEntry!
|
The engagement history entry. |
Example
{
"cursor": "xyz789",
"node": EngagementHistoryEntry
}
EngagementHistoryFilterInput
Description
Filter criteria for engagement history entries.
Fields
| Input Field | Description |
|---|---|
capturedAt - FilterDateRangeInput
|
Filter by the date range when engagement metrics were captured. |
Example
{"capturedAt": FilterDateRangeInput}
FilterContractStatus
Description
Status of a contract request (usage rights, whitelisting, etc.).
Values
| Enum Value | Description |
|---|---|
|
|
Contract has been approved by the creator. |
|
|
Contract approval has expired. |
|
|
Contract request is queued for processing. |
|
|
Contract request was rejected by the creator. |
|
|
Contract has been requested but not yet responded to. |
Example
"APPROVED"
FilterDateRangeInput
FilterEngagementField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMMENT_COUNT"
FilterEngagementRangeInput
Fields
| Input Field | Description |
|---|---|
field - FilterEngagementField!
|
|
range - FilterIntegerRangeInput!
|
Example
{
"field": "COMMENT_COUNT",
"range": FilterIntegerRangeInput
}
FilterImportType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"AUTOMATIC"
FilterIntegerRangeInput
FilterItemType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"POST"
FilterOperator
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
For multi-select custom attributes: matches records whose value array contains ALL of the provided values (AND semantics). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BETWEEN"
FilterPreset
Description
A saved filter preset configuration
Fields
| Field Name | Description |
|---|---|
accessor - FilterPresetAccessor!
|
Type of filter preset |
id - ID!
|
Unique identifier |
name - String!
|
Display name of the preset |
Example
{
"accessor": "COLLECTIONS",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123"
}
FilterPresetAccessor
Description
Filter preset accessor type
Values
| Enum Value | Description |
|---|---|
|
|
Collections filter preset |
|
|
Media deck filter preset |
Example
"COLLECTIONS"
FilterSuperSearchInput
Description
Input for performing visual or text-based super search across items.
Fields
| Input Field | Description |
|---|---|
fileName - String
|
Name of an uploaded file to use for visual similarity search. |
imageUrl - String
|
URL of an external image to use for visual similarity search. |
mode - FilterSuperSearchMode
|
Search mode determining how the query is processed. |
searchQuery - String
|
Text query to search captions, transcriptions, or semantic content. |
similarMediaContentId - ID
|
ID of a media content to find visually similar items. |
Example
{
"fileName": "xyz789",
"imageUrl": "xyz789",
"mode": "EMBEDDING_CONTENT",
"searchQuery": "xyz789",
"similarMediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
FilterSuperSearchMode
Description
Mode to use when performing a super search query.
Values
| Enum Value | Description |
|---|---|
|
|
Search by visual/semantic similarity using content embeddings. |
|
|
Search by fuzzy matching against post captions. |
|
|
Search by fuzzy matching against video/audio transcriptions. |
Example
"EMBEDDING_CONTENT"
FilterTikTokWhitelistingEligibility
Description
Eligibility filter for items authored by TikTok creators reachable for whitelisting.
Values
| Enum Value | Description |
|---|---|
|
|
Match items authored by TikTok creators reachable via manual DM for whitelisting. |
Example
"ALL"
FilterViralityScore
Description
Categorized virality score used to filter items by how strongly the content outperforms its expected view-to-follower ratio. Higher categories indicate more viral content.
Values
| Enum Value | Description |
|---|---|
|
|
Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher. |
|
|
Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0. |
|
|
Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0. |
|
|
Content performing below expected reach, with low relative visibility. Typically corresponds to a view-to-follower ratio below ~1.0. |
Example
"HIGH"
ID
Description
The ID scalar type represents a unique identifier, 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 "4") or integer (such as 4) input value will be accepted as an ID.
Example
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
Image
Description
Image media content (for example single images or carousel frames).
Fields
| Field Name | Description |
|---|---|
deleted - Boolean!
|
True if the media content has been removed from the source platform. |
fileUrl - String
|
Direct URL to the underlying media file when Archive can serve it. |
height - Int
|
Height of the media content in pixels, when known. |
id - ID!
|
Unique identifier for the media content in Archive's system. |
mediaItemId - ID!
|
Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post. |
thumbnailUrl - String
|
URL of a preview thumbnail image for this media content, if available. |
type - MediaContentType!
|
Whether this media content is an IMAGE or a VIDEO. |
width - Int
|
Width of the media content in pixels, when known. |
Example
{
"deleted": false,
"fileUrl": "abc123",
"height": 1350,
"id": "mc_456789",
"mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"thumbnailUrl": "xyz789",
"type": "IMAGE",
"width": 1080
}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
Integration
Description
A connected social account for the workspace. Each entry represents one row in Archive's integrations table — distinct from Workspace.mentions, which lists tracked @-mention terms. Multiple integrations may share the same handle (e.g. two TikTok accounts under one tag) and each gets a distinct id.
Fields
| Field Name | Description |
|---|---|
connectedAt - DateTimeWithZone!
|
Timestamp when the integration was first established (ISO 8601 UTC). |
handle - String!
|
Public-facing account handle for this integration (for example "support_testing"). Sourced from the associated mention tag. |
id - ID!
|
Stable unique identifier for this integration (UUID). Distinguishes multiple integrations that share the same handle. |
provider - Provider!
|
Platform on which this account is connected (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL). |
status - IntegrationStatus!
|
Lifecycle state of the integration. CONNECTED = active and verified; DISCONNECTED = the account was removed or the integration failed; PENDING = setup in progress. |
Example
{
"connectedAt": "2025-01-15T10:30:00Z",
"handle": "xyz789",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"provider": "INSTAGRAM",
"status": "CONNECTED"
}
IntegrationStatus
Description
Lifecycle status of a workspace integration (a connected social account).
Values
| Enum Value | Description |
|---|---|
|
|
The integration is active and verified — Archive can fetch content for this account. |
|
|
The integration has been removed by the user or has failed and is no longer active. Archive cannot fetch new content for this account until it is reconnected. |
|
|
The integration is being established — initial verification or onboarding has not completed yet. |
Example
"CONNECTED"
Item
Description
A single piece of social content archived in Archive.
Fields
| Field Name | Description |
|---|---|
archivePublicUrl - String
|
Stable Archive permalink for this item. Unlike originalUrl, this URL keeps resolving after the source post is deleted or the creator account goes private. |
caption - String
|
Caption text of the content, when available. |
creator - Creator!
|
Creator who posted this content. |
currentEngagement - Engagement
|
Most recent engagement metrics (likes, comments, views, shares, EMV) and virality score for this item. |
customAttributes - JSON!
|
Custom metadata fields associated with the item. |
externalId - ID!
|
Platform-specific identifier for the content (e.g., Instagram post ID, TikTok video ID). |
hashtags - [String!]
|
List of hashtags used in the item’s caption or metadata. |
id - ID!
|
Unique identifier for the item in Archive's system. |
location - Location
|
Location associated with the content, if present. |
mediaItemId - ID!
|
Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post. |
mentions - [String!]
|
List of user mentions used in the item’s caption or metadata. |
originalUrl - String
|
Direct URL to the original content on the social platform. Returns null for content types without public URLs (e.g., Instagram Stories). |
provider - Provider!
|
Platform where the content exists (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL). |
socialProfile - SocialProfile!
|
Social media profile on which this content was posted. |
takenAt - DateTime!
|
Timestamp when the content was originally published on the social platform (UTC). |
transcriptions - [Transcription!]!
|
Text transcriptions and subtitles generated for video content within this item. |
type - ItemType!
|
Type of archived content (for example POST, REEL, STORY or SHORT), depending on the platform. |
Example
{
"archivePublicUrl": "abc123",
"caption": "SPF check before every beach day 🧴☀️ #sunscreen #summerstyle",
"creator": Creator,
"currentEngagement": Engagement,
"customAttributes": {},
"externalId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"hashtags": ["summerstyle", "sunscreen", "ugccampaign"],
"id": "645201873210984576",
"location": Location,
"mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"mentions": ["archivelabs", "partner_brand"],
"originalUrl": "abc123",
"provider": "INSTAGRAM",
"socialProfile": SocialProfile,
"takenAt": "2025-01-15T10:30:00Z",
"transcriptions": [Transcription],
"type": "POST"
}
ItemConnection
Description
Paginated list of items.
Fields
| Field Name | Description |
|---|---|
edges - [ItemEdge!]!
|
List of edges with cursors. |
nodes - [Item!]!
|
List of items. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [ItemEdge],
"nodes": [Item],
"pageInfo": PageInfo,
"totalCount": 987
}
ItemEdge
ItemFilterInput
Description
Filter criteria for searching archived items.
Fields
| Input Field | Description |
|---|---|
accountNames - [String!]
|
Filter by social profile account names/handles. Default = [] |
campaignsIds - [ID!]
|
Filter to items associated with any of the given campaign IDs. Default = [] |
collectionsIds - [ID!]
|
Filter to items that belong to any of the given collection IDs in the current workspace. Default = [] |
contentTypes - [MediaContentType!]
|
Filter by media content type (IMAGE, VIDEO). |
creatorLocations - [LocationCanonicalInput!]
|
Filter by the creator's location. Format: an array of objects, each with optional country, region, city (canonical names from Archive's Geo normalization pipeline; case-sensitive exact match — e.g. "United States", "California", "Los Angeles"). Within a single entry, populated components are AND-ed together. Multiple entries OR together — useful for disambiguating same-named cities (e.g. Portland, Oregon vs. Portland, Maine). Omit a component to leave it unconstrained. Example: [{ country: "United States", region: "California" }, { city: "London" }] matches creators in California, USA OR in any city named "London". |
engagement - [FilterEngagementRangeInput!]
|
Filter by engagement metric ranges (likes, comments, views, etc.). |
followersCount - FilterIntegerRangeInput
|
Filter by social profile follower count range. |
ids - [ID!]
|
Filter to specific item IDs. Default = [] |
importType - FilterImportType
|
Filter by how the item was imported (manual or automatic). |
instagramWhitelistingStatus - [FilterContractStatus!]
|
Filter by Instagram whitelisting request status. |
itemTypes - [FilterItemType!]
|
Filter by item type (POST, REEL, STORY, TIKTOK, TIKTOK_STORY, YOUTUBE, YOUTUBE_SHORT). |
provider - Provider
|
Filter by source platform (INSTAGRAM, TIKTOK, YOUTUBE, INTERNAL). |
shopifyProductsIds - [String!]
|
Filter by associated Shopify product IDs. Default = [] |
socialProfileAccountTypes - [SocialProfileAccountType!]
|
Filter by the social profile's account type. Values currently reflect Instagram-only typing (Personal / Creator / Business); profiles on platforms without a comparable concept are excluded when this filter is supplied. Mirrors Influencer.account_type. OR semantics across multiple values; empty/omitted skips the filter. Default = [] |
socialProfileIds - [ID!]
|
Filter by social profile IDs. Default = [] |
sourcesIds - [ID!]
|
Filter by source IDs. Default = [] |
superSearch - FilterSuperSearchInput
|
Visual or semantic search parameters. |
tagsNames - [String!]
|
Filter by hashtag or mention tag names. Default = [] |
takenAt - FilterDateRangeInput
|
Filter by publication date range. |
tiktokSparkCodeStatus - [FilterContractStatus!]
|
Filter by TikTok Spark Code request status. |
tiktokWhitelistingEligibility - FilterTikTokWhitelistingEligibility
|
Filter to items authored by TikTok creators eligible for whitelisting. |
ugcLocations - [LocationCanonicalInput!]
|
Filter by the location tagged on the content itself (UGC location). Format: same as creatorLocations — array of objects with optional country, region, city (canonical, case-sensitive exact match). Within a single entry the populated components AND together; multiple entries OR together. Example: [{ country: "United Kingdom", city: "London" }] matches items whose tagged location resolves to London, UK. |
usageRightsStatus - [FilterContractStatus!]
|
Filter by usage rights request status. |
verified - [Boolean!]
|
Filter by social profile verification status. |
viralityScore - [FilterViralityScore!]
|
Filter by virality score categories. Default = [] |
Example
{
"accountNames": ["xyz789"],
"campaignsIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"collectionsIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"contentTypes": ["IMAGE"],
"creatorLocations": [LocationCanonicalInput],
"engagement": [FilterEngagementRangeInput],
"followersCount": FilterIntegerRangeInput,
"ids": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"importType": "AUTOMATIC",
"instagramWhitelistingStatus": ["APPROVED"],
"itemTypes": ["POST"],
"provider": "INSTAGRAM",
"shopifyProductsIds": ["xyz789"],
"socialProfileAccountTypes": ["BUSINESS"],
"socialProfileIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"sourcesIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"superSearch": FilterSuperSearchInput,
"tagsNames": ["xyz789"],
"takenAt": FilterDateRangeInput,
"tiktokSparkCodeStatus": ["APPROVED"],
"tiktokWhitelistingEligibility": "ALL",
"ugcLocations": [LocationCanonicalInput],
"usageRightsStatus": ["APPROVED"],
"verified": [false],
"viralityScore": ["HIGH"]
}
ItemSortKey
Description
Field to use when ordering items in search results.
Values
| Enum Value | Description |
|---|---|
|
|
Sort by creator account name. |
|
|
Sort by total number of comments. |
|
|
Sort by earned media value (EMV). |
|
|
Sort by exponential virality score. |
|
|
Sort by number of followers on the posting account. |
|
|
Sort by total number of likes. |
|
|
Sort by linear virality score. |
|
|
Sort by the combined view/play count across platforms. |
|
|
Sort by number of shares. |
|
|
Sort by when the content was originally posted on the social platform. |
Example
"ACCOUNT_NAME"
ItemSortingInput
Description
Configuration for sorting returned items.
Fields
| Input Field | Description |
|---|---|
sortKey - ItemSortKey!
|
Which field to sort items by. |
sortOrder - SortOrder!
|
Whether to sort ascending (ASC) or descending (DESC). |
Example
{"sortKey": "ACCOUNT_NAME", "sortOrder": "ASC"}
ItemType
Description
Type of social content represented by this item on its source platform.
Values
| Enum Value | Description |
|---|---|
|
|
Standard feed post, such as a single image or carousel post on Instagram. |
|
|
Short-form vertical video published as a Reel or equivalent format. |
|
|
Short-form vertical video such as a YouTube Short or similar format. |
|
|
Ephemeral story content, typically available for a limited time. |
Example
"POST"
JSON
Description
Represents untyped JSON
Example
{}
Keyword
Description
A tracked keyword phrase used for YouTube (and other provider) content discovery in the workspace.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Unique identifier for the keyword in Archive's system. |
name - String!
|
The exact phrase being tracked (for example "noodles worth loving"). Named name for consistency with Tag.name; backed by the keywords.value column. |
provider - Provider!
|
Platform on which this keyword is tracked (currently YOUTUBE; reserved for future providers). |
Example
{
"id": "1a484f5f-adbc-4932-8523-9b9bfd779b2b",
"name": "noodles worth loving",
"provider": "YOUTUBE"
}
Location
Description
Structured location information attached to content or profiles.
Example
{
"city": "Santa Monica",
"country": "United States",
"formatted": "200 Santa Monica Pier, Santa Monica, California, United States",
"name": "Santa Monica Pier",
"state": "California"
}
LocationCanonicalInput
Description
Filter creators by canonical location components produced by the Geo normalization pipeline. Each populated component must match exactly (case-sensitive on the canonical value); omitted components are ignored.
Fields
| Input Field | Description |
|---|---|
city - String
|
Canonical city name (e.g. "Portland"). Matches creator.city_canonical exactly. |
country - String
|
Canonical country name (e.g. "United States"). Matches creator.country_canonical exactly. |
region - String
|
Canonical region/state name (e.g. "Oregon"). Matches creator.region_canonical exactly. |
Example
{
"city": "xyz789",
"country": "abc123",
"region": "abc123"
}
MediaContent
MediaContentType
Description
Underlying type of the media asset.
Values
| Enum Value | Description |
|---|---|
|
|
Static image content (for example photos, thumbnails, frames). |
|
|
Video content (for example Reels, TikToks, Stories, YouTube videos). |
Example
"IMAGE"
MoveContentViewToGroupPayload
Description
Autogenerated return type of MoveContentViewToGroup.
Fields
| Field Name | Description |
|---|---|
contentView - ContentView
|
The moved Content View, with the populated group field. Null when the view was not found or the move failed. |
userErrors - [UserError!]!
|
List of user-facing errors. Empty on success. |
Example
{
"contentView": ContentView,
"userErrors": [UserError]
}
MoveSocialProfileViewToGroupPayload
Description
Autogenerated return type of MoveSocialProfileViewToGroup.
Fields
| Field Name | Description |
|---|---|
socialProfileView - SocialProfileView
|
The moved Social Profile View, with the populated group field. Null when the view was not found or the move failed. |
userErrors - [UserError!]!
|
List of user-facing errors. Empty on success. |
Example
{
"socialProfileView": SocialProfileView,
"userErrors": [UserError]
}
Operation
Description
Represents an asynchronous operation with its current status and progress.
Fields
| Field Name | Description |
|---|---|
completedAt - DateTimeWithZone
|
Timestamp when the operation finished processing. Null if still in progress. |
createdAt - DateTimeWithZone!
|
Timestamp when the operation was created. |
failedItemIds - [ID!]!
|
IDs of items that failed during processing. |
id - ID!
|
Unique identifier for the operation. |
operationType - String!
|
The type of operation being performed (e.g., refetch_engagement). |
pendingItemIds - [ID!]!
|
IDs of items that have not yet been processed. |
processed - Int!
|
Number of items that have been processed so far. |
status - OperationStatus!
|
Current processing status of the operation. |
succeededItemIds - [ID!]!
|
IDs of items that completed successfully. |
total - Int!
|
Total number of items to process in this operation. |
Example
{
"completedAt": "2025-01-15T10:30:00Z",
"createdAt": "2025-01-15T10:30:00Z",
"failedItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"operationType": "xyz789",
"pendingItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"processed": 987,
"status": "COMPLETED",
"succeededItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"total": 987
}
OperationConnection
Description
Paginated list of operation summaries.
Fields
| Field Name | Description |
|---|---|
edges - [OperationSummaryEdge!]!
|
List of edges with cursors. |
nodes - [OperationSummary!]!
|
List of operation summaries. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [OperationSummaryEdge],
"nodes": [OperationSummary],
"pageInfo": PageInfo,
"totalCount": 987
}
OperationStatus
Description
Current processing status of an operation.
Values
| Enum Value | Description |
|---|---|
|
|
All items in the operation have been processed successfully. |
|
|
All items in the operation have failed. |
|
|
The operation finished but some items failed while others succeeded. |
|
|
The operation is currently being processed. |
|
|
The operation has been created but processing has not yet started. |
Example
"COMPLETED"
OperationSummary
Description
Lightweight summary of an operation. Use the operation(id:) query for full details.
Fields
| Field Name | Description |
|---|---|
createdAt - DateTimeWithZone!
|
When the operation was created. |
id - ID!
|
Unique identifier of the operation. |
operationType - String!
|
The type of operation (e.g. refetch_engagement, update_custom_attributes). |
status - OperationStatus!
|
Current processing status of the operation. |
total - Int!
|
Total number of items in the operation. |
Example
{
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"operationType": "abc123",
"status": "COMPLETED",
"total": 123
}
OperationSummaryEdge
Description
An edge in the operation summary connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - OperationSummary!
|
The operation summary. |
Example
{
"cursor": "xyz789",
"node": OperationSummary
}
PageInfo
Description
Information about pagination in a connection.
Example
{
"endCursor": "xyz789",
"hasNextPage": true,
"hasPreviousPage": false,
"startCursor": "abc123"
}
Provider
Description
Platform or system from which content, profiles, or metadata originate.
Values
| Enum Value | Description |
|---|---|
|
|
Instagram platform integration, including posts, reels, stories, and profile data. |
|
|
Internal Archive-managed source used for synthetic or system-generated content. |
|
|
TikTok platform integration, including videos and creator profile data. |
|
|
YouTube platform integration, including Shorts, videos, thumbnails, and profile data. |
Example
"INSTAGRAM"
RefetchBulkPayload
Description
Autogenerated return type of RefetchBulk.
Fields
| Field Name | Description |
|---|---|
operationId - ID
|
Unique identifier of the background operation created to process the refresh. Null when no items were processable (all filtered or deduplicated). Use this ID to track operation progress. |
processedCount - Int
|
Number of items accepted and queued for engagement refresh. Credits are charged only for this count. |
skippedItemIds - [ID!]
|
IDs of items skipped because they are already enqueued in another active refresh operation for this workspace. Instagram stories are silently excluded and not listed here. |
userErrors - [UserError!]!
|
Errors that prevented the mutation from executing. Common errors: feature not enabled, insufficient credits. |
Example
{
"operationId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"processedCount": 123,
"skippedItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"userErrors": [UserError]
}
RemoveFromCollectionsPayload
Description
Autogenerated return type of RemoveFromCollections.
Fields
| Field Name | Description |
|---|---|
item - Item
|
The updated item. |
userErrors - [UserError!]!
|
List of errors that occurred. |
Example
{
"item": Item,
"userErrors": [UserError]
}
ReorderViewsInGroupPayload
Description
Autogenerated return type of ReorderViewsInGroup.
Fields
| Field Name | Description |
|---|---|
userErrors - [UserError!]!
|
List of user-facing errors. Empty on success. |
viewGroup - ViewGroup
|
The reordered ViewGroup. contentViews and socialProfileViews reflect the new ordering in a single round-trip. Null when the group was not found or the reorder failed. |
Example
{
"userErrors": [UserError],
"viewGroup": ViewGroup
}
SocialProfile
Description
A social media profile connected to Archive (for example Instagram, TikTok, or YouTube).
Fields
| Field Name | Description |
|---|---|
accountName - String!
|
Username or handle of the social media account. |
avatar - String
|
URL of the account's profile picture, if available. |
creator - Creator
|
Creator associated with this social profile in the current workspace. Use this to get the unified creator ID for deduplicating creators across platforms. Returns null if the profile has no creator record in this workspace. |
email - String
|
Email address associated with the account, if available. |
followers - Int!
|
Number of followers on the social media account (when available). |
following - Int!
|
Number of accounts this profile is following (when available). |
fullName - String
|
Display name or full name shown on the social media profile. |
id - ID!
|
Unique identifier of the social profile in Archive's system. |
originalUrl - String!
|
Direct URL to the profile on the social platform (e.g., https://instagram.com/account_name). |
phoneNumbers - [String!]
|
Phone numbers associated with the account, when present. |
private - Boolean!
|
Whether the social media account is currently set to private. |
proAccount - Boolean!
|
Whether the account is marked as a professional or business account on the platform. |
provider - Provider!
|
Platform where the social profile exists (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL). |
verified - Boolean!
|
Whether the account has a verified/badge status on the platform. |
Example
{
"accountName": "abc123",
"avatar": "https://cdn.archive-assets.com/avatars/alex_creates.jpg",
"creator": Creator,
"email": "[email protected]",
"followers": 52840,
"following": 123,
"fullName": "abc123",
"id": "sp_11223344",
"originalUrl": "abc123",
"phoneNumbers": ["xyz789"],
"private": false,
"proAccount": false,
"provider": "INSTAGRAM",
"verified": true
}
SocialProfileAccountType
Description
Account type of the social profile attached to an item. Values currently reflect Instagram's account_type taxonomy only — TikTok and YouTube profiles do not expose an equivalent classification, so filtering by these values implicitly scopes the result set to Instagram items. The enum will grow if/when other platforms introduce comparable typing.
Values
| Enum Value | Description |
|---|---|
|
|
Instagram Business account (business features and insights enabled). |
|
|
Instagram Creator account (creator features enabled, distinct from Business). |
|
|
Personal Instagram account (consumer profile, no business/creator features). |
Example
"BUSINESS"
SocialProfileConnection
Description
Paginated list of social profiles.
Fields
| Field Name | Description |
|---|---|
edges - [SocialProfileEdge!]!
|
List of edges with cursors. |
nodes - [SocialProfile!]!
|
List of social profiles. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [SocialProfileEdge],
"nodes": [SocialProfile],
"pageInfo": PageInfo,
"totalCount": 987
}
SocialProfileEdge
Description
An edge in the social profile connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - SocialProfile!
|
The social profile. |
Example
{
"cursor": "xyz789",
"node": SocialProfile
}
SocialProfileFilterInput
Description
Filter criteria for listing social profiles.
Fields
| Input Field | Description |
|---|---|
platform - Provider
|
Restrict results to a single social platform (INSTAGRAM, TIKTOK, YOUTUBE, INTERNAL). Maps to the workspace social-profile listing platform filter. |
Example
{"platform": "INSTAGRAM"}
SocialProfileView
Description
A saved Social Profile view for the current workspace. Use the returned id with socialProfiles(presetId:) to fetch this view's social profile contents.
Fields
| Field Name | Description |
|---|---|
createdAt - DateTimeWithZone!
|
When the view was created. |
customAttributeConditions - JSON!
|
Custom-attribute conditions narrowing the filter set. |
filters - JSON!
|
Opaque filter blob defining which social profiles belong to the view. |
group - ViewGroup
|
Group this view belongs to, or null when the view is ungrouped. Populated by moveSocialProfileViewToGroup. |
id - ID!
|
Unique identifier of this saved view. Use the returned id with socialProfiles(presetId:) to fetch the view's social profiles. |
name - String!
|
Display name of the view. |
showReportingStats - Boolean!
|
Whether reporting stats are surfaced in the UI for this view. |
sort - JSON!
|
Sort directives applied when listing social profiles via this view. |
updatedAt - DateTimeWithZone!
|
When the view was last updated. |
Example
{
"createdAt": "2025-01-15T10:30:00Z",
"customAttributeConditions": {},
"filters": {},
"group": ViewGroup,
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "abc123",
"showReportingStats": true,
"sort": {},
"updatedAt": "2025-01-15T10:30:00Z"
}
SocialProfileViewFilterInput
Description
Filter criteria for listing social profile views.
Fields
| Input Field | Description |
|---|---|
groupId - ID
|
When provided, returns only views belonging to this group. |
Example
{
"groupId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
SortOrder
Description
Direction to apply when sorting items.
Values
| Enum Value | Description |
|---|---|
|
|
Sort in ascending order (for example oldest date or smallest number first). |
|
|
Sort in descending order (for example newest date or largest number first). |
Example
"ASC"
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
Tag
Description
A hashtag or mention tag associated with social content.
Example
{
"id": "tag_99887766",
"name": "summerstyle",
"provider": "INSTAGRAM",
"type": "HASHTAG"
}
TagType
Description
Category of tag based on how it appears in social content.
Values
| Enum Value | Description |
|---|---|
|
|
Hashtag tag (e.g. #archive) |
|
|
User mention tag (e.g. @archive) |
Example
"HASHTAG"
Transcription
Description
Text transcription generated for a piece of media content.
Example
{
"mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"transcript": "xyz789"
}
UpdateCollectionInput
Description
Input for the updateCollection mutation.
Fields
| Input Field | Description |
|---|---|
name - String!
|
New name for the Collection. Must be unique within the workspace. |
Example
{"name": "xyz789"}
UpdateCollectionPayload
Description
Autogenerated return type of UpdateCollection.
Fields
| Field Name | Description |
|---|---|
collection - Collection
|
The updated Collection. Null on validation failure or when not found. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"collection": Collection,
"userErrors": [UserError]
}
UpdateContentViewInput
Description
Partial-update input for the updateContentView mutation. Only provided fields are updated; omitted fields are left unchanged.
Fields
| Input Field | Description |
|---|---|
customAttributeConditions - [CustomAttributeConditionInput!]
|
Custom-attribute conditions. When provided, replaces the existing list wholesale. An empty array clears all conditions. |
filters - JSON
|
Opaque filter blob. When provided, replaces the existing filter blob wholesale (no element-level merge). |
name - String
|
Display name. When provided, replaces the existing name. |
showReportingStats - Boolean
|
Whether reporting stats should be surfaced. When provided, replaces the existing flag. |
sort - JSON
|
Sort directives. When provided, replaces the existing sort wholesale. |
Example
{
"customAttributeConditions": [
CustomAttributeConditionInput
],
"filters": {},
"name": "abc123",
"showReportingStats": true,
"sort": {}
}
UpdateContentViewPayload
Description
Autogenerated return type of UpdateContentView.
Fields
| Field Name | Description |
|---|---|
contentView - ContentView
|
The updated content view. Null on validation failure or when the view was not found. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"contentView": ContentView,
"userErrors": [UserError]
}
UpdateCreatorViewInput
Description
Partial-update input for the updateCreatorView mutation. Only provided fields are updated; omitted fields are left unchanged.
Fields
| Input Field | Description |
|---|---|
conditions - [CustomAttributeConditionInput!]
|
Custom-attribute conditions. When provided, replaces the existing list wholesale. An empty array clears all conditions. |
displayAs - CreatorViewDisplayAs
|
Display mode. When provided, replaces the existing display mode. |
filters - JSON
|
Opaque filter blob. When provided, replaces the existing blob wholesale. |
groupBy - String
|
Custom-attribute key to group by. Pass null to clear. |
name - String
|
Display name. When provided, replaces the existing name. |
sortBy - [CreatorViewSortOrderInput!]
|
Sort directives. When provided, replaces the existing sort wholesale. |
Example
{
"conditions": [CustomAttributeConditionInput],
"displayAs": "TABLE",
"filters": {},
"groupBy": "xyz789",
"name": "abc123",
"sortBy": [CreatorViewSortOrderInput]
}
UpdateCreatorViewPayload
Description
Autogenerated return type of UpdateCreatorView.
Fields
| Field Name | Description |
|---|---|
creatorView - CreatorView
|
The updated Creator View. Null on validation failure or when not found. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"creatorView": CreatorView,
"userErrors": [UserError]
}
UpdateSocialProfileViewInput
Description
Partial-update input for the updateSocialProfileView mutation. Only provided fields are updated; omitted fields are left unchanged.
Fields
| Input Field | Description |
|---|---|
customAttributeConditions - [CustomAttributeConditionInput!]
|
Custom-attribute conditions. When provided, replaces the existing list wholesale. An empty array clears all conditions. |
filters - JSON
|
Opaque filter blob. When provided, replaces the existing filter blob wholesale (no element-level merge). |
name - String
|
Display name. When provided, replaces the existing name. |
showReportingStats - Boolean
|
Whether reporting stats should be surfaced. When provided, replaces the existing flag. |
sort - JSON
|
Sort directives. When provided, replaces the existing sort wholesale. |
Example
{
"customAttributeConditions": [
CustomAttributeConditionInput
],
"filters": {},
"name": "xyz789",
"showReportingStats": false,
"sort": {}
}
UpdateSocialProfileViewPayload
Description
Autogenerated return type of UpdateSocialProfileView.
Fields
| Field Name | Description |
|---|---|
socialProfileView - SocialProfileView
|
The updated social profile view. Null on validation failure or when the view was not found. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{
"socialProfileView": SocialProfileView,
"userErrors": [UserError]
}
UpdateViewGroupInput
Description
Input for the updateViewGroup mutation.
Fields
| Input Field | Description |
|---|---|
name - String!
|
New display name for the view group. Must be unique within the workspace. |
Example
{"name": "abc123"}
UpdateViewGroupPayload
Description
Autogenerated return type of UpdateViewGroup.
Fields
| Field Name | Description |
|---|---|
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
viewGroup - ViewGroup
|
The renamed view group. Null on not-found or validation failure. |
Example
{
"userErrors": [UserError],
"viewGroup": ViewGroup
}
UploadItemFromUrlInput
Description
Input for the uploadItemFromUrl mutation.
Fields
| Input Field | Description |
|---|---|
url - String!
|
Public URL of the UGC post (Instagram / TikTok / YouTube). |
Example
{"url": "abc123"}
UploadItemFromUrlPayload
Description
Autogenerated return type of UploadItemFromUrl.
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
True when the URL was accepted (audit rows created and SocialBridge enqueued). False on validation failure. |
userErrors - [UserError!]!
|
List of user-facing validation errors. Empty on success. |
Example
{"success": true, "userErrors": [UserError]}
UrlLookupResult
Description
Result of looking up a single URL or shortcode against the current workspace.
Fields
| Field Name | Description |
|---|---|
itemId - ID
|
The matching shop item UUID, or null if no match was found. |
status - UrlLookupStatus!
|
Outcome of the lookup: FOUND, NOT_FOUND, or INVALID_URL. |
url - String!
|
The original input URL or shortcode that was looked up. |
Example
{
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"status": "FOUND",
"url": "https://www.instagram.com/reel/CxYz1aBcDef/"
}
UrlLookupStatus
Description
Status of a URL lookup operation against the current workspace.
Values
| Enum Value | Description |
|---|---|
|
|
Item found in the current workspace matching the provided URL or shortcode. |
|
|
Could not parse a valid shortcode from the provided input. |
|
|
Valid URL or shortcode but no matching item exists in the current workspace. |
Example
"FOUND"
UserError
Video
Description
Video media content associated with an item.
Fields
| Field Name | Description |
|---|---|
deleted - Boolean!
|
True if the media content has been removed from the source platform. |
fileUrl - String
|
Direct URL to the underlying media file when Archive can serve it. |
height - Int
|
Height of the media content in pixels, when known. |
id - ID!
|
Unique identifier for the media content in Archive's system. |
mediaItemId - ID!
|
Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post. |
thumbnailUrl - String
|
URL of a preview thumbnail image for this media content, if available. |
type - MediaContentType!
|
Whether this media content is an IMAGE or a VIDEO. |
videoDuration - Int
|
Duration of the video in seconds, when available. |
width - Int
|
Width of the media content in pixels, when known. |
Example
{
"deleted": true,
"fileUrl": "xyz789",
"height": 1920,
"id": "mc_456790",
"mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"thumbnailUrl": "xyz789",
"type": "VIDEO",
"videoDuration": 123,
"width": 1080
}
ViewGroup
Description
A user-created group of saved views (Content Views, Social Profile Views) for the current workspace.
Fields
| Field Name | Description |
|---|---|
contentViews - [ContentView!]!
|
Content Views that belong to this group, ordered by their position within the group. |
createdAt - DateTimeWithZone!
|
When the group was created. |
id - ID!
|
Unique identifier. |
name - String!
|
Display name of the group. |
socialProfileViews - [SocialProfileView!]!
|
Social Profile Views that belong to this group, ordered by their position within the group. |
updatedAt - DateTimeWithZone!
|
When the group was last updated. |
Example
{
"contentViews": [ContentView],
"createdAt": "2025-01-15T10:30:00Z",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "xyz789",
"socialProfileViews": [SocialProfileView],
"updatedAt": "2025-01-15T10:30:00Z"
}
ViralityScore
Description
Categorized virality score representing how strongly a piece of content outperforms its expected view-to-follower ratio. Higher categories indicate more viral content.
Values
| Enum Value | Description |
|---|---|
|
|
Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher. |
|
|
Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0. |
|
|
Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0. |
|
|
Content performing below expected reach, with low relative visibility. Typically corresponds to a view-to-follower ratio below ~1.0. |
Example
"HIGH"
Workspace
Description
A workspace represents a single brand or account within Archive.
Fields
| Field Name | Description |
|---|---|
hashtags - [Tag!]
|
Hashtags tracked for this workspace. |
id - ID!
|
Unique identifier for the workspace (UUID format). |
integrations - [Integration!]!
|
Connected social accounts for this workspace. Distinct from mentions — that field lists tracked terms (the @-handles Archive monitors); this field lists connected accounts (one entry per row in the integrations table). Multiple integrations may share the same handle, and each entry surfaces its own status. Includes disconnected and failed integrations so customers can detect broken connections. |
keywords - [Keyword!]
|
Keywords tracked for this workspace (primarily YouTube). Distinct from hashtags and mentions, which surface Instagram/TikTok-style tags. |
mentions - [Tag!]
|
User mentions tracked for this workspace. |
name - String!
|
Human-readable name of the workspace. |
Example
{
"hashtags": [Tag],
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"integrations": [Integration],
"keywords": [Keyword],
"mentions": [Tag],
"name": "Acme Beauty – US"
}
WorkspaceConnection
Description
Paginated list of workspaces.
Fields
| Field Name | Description |
|---|---|
edges - [WorkspaceEdge!]!
|
List of edges with cursors. |
nodes - [Workspace!]!
|
List of workspaces. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [WorkspaceEdge],
"nodes": [Workspace],
"pageInfo": PageInfo,
"totalCount": 123
}
WorkspaceEdge
Description
An edge in the workspace connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - Workspace!
|
The workspace. |
Example
{
"cursor": "abc123",
"node": Workspace
}