Archive Partners API
The Archive Partners API gives you programmatic access to enriched community data collected and maintained by Archive.
A "community" in Archive is the set of social profiles that interact with your brand across platforms (for example Instagram, TikTok, and YouTube). For each profile and piece of content, Archive aggregates and enriches data such as:
- Social profile details (handles, names, followers)
- Posts, Reels, Stories, Shorts and other media content
- Engagement metrics (views, plays, likes, comments, shares, EMV)
- Custom attributes and CRM-style metadata
GraphQL
The Archive API is built on the GraphQL query language (graphql.org).
- All requests are sent as
POSTrequests to the GraphQL endpoint:https://app.archive.com/api/v2 - You control which data is returned by selecting fields on the
Querytype. - Pagination follows the standard Relay-style cursor pattern.
API Endpoints
POST: https://app.archive.com/api/v2
Headers
# Contact [email protected] to obtain credentials or manage tokens.
Authorization: Bearer <YOUR_TOKEN_HERE>
# Required for workspace-scoped queries.
WORKSPACE-ID: 7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63
Authentication
All requests to the Archive Partners 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
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]
}
}
}
creators
Description
List and paginate creators for the current workspace, ordered newest first.
Response
Returns a CreatorConnection!
Arguments
| Name | Description |
|---|---|
first - Int
|
Number of creators to return (page size). Default = 20 |
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 = {} |
Example
Query
query creators(
$first: Int,
$after: String,
$customAttributeConditions: [CustomAttributeConditionInput!],
$filter: CreatorFilterInput
) {
creators(
first: $first,
after: $after,
customAttributeConditions: $customAttributeConditions,
filter: $filter
) {
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
{"first": 20, "after": null, "customAttributeConditions": [""], "filter": {}}
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": "ITEM"}
Response
{
"data": {
"customAttributeSchemas": [
{
"key": "xyz789",
"name": "abc123",
"options": [CustomAttributeOption],
"type": "EMAIL"
}
]
}
}
engagementHistory
Description
Paginated history of engagement metric snapshots for a specific item, ordered newest first.
Response
Returns an EngagementHistoryConnection!
Arguments
| Name | Description |
|---|---|
itemId - ID!
|
The ID of the item to fetch engagement history for. |
first - Int
|
Number of entries to return (page size). Default = 20 |
after - String
|
Cursor for fetching the next page of results. Default = null |
filter - EngagementHistoryFilterInput
|
Filter criteria for engagement history entries. Default = null |
Example
Query
query engagementHistory(
$itemId: ID!,
$first: Int,
$after: String,
$filter: EngagementHistoryFilterInput
) {
engagementHistory(
itemId: $itemId,
first: $first,
after: $after,
filter: $filter
) {
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
{
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"first": 20,
"after": null,
"filter": null
}
Response
{
"data": {
"engagementHistory": {
"edges": [EngagementHistoryEntryEdge],
"nodes": [EngagementHistoryEntry],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
filterPresets
Description
List saved filter presets for items queries in the current workspace.
Response
Returns [FilterPreset!]!
Example
Query
query filterPresets {
filterPresets {
accessor
id
name
}
}
Response
{
"data": {
"filterPresets": [
{
"accessor": "MEDIA_DECK",
"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 |
|---|---|
first - Int
|
Number of items to return (page size). Default = 20 |
after - String
|
Cursor for fetching the next page of results. |
presetId - ID
|
Filter preset ID. When provided, sorting, filter, and custom_attribute_conditions are ignored. |
sorting - [ItemSortingInput!]
|
Sorting instructions to apply to the result set. Default = [{sortKey: TAKEN_AT, sortOrder: DESC}] |
filter - ItemFilterInput
|
Filter criteria to narrow down results. Default = {} |
customAttributeConditions - [CustomAttributeConditionInput!]
|
Custom attribute filter conditions. Default = [] |
Example
Query
query items(
$first: Int,
$after: String,
$presetId: ID,
$sorting: [ItemSortingInput!],
$filter: ItemFilterInput,
$customAttributeConditions: [CustomAttributeConditionInput!]
) {
items(
first: $first,
after: $after,
presetId: $presetId,
sorting: $sorting,
filter: $filter,
customAttributeConditions: $customAttributeConditions
) {
edges {
cursor
node {
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 {
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
{
"first": 20,
"after": "eyJpZCI6IjEyMzQ1Njc4OTAxMjM0NTY3OCJ9",
"presetId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"sorting": {"sortKey": "TAKEN_AT", "direction": "DESC"},
"filter": {},
"customAttributeConditions": [""]
}
Response
{
"data": {
"items": {
"edges": [ItemEdge],
"nodes": [Item],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
mediaContents
Description
Retrieve media contents (images/videos) for the specified item IDs within the current workspace.
Response
Returns [MediaContent!]!
Arguments
| Name | Description |
|---|---|
itemIds - [ID!]!
|
Item IDs to fetch contents for (required). |
Example
Query
query mediaContents($itemIds: [ID!]!) {
mediaContents(itemIds: $itemIds) {
... on Image {
deleted
fileUrl
height
id
mediaItemId
thumbnailUrl
type
width
}
... on Video {
deleted
fileUrl
height
id
mediaItemId
thumbnailUrl
type
videoDuration
width
}
}
}
Variables
{
"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": "xyz789",
"pendingItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"processed": 987,
"status": "QUEUED",
"succeededItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"total": 987
}
}
}
operations
Description
List operations for the current workspace, ordered newest first.
Response
Returns an OperationConnection!
Example
Query
query operations(
$first: Int,
$after: String
) {
operations(
first: $first,
after: $after
) {
edges {
cursor
node {
createdAt
id
operationType
status
total
}
}
nodes {
createdAt
id
operationType
status
total
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
totalCount
}
}
Variables
{"first": 20, "after": null}
Response
{
"data": {
"operations": {
"edges": [OperationSummaryEdge],
"nodes": [OperationSummary],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
transcriptions
Description
Fetch transcriptions for one or more media contents belonging to the current workspace.
Response
Returns [Transcription!]!
Example
Query
query transcriptions(
$mediaContentIds: [ID!],
$itemIds: [ID!]
) {
transcriptions(
mediaContentIds: $mediaContentIds,
itemIds: $itemIds
) {
mediaContentId
transcript
}
}
Variables
{
"mediaContentIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"itemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
]
}
Response
{
"data": {
"transcriptions": [
{
"mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"transcript": "abc123"
}
]
}
}
workspace
Description
Return details for the current workspace, inferred from the WORKSPACE-ID header.
Response
Returns a Workspace!
Example
Query
query workspace {
workspace {
hashtags {
id
name
provider
type
}
id
integrations {
connectedAt
handle
id
provider
status
}
keywords {
id
name
provider
}
mentions {
id
name
provider
type
}
name
}
}
Response
{
"data": {
"workspace": {
"hashtags": [Tag],
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"integrations": [Integration],
"keywords": [Keyword],
"mentions": [Tag],
"name": "Acme Beauty – US"
}
}
}
workspaces
Description
List all workspaces that the current API user has access to.
Response
Returns a WorkspaceConnection!
Example
Query
query workspaces(
$first: Int,
$after: String
) {
workspaces(
first: $first,
after: $after
) {
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
{"first": 20, "after": null}
Response
{
"data": {
"workspaces": {
"edges": [WorkspaceEdge],
"nodes": [Workspace],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
Mutations
addItemToCollections
Description
Add an item to one or more collections.
Response
Returns an AddToCollectionsPayload
Arguments
| Name | Description |
|---|---|
itemId - ID!
|
ID of the item to add to collections. |
collectionIds - [ID!]
|
IDs of existing collections. Default = [] |
collectionNames - [String!]
|
Names of collections to add the item to. Default = [] |
autoCreate - Boolean
|
Automatically create collections by name if they do not exist. Default = false |
Example
Query
mutation addItemToCollections(
$itemId: ID!,
$collectionIds: [ID!],
$collectionNames: [String!],
$autoCreate: Boolean
) {
addItemToCollections(
itemId: $itemId,
collectionIds: $collectionIds,
collectionNames: $collectionNames,
autoCreate: $autoCreate
) {
item {
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
{
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"collectionIds": [""],
"collectionNames": [""],
"autoCreate": false
}
Response
{
"data": {
"addItemToCollections": {
"item": Item,
"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": 987,
"skippedItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"userErrors": [UserError]
}
}
}
removeItemFromCollections
Description
Remove an item from one or more collections.
Response
Returns a RemoveFromCollectionsPayload
Example
Query
mutation removeItemFromCollections(
$itemId: ID!,
$collectionIds: [ID!],
$collectionNames: [String!]
) {
removeItemFromCollections(
itemId: $itemId,
collectionIds: $collectionIds,
collectionNames: $collectionNames
) {
item {
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
{
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"collectionIds": [""],
"collectionNames": [""]
}
Response
{
"data": {
"removeItemFromCollections": {
"item": Item,
"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
Represents true or false values.
Example
true
Creator
Description
A creator (influencer) whose content is tracked in Archive.
Fields
| Field Name | Description |
|---|---|
customAttributes - JSON!
|
Custom metadata fields associated with the creator (for example CRM attributes). |
id - ID!
|
Unique identifier for the creator in Archive's system. |
socialProfiles - [SocialProfile!]!
|
Social media profiles linked to this creator across all platforms (for example Instagram, TikTok, YouTube). Returns an empty list if no profiles are linked. |
Example
{
"customAttributes": {},
"id": "98234",
"socialProfiles": [SocialProfile]
}
CreatorConnection
Description
Paginated list of creators.
Fields
| Field Name | Description |
|---|---|
edges - [CreatorEdge!]!
|
List of edges with cursors. |
nodes - [Creator!]!
|
List of creators. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [CreatorEdge],
"nodes": [Creator],
"pageInfo": PageInfo,
"totalCount": 987
}
CreatorEdge
CreatorFilterInput
Description
Filter criteria for searching creators.
Fields
| Input Field | Description |
|---|---|
locations - [LocationCanonicalInput!]
|
Filter creators by canonical location. Each entry ANDs its populated components (country/region/city); multiple entries OR together — useful for disambiguating same-named cities (e.g. Portland, Oregon vs. Portland, Maine). Canonical values come from the Geo normalization pipeline; omit a component to leave it unconstrained. |
Example
{"locations": [LocationCanonicalInput]}
CustomAttributeConditionInput
Fields
| Input Field | Description |
|---|---|
field - String!
|
|
operator - FilterOperator!
|
|
type - CustomAttributeType!
|
|
value - JSON
|
Example
{
"field": "abc123",
"operator": "IS",
"type": "EMAIL",
"value": {}
}
CustomAttributeOption
Description
A selectable option for custom attributes with predefined choices.
Example
{
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "xyz789"
}
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": "EMAIL"
}
CustomAttributeSchemaEntity
Description
Entity type that custom attributes can be attached to.
Values
| Enum Value | Description |
|---|---|
|
|
Item (archived social content) |
|
|
Creator profile |
Example
"ITEM"
CustomAttributeType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"EMAIL"
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"
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 engagementhistoryentries.
Fields
| Field Name | Description |
|---|---|
edges - [EngagementHistoryEntryEdge!]!
|
List of edges with cursors. |
nodes - [EngagementHistoryEntry!]!
|
List of engagementhistoryentries. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [EngagementHistoryEntryEdge],
"nodes": [EngagementHistoryEntry],
"pageInfo": PageInfo,
"totalCount": 123
}
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 engagementhistoryentry connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - EngagementHistoryEntry!
|
The engagementhistoryentry. |
Example
{
"cursor": "abc123",
"node": EngagementHistoryEntry
}
EngagementHistoryFilterInput
Description
Filter criteria for engagement history entries.
Fields
| Input Field | Description |
|---|---|
capturedAt - FilterDateRangeInput
|
Filter by the date range when engagement metrics were captured. |
Example
{"capturedAt": FilterDateRangeInput}
FilterContractStatus
Description
Status of a contract request (usage rights, whitelisting, etc.).
Values
| Enum Value | Description |
|---|---|
|
|
Contract has been approved by the creator. |
|
|
Contract approval has expired. |
|
|
Contract request is queued for processing. |
|
|
Contract request was rejected by the creator. |
|
|
Contract has been requested but not yet responded to. |
Example
"APPROVED"
FilterDateRangeInput
FilterEngagementField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"LIKE_COUNT"
FilterEngagementRangeInput
Fields
| Input Field | Description |
|---|---|
range - FilterIntegerRangeInput!
|
|
field - FilterEngagementField!
|
Example
{"range": FilterIntegerRangeInput, "field": "LIKE_COUNT"}
FilterImportType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"MANUAL"
FilterIntegerRangeInput
FilterItemType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"POST"
FilterOperator
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For multi-select custom attributes: matches records whose value array contains ALL of the provided values (AND semantics). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"IS"
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": "MEDIA_DECK",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"name": "xyz789"
}
FilterPresetAccessor
Description
Filter preset accessor type
Values
| Enum Value | Description |
|---|---|
|
|
Media deck filter preset |
|
|
Collections filter preset |
Example
"MEDIA_DECK"
FilterSuperSearchInput
Description
Input for performing visual or text-based super search across items.
Fields
| Input Field | Description |
|---|---|
similarMediaContentId - ID
|
ID of a media content to find visually similar items. |
searchQuery - String
|
Text query to search captions, transcriptions, or semantic content. |
imageUrl - String
|
URL of an external image to use for visual similarity search. |
fileName - String
|
Name of an uploaded file to use for visual similarity search. |
mode - FilterSuperSearchMode
|
Search mode determining how the query is processed. |
Example
{
"similarMediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"searchQuery": "xyz789",
"imageUrl": "abc123",
"fileName": "abc123",
"mode": "EMBEDDING_CONTENT"
}
FilterSuperSearchMode
Description
Mode to use when performing a super search query.
Values
| Enum Value | Description |
|---|---|
|
|
Search by visual/semantic similarity using content embeddings. |
|
|
Search by fuzzy matching against video/audio transcriptions. |
|
|
Search by fuzzy matching against post captions. |
Example
"EMBEDDING_CONTENT"
FilterTikTokWhitelistingEligibility
Description
Eligibility filter for items authored by TikTok creators reachable for whitelisting.
Values
| Enum Value | Description |
|---|---|
|
|
Match items authored by TikTok creators reachable via manual DM for whitelisting. |
Example
"ALL"
FilterViralityScore
Description
Categorized virality score used to filter items by how strongly the content outperforms its expected view-to-follower ratio. Higher categories indicate more viral content.
Values
| Enum Value | Description |
|---|---|
|
|
Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher. |
|
|
Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0. |
|
|
Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0. |
|
|
Content performing below expected reach, with low relative visibility. Typically corresponds to a view-to-follower ratio below ~1.0. |
Example
"HIGH"
ID
Description
Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.
Example
"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": "xyz789",
"height": 1350,
"id": "mc_456789",
"mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"thumbnailUrl": "abc123",
"type": "IMAGE",
"width": 1080
}
Int
Description
Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
Integration
Description
A connected social account for the workspace. Each entry represents one row in Archive's integrations table — distinct from Workspace.mentions, which lists tracked @-mention terms. Multiple integrations may share the same handle (e.g. two TikTok accounts under one tag) and each gets a distinct id.
Fields
| Field Name | Description |
|---|---|
connectedAt - DateTimeWithZone!
|
Timestamp when the integration was first established (ISO 8601 UTC). |
handle - String!
|
Public-facing account handle for this integration (for example "support_testing"). Sourced from the associated mention tag. |
id - ID!
|
Stable unique identifier for this integration (UUID). Distinguishes multiple integrations that share the same handle. |
provider - Provider!
|
Platform on which this account is connected (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL). |
status - IntegrationStatus!
|
Lifecycle state of the integration. CONNECTED = active and verified; DISCONNECTED = the account was removed or the integration failed; PENDING = setup in progress. |
Example
{
"connectedAt": "2025-01-15T10:30:00Z",
"handle": "xyz789",
"id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"provider": "INSTAGRAM",
"status": "CONNECTED"
}
IntegrationStatus
Description
Lifecycle status of a workspace integration (a connected social account).
Values
| Enum Value | Description |
|---|---|
|
|
The integration is active and verified — Archive can fetch content for this account. |
|
|
The integration has been removed by the user or has failed and is no longer active. Archive cannot fetch new content for this account until it is reconnected. |
|
|
The integration is being established — initial verification or onboarding has not completed yet. |
Example
"CONNECTED"
Item
Description
A single piece of social content archived in Archive.
Fields
| Field Name | Description |
|---|---|
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
{
"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": "xyz789",
"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": 123
}
ItemEdge
ItemFilterInput
Description
Filter criteria for searching archived items.
Fields
| Input Field | Description |
|---|---|
ids - [ID!]
|
Filter to specific item IDs. Default = [] |
provider - Provider
|
Filter by source platform (INSTAGRAM, TIKTOK, YOUTUBE, INTERNAL). |
itemTypes - [FilterItemType!]
|
Filter by item type (POST, REEL, STORY, TIKTOK, YOUTUBE, YOUTUBE_SHORT). |
contentTypes - [MediaContentType!]
|
Filter by media content type (IMAGE, VIDEO). |
takenAt - FilterDateRangeInput
|
Filter by publication date range. |
engagement - [FilterEngagementRangeInput!]
|
Filter by engagement metric ranges (likes, comments, views, etc.). |
viralityScore - [FilterViralityScore!]
|
Filter by virality score categories. Default = [] |
tagsNames - [String!]
|
Filter by hashtag or mention tag names. Default = [] |
sourcesIds - [ID!]
|
Filter by source IDs. Default = [] |
importType - FilterImportType
|
Filter by how the item was imported (manual or automatic). |
shopifyProductsIds - [String!]
|
Filter by associated Shopify product IDs. 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 = [] |
socialProfileIds - [ID!]
|
Filter by social profile IDs. Default = [] |
accountNames - [String!]
|
Filter by social profile account names/handles. Default = [] |
followersCount - FilterIntegerRangeInput
|
Filter by social profile follower count range. |
verified - [Boolean!]
|
Filter by social profile verification status. |
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 = [] |
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". |
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. |
tiktokSparkCodeStatus - [FilterContractStatus!]
|
Filter by TikTok Spark Code request status. |
instagramWhitelistingStatus - [FilterContractStatus!]
|
Filter by Instagram whitelisting request status. |
usageRightsStatus - [FilterContractStatus!]
|
Filter by usage rights request status. |
tiktokWhitelistingEligibility - FilterTikTokWhitelistingEligibility
|
Filter to items authored by TikTok creators eligible for whitelisting. |
superSearch - FilterSuperSearchInput
|
Visual or semantic search parameters. |
Example
{
"ids": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"provider": "INSTAGRAM",
"itemTypes": ["POST"],
"contentTypes": ["IMAGE"],
"takenAt": FilterDateRangeInput,
"engagement": [FilterEngagementRangeInput],
"viralityScore": ["HIGH"],
"tagsNames": ["xyz789"],
"sourcesIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"importType": "MANUAL",
"shopifyProductsIds": ["xyz789"],
"campaignsIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"collectionsIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"socialProfileIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"accountNames": ["abc123"],
"followersCount": FilterIntegerRangeInput,
"verified": [false],
"socialProfileAccountTypes": ["PERSONAL"],
"creatorLocations": [LocationCanonicalInput],
"ugcLocations": [LocationCanonicalInput],
"tiktokSparkCodeStatus": ["APPROVED"],
"instagramWhitelistingStatus": ["APPROVED"],
"usageRightsStatus": ["APPROVED"],
"tiktokWhitelistingEligibility": "ALL",
"superSearch": FilterSuperSearchInput
}
ItemSortKey
Description
Field to use when ordering items in search results.
Values
| Enum Value | Description |
|---|---|
|
|
Sort by when the content was originally posted on the social platform. |
|
|
Sort by the combined view/play count across platforms. |
|
|
Sort by total number of likes. |
|
|
Sort by total number of comments. |
|
|
Sort by number of shares. |
|
|
Sort by earned media value (EMV). |
|
|
Sort by linear virality score. |
|
|
Sort by exponential virality score. |
|
|
Sort by creator account name. |
|
|
Sort by number of followers on the posting account. |
Example
"TAKEN_AT"
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": "TAKEN_AT", "sortOrder": "ASC"}
ItemType
Description
Type of social content represented by this item on its source platform.
Values
| Enum Value | Description |
|---|---|
|
|
Standard feed post, such as a single image or carousel post on Instagram. |
|
|
Short-form vertical video published as a Reel or equivalent format. |
|
|
Ephemeral story content, typically available for a limited time. |
|
|
Short-form vertical video such as a YouTube Short or similar format. |
Example
"POST"
JSON
Description
Represents untyped JSON
Example
{}
Keyword
Description
A tracked keyword phrase used for YouTube (and other provider) content discovery in the workspace.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Unique identifier for the keyword in Archive's system. |
name - String!
|
The exact phrase being tracked (for example "noodles worth loving"). Named name for consistency with Tag.name; backed by the keywords.value column. |
provider - Provider!
|
Platform on which this keyword is tracked (currently YOUTUBE; reserved for future providers). |
Example
{
"id": "1a484f5f-adbc-4932-8523-9b9bfd779b2b",
"name": "noodles worth loving",
"provider": "YOUTUBE"
}
Location
Description
Structured location information attached to content or profiles.
Example
{
"city": "Santa Monica",
"country": "United States",
"formatted": "200 Santa Monica Pier, Santa Monica, California, United States",
"name": "Santa Monica Pier",
"state": "California"
}
LocationCanonicalInput
Description
Filter creators by canonical location components produced by the Geo normalization pipeline. Each populated component must match exactly (case-sensitive on the canonical value); omitted components are ignored.
Fields
| Input Field | Description |
|---|---|
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. |
city - String
|
Canonical city name (e.g. "Portland"). Matches creator.city_canonical exactly. |
Example
{
"country": "xyz789",
"region": "abc123",
"city": "xyz789"
}
MediaContent
MediaContentType
Description
Underlying type of the media asset.
Values
| Enum Value | Description |
|---|---|
|
|
Static image content (for example photos, thumbnails, frames). |
|
|
Video content (for example Reels, TikToks, Stories, YouTube videos). |
Example
"IMAGE"
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": 123,
"status": "QUEUED",
"succeededItemIds": [
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
],
"total": 987
}
OperationConnection
Description
Paginated list of operationsummaries.
Fields
| Field Name | Description |
|---|---|
edges - [OperationSummaryEdge!]!
|
List of edges with cursors. |
nodes - [OperationSummary!]!
|
List of operationsummaries. |
pageInfo - PageInfo!
|
Pagination information. |
totalCount - Int
|
Total number of items available. |
Example
{
"edges": [OperationSummaryEdge],
"nodes": [OperationSummary],
"pageInfo": PageInfo,
"totalCount": 123
}
OperationStatus
Description
Current processing status of an operation.
Values
| Enum Value | Description |
|---|---|
|
|
The operation has been created but processing has not yet started. |
|
|
The operation is currently being processed. |
|
|
All items in the operation have been processed successfully. |
|
|
The operation finished but some items failed while others succeeded. |
|
|
All items in the operation have failed. |
Example
"QUEUED"
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": "xyz789",
"status": "QUEUED",
"total": 987
}
OperationSummaryEdge
Description
An edge in the operationsummary connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - OperationSummary!
|
The operationsummary. |
Example
{
"cursor": "xyz789",
"node": OperationSummary
}
PageInfo
Description
Information about pagination in a connection.
Example
{
"endCursor": "xyz789",
"hasNextPage": true,
"hasPreviousPage": false,
"startCursor": "abc123"
}
Provider
Description
Platform or system from which content, profiles, or metadata originate.
Values
| Enum Value | Description |
|---|---|
|
|
Instagram platform integration, including posts, reels, stories, and profile data. |
|
|
TikTok platform integration, including videos and creator profile data. |
|
|
Internal Archive-managed source used for synthetic or system-generated content. |
|
|
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]
}
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": "xyz789",
"avatar": "https://cdn.archive-assets.com/avatars/alex_creates.jpg",
"creator": Creator,
"email": "[email protected]",
"followers": 52840,
"following": 987,
"fullName": "abc123",
"id": "sp_11223344",
"originalUrl": "abc123",
"phoneNumbers": ["xyz789"],
"private": true,
"proAccount": true,
"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 |
|---|---|
|
|
Personal Instagram account (consumer profile, no business/creator features). |
|
|
Instagram Creator account (creator features enabled, distinct from Business). |
|
|
Instagram Business account (business features and insights enabled). |
Example
"PERSONAL"
SortOrder
Description
Direction to apply when sorting items.
Values
| Enum Value | Description |
|---|---|
|
|
Sort in ascending order (for example oldest date or smallest number first). |
|
|
Sort in descending order (for example newest date or largest number first). |
Example
"ASC"
String
Description
Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
Tag
Description
A hashtag or mention tag associated with social content.
Example
{
"id": "tag_99887766",
"name": "summerstyle",
"provider": "INSTAGRAM",
"type": "HASHTAG"
}
TagType
Description
Category of tag based on how it appears in social content.
Values
| Enum Value | Description |
|---|---|
|
|
Hashtag tag (e.g. #archive) |
|
|
User mention tag (e.g. @archive) |
Example
"HASHTAG"
Transcription
Description
Text transcription generated for a piece of media content.
Example
{
"mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"transcript": "abc123"
}
UrlLookupResult
Description
Result of looking up a single URL or shortcode against the current workspace.
Fields
| Field Name | Description |
|---|---|
itemId - ID
|
The matching shop item UUID, or null if no match was found. |
status - UrlLookupStatus!
|
Outcome of the lookup: FOUND, NOT_FOUND, or INVALID_URL. |
url - String!
|
The original input URL or shortcode that was looked up. |
Example
{
"itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"status": "FOUND",
"url": "https://www.instagram.com/reel/CxYz1aBcDef/"
}
UrlLookupStatus
Description
Status of a URL lookup operation against the current workspace.
Values
| Enum Value | Description |
|---|---|
|
|
Item found in the current workspace matching the provided URL or shortcode. |
|
|
Valid URL or shortcode but no matching item exists in the current workspace. |
|
|
Could not parse a valid shortcode from the provided input. |
Example
"FOUND"
UserError
Video
Description
Video media content associated with an item.
Fields
| Field Name | Description |
|---|---|
deleted - Boolean!
|
True if the media content has been removed from the source platform. |
fileUrl - String
|
Direct URL to the underlying media file when Archive can serve it. |
height - Int
|
Height of the media content in pixels, when known. |
id - ID!
|
Unique identifier for the media content in Archive's system. |
mediaItemId - ID!
|
Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post. |
thumbnailUrl - String
|
URL of a preview thumbnail image for this media content, if available. |
type - MediaContentType!
|
Whether this media content is an IMAGE or a VIDEO. |
videoDuration - Int
|
Duration of the video in seconds, when available. |
width - Int
|
Width of the media content in pixels, when known. |
Example
{
"deleted": true,
"fileUrl": "xyz789",
"height": 1920,
"id": "mc_456790",
"mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"thumbnailUrl": "xyz789",
"type": "VIDEO",
"videoDuration": 123,
"width": 1080
}
ViralityScore
Description
Categorized virality score representing how strongly a piece of content outperforms its expected view-to-follower ratio. Higher categories indicate more viral content.
Values
| Enum Value | Description |
|---|---|
|
|
Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher. |
|
|
Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0. |
|
|
Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0. |
|
|
Content performing 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": 987
}
WorkspaceEdge
Description
An edge in the workspace connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
Cursor for this node. |
node - Workspace!
|
The workspace. |
Example
{
"cursor": "xyz789",
"node": Workspace
}