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 POST requests to the GraphQL endpoint: https://app.archive.com/api/v2
  • You control which data is returned by selecting fields on the Query type.
  • Pagination follows the standard Relay-style cursor pattern.
Contact

API Support

[email protected]

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!

Arguments
Name Description
after - String Cursor for fetching the next page of results. Default = null
first - Int Number of campaigns to return (page size). Default = 20

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!

Arguments
Name Description
after - String Cursor for fetching the next page of results. Default = null
first - Int Number of brands to return (page size). Default = 20

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

Use contentViews / socialProfileViews / creatorViews / collections instead.
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!

Arguments
Name Description
after - String Cursor for fetching the next page of results. Default = null
first - Int Number of operations to return (page size). Default = 20

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
    }
  }
}

socialProfile

Description

Return details for a social profile by ID or account identifier.

Errors: When fallback: true triggers a live lookup and the upstream social-platform service returns a transient failure, this query returns a GraphQL error with extensions.code = "UPSTREAM_UNAVAILABLE" and extensions.provider set to the requested platform. Clients should treat this as retriable (the upstream blip is usually short-lived); switch on the stable extensions.code rather than the message text.

Response

Returns a SocialProfile

Arguments
Name Description
accountName - String Username or handle on the social platform (e.g., "nike" for instagram.com/nike).
fallback - Boolean When true, fetches profile from social platform if not archived locally. May increase response time. Default = false
id - ID Unique identifier of the social profile within your workspace.
provider - Provider Social platform: instagram, tiktok, or youtube. Required when using account_name.

Example

Query
query socialProfile(
  $accountName: String,
  $fallback: Boolean,
  $id: ID,
  $provider: Provider
) {
  socialProfile(
    accountName: $accountName,
    fallback: $fallback,
    id: $id,
    provider: $provider
  ) {
    accountName
    avatar
    creator {
      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
      }
    }
    email
    followers
    following
    fullName
    id
    originalUrl
    phoneNumbers
    private
    proAccount
    provider
    verified
  }
}
Variables
{
  "accountName": "xyz789",
  "fallback": false,
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "provider": "INSTAGRAM"
}
Response
{
  "data": {
    "socialProfile": {
      "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": true,
      "proAccount": false,
      "provider": "INSTAGRAM",
      "verified": false
    }
  }
}

socialProfileView

Description

Return a single saved Social Profile view by ID for the current workspace, or null if no such view exists here.

Response

Returns a SocialProfileView

Arguments
Name Description
id - ID! FilterPreset UUID of the social profile view to fetch.

Example

Query
query socialProfileView($id: ID!) {
  socialProfileView(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": {
    "socialProfileView": {
      "createdAt": "2025-01-15T10:30:00Z",
      "customAttributeConditions": {},
      "filters": {},
      "group": ViewGroup,
      "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
      "name": "xyz789",
      "showReportingStats": true,
      "sort": {},
      "updatedAt": "2025-01-15T10:30:00Z"
    }
  }
}

socialProfileViews

Description

List saved Social Profile views for the current workspace, ordered by most-recently-updated first.

Response

Returns [SocialProfileView!]!

Arguments
Name Description
filter - SocialProfileViewFilterInput Optional filter criteria. When omitted or empty, returns every social-profile view for the current workspace. Default = {}

Example

Query
query socialProfileViews($filter: SocialProfileViewFilterInput) {
  socialProfileViews(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": {
    "socialProfileViews": [
      {
        "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"
      }
    ]
  }
}

socialProfiles

Description

List and paginate social profiles for the current workspace. Pass presetId (a Social Profile View id from socialProfileViews / socialProfileView) to drive results off the view's stored conditions and sort; otherwise narrow with filter.

Response

Returns a SocialProfileConnection!

Arguments
Name Description
after - String Opaque cursor for fetching the next page. Pass the pageInfo.endCursor from a previous response. Per-node edge cursors are NOT valid here. Default = null
filter - SocialProfileFilterInput Filter criteria to narrow down results (e.g. by platform). Default = {}
first - Int Number of social profiles to return (page size). Default = 20
presetId - ID Saved Social Profile View ID. When provided, inline filter is ignored; the view's stored conditions/sort drive the result set. Accepts IDs returned by socialProfileViews / socialProfileView. Non-Social-Profile-View IDs raise with extensions.code = "WRONG_VIEW_TYPE"; cross-shop or unknown IDs raise with extensions.code = "NOT_FOUND". Default = null

Example

