Queries
All GraphQL queries for reading data from the Brandmachine API, in alphabetical order.
Each example selects a few fields of the returned type. Select the fields you need instead: the linked type lists all of them. Operations marked as not available with API tokens return an error when called with an API token.
activeMediaGenerationTasks
Get active (in-queue or in-progress) media generation tasks for notification center
Returns: [MediaGenerationTask!]!
Example:
query ActiveMediaGenerationTasks {
activeMediaGenerationTasks {
id
campaignImageId
completedAt
createdAt
designerInstanceRevisionId
errorMessage
}
}
backendCommit
Returns: String!
Example:
query BackendCommit {
backendCommit
}
batch
Get a single batch by ID with full relationships
Returns: Batch!
Arguments:
idUUID!required
Example:
query Batch($id: UUID!) {
batch(id: $id) {
id
campaignImageCount
createdAt
instructions
isGenerated
mediaGenerationTaskIds
}
}
batches
Get batches for the current team with pagination
Returns: [Batch!]!
Arguments:
limitIntoffsetInt
Example:
query Batches($limit: Int, $offset: Int) {
batches(limit: $limit, offset: $offset) {
id
campaignImageCount
createdAt
instructions
isGenerated
mediaGenerationTaskIds
}
}
batchInputImages
Get input images for a batch
Returns: [BatchInputImage!]!
Arguments:
batchIdUUID!required
Example:
query BatchInputImages($batchId: UUID!) {
batchInputImages(batchId: $batchId) {
id
batchId
createdAt
fileName
filenameView
imageUrl
}
}
billingCostSummary
Aggregated cost breakdown over a date range; totals + per-feature buckets for the cost-overview chart. from inclusive, to exclusive.
Returns: BillingCostSummary!
Arguments:
Example:
query BillingCostSummary($from: Date!, $to: Date!) {
billingCostSummary(from: $from, to: $to) {
fromDate
generationCents
releaseCents
toDate
totalCents
}
}
billingLedger
Paginated billing ledger for the requesting team, newest first.
Returns: [BillingLedgerEntry!]!
Arguments:
limitInt!requiredoffsetInt!required
Example:
query BillingLedger($limit: Int!, $offset: Int!) {
billingLedger(limit: $limit, offset: $offset) {
id
aiModel
balanceAfterCents
costCents
createdAt
deltaCents
}
}
brandAssets
The team's live brand asset library, logos first. Upload through POST /api/brand-assets/upload.
Returns: [BrandAsset!]!
Example:
query BrandAssets {
brandAssets {
id
archivedAt
createdAt
darkGroundImageKey
defaultSize
height
}
}
campaign
Get a single campaign by ID with full relationships
Returns: Campaign!
Arguments:
idUUID!required
Example:
query Campaign($id: UUID!) {
campaign(id: $id) {
id
createdAt
name
teamDomain
updatedAt
}
}
campaignImage
Get a single campaign image by ID
Returns: CampaignImage
Arguments:
idUUID!required
Example:
query CampaignImage($id: UUID!) {
campaignImage(id: $id) {
id
aspectRatio
createdAt
errorMessage
guidanceImageKey
guidanceImageUrl
}
}
campaignImages
Get campaign images with pagination
Returns: [CampaignImage!]!
Arguments:
limitIntoffsetInt
Example:
query CampaignImages($limit: Int, $offset: Int) {
campaignImages(limit: $limit, offset: $offset) {
id
aspectRatio
createdAt
errorMessage
guidanceImageKey
guidanceImageUrl
}
}
campaignImagesForBatch
Get draft CampaignImages for a batch plan review
Returns: [CampaignImage!]!
Arguments:
batchIdUUID!required
Example:
query CampaignImagesForBatch($batchId: UUID!) {
campaignImagesForBatch(batchId: $batchId) {
id
aspectRatio
createdAt
errorMessage
guidanceImageKey
guidanceImageUrl
}
}
campaigns
Get campaigns for the current team with pagination
Returns: [Campaign!]!
Arguments:
limitIntoffsetInt
Example:
query Campaigns($limit: Int, $offset: Int) {
campaigns(limit: $limit, offset: $offset) {
id
createdAt
name
teamDomain
updatedAt
}
}
creditBalance
The requesting team's PAYG credit balance in cents.
Returns: CreditBalanceResponse!
Example:
query CreditBalance {
creditBalance {
balanceCents
currency
}
}
creditBalanceDigest
Lightweight polling digest — MAX(created_at) over the team's billing ledger; refetch creditBalance when it changes.
Returns: Date
Example:
query CreditBalanceDigest {
creditBalanceDigest
}
currentTeam
Identity + billing-routing flags for the requesting team.
Returns: CurrentTeamResponse!
Example:
query CurrentTeam {
currentTeam {
id
adLocales
isPAYG
teamDomain
}
}
designerCollection
Fetch a single DesignerCollection by ID
Returns: DesignerCollection!
Arguments:
idUUID!required
Example:
query DesignerCollection($id: UUID!) {
designerCollection(id: $id) {
id
brief
createdAt
season
status
teamDomain
}
}
designerCollections
List DesignerCollections for the current team, most-recently updated first
Returns: [DesignerCollection!]!
Arguments:
limitIntoffsetInt
Example:
query DesignerCollections($limit: Int, $offset: Int) {
designerCollections(limit: $limit, offset: $offset) {
id
brief
createdAt
season
status
teamDomain
}
}
designerInstance
Get a single designer instance by ID
Returns: DesignerInstance
Arguments:
idUUID!required
Example:
query DesignerInstance($id: UUID!) {
designerInstance(id: $id) {
id
activeFabricId
archivedAt
createdAt
description
fashionModelRevisionId
}
}
designerInstanceRevision
Get a single designer instance revision by ID
Returns: DesignerInstanceRevision
Arguments:
idUUID!required
Example:
query DesignerInstanceRevision($id: UUID!) {
designerInstanceRevision(id: $id) {
id
annotationOverlayKey
annotationOverlaySourceSlot
annotationOverlayUrl
backFlatKey
backFlatUrl
}
}
designerInstances
Get designer instances with pagination
Returns: [DesignerInstance!]!
Arguments:
limitInt!requiredoffsetInt!required
Example:
query DesignerInstances($limit: Int!, $offset: Int!) {
designerInstances(limit: $limit, offset: $offset) {
id
activeFabricId
archivedAt
createdAt
description
fashionModelRevisionId
}
}
designerIterationRequest
Read-only: reconcile an admitted Designer iteration by its request claim. Returns null before admission and refuses unrelated historical revision IDs.
Returns: DesignerInstanceRevision
Arguments:
Example:
query DesignerIterationRequest($designerInstanceId: UUID!, $requestId: UUID!) {
designerIterationRequest(designerInstanceId: $designerInstanceId, requestId: $requestId) {
id
annotationOverlayKey
annotationOverlaySourceSlot
annotationOverlayUrl
backFlatKey
backFlatUrl
}
}
fashionModel
Get a single fashion model by ID
Returns: FashionModel
Arguments:
idUUID!required
Example:
query FashionModel($id: UUID!) {
fashionModel(id: $id) {
id
createdAt
gender
name
status
teamDomain
}
}
fashionModelCasting
Get a single fashion model casting with results
Returns: FashionModelCasting
Arguments:
idUUID!required
Example:
query FashionModelCasting($id: UUID!) {
fashionModelCasting(id: $id) {
id
createdAt
gender
prompt
teamDomain
updatedAt
}
}
fashionModelCastings
Get fashion model castings with pagination
Returns: [FashionModelCasting!]!
Arguments:
limitIntoffsetInt
Example:
query FashionModelCastings($limit: Int, $offset: Int) {
fashionModelCastings(limit: $limit, offset: $offset) {
id
createdAt
gender
prompt
teamDomain
updatedAt
}
}
fashionModelRevision
Get a single fashion model revision by ID
Returns: FashionModelRevision
Arguments:
idUUID!required
Example:
query FashionModelRevision($id: UUID!) {
fashionModelRevision(id: $id) {
id
createdAt
fashionModelId
favorite
fullPortraitKey
generationModel
}
}
fashionModels
Get all fashion models
Returns: [FashionModel!]!
Example:
query FashionModels {
fashionModels {
id
createdAt
gender
name
status
teamDomain
}
}
fileNameConvention
This team's filename convention, or the built-in fallback with isDefault=true when nothing is declared
Returns: FileNameConvention!
Example:
query FileNameConvention {
fileNameConvention {
exportPattern
isDefault
}
}
getAllBrandMemories
Returns: [BrandMemory!]!
Example:
query GetAllBrandMemories {
getAllBrandMemories {
id
brandIdentity
brandName
copywritingInstructions
createdAt
fashionModelInstructions
}
}
getAllPlans
Returns: [Plan!]!
Example:
query GetAllPlans {
getAllPlans {
id
createdAt
handle
name
productShortQuota
updatedAt
}
}
getAllProductStudioPerspectiveGroups
The team's perspective rail tabs, in rail order. Perspectives carry their own groupId, so fetch this once and join client-side rather than expecting a nested list here.
Returns: [ProductStudioPerspectiveGroup!]!
Example:
query GetAllProductStudioPerspectiveGroups {
getAllProductStudioPerspectiveGroups {
id
createdAt
name
purpose
sortOrder
teamDomain
}
}
getAllProductStudioPerspectives
Get all product studio perspectives for the current team
Returns: [ProductStudioPerspective!]!
Arguments:
includeArchivedBoolean
Example:
query GetAllProductStudioPerspectives($includeArchived: Boolean) {
getAllProductStudioPerspectives(includeArchived: $includeArchived) {
id
acceptedViewTypes
aiModel
archivedAt
aspectRatio
backgroundHexColor
}
}
getAllProductStudios
Get ProductStudio sessions for the current team, most recent first, capped (default 100).
Returns: [ProductStudio!]!
Arguments:
limitInt: Maximum number of studios to return, most recent first. Defaults to 100. Pass higher to fetch more history; the cap prevents unbounded payload growth.
Example:
query GetAllProductStudios($limit: Int) {
getAllProductStudios(limit: $limit) {
id
createdAt
isGenerated
status
teamDomain
title
}
}
getAllProductStudioSettings
Returns: [ProductStudioSetting!]!
Example:
query GetAllProductStudioSettings {
getAllProductStudioSettings {
id
createdAt
instructions
scanInstructions
teamDomain
updatedAt
}
}
getAllProductVideos
Returns: [ProductVideo!]!
Example:
query GetAllProductVideos {
getAllProductVideos {
id
createdAt
durationSeconds
modelType
productId
productImage
}
}
getBrandMemory
Returns: BrandMemory
Example:
query GetBrandMemory {
getBrandMemory {
id
brandIdentity
brandName
copywritingInstructions
createdAt
fashionModelInstructions
}
}
getBrandMemoryById
Returns: BrandMemory!
Arguments:
idUUID!required
Example:
query GetBrandMemoryById($id: UUID!) {
getBrandMemoryById(id: $id) {
id
brandIdentity
brandName
copywritingInstructions
createdAt
fashionModelInstructions
}
}
getCampaignSetting
Returns the current team's CampaignSetting, or null if not set.
Returns: CampaignSetting
Example:
query GetCampaignSetting {
getCampaignSetting {
id
createdAt
gptImage25Quality
teamDomain
updatedAt
useGemini3Pro
}
}
getPlan
Returns: Plan!
Arguments:
idUUID!required
Example:
query GetPlan($id: UUID!) {
getPlan(id: $id) {
id
createdAt
handle
name
productShortQuota
updatedAt
}
}
getProductStudio
Get a single ProductStudio by ID with perspective filtering
Returns: ProductStudio
Arguments:
Example:
query GetProductStudio($id: UUID!, $productStudioPerspectiveId: UUID) {
getProductStudio(id: $id, productStudioPerspectiveId: $productStudioPerspectiveId) {
id
createdAt
isGenerated
status
teamDomain
title
}
}
getProductStudioPerspective
Get a single product studio perspective by ID
Returns: ProductStudioPerspective
Arguments:
idUUID!required
Example:
query GetProductStudioPerspective($id: UUID!) {
getProductStudioPerspective(id: $id) {
id
acceptedViewTypes
aiModel
archivedAt
aspectRatio
backgroundHexColor
}
}
getProductStudioSetting
Returns: ProductStudioSetting
Example:
query GetProductStudioSetting {
getProductStudioSetting {
id
createdAt
instructions
scanInstructions
teamDomain
updatedAt
}
}
getProductStudioSettingById
Returns: ProductStudioSetting!
Arguments:
idUUID!required
Example:
query GetProductStudioSettingById($id: UUID!) {
getProductStudioSettingById(id: $id) {
id
createdAt
instructions
scanInstructions
teamDomain
updatedAt
}
}
getProductVideo
Returns: ProductVideo!
Arguments:
idUUID!required
Example:
query GetProductVideo($id: UUID!) {
getProductVideo(id: $id) {
id
createdAt
durationSeconds
modelType
productId
productImage
}
}
getShopifyProduct
Returns: String!
Arguments:
idString!required
Example:
query GetShopifyProduct($id: String!) {
getShopifyProduct(id: $id)
}
getShopName
Get information about the Shopify Store
Returns: String!
Example:
query GetShopName {
getShopName
}
groupShot
Get a single group shot by ID
Returns: GroupShot!
Arguments:
idUUID!required
Example:
query GroupShot($id: UUID!) {
groupShot(id: $id) {
id
aspectRatio
campaignId
createdAt
errorMessage
prompt
}
}
headlineTreatments
The team's headline treatments (over the photo, solid bands, panels), installing the presets on first read. Idempotent.
Returns: [BrandHeadlineTreatment!]!
Example:
query HeadlineTreatments {
headlineTreatments {
id
bandPosition
bandSize
copySurface
fillColor
ground
}
}
mediaFormats
The team's image-format catalog, installing it on first read. Idempotent.
Returns: [MediaFormat!]!
Example:
query MediaFormats {
mediaFormats {
id
aspectRatio
copyLimitsSourced
descriptionMaxChars
headlineMaxChars
maxBytes
}
}
mediaGenerationTasks
Get media generation tasks with optional filtering by status and type
Returns: [MediaGenerationTask!]!
Arguments:
statusContentGenerationStatustypeTaskType
Example:
query MediaGenerationTasks($status: ContentGenerationStatus, $type: TaskType) {
mediaGenerationTasks(status: $status, type: $type) {
id
campaignImageId
completedAt
createdAt
designerInstanceRevisionId
errorMessage
}
}
mediaGenerationTasksDigest
Lightweight polling — returns MAX(updated_at) across all team tasks
Returns: Date
Example:
query MediaGenerationTasksDigest {
mediaGenerationTasksDigest
}
mediaPlacements
The team's ad-unit catalog, installing it on first read. Idempotent.
Returns: [MediaPlacement!]!
Example:
query MediaPlacements {
mediaPlacements {
id
channel
copyLimitsSourced
ctaMaxChars
descriptionMaxChars
headlineMaxChars
}
}
mediaPlan
One media plan with its sources, placements and cards.
Returns: MediaPlan!
Arguments:
idUUID!required
Example:
query MediaPlan($id: UUID!) {
mediaPlan(id: $id) {
id
copyGeneratingSince
copyGenerationError
createdAt
headlineTreatmentId
instructions
}
}
mediaPlans
Every media plan for the team, newest first.
Returns: [MediaPlan!]!
Example:
query MediaPlans {
mediaPlans {
id
copyGeneratingSince
copyGenerationError
createdAt
headlineTreatmentId
instructions
}
}
pattern
Get a single pattern by ID
Returns: Pattern
Arguments:
idUUID!required
Example:
query Pattern($id: UUID!) {
pattern(id: $id) {
id
createdAt
name
repeatHorizontal
repeatVertical
status
}
}
patternRevision
Get a single pattern revision by ID
Returns: PatternRevision
Arguments:
idUUID!required
Example:
query PatternRevision($id: UUID!) {
patternRevision(id: $id) {
id
baseRevisionId
createdAt
errorMessage
favorite
generationModel
}
}
patterns
Get patterns with pagination, scoped to the current team
Returns: [Pattern!]!
Arguments:
limitInt!requiredoffsetInt!required
Example:
query Patterns($limit: Int!, $offset: Int!) {
patterns(limit: $limit, offset: $offset) {
id
createdAt
name
repeatHorizontal
repeatVertical
status
}
}
planDesignerChange
Read-only: compute the deterministic plan for a change set relative to a base revision (designer.md 5.0). Returns the effective setup (base's frozen setup overlaid with the change), which slots regenerate, whether the person base rebuilds (derived: outfit differs from the base's frozen value, or the base has no frozen setup), and exactly which shape/render prompts the composer must author (with context: base puppet key to edit, frozen description + outfit for the keep-clause, resolved fabric-swatch / paint-overlay URLs, the view). Creates nothing — generateDesignerRevision re-derives the same plan authoritatively and is the write. baseRevisionId is null for the first generation. Also returns viewDetails, the placed details per view that every render prompt for that view must bind. Refuses (400) a render view whose base has no puppet. A change set that matches the base returns an empty plan (regenerates: [], needFromComposer: []) rather than an error, which is the noop signal: do not compose and do not submit, because generateDesignerRevision refuses a change set that produces no render.
Returns: DesignerChangePlan!
Arguments:
recoverySourceRevisionIdUUIDdesignerInstanceIdUUID!requiredbaseRevisionIdUUIDchangeSetDesignerChangeSet!required
Example:
query PlanDesignerChange($recoverySourceRevisionId: UUID, $designerInstanceId: UUID!, $baseRevisionId: UUID, $changeSet: DesignerChangeSet!) {
planDesignerChange(recoverySourceRevisionId: $recoverySourceRevisionId, designerInstanceId: $designerInstanceId, baseRevisionId: $baseRevisionId, changeSet: $changeSet) {
baseRevisionId
deterministic
fingerprint
rebuildPersonBase
regenerates
}
}
previewFileNameConvention
Dry-run a convention without saving. Omit fileNames to run against the team's own uploads, which is what shows whether saving would change existing files.
Returns: FileNameConventionPreview!
Arguments:
conventionFileNameConventionInput!requiredfileNames[String!]perspectiveCodeString
Example:
query PreviewFileNameConvention($convention: FileNameConventionInput!, $fileNames: [String!], $perspectiveCode: String) {
previewFileNameConvention(convention: $convention, fileNames: $fileNames, perspectiveCode: $perspectiveCode) {
unmatchedCount
}
}
pricelist
Public PAYG pricelist derived from the current server-side PricingVersion. Every row carries its own label and tier: render those, and do not derive presentation from the usageType string. tier is GENERATION (charged per attempt while creating) or RELEASE (charged once when an asset is exported). Only charges a merchant can actually incur are returned. Rates that exist as internal fallbacks or belong to removed features are omitted, so this list will not match the full UsageType enum.
Returns: [PricelistEntry!]!
Example:
query Pricelist {
pricelist {
chargeCents
currency
label
outputUnit
pricingVersion
tier
}
}
productStudioHomeDigest
Pre-bucketed Home view payload: needs-your-attention and recently-generated sections.
Returns: ProductStudioHomeDigest!
Example:
query ProductStudioHomeDigest {
productStudioHomeDigest {
needsAttention {
perspectivesGenerated
perspectivesPicked
reviewState
thumbnailUrl
}
}
}
productStudioRenderSize
The pixel size a perspective with these settings renders at, before any crop. A free-form target ratio renders at its closest native ratio. Null for models Product Studio does not render with.
Returns: RenderSize
Arguments:
aiModelAiModel!requiredaspectRatioAspectRatiotargetRatioWInttargetRatioHIntpreviewBoolean
Example:
query ProductStudioRenderSize($aiModel: AiModel!, $aspectRatio: AspectRatio, $targetRatioW: Int, $targetRatioH: Int, $preview: Boolean) {
productStudioRenderSize(aiModel: $aiModel, aspectRatio: $aspectRatio, targetRatioW: $targetRatioW, targetRatioH: $targetRatioH, preview: $preview) {
height
width
}
}
productStudiosForBatch
Get draft ProductStudios for a batch plan review
Returns: [ProductStudio!]!
Arguments:
batchIdUUID!required
Example:
query ProductStudiosForBatch($batchId: UUID!) {
productStudiosForBatch(batchId: $batchId) {
id
createdAt
isGenerated
status
teamDomain
title
}
}
releasedImages
Every released image of the team that is new or changed since after, oldest change first: product studio outputs, campaign image results and group shot results. A change appears about one minute after it happens, so a release is never delivered before it is fully saved. A release changes when the image is re-released or edited after release, so the same release can appear again with a new exportImageUrl; treat its id as the key to overwrite. Deleting the studio or campaign removes its releases and is not reported here. To sync: call without after, then keep calling with the returned cursor while hasMore is true, and store the last cursor for the next run.
Returns: ReleasedImagesPage!
Arguments:
afterString: Thecursorfrom your previous call. Omit it on the first sync to start from the team's first release.firstInt: Page size, 1 to 500. Defaults to 100.
Example:
query ReleasedImages($after: String, $first: Int) {
releasedImages(after: $after, first: $first) {
cursor
hasMore
}
}
resourcesInDesignerCollection
Every DesignerInstanceResource owned by any DI inside the collection, most recent first. Drives the cross-DI resource browse panel in the Designer inspector.
Returns: [DesignerInstanceResource!]!
Arguments:
designerCollectionIdUUID!required
Example:
query ResourcesInDesignerCollection($designerCollectionId: UUID!) {
resourcesInDesignerCollection(designerCollectionId: $designerCollectionId) {
id
createdAt
description
designerInstanceId
imageKey
label
}
}
searchFashionModels
Search fashion models by name (case-insensitive)
Returns: [FashionModel!]!
Arguments:
nameString!requiredlimitInt
Example:
query SearchFashionModels($name: String!, $limit: Int) {
searchFashionModels(name: $name, limit: $limit) {
id
createdAt
gender
name
status
teamDomain
}
}
shootingLocation
Get a single shootingLocation by ID
Returns: ShootingLocation
Arguments:
idUUID!required
Example:
query ShootingLocation($id: UUID!) {
shootingLocation(id: $id) {
id
createdAt
teamDomain
thumbnailUrl
title
updatedAt
}
}
shootingLocationRevision
Get a single shooting location revision by ID
Returns: ShootingLocationRevision
Arguments:
idUUID!required
Example:
query ShootingLocationRevision($id: UUID!) {
shootingLocationRevision(id: $id) {
id
createdAt
favorite
imageKey
label
model
}
}
shootingLocations
Get shootingLocations with pagination
Returns: [ShootingLocation!]!
Arguments:
limitInt!requiredoffsetInt!required
Example:
query ShootingLocations($limit: Int!, $offset: Int!) {
shootingLocations(limit: $limit, offset: $offset) {
id
createdAt
teamDomain
thumbnailUrl
title
updatedAt
}
}
shopifyProducts
Search Shopify products via the Admin API
Returns: ShopifyProductsResult!
Arguments:
queryString!requiredfirstIntafterStringsortKeyStringreverseBoolean
Example:
query ShopifyProducts($query: String!, $first: Int, $after: String, $sortKey: String, $reverse: Boolean) {
shopifyProducts(query: $query, first: $first, after: $after, sortKey: $sortKey, reverse: $reverse) {
pageInfo {
endCursor
hasNextPage
}
}
}
sizeChart
Get a single size chart by ID
Returns: SizeChart!
Arguments:
idUUID!required
Example:
query SizeChart($id: UUID!) {
sizeChart(id: $id) {
id
baseSize
code
createdAt
department
derivedFromChartId
}
}
sizeChartDepartments
Departments that have current uploaded charts, for the matcher's department picker. Preselect when there is only one.
Returns: [String!]!
Example:
query SizeChartDepartments {
sizeChartDepartments
}
sizeCharts
The team's size chart library: uploaded standard specs and design charts. Metadata is cheap; rows load in batches.
Returns: [SizeChart!]!
Arguments:
sourceSizeChartSourcedepartmentStringgarmentTypeStringpatternGroupString: Only the charts of one pattern group, e.g. to show a chart's siblings.includeSupersededBoolean: Include uploaded charts replaced by a later upload. Default false.
Example:
query SizeCharts($source: SizeChartSource, $department: String, $garmentType: String, $patternGroup: String, $includeSuperseded: Boolean) {
sizeCharts(source: $source, department: $department, garmentType: $garmentType, patternGroup: $patternGroup, includeSuperseded: $includeSuperseded) {
id
baseSize
code
createdAt
department
derivedFromChartId
}
}
skill
Get a single skill by ID
Returns: Skill!
Arguments:
idUUID!required
Example:
query Skill($id: UUID!) {
skill(id: $id) {
id
body
createdAt
teamDomain
title
updatedAt
}
}
skills
Get all skills for the current team
Returns: [Skill!]!
Example:
query Skills {
skills {
id
body
createdAt
teamDomain
title
updatedAt
}
}
unassignedCampaignImages
Get campaign images not assigned to any campaign
Returns: [CampaignImage!]!
Arguments:
limitIntoffsetInt
Example:
query UnassignedCampaignImages($limit: Int, $offset: Int) {
unassignedCampaignImages(limit: $limit, offset: $offset) {
id
aspectRatio
createdAt
errorMessage
guidanceImageKey
guidanceImageUrl
}
}
wardrobeItem
Get a single wardrobe article by ID
Returns: WardrobeItem
Arguments:
idUUID!required
Example:
query WardrobeItem($id: UUID!) {
wardrobeItem(id: $id) {
id
archivedAt
category
createdAt
styleReference
teamDomain
}
}
wardrobeItems
Styling articles the team completes looks with
Returns: [WardrobeItem!]!
Arguments:
includeArchivedBoolean: Include archived articles. Settings only; pickers and the planner must not.
Example:
query WardrobeItems($includeArchived: Boolean) {
wardrobeItems(includeArchived: $includeArchived) {
id
archivedAt
category
createdAt
styleReference
teamDomain
}
}
workflow
A single workflow definition
Returns: Workflow!
Arguments:
idUUID!required
Example:
query Workflow($id: UUID!) {
workflow(id: $id) {
id
createdAt
instructions
name
teamDomain
updatedAt
}
}
workflowRun
A single workflow run; poll while non-terminal to watch progress
Returns: WorkflowRun!
Arguments:
idUUID!required
Example:
query WorkflowRun($id: UUID!) {
workflowRun(id: $id) {
id
awaitingStepId
batchId
completedStepIds
createdAt
lastError
}
}
workflowRuns
All runs of one workflow, newest first
Returns: [WorkflowRun!]!
Arguments:
workflowIdUUID!required
Example:
query WorkflowRuns($workflowId: UUID!) {
workflowRuns(workflowId: $workflowId) {
id
awaitingStepId
batchId
completedStepIds
createdAt
lastError
}
}
workflows
All workflow definitions for the team, newest first
Returns: [Workflow!]!
Example:
query Workflows {
workflows {
id
createdAt
instructions
name
teamDomain
updatedAt
}
}