Skip to main content

Product catalog

Read every product listing you have access to within your organization, along with the brands each listing is mapped to.

Uses getOrganization.partnerSellableUnitsAggregated, a standard paged query: pass page to control the page size, read pageInfo to know when to stop (see Pagination).

A listing is one product as a partner reports it, so the same unitId recurs once per partner that carries it — a product sold on both Target Stores and Target.com appears twice. Treat unitId as unique per partner, not per organization.

FieldDescription
unitIdThe partner's identifier for the listing
nameProduct listing name
dataSource.partner.idID of the channel the listing came from
dataSource.partner.nameName of the channel the listing came from
dataSource.partnerCompanyIdThe partner account the listing belongs to
mappingsOne entry per brand the listing is mapped to. Empty when the listing is unmapped
mappings[].idInternal ID of the listing for that brand
mappings[].company.idID of the mapped brand
mappings[].company.nameName of the mapped brand
pageInfo.totalCountTotal number of listings (standard pagination)
pageInfo.hasNextPageWhether another page remains (standard pagination)
query OrganizationProductCatalog($organizationId: ID!, $page: PaginationInput) {
getOrganization(id: $organizationId) {
id
partnerSellableUnitsAggregated(page: $page) {
items {
unitId
name
dataSource {
partner {
id
name
}
partnerCompanyId
}
mappings {
id
company {
id
name
}
}
}
pageInfo {
totalCount
hasNextPage
}
}
}
}
Variables
{
"organizationId": "<ORGANIZATION_ID>",
"page": {
"limit": 25
}
}

Response
{
"data": {
"getOrganization": {
"id": "<ORGANIZATION_ID>",
"partnerSellableUnitsAggregated": {
"items": [
{
"unitId": "012-34-5678",
"name": "Product Listing Name",
"dataSource": {
"partner": {
"id": "0e52f800-e355-492b-99e2-e91d524302b1",
"name": "Target Stores"
},
"partnerCompanyId": "99999999"
},
"mappings": [
{
"id": "uuid",
"company": {
"id": "uuid",
"name": "Brand"
}
}
]
}
],
"pageInfo": {
"totalCount": 100,
"hasNextPage": true
}
}
}
}
}