Shape the catalog’s vocabulary — seasons, tags, characteristics, units
Define the words the catalog is described in — the seasons goods belong to, free-form tags, the typed characteristics products carry, your own units of measure, the top-level divisions and the makers — so every item is filed the same way.
Catalog · a play in 5 steps.
The steps
- Add a season — a time-bounded grouping goods belong to. — createSeason
- Add a tag — a free-form label. — createTag
- Add a characteristic — a typed attribute products carry, like material or care. — createCharacteristic
- Add a unit of measure of your own — a bundle, a crate. — createCustomUom
- Add a division — a top-level product grouping — and a manufacturer — who builds a product. — createDivision, createManufacturer
The calls
Every operation this use case runs, in the order it first appears, with the request and the response its reference page shows.
createSeason
createSeason — mutation · Create a new season — a time-bounded product grouping at your organization.
Example request
mutation ExampleCreateSeason($input: NewSeasonInput!) {
createSeason(input: $input) {
id
sysId
type
caption
status
parentId
rootId
createdAt
updatedAt
revisionNum
revision
code
startAt
endAt
}
}
Variables:
{
"input": {
"caption": "Blue jeans"
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"createSeason": {
"id": "01900000-0000-7000-8000-37386ae00000",
"sysId": "SN-EXMP-0000-000F",
"type": "Season",
"caption": "Blue jeans",
"status": "active",
"parentId": "01900000-0000-7000-8000-065235280000",
"rootId": "01900000-0000-7000-8000-a093dd800000",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1,
"revision": "01900000-0000-7000-8000-b7960e180000",
"code": "BJ-001",
"startAt": "2027-01-31T00:00:00.000Z",
"endAt": "2027-01-31T00:00:00.000Z"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
createTag
createTag — mutation · Create a new tag — a free-form product label at your organization.
Example request
mutation ExampleCreateTag($input: NewTagInput!) {
createTag(input: $input) {
id
sysId
type
caption
status
parentId
rootId
createdAt
updatedAt
revisionNum
revision
code
}
}
Variables:
{
"input": {
"caption": "Blue jeans"
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"createTag": {
"id": "01900000-0000-7000-8000-37386ae00000",
"sysId": "TG-EXMP-0000-000F",
"type": "Tag",
"caption": "Blue jeans",
"status": "active",
"parentId": "01900000-0000-7000-8000-065235280000",
"rootId": "01900000-0000-7000-8000-a093dd800000",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1,
"revision": "01900000-0000-7000-8000-b7960e180000",
"code": "BJ-001"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
createCharacteristic
createCharacteristic — mutation · Create a new product characteristic — a typed attribute products carry (material, care, age rating) at your organization.
Example request
mutation ExampleCreateCharacteristic($input: NewCharacteristicInput!) {
createCharacteristic(input: $input) {
id
sysId
type
caption
status
parentId
rootId
createdAt
updatedAt
revisionNum
revision
valueType
unit
code
}
}
Variables:
{
"input": {
"caption": "Blue jeans",
"valueType": "string"
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"createCharacteristic": {
"id": "01900000-0000-7000-8000-37386ae00000",
"sysId": "CH-EXMP-0000-000F",
"type": "Characteristic",
"caption": "Blue jeans",
"status": "active",
"parentId": "01900000-0000-7000-8000-065235280000",
"rootId": "01900000-0000-7000-8000-a093dd800000",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1,
"revision": "01900000-0000-7000-8000-b7960e180000",
"valueType": "string",
"unit": "<unit>",
"code": "BJ-001"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
createCustomUom
createCustomUom — mutation · Create a new custom unit of measure your group defines (a bundle, a crate) at your organization.
Example request
mutation ExampleCreateCustomUom($input: NewCustomUomInput!) {
createCustomUom(input: $input) {
id
sysId
type
caption
status
parentId
rootId
createdAt
updatedAt
revisionNum
revision
dimensionClass
factorToBase
code
}
}
Variables:
{
"input": {
"caption": "Blue jeans",
"dimensionClass": "count",
"factorToBase": 1.5
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"createCustomUom": {
"id": "01900000-0000-7000-8000-37386ae00000",
"sysId": "UM-EXMP-0000-000F",
"type": "CustomUom",
"caption": "Blue jeans",
"status": "active",
"parentId": "01900000-0000-7000-8000-065235280000",
"rootId": "01900000-0000-7000-8000-a093dd800000",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1,
"revision": "01900000-0000-7000-8000-b7960e180000",
"dimensionClass": "count",
"factorToBase": 1.5,
"code": "BJ-001"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
createDivision
createDivision — mutation · Create a new division — a top-level product grouping at your organization.
Example request
mutation ExampleCreateDivision($input: NewDivisionInput!) {
createDivision(input: $input) {
id
sysId
type
caption
status
parentId
rootId
createdAt
updatedAt
revisionNum
revision
divisionType
code
}
}
Variables:
{
"input": {
"caption": "Blue jeans",
"divisionType": "merchandise"
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"createDivision": {
"id": "01900000-0000-7000-8000-37386ae00000",
"sysId": "DV-EXMP-0000-000F",
"type": "Division",
"caption": "Blue jeans",
"status": "active",
"parentId": "01900000-0000-7000-8000-065235280000",
"rootId": "01900000-0000-7000-8000-a093dd800000",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1,
"revision": "01900000-0000-7000-8000-b7960e180000",
"divisionType": "merchandise",
"code": "BJ-001"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
createManufacturer
createManufacturer — mutation · Create a new manufacturer — who builds a product at your organization.
Example request
mutation ExampleCreateManufacturer($input: NewManufacturerInput!) {
createManufacturer(input: $input) {
id
sysId
type
caption
status
parentId
rootId
createdAt
updatedAt
revisionNum
revision
origin
code
}
}
Variables:
{
"input": {
"caption": "Blue jeans"
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"createManufacturer": {
"id": "01900000-0000-7000-8000-37386ae00000",
"sysId": "MF-EXMP-0000-000F",
"type": "Manufacturer",
"caption": "Blue jeans",
"status": "active",
"parentId": "01900000-0000-7000-8000-065235280000",
"rootId": "01900000-0000-7000-8000-a093dd800000",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1,
"revision": "01900000-0000-7000-8000-b7960e180000",
"origin": "<origin>",
"code": "BJ-001"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}