Query
query socialProfiles(
  $after: String,
  $filter: SocialProfileFilterInput,
  $first: Int,
  $presetId: ID
) {
  socialProfiles(
    after: $after,
    filter: $filter,
    first: $first,
    presetId: $presetId
  ) {
    edges {
      cursor
      node {
        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
      }
    }
    nodes {
      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
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
    totalCount
  }
}
Variables
{"after": null, "filter": {}, "first": 20, "presetId": null}
Response
{
  "data": {
    "socialProfiles": {
      "edges": [SocialProfileEdge],
      "nodes": [SocialProfile],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

transcriptions

Description

Fetch transcriptions for one or more media contents belonging to the current workspace.

Response

Returns [Transcription!]!

Arguments
Name Description
itemIds - [ID!] Filter by item IDs (maximum 1000).
mediaContentIds - [ID!] Filter by media content IDs (maximum 20).

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.

Response

Returns a ViewGroup

Arguments
Name Description
id - ID! UUID of the ViewGroup to fetch.

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!

Arguments
Name Description
after - String Cursor for fetching the next page of results. Default = null
first - Int Number of workspaces to return (page size). Default = 20

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

Arguments
Name Description
groupId - ID Target ViewGroup UUID. Pass null to remove the view from any group it currently belongs to.
viewId - ID! FilterPreset UUID of the Content View to move.

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).

Arguments
Name Description
groupId - ID Target ViewGroup UUID. Pass null to remove the view from any group it currently belongs to.
viewId - ID! FilterPreset UUID of the Social Profile View to move.

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

Arguments
Name Description
groupId - ID! UUID of the ViewGroup whose member views should be reordered.
viewIds - [ID!]! FilterPreset UUIDs in the desired display order. Must list only views that are currently members of this group. The first id becomes position 1.

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.

Fields
Field Name Description
createdAt - DateTime! When the campaign was created (UTC).
id - ID! Unique identifier for the campaign in Archive's system.
name - String! Campaign name as shown in Archive.
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

Description

An edge in the campaign connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - Campaign! The campaign.
Example
{
  "cursor": "xyz789",
  "node": Campaign
}

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

Description

A brand tracked in Competitor Insights for the current workspace.

Fields
Field Name Description
id - ID! Unique identifier for the brand in Archive's system.
name - String! Brand name.
Example
{
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "name": "xyz789"
}

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

EARNED_MEDIA_VALUE

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.

TAKEN_AT

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

Description

An edge in the creator connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - Creator! The creator.
Example
{
  "cursor": "xyz789",
  "node": Creator
}

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

TABLE

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.

Fields
Field Name Description
id - ID! Unique identifier. Match this against values in customAttributes.
name - String! Human-readable display name.
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

Creator profile

ITEM

Item (archived social content)
Example
"CREATOR"

CustomAttributeType

Values
Enum Value Description

BOOLEAN

BOOLEAN_LIST

DATE

DATETIME

DATETIME_LIST

DATE_LIST

EMAIL

MULTIPLE_SELECT

MULTIPLE_SELECT_V2

NUMBER

NUMBER_LIST

PHONE

SHIPPING_ADDRESS

SINGLE_SELECT_V2

SINGLE_SELECT_V3

TEXT

TEXT_LIST

URL

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

APPROVED

Contract has been approved by the creator.

EXPIRED

Contract approval has expired.

IN_QUEUE

Contract request is queued for processing.

REJECTED

Contract request was rejected by the creator.

REQUESTED

Contract has been requested but not yet responded to.
Example
"APPROVED"

FilterDateRangeInput

Fields
Input Field Description
from - DateTime
to - DateTime
Example
{
  "from": "2025-01-15T10:30:00Z",
  "to": "2025-01-15T10:30:00Z"
}

FilterEngagementField

Values
Enum Value Description

COMMENT_COUNT

EARNED_MEDIA_VALUE

ENGAGEMENTS_RATE

IMPRESSIONS_RATE

LIKE_COUNT

MERGED_VIEW_PLAY_COUNT

SHARE_COUNT

Example
"COMMENT_COUNT"

FilterEngagementRangeInput

Fields
Input Field Description
field - FilterEngagementField!
range - FilterIntegerRangeInput!
Example
{
  "field": "COMMENT_COUNT",
  "range": FilterIntegerRangeInput
}

FilterImportType

Values
Enum Value Description

AUTOMATIC

MANUAL

Example
"AUTOMATIC"

FilterIntegerRangeInput

Fields
Input Field Description
from - Int
to - Int
Example
{"from": 987, "to": 123}

FilterItemType

Values
Enum Value Description

POST

REEL

STORY

TIKTOK

TIKTOK_STORY

YOUTUBE

YOUTUBE_SHORT

Example
"POST"

FilterOperator

Values
Enum Value Description

BETWEEN

CONTAINS

CONTAINS_ALL

For multi-select custom attributes: matches records whose value array contains ALL of the provided values (AND semantics).

DOES_NOT_CONTAIN

ENDS_WITH

EQUAL

IS

IS_EMPTY

IS_NOT

IS_NOT_EMPTY

IS_RELATIVE_TO_TODAY

LESS_THAN

LESS_THAN_OR_EQUAL

MORE_THAN

MORE_THAN_OR_EQUAL

NOT_EQUAL

STARTS_WITH

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

Collections filter preset

MEDIA_DECK

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

EMBEDDING_CONTENT

Search by visual/semantic similarity using content embeddings.

FUZZY_CAPTION

Search by fuzzy matching against post captions.

FUZZY_TRANSCRIPTION

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

ALL

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

HIGH

Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher.

LOW

Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0.

MEDIUM

Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0.

NOT_VIRAL

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

CONNECTED

The integration is active and verified — Archive can fetch content for this account.

DISCONNECTED

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.

PENDING

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

Description

An edge in the item connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - Item! The item.
Example
{
  "cursor": "xyz789",
  "node": Item
}

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

ACCOUNT_NAME

Sort by creator account name.

COMMENT_COUNT

Sort by total number of comments.

EARNED_MEDIA_VALUE

Sort by earned media value (EMV).

EXPONENTIAL_VIRALITY

Sort by exponential virality score.

FOLLOWERS_COUNT

Sort by number of followers on the posting account.

LIKE_COUNT

Sort by total number of likes.

LINEAR_VIRALITY

Sort by linear virality score.

MERGED_VIEW_PLAY_COUNT

Sort by the combined view/play count across platforms.

SHARE_COUNT

Sort by number of shares.

TAKEN_AT

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

POST

Standard feed post, such as a single image or carousel post on Instagram.

REEL

Short-form vertical video published as a Reel or equivalent format.

SHORT

Short-form vertical video such as a YouTube Short or similar format.

STORY

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.

Fields
Field Name Description
city - String City associated with the location.
country - String Country associated with the location.
formatted - String Human-readable formatted address.
name - String Full name of the location.
state - String State, region, or province associated with the location.
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

Description

Union of media content types associated with an item (image or video).

Types
Union Types

Image

Video

Example
Image

MediaContentType

Description

Underlying type of the media asset.

Values
Enum Value Description

IMAGE

Static image content (for example photos, thumbnails, frames).

VIDEO

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

COMPLETED

All items in the operation have been processed successfully.

FAILED

All items in the operation have failed.

PARTIAL

The operation finished but some items failed while others succeeded.

PROCESSING

The operation is currently being processed.

QUEUED

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.

Fields
Field Name Description
endCursor - String Cursor for the last node in this page.
hasNextPage - Boolean! Whether there are more results after this page.
hasPreviousPage - Boolean! Whether there are results before this page.
startCursor - String Cursor for the first node in this page.
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

Instagram platform integration, including posts, reels, stories, and profile data.

INTERNAL

Internal Archive-managed source used for synthetic or system-generated content.

TIKTOK

TikTok platform integration, including videos and creator profile data.

YOUTUBE

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

BUSINESS

Instagram Business account (business features and insights enabled).

CREATOR

Instagram Creator account (creator features enabled, distinct from Business).

PERSONAL

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

ASC

Sort in ascending order (for example oldest date or smallest number first).

DESC

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.

Fields
Field Name Description
id - ID! Unique identifier for the tag in Archive's system.
name - String! The text of the tag.
provider - Provider! Platform where this tag was observed (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL).
type - TagType! Whether this tag is a HASHTAG or a MENTION.
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

Hashtag tag (e.g. #archive)

MENTION

User mention tag (e.g. @archive)
Example
"HASHTAG"

Transcription

Description

Text transcription generated for a piece of media content.

Fields
Field Name Description
mediaContentId - ID! Identifier of the media content this transcription belongs to.
transcript - String Plain text transcription of the spoken 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

FOUND

Item found in the current workspace matching the provided URL or shortcode.

INVALID_URL

Could not parse a valid shortcode from the provided input.

NOT_FOUND

Valid URL or shortcode but no matching item exists in the current workspace.
Example
"FOUND"

UserError

Description

Represents an error in the input of a mutation.

Fields
Field Name Description
field - [String!] Path to the input field that caused the error.
message - String! The error message.
Example
{
  "field": ["xyz789"],
  "message": "xyz789"
}

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

HIGH

Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher.

LOW

Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0.

MEDIUM

Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0.

NOT_VIRAL

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
}