GraphQL API Reference

Welcome to the Submarine Platform GraphQL API reference. This reference includes the complete set of GraphQL types, queries, mutations, and their parameters for interacting with the Submarine eco-system.

For more general Submarine platform documentation, please check out our platform overview.

Learn how to authenticate to the API in the Getting Started guide.

Platform help desk∶ https://help.discolabs.com/portal/sign_in

Platform API Status∶ https://status.getsubmarine.com

API Endpoints
# Production:
https://api.getsubmarine.com/graphql
Headers
# You will need your API Token, these are environment specific
Authorization: Bearer <YOUR_PLATFORM_TOKEN_HERE>
Version

1.0.0

Channels

Queries

channel

Description

Find a channel by ID, or return the current channel.

Response

Returns a Channel

Arguments
Name Description
id - SharedGlobalID The channel's ID.

Example

Query
query channel($id: SharedGlobalID) {
  channel(id: $id) {
    channelType
    config {
      ...PlatformConfigFragment
    }
    createdAt
    externalId
    id
    identifier
    name
    organisation {
      ...OrganisationFragment
    }
    sharedSecret
    status
    updatedAt
  }
}
Variables
{"id": SharedGlobalID}
Response
{
  "data": {
    "channel": {
      "channelType": "SHOPIFY",
      "config": PlatformConfig,
      "createdAt": ISO8601DateTime,
      "externalId": "4",
      "id": GlobalID,
      "identifier": "abc123",
      "name": "abc123",
      "organisation": Organisation,
      "sharedSecret": "xyz789",
      "status": "ACTIVE",
      "updatedAt": ISO8601DateTime
    }
  }
}

channels

Description

List all channels.

Response

Returns a ChannelConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query channels(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  channels(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...ChannelEdgeFragment
    }
    nodes {
      ...ChannelFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "after": "xyz789",
  "before": "abc123",
  "first": 123,
  "last": 987
}
Response
{
  "data": {
    "channels": {
      "edges": [ChannelEdge],
      "nodes": [Channel],
      "pageInfo": PageInfo
    }
  }
}

Objects

Channel

Description

A sales channel.

Fields
Field Name Description
channelType - ChannelType! The type of sales channel (eg. Shopify).
config - PlatformConfig! The channel's Submarine configuration.
createdAt - ISO8601DateTime! The time the channel was created
externalId - ID! The channel's external ID.
id - GlobalID! The channel's ID.
identifier - String! The channel's identifier
name - String The channel's name
organisation - Organisation! The channel's owner.
sharedSecret - String! The shared secret to be used when decoding Submarine notifications.
status - ChannelStatus! The channel's status (eg. active).
updatedAt - ISO8601DateTime! The time the channel was last updated
Example
{
  "channelType": "SHOPIFY",
  "config": PlatformConfig,
  "createdAt": ISO8601DateTime,
  "externalId": 4,
  "id": GlobalID,
  "identifier": "abc123",
  "name": "xyz789",
  "organisation": Organisation,
  "sharedSecret": "xyz789",
  "status": "ACTIVE",
  "updatedAt": ISO8601DateTime
}

Organisations

Queries

organisation

Description

Find an organisation by ID, or return the current organisation

Response

Returns an Organisation

Arguments
Name Description
id - GlobalID The organisation's ID.

Example

Query
query organisation($id: GlobalID) {
  organisation(id: $id) {
    address {
      ...MailingAddressFragment
    }
    channels {
      ...ChannelConnectionFragment
    }
    createdAt
    email
    id
    name
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "organisation": {
      "address": MailingAddress,
      "channels": ChannelConnection,
      "createdAt": "xyz789",
      "email": "xyz789",
      "id": GlobalID,
      "name": "xyz789",
      "status": "ACTIVE",
      "updatedAt": "xyz789"
    }
  }
}

organisations

Description

List all organisations.

Response

Returns an OrganisationConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query organisations(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  organisations(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...OrganisationEdgeFragment
    }
    nodes {
      ...OrganisationFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "after": "abc123",
  "before": "abc123",
  "first": 123,
  "last": 987
}
Response
{
  "data": {
    "organisations": {
      "edges": [OrganisationEdge],
      "nodes": [Organisation],
      "pageInfo": PageInfo
    }
  }
}

Mutations

organisationCreate

Description

Create a new organisation.

Response

Returns an OrganisationCreatePayload

Arguments
Name Description
input - OrganisationCreateInput! Input for creating an organisation.

Example

Query
mutation organisationCreate($input: OrganisationCreateInput!) {
  organisationCreate(input: $input) {
    organisation {
      ...OrganisationFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": OrganisationCreateInput}
Response
{
  "data": {
    "organisationCreate": {
      "organisation": Organisation,
      "userErrors": [UserError]
    }
  }
}

Objects

Organisation

Description

An organisation using the Submarine Platform.

Fields
Field Name Description
address - MailingAddress The organisation's mailing address.
channels - ChannelConnection! The organisation's channels.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

createdAt - String! The time the organisation was created
email - String! The organisation's email address.
id - GlobalID! The organisation's ID.
name - String! The organisation's name.
status - OrganisationStatus! The organisation's status (eg. active).
updatedAt - String! The time the organisation was last updated
Example
{
  "address": MailingAddress,
  "channels": ChannelConnection,
  "createdAt": "xyz789",
  "email": "abc123",
  "id": GlobalID,
  "name": "abc123",
  "status": "ACTIVE",
  "updatedAt": "xyz789"
}

Products

Queries

product

Description

Find a product by ID.

Response

Returns a Product

Arguments
Name Description
id - SharedGlobalID! The product's ID.

Example

Query
query product($id: SharedGlobalID!) {
  product(id: $id) {
    channel {
      ...ChannelFragment
    }
    externalId
    id
    imageUrl
    productVariants {
      ...ProductVariantFragment
    }
    status
    title
  }
}
Variables
{"id": SharedGlobalID}
Response
{
  "data": {
    "product": {
      "channel": Channel,
      "externalId": "xyz789",
      "id": GlobalID,
      "imageUrl": "xyz789",
      "productVariants": [ProductVariant],
      "status": "DELETED",
      "title": "xyz789"
    }
  }
}

products

Description

List all products.

Response

Returns a ProductConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query products(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  products(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...ProductEdgeFragment
    }
    nodes {
      ...ProductFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "after": "abc123",
  "before": "xyz789",
  "first": 987,
  "last": 987
}
Response
{
  "data": {
    "products": {
      "edges": [ProductEdge],
      "nodes": [Product],
      "pageInfo": PageInfo
    }
  }
}

Mutations

productCreate

Description

Create a new product.

Response

Returns a ProductCreatePayload

Arguments
Name Description
input - ProductCreateInput! Input for creating a product.

Example

Query
mutation productCreate($input: ProductCreateInput!) {
  productCreate(input: $input) {
    product {
      ...ProductFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ProductCreateInput}
Response
{
  "data": {
    "productCreate": {
      "product": Product,
      "userErrors": [UserError]
    }
  }
}

productDelete

Description

Delete a product.

Response

Returns a ProductDeletePayload

Arguments
Name Description
input - ProductDeleteInput! Input for deleting a product.

Example

Query
mutation productDelete($input: ProductDeleteInput!) {
  productDelete(input: $input) {
    deletedProductId
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ProductDeleteInput}
Response
{
  "data": {
    "productDelete": {
      "deletedProductId": GlobalID,
      "userErrors": [UserError]
    }
  }
}

productUpdate

Description

Update a product.

Response

Returns a ProductUpdatePayload

Arguments
Name Description
input - ProductUpdateInput! Input for updating a product.

Example

Query
mutation productUpdate($input: ProductUpdateInput!) {
  productUpdate(input: $input) {
    product {
      ...ProductFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ProductUpdateInput}
Response
{
  "data": {
    "productUpdate": {
      "product": Product,
      "userErrors": [UserError]
    }
  }
}

Objects

Product

Description

A product.

Fields
Field Name Description
channel - Channel! The product's channel.
externalId - String! The product's external ID.
id - GlobalID! The product's ID.
imageUrl - String The product's image url.
productVariants - [ProductVariant!]! The product's variants.
status - ProductStatus! The product's status.
title - String The product's title.
Example
{
  "channel": Channel,
  "externalId": "xyz789",
  "id": GlobalID,
  "imageUrl": "xyz789",
  "productVariants": [ProductVariant],
  "status": "DELETED",
  "title": "xyz789"
}

Product Variants

Queries

productVariant

Description

Find a product variant by ID.

Response

Returns a ProductVariant

Arguments
Name Description
id - SharedGlobalID! The product variant's ID.

Example

Query
query productVariant($id: SharedGlobalID!) {
  productVariant(id: $id) {
    externalId
    id
    imageUrl
    product {
      ...ProductFragment
    }
    shippable
    sku
    status
    taxable
    title
    weightGrams
  }
}
Variables
{"id": SharedGlobalID}
Response
{
  "data": {
    "productVariant": {
      "externalId": "xyz789",
      "id": GlobalID,
      "imageUrl": "abc123",
      "product": Product,
      "shippable": false,
      "sku": "xyz789",
      "status": "DELETED",
      "taxable": false,
      "title": "abc123",
      "weightGrams": 987
    }
  }
}

productVariants

Description

List all product variants.

Response

Returns a ProductVariantConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query productVariants(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  productVariants(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...ProductVariantEdgeFragment
    }
    nodes {
      ...ProductVariantFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "after": "xyz789",
  "before": "xyz789",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "productVariants": {
      "edges": [ProductVariantEdge],
      "nodes": [ProductVariant],
      "pageInfo": PageInfo
    }
  }
}

Mutations

productVariantCreate

Description

Create a new product variant.

Response

Returns a ProductVariantCreatePayload

Arguments
Name Description
input - ProductVariantCreateInput! Input for creating a product variant.

Example

Query
mutation productVariantCreate($input: ProductVariantCreateInput!) {
  productVariantCreate(input: $input) {
    productVariant {
      ...ProductVariantFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ProductVariantCreateInput}
Response
{
  "data": {
    "productVariantCreate": {
      "productVariant": ProductVariant,
      "userErrors": [UserError]
    }
  }
}

productVariantDelete

Description

Delete a product variant.

Response

Returns a ProductVariantDeletePayload

Arguments
Name Description
input - ProductVariantDeleteInput! Input for deleting a product variant.

Example

Query
mutation productVariantDelete($input: ProductVariantDeleteInput!) {
  productVariantDelete(input: $input) {
    deletedProductVariantId
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ProductVariantDeleteInput}
Response
{
  "data": {
    "productVariantDelete": {
      "deletedProductVariantId": GlobalID,
      "userErrors": [UserError]
    }
  }
}

productVariantUpdate

Description

Update a product variant.

Response

Returns a ProductVariantUpdatePayload

Arguments
Name Description
input - ProductVariantUpdateInput! Input for updating a product variant.

Example

Query
mutation productVariantUpdate($input: ProductVariantUpdateInput!) {
  productVariantUpdate(input: $input) {
    productVariant {
      ...ProductVariantFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ProductVariantUpdateInput}
Response
{
  "data": {
    "productVariantUpdate": {
      "productVariant": ProductVariant,
      "userErrors": [UserError]
    }
  }
}

Objects

ProductVariant

Description

A product.

Fields
Field Name Description
externalId - String! The variant's external ID.
id - GlobalID! The product variant's ID.
imageUrl - String The variant's image URL.
product - Product! The product this variant belongs to.
shippable - Boolean! Whether the variant requires shipping.
sku - String The variant's SKU.
status - ProductVariantStatus! The variant's status.
taxable - Boolean! Whether a tax is charged when the variant is sold.
title - String The variant's title.
weightGrams - Int The variant's weight in grams.
Example
{
  "externalId": "abc123",
  "id": GlobalID,
  "imageUrl": "abc123",
  "product": Product,
  "shippable": true,
  "sku": "abc123",
  "status": "DELETED",
  "taxable": false,
  "title": "xyz789",
  "weightGrams": 987
}

Webhooks

Queries

webhook

Description

Find a webhook by ID.

Response

Returns a Webhook

Arguments
Name Description
id - GlobalID! The webhook's ID.

Example

Query
query webhook($id: GlobalID!) {
  webhook(id: $id) {
    channel {
      ...ChannelFragment
    }
    createdAt
    id
    status
    topic
    updatedAt
    url
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "webhook": {
      "channel": Channel,
      "createdAt": ISO8601DateTime,
      "id": GlobalID,
      "status": "ACTIVE",
      "topic": "CAMPAIGN_ORDER_CANCELLED",
      "updatedAt": ISO8601DateTime,
      "url": Url
    }
  }
}

webhooks

Description

List all webhooks.

Response

Returns a WebhookConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query webhooks(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  webhooks(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...WebhookEdgeFragment
    }
    nodes {
      ...WebhookFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "after": "xyz789",
  "before": "xyz789",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "webhooks": {
      "edges": [WebhookEdge],
      "nodes": [Webhook],
      "pageInfo": PageInfo
    }
  }
}

Mutations

webhookCreate

Description

Creates a webhook subscription.

Response

Returns a WebhookCreatePayload

Arguments
Name Description
input - WebhookCreateInput! Input for creating a webhook subscription.

Example

Query
mutation webhookCreate($input: WebhookCreateInput!) {
  webhookCreate(input: $input) {
    userErrors {
      ...UserErrorFragment
    }
    webhook {
      ...WebhookFragment
    }
  }
}
Variables
{"input": WebhookCreateInput}
Response
{
  "data": {
    "webhookCreate": {
      "userErrors": [UserError],
      "webhook": Webhook
    }
  }
}

webhookDelete

Description

Deletes a webhook subscription.

Response

Returns a WebhookDeletePayload

Arguments
Name Description
input - WebhookDeleteInput! Input for deleting a Webhook Subscription.

Example

Query
mutation webhookDelete($input: WebhookDeleteInput!) {
  webhookDelete(input: $input) {
    deletedWebhookId
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": WebhookDeleteInput}
Response
{
  "data": {
    "webhookDelete": {
      "deletedWebhookId": GlobalID,
      "userErrors": [UserError]
    }
  }
}

webhookUpdate

Description

Updates a webhook subscription.

Response

Returns a WebhookUpdatePayload

Arguments
Name Description
input - WebhookUpdateInput! Input for updating the webhook.

Example

Query
mutation webhookUpdate($input: WebhookUpdateInput!) {
  webhookUpdate(input: $input) {
    userErrors {
      ...UserErrorFragment
    }
    webhook {
      ...WebhookFragment
    }
  }
}
Variables
{"input": WebhookUpdateInput}
Response
{
  "data": {
    "webhookUpdate": {
      "userErrors": [UserError],
      "webhook": Webhook
    }
  }
}

Objects

Webhook

Description

A webhook.

Fields
Field Name Description
channel - Channel! The webhooks's channel
createdAt - ISO8601DateTime! The time the webhook was created
id - GlobalID! The webhooks's ID.
status - WebhookStatus! The webhooks's status (eg. ACTIVE).
topic - WebhookTopic! The webhooks's topic (eg. CHARGE_FAILED).
updatedAt - ISO8601DateTime! The time the webhook was last updated
url - Url! The webhooks url path
Example
{
  "channel": Channel,
  "createdAt": ISO8601DateTime,
  "id": GlobalID,
  "status": "ACTIVE",
  "topic": "CAMPAIGN_ORDER_CANCELLED",
  "updatedAt": ISO8601DateTime,
  "url": Url
}

Charges

Queries

charge

Description

Find a Charge by ID.

Response

Returns a Charge

Arguments
Name Description
id - GlobalID! The charge's ID.

Example

Query
query charge($id: GlobalID!) {
  charge(id: $id) {
    amount {
      ...MoneyFragment
    }
    chargeType
    createdAt
    customer {
      ...CustomerFragment
    }
    description
    externalId
    failureCode
    failureMessage
    id
    metadata
    paymentIntent {
      ...PaymentIntentFragment
    }
    recordStatus
    refunds {
      ...RefundFragment
    }
    source
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "charge": {
      "amount": Money,
      "chargeType": "AUTHORISE",
      "createdAt": ISO8601DateTime,
      "customer": Customer,
      "description": "abc123",
      "externalId": "abc123",
      "failureCode": "API_ERROR",
      "failureMessage": "abc123",
      "id": GlobalID,
      "metadata": Metadata,
      "paymentIntent": PaymentIntent,
      "recordStatus": "PROCESSED",
      "refunds": [Refund],
      "source": "SHOPIFY",
      "status": "FAILED",
      "updatedAt": ISO8601DateTime
    }
  }
}

charges

Description

List all charges.

Response

Returns a ChargeConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query charges(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  charges(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...ChargeEdgeFragment
    }
    nodes {
      ...ChargeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "xyz789",
  "before": "xyz789",
  "first": 987,
  "last": 123
}
Response
{
  "data": {
    "charges": {
      "edges": [ChargeEdge],
      "nodes": [Charge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

Mutations

chargeCapture

Description

Captures a charge for a payment intent.

Response

Returns a ChargeCapturePayload

Arguments
Name Description
input - ChargeCaptureInput! Input for capturing a charge.

Example

Query
mutation chargeCapture($input: ChargeCaptureInput!) {
  chargeCapture(input: $input) {
    charge {
      ...ChargeFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ChargeCaptureInput}
Response
{
  "data": {
    "chargeCapture": {
      "charge": Charge,
      "userErrors": [UserError]
    }
  }
}

chargeRecord

Description

Records a charge for a payment intent.

Response

Returns a ChargeRecordPayload

Arguments
Name Description
input - ChargeRecordInput! Input for recording a charge.

Example

Query
mutation chargeRecord($input: ChargeRecordInput!) {
  chargeRecord(input: $input) {
    charge {
      ...ChargeFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ChargeRecordInput}
Response
{
  "data": {
    "chargeRecord": {
      "charge": Charge,
      "userErrors": [UserError]
    }
  }
}

Objects

Charge

Description

A Charge

Fields
Field Name Description
amount - Money The amount the charge is for.
chargeType - ChargeType The type of charge.
createdAt - ISO8601DateTime! The time the charge was created.
customer - Customer! The customer associated with the charge.
description - String The charge's description.
externalId - String The external ID of the charge.
failureCode - ChargeFailureCode The type of failure.
failureMessage - String The failure message.
id - GlobalID! The ID of the charge.
metadata - Metadata Unstructured key/value pairs.
paymentIntent - PaymentIntent! The associated payment intent.
recordStatus - RecordStatus The record status of charge.
refunds - [Refund!] The refunds associated with this charge.
source - ChargeSource The source of the charge.
status - ChargeStatus The charge's status.
updatedAt - ISO8601DateTime The time the charge was last updated.
Example
{
  "amount": Money,
  "chargeType": "AUTHORISE",
  "createdAt": ISO8601DateTime,
  "customer": Customer,
  "description": "xyz789",
  "externalId": "xyz789",
  "failureCode": "API_ERROR",
  "failureMessage": "xyz789",
  "id": GlobalID,
  "metadata": Metadata,
  "paymentIntent": PaymentIntent,
  "recordStatus": "PROCESSED",
  "refunds": [Refund],
  "source": "SHOPIFY",
  "status": "FAILED",
  "updatedAt": ISO8601DateTime
}

Payment Intents

Queries

paymentIntent

Description

Find a Payment Intent by ID.

Response

Returns a PaymentIntent

Arguments
Name Description
id - GlobalID! The payment intent's ID.

Example

Query
query paymentIntent($id: GlobalID!) {
  paymentIntent(id: $id) {
    adjustments {
      ...PaymentIntentAdjustmentFragment
    }
    amount {
      ...MoneyFragment
    }
    amountPaid {
      ...MoneyFragment
    }
    amountRefunded {
      ...MoneyFragment
    }
    balanceOwing {
      ...MoneyFragment
    }
    charges {
      ...ChargeFragment
    }
    createdAt
    customer {
      ...CustomerFragment
    }
    id
    metadata
    paymentMethod {
      ...PaymentMethodFragment
    }
    refunds {
      ...RefundFragment
    }
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "paymentIntent": {
      "adjustments": [PaymentIntentAdjustment],
      "amount": Money,
      "amountPaid": Money,
      "amountRefunded": Money,
      "balanceOwing": Money,
      "charges": [Charge],
      "createdAt": ISO8601DateTime,
      "customer": Customer,
      "id": GlobalID,
      "metadata": Metadata,
      "paymentMethod": PaymentMethod,
      "refunds": [Refund],
      "status": "CANCELLED",
      "updatedAt": ISO8601DateTime
    }
  }
}

paymentIntents

Description

List all payment intents.

Response

Returns a PaymentIntentConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query paymentIntents(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  paymentIntents(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...PaymentIntentEdgeFragment
    }
    nodes {
      ...PaymentIntentFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "xyz789",
  "before": "abc123",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "paymentIntents": {
      "edges": [PaymentIntentEdge],
      "nodes": [PaymentIntent],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

Mutations

paymentIntentAdjustmentCreate

Description

Creates an adjustment to a payment intent.

Arguments
Name Description
input - PaymentIntentAdjustmentCreateInput! Input for creating a payment intent.

Example

Query
mutation paymentIntentAdjustmentCreate($input: PaymentIntentAdjustmentCreateInput!) {
  paymentIntentAdjustmentCreate(input: $input) {
    paymentIntentAdjustment {
      ...PaymentIntentAdjustmentFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentIntentAdjustmentCreateInput}
Response
{
  "data": {
    "paymentIntentAdjustmentCreate": {
      "paymentIntentAdjustment": PaymentIntentAdjustment,
      "userErrors": [UserError]
    }
  }
}

paymentIntentCancel

Description

Cancels a payment intent.

Response

Returns a PaymentIntentCancelPayload

Arguments
Name Description
input - PaymentIntentCancelInput! Input for cancelling a payment intent.

Example

Query
mutation paymentIntentCancel($input: PaymentIntentCancelInput!) {
  paymentIntentCancel(input: $input) {
    paymentIntent {
      ...PaymentIntentFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentIntentCancelInput}
Response
{
  "data": {
    "paymentIntentCancel": {
      "paymentIntent": PaymentIntent,
      "userErrors": [UserError]
    }
  }
}

paymentIntentCreate

Description

Creates a payment intent.

Response

Returns a PaymentIntentCreatePayload

Arguments
Name Description
input - PaymentIntentCreateInput! Input for creating a payment intent.

Example

Query
mutation paymentIntentCreate($input: PaymentIntentCreateInput!) {
  paymentIntentCreate(input: $input) {
    paymentIntent {
      ...PaymentIntentFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentIntentCreateInput}
Response
{
  "data": {
    "paymentIntentCreate": {
      "paymentIntent": PaymentIntent,
      "userErrors": [UserError]
    }
  }
}

paymentIntentUpdate

Description

Updates a payment intent.

Response

Returns a PaymentIntentUpdatePayload

Arguments
Name Description
input - PaymentIntentUpdateInput! Input for updating a payment intent.

Example

Query
mutation paymentIntentUpdate($input: PaymentIntentUpdateInput!) {
  paymentIntentUpdate(input: $input) {
    paymentIntent {
      ...PaymentIntentFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentIntentUpdateInput}
Response
{
  "data": {
    "paymentIntentUpdate": {
      "paymentIntent": PaymentIntent,
      "userErrors": [UserError]
    }
  }
}

Objects

PaymentIntent

Description

A payment intent.

Fields
Field Name Description
adjustments - [PaymentIntentAdjustment!] The adjustments made against this payment intent.
amount - Money The payment intent money amount
amountPaid - Money The payment intent money amount
amountRefunded - Money The payment intent money amount
balanceOwing - Money The payment intent money amount
charges - [Charge!] The charges made against this payment intent.
createdAt - ISO8601DateTime! PaymentIntent creation time
customer - Customer! The customer
id - GlobalID! The payment intent's ID.
metadata - Metadata Unstructured key/value pairs
paymentMethod - PaymentMethod! The associated payment method
refunds - [Refund!] The refunds made against this payment intent.
status - PaymentIntentStatus Status of the payment intent
updatedAt - ISO8601DateTime PaymentIntent last updated at
Example
{
  "adjustments": [PaymentIntentAdjustment],
  "amount": Money,
  "amountPaid": Money,
  "amountRefunded": Money,
  "balanceOwing": Money,
  "charges": [Charge],
  "createdAt": ISO8601DateTime,
  "customer": Customer,
  "id": GlobalID,
  "metadata": Metadata,
  "paymentMethod": PaymentMethod,
  "refunds": [Refund],
  "status": "CANCELLED",
  "updatedAt": ISO8601DateTime
}

Payment Methods

Queries

paymentMethod

Description

Find a Payment Method by ID.

Response

Returns a PaymentMethod

Arguments
Name Description
id - GlobalID! The payment method's ID.

Example

Query
query paymentMethod($id: GlobalID!) {
  paymentMethod(id: $id) {
    activePaymentInstrument {
      ...PaymentInstrumentFragment
    }
    channel {
      ...ChannelFragment
    }
    createdAt
    customer {
      ...CustomerFragment
    }
    externalId
    id
    metadata
    paymentInstruments {
      ...PaymentInstrumentFragment
    }
    paymentIntents {
      ...PaymentIntentConnectionFragment
    }
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "paymentMethod": {
      "activePaymentInstrument": PaymentInstrument,
      "channel": Channel,
      "createdAt": ISO8601DateTime,
      "customer": Customer,
      "externalId": "abc123",
      "id": GlobalID,
      "metadata": Metadata,
      "paymentInstruments": [PaymentInstrument],
      "paymentIntents": PaymentIntentConnection,
      "status": "ACTIVE",
      "updatedAt": ISO8601DateTime
    }
  }
}

paymentMethods

Description

List all payment methods.

Response

Returns a PaymentMethodConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query paymentMethods(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  paymentMethods(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...PaymentMethodEdgeFragment
    }
    nodes {
      ...PaymentMethodFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "abc123",
  "before": "xyz789",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "paymentMethods": {
      "edges": [PaymentMethodEdge],
      "nodes": [PaymentMethod],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

Mutations

paymentMethodCancel

Description

Cancels a payment method.

Response

Returns a PaymentMethodCancelPayload

Arguments
Name Description
input - PaymentMethodCancelInput! Input for cancelling a payment method.

Example

Query
mutation paymentMethodCancel($input: PaymentMethodCancelInput!) {
  paymentMethodCancel(input: $input) {
    paymentMethod {
      ...PaymentMethodFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentMethodCancelInput}
Response
{
  "data": {
    "paymentMethodCancel": {
      "paymentMethod": PaymentMethod,
      "userErrors": [UserError]
    }
  }
}

paymentMethodCreate

Description

Creates a payment method.

Response

Returns a PaymentMethodCreatePayload

Arguments
Name Description
input - PaymentMethodCreateInput! Input for creating a payment method.

Example

Query
mutation paymentMethodCreate($input: PaymentMethodCreateInput!) {
  paymentMethodCreate(input: $input) {
    paymentMethod {
      ...PaymentMethodFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentMethodCreateInput}
Response
{
  "data": {
    "paymentMethodCreate": {
      "paymentMethod": PaymentMethod,
      "userErrors": [UserError]
    }
  }
}

paymentMethodUpdate

Description

Updates a payment method.

Response

Returns a PaymentMethodUpdatePayload

Arguments
Name Description
input - PaymentMethodUpdateInput! Input for updating a payment method.

Example

Query
mutation paymentMethodUpdate($input: PaymentMethodUpdateInput!) {
  paymentMethodUpdate(input: $input) {
    paymentMethod {
      ...PaymentMethodFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PaymentMethodUpdateInput}
Response
{
  "data": {
    "paymentMethodUpdate": {
      "paymentMethod": PaymentMethod,
      "userErrors": [UserError]
    }
  }
}

Objects

PaymentMethod

Description

A payment method.

Fields
Field Name Description
activePaymentInstrument - PaymentInstrument!
channel - Channel! The payment method's channel.
createdAt - ISO8601DateTime! The date and time when the payment method was created.
customer - Customer! The payment method's customer.
externalId - String The (optional) external ID of the payment method.
id - GlobalID! The payment method's ID.
metadata - Metadata Unstructured key/value pairs.
paymentInstruments - [PaymentInstrument!] The payment instruments associated to this payment method.
paymentIntents - PaymentIntentConnection The payment intents associated with this payment method.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

status - PaymentMethodStatus The status of the payment method.
updatedAt - ISO8601DateTime The date and time when the payment method was last updated.
Example
{
  "activePaymentInstrument": PaymentInstrument,
  "channel": Channel,
  "createdAt": ISO8601DateTime,
  "customer": Customer,
  "externalId": "xyz789",
  "id": GlobalID,
  "metadata": Metadata,
  "paymentInstruments": [PaymentInstrument],
  "paymentIntents": PaymentIntentConnection,
  "status": "ACTIVE",
  "updatedAt": ISO8601DateTime
}

Refunds

Queries

refund

Description

Find a Refund by ID.

Response

Returns a Refund

Arguments
Name Description
id - GlobalID! The refund's ID.

Example

Query
query refund($id: GlobalID!) {
  refund(id: $id) {
    amount {
      ...MoneyFragment
    }
    charge {
      ...ChargeFragment
    }
    createdAt
    customer {
      ...CustomerFragment
    }
    description
    externalId
    id
    metadata
    paymentIntent {
      ...PaymentIntentFragment
    }
    recordStatus
    source
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "refund": {
      "amount": Money,
      "charge": Charge,
      "createdAt": ISO8601DateTime,
      "customer": Customer,
      "description": "abc123",
      "externalId": "xyz789",
      "id": GlobalID,
      "metadata": Metadata,
      "paymentIntent": PaymentIntent,
      "recordStatus": "PROCESSED",
      "source": "SHOPIFY",
      "status": "FAILED",
      "updatedAt": ISO8601DateTime
    }
  }
}

refunds

Description

List all refunds.

Response

Returns a RefundConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query refunds(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  refunds(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...RefundEdgeFragment
    }
    nodes {
      ...RefundFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "xyz789",
  "before": "abc123",
  "first": 123,
  "last": 987
}
Response
{
  "data": {
    "refunds": {
      "edges": [RefundEdge],
      "nodes": [Refund],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

Mutations

refundProcess

Description

Processes a refund for a payment intent.

Response

Returns a RefundProcessPayload

Arguments
Name Description
input - RefundProcessInput! Input for processing a refund.

Example

Query
mutation refundProcess($input: RefundProcessInput!) {
  refundProcess(input: $input) {
    refund {
      ...RefundFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": RefundProcessInput}
Response
{
  "data": {
    "refundProcess": {
      "refund": Refund,
      "userErrors": [UserError]
    }
  }
}

refundRecord

Description

Record a refund for a payment intent.

Response

Returns a RefundRecordPayload

Arguments
Name Description
input - RefundRecordInput! Input for recording a refund.

Example

Query
mutation refundRecord($input: RefundRecordInput!) {
  refundRecord(input: $input) {
    refund {
      ...RefundFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": RefundRecordInput}
Response
{
  "data": {
    "refundRecord": {
      "refund": Refund,
      "userErrors": [UserError]
    }
  }
}

Objects

Refund

Description

A Refund

Fields
Field Name Description
amount - Money The amount the refund if for.
charge - Charge The refund's parent charge.
createdAt - ISO8601DateTime! The time the refund was created.
customer - Customer! The customer associated with the refund.
description - String The refund's description.
externalId - String The external ID of the refund.
id - GlobalID! The ID of the refund.
metadata - Metadata Unstructured key/value pairs/
paymentIntent - PaymentIntent! The associated payment intent.
recordStatus - RecordStatus The record status of refund.
source - ChargeSource The source of the refund.
status - RefundStatus The refund's status.
updatedAt - ISO8601DateTime The time the refund was last updated.
Example
{
  "amount": Money,
  "charge": Charge,
  "createdAt": ISO8601DateTime,
  "customer": Customer,
  "description": "xyz789",
  "externalId": "abc123",
  "id": GlobalID,
  "metadata": Metadata,
  "paymentIntent": PaymentIntent,
  "recordStatus": "PROCESSED",
  "source": "SHOPIFY",
  "status": "FAILED",
  "updatedAt": ISO8601DateTime
}

Shopify Credentials

Mutations

shopifyCredentialsCreate

Description

Creates a set of Shopify credentials.

Response

Returns a ShopifyCredentialsCreatePayload

Arguments
Name Description
input - ShopifyCredentialsCreateInput! Input for creating shopify credentials.

Example

Query
mutation shopifyCredentialsCreate($input: ShopifyCredentialsCreateInput!) {
  shopifyCredentialsCreate(input: $input) {
    shopifyCredentials {
      ...ShopifyCredentialsFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": ShopifyCredentialsCreateInput}
Response
{
  "data": {
    "shopifyCredentialsCreate": {
      "shopifyCredentials": ShopifyCredentials,
      "userErrors": [UserError]
    }
  }
}

Campaign Orders

Queries

campaignOrder

Description

Find an campaign order by ID.

Response

Returns a CampaignOrder

Arguments
Name Description
id - GlobalID! The campaign order's ID.

Example

Query
query campaignOrder($id: GlobalID!) {
  campaignOrder(id: $id) {
    allocatedQuantity
    campaign {
      ... on CrowdfundingCampaign {
        ...CrowdfundingCampaignFragment
      }
      ... on PresaleCampaign {
        ...PresaleCampaignFragment
      }
    }
    campaignInventoryItem {
      ...CampaignInventoryItemFragment
    }
    campaignItem {
      ...CampaignItemFragment
    }
    campaignOrderGroup {
      ...CampaignOrderGroupFragment
    }
    cancelReason
    cancelledBy
    customer {
      ...CustomerFragment
    }
    financials {
      ...CampaignOrderFinancialsFragment
    }
    fulfilmentStatus
    id
    identifier
    milestones {
      ...CampaignOrderMilestonesFragment
    }
    originalQuantity
    paymentIntent {
      ...PaymentIntentFragment
    }
    paymentMethod {
      ...PaymentMethodFragment
    }
    paymentStatus
    product {
      ...ProductFragment
    }
    productVariant {
      ...ProductVariantFragment
    }
    quantity
    sequentialId
    status
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "campaignOrder": {
      "allocatedQuantity": 123,
      "campaign": CrowdfundingCampaign,
      "campaignInventoryItem": CampaignInventoryItem,
      "campaignItem": CampaignItem,
      "campaignOrderGroup": CampaignOrderGroup,
      "cancelReason": "abc123",
      "cancelledBy": "CUSTOMER",
      "customer": Customer,
      "financials": CampaignOrderFinancials,
      "fulfilmentStatus": "ALLOCATED",
      "id": GlobalID,
      "identifier": "xyz789",
      "milestones": CampaignOrderMilestones,
      "originalQuantity": 123,
      "paymentIntent": PaymentIntent,
      "paymentMethod": PaymentMethod,
      "paymentStatus": "FAILED",
      "product": Product,
      "productVariant": ProductVariant,
      "quantity": 123,
      "sequentialId": 123,
      "status": "ALLOCATED"
    }
  }
}

campaignOrderPagination

Description

Next and previous campaign orders

Response

Returns a PaginationResult

Arguments
Name Description
campaignId - GlobalID Return only campaign orders belonging to this campaign.
customerId - [SharedGlobalID!] Return only campaign orders belonging to these customers.
fulfilmentStatus - [CampaignOrderFulfilmentStatus!] The campaign order's fulfilment status.
paymentStatus - [CampaignOrderPaymentStatus!] The campaign order's payment status.
productVariantId - [SharedGlobalID!] Return only campaign orders for these variants.
query - String A query string.
sortDirection - SortDirection The sort direction.
sortKey - CampaignOrderSortKey The key used to sort campaign orders.
status - [CampaignOrderStatus!] The campaign order's status.

Example

Query
query campaignOrderPagination(
  $campaignId: GlobalID,
  $customerId: [SharedGlobalID!],
  $fulfilmentStatus: [CampaignOrderFulfilmentStatus!],
  $paymentStatus: [CampaignOrderPaymentStatus!],
  $productVariantId: [SharedGlobalID!],
  $query: String,
  $sortDirection: SortDirection,
  $sortKey: CampaignOrderSortKey,
  $status: [CampaignOrderStatus!]
) {
  campaignOrderPagination(
    campaignId: $campaignId,
    customerId: $customerId,
    fulfilmentStatus: $fulfilmentStatus,
    paymentStatus: $paymentStatus,
    productVariantId: $productVariantId,
    query: $query,
    sortDirection: $sortDirection,
    sortKey: $sortKey,
    status: $status
  ) {
    queryArguments
    nextCampaignOrders {
      ...CampaignOrderConnectionFragment
    }
    nextCrowdfundingCampaigns {
      ...CrowdfundingCampaignConnectionFragment
    }
    nextPresaleCampaigns {
      ...PresaleCampaignConnectionFragment
    }
    previousCampaignOrders {
      ...CampaignOrderConnectionFragment
    }
    previousCrowdfundingCampaigns {
      ...CrowdfundingCampaignConnectionFragment
    }
    previousPresaleCampaigns {
      ...PresaleCampaignConnectionFragment
    }
    nextSubscriptionOrders {
      ...SubscriptionOrderConnectionFragment
    }
    nextSubscriptionPlanGroups {
      ...SubscriptionPlanGroupConnectionFragment
    }
    nextSubscriptions {
      ...SubscriptionConnectionFragment
    }
    previousSubscriptionOrders {
      ...SubscriptionOrderConnectionFragment
    }
    previousSubscriptionPlanGroups {
      ...SubscriptionPlanGroupConnectionFragment
    }
    previousSubscriptions {
      ...SubscriptionConnectionFragment
    }
  }
}
Variables
{
  "campaignId": GlobalID,
  "customerId": [SharedGlobalID],
  "fulfilmentStatus": ["ALLOCATED"],
  "paymentStatus": ["FAILED"],
  "productVariantId": [SharedGlobalID],
  "query": "abc123",
  "sortDirection": "ASC",
  "sortKey": "ID",
  "status": ["ALLOCATED"]
}
Response
{
  "data": {
    "campaignOrderPagination": {
      "queryArguments": "abc123",
      "nextCampaignOrders": CampaignOrderConnection,
      "nextCrowdfundingCampaigns": CrowdfundingCampaignConnection,
      "nextPresaleCampaigns": PresaleCampaignConnection,
      "previousCampaignOrders": CampaignOrderConnection,
      "previousCrowdfundingCampaigns": CrowdfundingCampaignConnection,
      "previousPresaleCampaigns": PresaleCampaignConnection,
      "nextSubscriptionOrders": SubscriptionOrderConnection,
      "nextSubscriptionPlanGroups": SubscriptionPlanGroupConnection,
      "nextSubscriptions": SubscriptionConnection,
      "previousSubscriptionOrders": SubscriptionOrderConnection,
      "previousSubscriptionPlanGroups": SubscriptionPlanGroupConnection,
      "previousSubscriptions": SubscriptionConnection
    }
  }
}

campaignOrders

Description

List all campaign orders.

Response

Returns a CampaignOrderConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query campaignOrders(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  campaignOrders(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...CampaignOrderEdgeFragment
    }
    nodes {
      ...CampaignOrderFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "xyz789",
  "before": "abc123",
  "first": 987,
  "last": 987
}
Response
{
  "data": {
    "campaignOrders": {
      "edges": [CampaignOrderEdge],
      "nodes": [CampaignOrder],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

searchCampaignOrders

Description

Search campaign orders

Response

Returns a SearchResult

Arguments
Name Description
campaignId - GlobalID Return only campaign orders belonging to this campaign.
customerId - [SharedGlobalID!] Return only campaign orders belonging to these customers.
fulfilmentStatus - [CampaignOrderFulfilmentStatus!] The campaign order's fulfilment status.
paymentStatus - [CampaignOrderPaymentStatus!] The campaign order's payment status.
productVariantId - [SharedGlobalID!] Return only campaign orders for these variants.
query - String A query string.
sortDirection - SortDirection The sort direction.
sortKey - CampaignOrderSortKey The key used to sort campaign orders.
status - [CampaignOrderStatus!] The campaign order's status.

Example

Query
query searchCampaignOrders(
  $campaignId: GlobalID,
  $customerId: [SharedGlobalID!],
  $fulfilmentStatus: [CampaignOrderFulfilmentStatus!],
  $paymentStatus: [CampaignOrderPaymentStatus!],
  $productVariantId: [SharedGlobalID!],
  $query: String,
  $sortDirection: SortDirection,
  $sortKey: CampaignOrderSortKey,
  $status: [CampaignOrderStatus!]
) {
  searchCampaignOrders(
    campaignId: $campaignId,
    customerId: $customerId,
    fulfilmentStatus: $fulfilmentStatus,
    paymentStatus: $paymentStatus,
    productVariantId: $productVariantId,
    query: $query,
    sortDirection: $sortDirection,
    sortKey: $sortKey,
    status: $status
  ) {
    queryArguments
    campaignOrders {
      ...CampaignOrderConnectionFragment
    }
    crowdfundingCampaigns {
      ...CrowdfundingCampaignConnectionFragment
    }
    presaleCampaigns {
      ...PresaleCampaignConnectionFragment
    }
    subscriptionOrders {
      ...SubscriptionOrderConnectionFragment
    }
    subscriptionPlanGroups {
      ...SubscriptionPlanGroupConnectionFragment
    }
    subscriptions {
      ...SubscriptionConnectionFragment
    }
  }
}
Variables
{
  "campaignId": GlobalID,
  "customerId": [SharedGlobalID],
  "fulfilmentStatus": ["ALLOCATED"],
  "paymentStatus": ["FAILED"],
  "productVariantId": [SharedGlobalID],
  "query": "xyz789",
  "sortDirection": "ASC",
  "sortKey": "ID",
  "status": ["ALLOCATED"]
}
Response
{
  "data": {
    "searchCampaignOrders": {
      "queryArguments": "xyz789",
      "campaignOrders": CampaignOrderConnection,
      "crowdfundingCampaigns": CrowdfundingCampaignConnection,
      "presaleCampaigns": PresaleCampaignConnection,
      "subscriptionOrders": SubscriptionOrderConnection,
      "subscriptionPlanGroups": SubscriptionPlanGroupConnection,
      "subscriptions": SubscriptionConnection
    }
  }
}

Mutations

campaignOrderCancel

Description

Cancels a campaign order.

Response

Returns a CampaignOrderCancelPayload

Arguments
Name Description
input - CampaignOrderCancelInput! Input for canceling the campaign order.

Example

Query
mutation campaignOrderCancel($input: CampaignOrderCancelInput!) {
  campaignOrderCancel(input: $input) {
    campaignOrder {
      ...CampaignOrderFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CampaignOrderCancelInput}
Response
{
  "data": {
    "campaignOrderCancel": {
      "campaignOrder": CampaignOrder,
      "userErrors": [UserError]
    }
  }
}

campaignOrderCreate

Description

Creates a campaign order.

Response

Returns a CampaignOrderCreatePayload

Arguments
Name Description
input - CampaignOrderCreateInput! Input for creating a campaign order.

Example

Query
mutation campaignOrderCreate($input: CampaignOrderCreateInput!) {
  campaignOrderCreate(input: $input) {
    campaignOrder {
      ...CampaignOrderFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CampaignOrderCreateInput}
Response
{
  "data": {
    "campaignOrderCreate": {
      "campaignOrder": CampaignOrder,
      "userErrors": [UserError]
    }
  }
}

campaignOrderDecreaseQuantity

Description

Decreases quantity on a campaign order.

Arguments
Name Description
input - CampaignOrderDecreaseQuantityInput! Input for updating the campaign order.

Example

Query
mutation campaignOrderDecreaseQuantity($input: CampaignOrderDecreaseQuantityInput!) {
  campaignOrderDecreaseQuantity(input: $input) {
    campaignOrder {
      ...CampaignOrderFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CampaignOrderDecreaseQuantityInput}
Response
{
  "data": {
    "campaignOrderDecreaseQuantity": {
      "campaignOrder": CampaignOrder,
      "userErrors": [UserError]
    }
  }
}

Objects

CampaignOrder

Description

The order of a Campaign Order Group

Fields
Field Name Description
allocatedQuantity - Int! The allocated quantity.
campaign - Campaign! The parent campaign.
campaignInventoryItem - CampaignInventoryItem The inventory item.
campaignItem - CampaignItem The campaign item.
campaignOrderGroup - CampaignOrderGroup! The campaign order's group.
cancelReason - String The reason for cancellation.
cancelledBy - Persona The originator of the cancellation.
customer - Customer! The campaign order's customer.
financials - CampaignOrderFinancials
fulfilmentStatus - CampaignOrderFulfilmentStatus! The fulfilment status of the order
id - GlobalID! The ID of the campaign order
identifier - String! The campaign order's identifier
milestones - CampaignOrderMilestones
originalQuantity - Int! Original quantity of product in this order
paymentIntent - PaymentIntent The payment intent of the campaign order.
paymentMethod - PaymentMethod The payment method of the campaign order.
paymentStatus - CampaignOrderPaymentStatus The payment status of the campaign order.
product - Product! The product
productVariant - ProductVariant! The product variant
quantity - Int! Quantity of product in this order
sequentialId - Int! The ordered ID of the campaign order.
status - CampaignOrderStatus! The status of the campaign order.
Example
{
  "allocatedQuantity": 123,
  "campaign": CrowdfundingCampaign,
  "campaignInventoryItem": CampaignInventoryItem,
  "campaignItem": CampaignItem,
  "campaignOrderGroup": CampaignOrderGroup,
  "cancelReason": "abc123",
  "cancelledBy": "CUSTOMER",
  "customer": Customer,
  "financials": CampaignOrderFinancials,
  "fulfilmentStatus": "ALLOCATED",
  "id": GlobalID,
  "identifier": "abc123",
  "milestones": CampaignOrderMilestones,
  "originalQuantity": 123,
  "paymentIntent": PaymentIntent,
  "paymentMethod": PaymentMethod,
  "paymentStatus": "FAILED",
  "product": Product,
  "productVariant": ProductVariant,
  "quantity": 987,
  "sequentialId": 123,
  "status": "ALLOCATED"
}

PaginationResult

Description

The previous and next objects in a connection.

Fields
Field Name Description
queryArguments - String! The query arguments as a JSON string
nextCampaignOrders - CampaignOrderConnection The next campaign orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

nextCrowdfundingCampaigns - CrowdfundingCampaignConnection The next crowdfunding campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

nextPresaleCampaigns - PresaleCampaignConnection The next presale campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

previousCampaignOrders - CampaignOrderConnection The previous campaign orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

previousCrowdfundingCampaigns - CrowdfundingCampaignConnection The previous crowdfunding campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

previousPresaleCampaigns - PresaleCampaignConnection The previous presale campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

nextSubscriptionOrders - SubscriptionOrderConnection The next subscription orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

nextSubscriptionPlanGroups - SubscriptionPlanGroupConnection The next subscription plan groups
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

nextSubscriptions - SubscriptionConnection The next subscriptions
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

previousSubscriptionOrders - SubscriptionOrderConnection The previous subscription orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

previousSubscriptionPlanGroups - SubscriptionPlanGroupConnection The previous subscription plan groups
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

previousSubscriptions - SubscriptionConnection The previous subscriptions
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

Example
{
  "queryArguments": "xyz789",
  "nextCampaignOrders": CampaignOrderConnection,
  "nextCrowdfundingCampaigns": CrowdfundingCampaignConnection,
  "nextPresaleCampaigns": PresaleCampaignConnection,
  "previousCampaignOrders": CampaignOrderConnection,
  "previousCrowdfundingCampaigns": CrowdfundingCampaignConnection,
  "previousPresaleCampaigns": PresaleCampaignConnection,
  "nextSubscriptionOrders": SubscriptionOrderConnection,
  "nextSubscriptionPlanGroups": SubscriptionPlanGroupConnection,
  "nextSubscriptions": SubscriptionConnection,
  "previousSubscriptionOrders": SubscriptionOrderConnection,
  "previousSubscriptionPlanGroups": SubscriptionPlanGroupConnection,
  "previousSubscriptions": SubscriptionConnection
}

SearchResult

Description

A search result.

Fields
Field Name Description
queryArguments - String! The query arguments as a JSON string
campaignOrders - CampaignOrderConnection The matching campaign orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

crowdfundingCampaigns - CrowdfundingCampaignConnection The matching crowdfunding campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

presaleCampaigns - PresaleCampaignConnection The matching presale campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptionOrders - SubscriptionOrderConnection The matching subscription orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptionPlanGroups - SubscriptionPlanGroupConnection The matching subscription plan groups
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptions - SubscriptionConnection The matching subscriptions
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

Example
{
  "queryArguments": "abc123",
  "campaignOrders": CampaignOrderConnection,
  "crowdfundingCampaigns": CrowdfundingCampaignConnection,
  "presaleCampaigns": PresaleCampaignConnection,
  "subscriptionOrders": SubscriptionOrderConnection,
  "subscriptionPlanGroups": SubscriptionPlanGroupConnection,
  "subscriptions": SubscriptionConnection
}

Campaign Order Groups

Queries

campaignOrderGroup

Description

Find an campaign order group by ID

Response

Returns a CampaignOrderGroup

Arguments
Name Description
id - SharedGlobalID! The campaign order group's ID

Example

Query
query campaignOrderGroup($id: SharedGlobalID!) {
  campaignOrderGroup(id: $id) {
    campaignOrders {
      ...CampaignOrderFragment
    }
    customer {
      ...CustomerFragment
    }
    externalId
    financials {
      ...CampaignOrderGroupFinancialsFragment
    }
    id
    identifier
    lineItemsCount
    milestones {
      ...CampaignOrderGroupMilestonesFragment
    }
    paymentIntent {
      ...PaymentIntentFragment
    }
    paymentMethod {
      ...PaymentMethodFragment
    }
    paymentStatus
    status
  }
}
Variables
{"id": SharedGlobalID}
Response
{
  "data": {
    "campaignOrderGroup": {
      "campaignOrders": [CampaignOrder],
      "customer": Customer,
      "externalId": "abc123",
      "financials": CampaignOrderGroupFinancials,
      "id": GlobalID,
      "identifier": "abc123",
      "lineItemsCount": 987,
      "milestones": CampaignOrderGroupMilestones,
      "paymentIntent": PaymentIntent,
      "paymentMethod": PaymentMethod,
      "paymentStatus": "FAILED",
      "status": "ALLOCATED"
    }
  }
}

campaignOrderGroups

Description

List all campaign order groups

Response

Returns a CampaignOrderGroupConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query campaignOrderGroups(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  campaignOrderGroups(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...CampaignOrderGroupEdgeFragment
    }
    nodes {
      ...CampaignOrderGroupFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "abc123",
  "before": "xyz789",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "campaignOrderGroups": {
      "edges": [CampaignOrderGroupEdge],
      "nodes": [CampaignOrderGroup],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

Mutations

campaignOrderGroupCancel

Description

Cancels a campaign order group.

Response

Returns a CampaignOrderGroupCancelPayload

Arguments
Name Description
input - CampaignOrderGroupCancelInput! Input for canceling the campaign order group.

Example

Query
mutation campaignOrderGroupCancel($input: CampaignOrderGroupCancelInput!) {
  campaignOrderGroupCancel(input: $input) {
    campaignOrderGroup {
      ...CampaignOrderGroupFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CampaignOrderGroupCancelInput}
Response
{
  "data": {
    "campaignOrderGroupCancel": {
      "campaignOrderGroup": CampaignOrderGroup,
      "userErrors": [UserError]
    }
  }
}

Objects

CampaignOrderGroup

Description

The group of orders by a customer for a Campaign

Fields
Field Name Description
campaignOrders - [CampaignOrder!]! The campaign order group's orders.
customer - Customer! The campaign order group's customer.
externalId - String! The campaign order group's external ID.
financials - CampaignOrderGroupFinancials
id - GlobalID! The id of the campaign order group
identifier - String! The campaign order group's identifier
lineItemsCount - Int The campaign order group's total count of line items.
milestones - CampaignOrderGroupMilestones
paymentIntent - PaymentIntent The payment intent of the campaign order group.
paymentMethod - PaymentMethod The payment method of the campaign order group.
paymentStatus - CampaignOrderPaymentStatus The payment status of the campaign order group.
status - CampaignOrderGroupStatus! The status of the campaign order group.
Example
{
  "campaignOrders": [CampaignOrder],
  "customer": Customer,
  "externalId": "abc123",
  "financials": CampaignOrderGroupFinancials,
  "id": GlobalID,
  "identifier": "abc123",
  "lineItemsCount": 987,
  "milestones": CampaignOrderGroupMilestones,
  "paymentIntent": PaymentIntent,
  "paymentMethod": PaymentMethod,
  "paymentStatus": "FAILED",
  "status": "ALLOCATED"
}

Crowdfunding Campaign

Queries

crowdfundingCampaign

Description

Find a crowdfunding campaign by ID

Response

Returns a CrowdfundingCampaign

Arguments
Name Description
id - GlobalID! The crowdfunding campaign's ID.

Example

Query
query crowdfundingCampaign($id: GlobalID!) {
  crowdfundingCampaign(id: $id) {
    activeCampaignOrdersCount
    allocatedInventoryCount
    allocationStatus
    appliedInventoryCount
    archivedAt
    campaignEndTotalUnits
    campaignEndTotalValue {
      ...MoneyFragment
    }
    campaignInventoryItems {
      ...CampaignInventoryItemFragment
    }
    campaignItemType
    campaignItems {
      ...CampaignItemFragment
    }
    campaignOrders {
      ...CampaignOrderConnectionFragment
    }
    campaignOrdersCount
    campaignRunningTotalUnits
    campaignRunningTotalValue {
      ...MoneyFragment
    }
    cancelledAt
    channel {
      ...ChannelFragment
    }
    completedAt
    createdAt
    currency
    description
    dueAt
    endAt
    endedAt
    fulfilAt
    fulfillingAt
    goal {
      ... on TotalUnitsCrowdfundingGoal {
        ...TotalUnitsCrowdfundingGoalFragment
      }
      ... on TotalValueCrowdfundingGoal {
        ...TotalValueCrowdfundingGoalFragment
      }
    }
    goalProgress
    goalStatus
    gracePeriodHours
    id
    identifier
    inventoryApplications {
      ...InventoryApplicationFragment
    }
    launchAt
    launchedAt
    limit
    name
    productVariants {
      ...ProductVariantFragment
    }
    products {
      ...ProductFragment
    }
    reference
    reservedItemsCount
    sequentialId
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "crowdfundingCampaign": {
      "activeCampaignOrdersCount": 123,
      "allocatedInventoryCount": 987,
      "allocationStatus": "ALLOCATED",
      "appliedInventoryCount": 123,
      "archivedAt": ISO8601DateTime,
      "campaignEndTotalUnits": 987,
      "campaignEndTotalValue": Money,
      "campaignInventoryItems": [CampaignInventoryItem],
      "campaignItemType": "PRODUCT",
      "campaignItems": [CampaignItem],
      "campaignOrders": CampaignOrderConnection,
      "campaignOrdersCount": 123,
      "campaignRunningTotalUnits": 123,
      "campaignRunningTotalValue": Money,
      "cancelledAt": ISO8601DateTime,
      "channel": Channel,
      "completedAt": ISO8601DateTime,
      "createdAt": ISO8601DateTime,
      "currency": "AED",
      "description": "abc123",
      "dueAt": ISO8601DateTime,
      "endAt": ISO8601DateTime,
      "endedAt": ISO8601DateTime,
      "fulfilAt": ISO8601DateTime,
      "fulfillingAt": ISO8601DateTime,
      "goal": TotalUnitsCrowdfundingGoal,
      "goalProgress": 987.65,
      "goalStatus": "FAILED",
      "gracePeriodHours": 123,
      "id": GlobalID,
      "identifier": "abc123",
      "inventoryApplications": [InventoryApplication],
      "launchAt": ISO8601DateTime,
      "launchedAt": ISO8601DateTime,
      "limit": 987,
      "name": "xyz789",
      "productVariants": [ProductVariant],
      "products": [Product],
      "reference": "xyz789",
      "reservedItemsCount": 987,
      "sequentialId": 987,
      "status": "CANCELLED",
      "updatedAt": ISO8601DateTime
    }
  }
}

crowdfundingCampaigns

Description

List all crowdfunding campaigns

Response

Returns a CrowdfundingCampaignConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query crowdfundingCampaigns(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  crowdfundingCampaigns(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...CrowdfundingCampaignEdgeFragment
    }
    nodes {
      ...CrowdfundingCampaignFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "xyz789",
  "before": "xyz789",
  "first": 987,
  "last": 123
}
Response
{
  "data": {
    "crowdfundingCampaigns": {
      "edges": [CrowdfundingCampaignEdge],
      "nodes": [CrowdfundingCampaign],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

searchCrowdfundingCampaigns

Description

Search crowdfunding campaigns

Response

Returns a SearchResult

Arguments
Name Description
allocationStatus - [CampaignAllocationStatus!] The campaign's allocation status.
goalType - [CrowdfundingGoalType!] The campaign's goal type.
isAllocating - Boolean Whether the campaign is allocating.
isArchived - Boolean Whether the campaign is archived.
productIds - [SharedGlobalID!] Return campaigns containing any of these product IDs
productVariantIds - [SharedGlobalID!] Return campaigns containing any of these product variant IDs.
query - String A query string.
sortDirection - SortDirection The sort direction.
sortKey - CrowdfundingCampaignSortKey The key used to sort campaigns.
status - [CampaignStatus!] The campaign's status.

Example

Query
query searchCrowdfundingCampaigns(
  $allocationStatus: [CampaignAllocationStatus!],
  $goalType: [CrowdfundingGoalType!],
  $isAllocating: Boolean,
  $isArchived: Boolean,
  $productIds: [SharedGlobalID!],
  $productVariantIds: [SharedGlobalID!],
  $query: String,
  $sortDirection: SortDirection,
  $sortKey: CrowdfundingCampaignSortKey,
  $status: [CampaignStatus!]
) {
  searchCrowdfundingCampaigns(
    allocationStatus: $allocationStatus,
    goalType: $goalType,
    isAllocating: $isAllocating,
    isArchived: $isArchived,
    productIds: $productIds,
    productVariantIds: $productVariantIds,
    query: $query,
    sortDirection: $sortDirection,
    sortKey: $sortKey,
    status: $status
  ) {
    queryArguments
    campaignOrders {
      ...CampaignOrderConnectionFragment
    }
    crowdfundingCampaigns {
      ...CrowdfundingCampaignConnectionFragment
    }
    presaleCampaigns {
      ...PresaleCampaignConnectionFragment
    }
    subscriptionOrders {
      ...SubscriptionOrderConnectionFragment
    }
    subscriptionPlanGroups {
      ...SubscriptionPlanGroupConnectionFragment
    }
    subscriptions {
      ...SubscriptionConnectionFragment
    }
  }
}
Variables
{
  "allocationStatus": ["ALLOCATED"],
  "goalType": ["TOTAL_UNITS"],
  "isAllocating": true,
  "isArchived": true,
  "productIds": [SharedGlobalID],
  "productVariantIds": [SharedGlobalID],
  "query": "xyz789",
  "sortDirection": "ASC",
  "sortKey": "COMPLETED_AT",
  "status": ["CANCELLED"]
}
Response
{
  "data": {
    "searchCrowdfundingCampaigns": {
      "queryArguments": "xyz789",
      "campaignOrders": CampaignOrderConnection,
      "crowdfundingCampaigns": CrowdfundingCampaignConnection,
      "presaleCampaigns": PresaleCampaignConnection,
      "subscriptionOrders": SubscriptionOrderConnection,
      "subscriptionPlanGroups": SubscriptionPlanGroupConnection,
      "subscriptions": SubscriptionConnection
    }
  }
}

Mutations

crowdfundingCampaignAddProductVariants

Description

Add product variants to an existing crowdfunding campaign.

Arguments
Name Description
input - CrowdfundingCampaignAddProductVariantsInput! Input for adding product variants to the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignAddProductVariants($input: CrowdfundingCampaignAddProductVariantsInput!) {
  crowdfundingCampaignAddProductVariants(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignAddProductVariantsInput}
Response
{
  "data": {
    "crowdfundingCampaignAddProductVariants": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignAddProducts

Description

Add products to an existing crowdfunding campaign.

Arguments
Name Description
input - CrowdfundingCampaignAddProductsInput! Input for adding products to the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignAddProducts($input: CrowdfundingCampaignAddProductsInput!) {
  crowdfundingCampaignAddProducts(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignAddProductsInput}
Response
{
  "data": {
    "crowdfundingCampaignAddProducts": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignApplyBulkInventory

Description

Apply bulk inventory to a crowdfunding campaign

Arguments
Name Description
input - CrowdfundingCampaignApplyBulkInventoryInput! Input for applying bulk inventory.

Example

Query
mutation crowdfundingCampaignApplyBulkInventory($input: CrowdfundingCampaignApplyBulkInventoryInput!) {
  crowdfundingCampaignApplyBulkInventory(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignApplyBulkInventoryInput}
Response
{
  "data": {
    "crowdfundingCampaignApplyBulkInventory": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignApplyInventory

Description

Apply inventory to a crowdfunding campaign

Arguments
Name Description
input - CrowdfundingCampaignApplyInventoryInput! Input for applying inventory.

Example

Query
mutation crowdfundingCampaignApplyInventory($input: CrowdfundingCampaignApplyInventoryInput!) {
  crowdfundingCampaignApplyInventory(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignApplyInventoryInput}
Response
{
  "data": {
    "crowdfundingCampaignApplyInventory": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignCancel

Description

Cancel an existing crowdfunding campaign.

Arguments
Name Description
input - CrowdfundingCampaignCancelInput! Input for Cancelling the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignCancel($input: CrowdfundingCampaignCancelInput!) {
  crowdfundingCampaignCancel(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignCancelInput}
Response
{
  "data": {
    "crowdfundingCampaignCancel": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignCreate

Description

Create a existing campaign.

Arguments
Name Description
input - CrowdfundingCampaignCreateInput! Input for creating a crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignCreate($input: CrowdfundingCampaignCreateInput!) {
  crowdfundingCampaignCreate(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignCreateInput}
Response
{
  "data": {
    "crowdfundingCampaignCreate": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignDelete

Description

Delete an existing crowdfunding campaign.

Arguments
Name Description
input - CrowdfundingCampaignDeleteInput! Input for deleting the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignDelete($input: CrowdfundingCampaignDeleteInput!) {
  crowdfundingCampaignDelete(input: $input) {
    deletedCrowdfundingCampaignId
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignDeleteInput}
Response
{
  "data": {
    "crowdfundingCampaignDelete": {
      "deletedCrowdfundingCampaignId": GlobalID,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignEnd

Description

End an existing campaign.

Response

Returns a CrowdfundingCampaignEndPayload

Arguments
Name Description
input - CrowdfundingCampaignEndInput! Input for ending the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignEnd($input: CrowdfundingCampaignEndInput!) {
  crowdfundingCampaignEnd(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignEndInput}
Response
{
  "data": {
    "crowdfundingCampaignEnd": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignFulfil

Description

Fulfil an existing campaign.

Arguments
Name Description
input - CrowdfundingCampaignFulfilInput! Input for fulfilling the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignFulfil($input: CrowdfundingCampaignFulfilInput!) {
  crowdfundingCampaignFulfil(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignFulfilInput}
Response
{
  "data": {
    "crowdfundingCampaignFulfil": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignLaunch

Description

Launch an existing campaign.

Arguments
Name Description
input - CrowdfundingCampaignLaunchInput! Input for launching the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignLaunch($input: CrowdfundingCampaignLaunchInput!) {
  crowdfundingCampaignLaunch(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignLaunchInput}
Response
{
  "data": {
    "crowdfundingCampaignLaunch": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignRemoveProductVariants

Description

Removes product variants from an existing crowdfunding campaign.

Arguments
Name Description
input - CrowdfundingCampaignRemoveProductVariantsInput! Input for removing product variants from the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignRemoveProductVariants($input: CrowdfundingCampaignRemoveProductVariantsInput!) {
  crowdfundingCampaignRemoveProductVariants(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignRemoveProductVariantsInput}
Response
{
  "data": {
    "crowdfundingCampaignRemoveProductVariants": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignRemoveProducts

Description

Removes products from an existing crowdfunding campaign.

Arguments
Name Description
input - CrowdfundingCampaignRemoveProductsInput! Input for removing products from the crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignRemoveProducts($input: CrowdfundingCampaignRemoveProductsInput!) {
  crowdfundingCampaignRemoveProducts(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignRemoveProductsInput}
Response
{
  "data": {
    "crowdfundingCampaignRemoveProducts": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

crowdfundingCampaignUpdate

Description

Update an existing campaign.

Arguments
Name Description
input - CrowdfundingCampaignUpdateInput! Input for updating a crowdfunding campaign.

Example

Query
mutation crowdfundingCampaignUpdate($input: CrowdfundingCampaignUpdateInput!) {
  crowdfundingCampaignUpdate(input: $input) {
    crowdfundingCampaign {
      ...CrowdfundingCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": CrowdfundingCampaignUpdateInput}
Response
{
  "data": {
    "crowdfundingCampaignUpdate": {
      "crowdfundingCampaign": CrowdfundingCampaign,
      "userErrors": [UserError]
    }
  }
}

Objects

CrowdfundingCampaign

Description

A Platform crowdfunding campaign

Fields
Field Name Description
activeCampaignOrdersCount - Int! The campaign's total count of active orders.
allocatedInventoryCount - Int! The campaign's count of inventory allocated.
allocationStatus - CampaignAllocationStatus! The allocation status of the campaign.
appliedInventoryCount - Int! The total amount of inventory currently applied to the campaign.
archivedAt - ISO8601DateTime The date the campaign was archived.
campaignEndTotalUnits - Int The campaign's total units when the campaign ends.
campaignEndTotalValue - Money The campaign's total value when the campaign ends.
campaignInventoryItems - [CampaignInventoryItem!]! The campaign's inventory items.
campaignItemType - CampaignItemType! The type of items in the campaign.
campaignItems - [CampaignItem!]! The campaign's items.
campaignOrders - CampaignOrderConnection! The campaign's orders.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

campaignOrdersCount - Int! The campaign's total count of orders.
campaignRunningTotalUnits - Int The campaign's running total units.
campaignRunningTotalValue - Money The campaign's running total value.
cancelledAt - ISO8601DateTime The date the crowdfunding campaign was cancelled.
channel - Channel! The crowdfunding campaign's channel.
completedAt - ISO8601DateTime The date the crowdfunding campaign completed.
createdAt - ISO8601DateTime The date the crowdfunding campaign was created.
currency - CurrencyCode! The campaign currency.
description - String! The campaign description.
Arguments
interpolate - Boolean

Whether to replace the description's placeholders with actual values.

dueAt - ISO8601DateTime! The date the payment for the crowdfunding campaign is due.
endAt - ISO8601DateTime! The date the campaign will end
endedAt - ISO8601DateTime The date the crowdfunding campaign ended.
fulfilAt - ISO8601DateTime The date the campaign will be fulfilled
fulfillingAt - ISO8601DateTime The date the crowdfunding campaign started fulfilling.
goal - CrowdfundingGoal! The campaign's goal.
goalProgress - Float! The campaign's goal progress percentage.
goalStatus - CrowdfundingGoalStatus! The campaign's goal status.
gracePeriodHours - Int! The number of hours a customer has to rectify a failed campaign payment before their campaign order is cancelled.
id - GlobalID! The ID of the campaign
identifier - String! The identifier of the campaign.
inventoryApplications - [InventoryApplication!]! The campaign's inventory applications.
launchAt - ISO8601DateTime! The date the campaign will be launched
launchedAt - ISO8601DateTime The date the crowdfunding campaign launched.
limit - Int The maximum number of units of the linked products that can be sold
name - String! The name of the campaign.
Arguments
interpolate - Boolean

Whether to replace the name's placeholders with actual values.

productVariants - [ProductVariant!] The product IDs that are included in the campaign.
products - [Product!] The product IDs that are included in the campaign.
reference - String! The campaign reference.
reservedItemsCount - Int! The campaign's total count of reserved items.
sequentialId - Int! The ordered ID of the campaign.
status - CampaignStatus! The campaign's status (eg. active).
updatedAt - ISO8601DateTime The date the presale was last updated.
Example
{
  "activeCampaignOrdersCount": 123,
  "allocatedInventoryCount": 987,
  "allocationStatus": "ALLOCATED",
  "appliedInventoryCount": 987,
  "archivedAt": ISO8601DateTime,
  "campaignEndTotalUnits": 123,
  "campaignEndTotalValue": Money,
  "campaignInventoryItems": [CampaignInventoryItem],
  "campaignItemType": "PRODUCT",
  "campaignItems": [CampaignItem],
  "campaignOrders": CampaignOrderConnection,
  "campaignOrdersCount": 123,
  "campaignRunningTotalUnits": 123,
  "campaignRunningTotalValue": Money,
  "cancelledAt": ISO8601DateTime,
  "channel": Channel,
  "completedAt": ISO8601DateTime,
  "createdAt": ISO8601DateTime,
  "currency": "AED",
  "description": "xyz789",
  "dueAt": ISO8601DateTime,
  "endAt": ISO8601DateTime,
  "endedAt": ISO8601DateTime,
  "fulfilAt": ISO8601DateTime,
  "fulfillingAt": ISO8601DateTime,
  "goal": TotalUnitsCrowdfundingGoal,
  "goalProgress": 123.45,
  "goalStatus": "FAILED",
  "gracePeriodHours": 123,
  "id": GlobalID,
  "identifier": "abc123",
  "inventoryApplications": [InventoryApplication],
  "launchAt": ISO8601DateTime,
  "launchedAt": ISO8601DateTime,
  "limit": 987,
  "name": "xyz789",
  "productVariants": [ProductVariant],
  "products": [Product],
  "reference": "abc123",
  "reservedItemsCount": 123,
  "sequentialId": 987,
  "status": "CANCELLED",
  "updatedAt": ISO8601DateTime
}

SearchResult

Description

A search result.

Fields
Field Name Description
queryArguments - String! The query arguments as a JSON string
campaignOrders - CampaignOrderConnection The matching campaign orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

crowdfundingCampaigns - CrowdfundingCampaignConnection The matching crowdfunding campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

presaleCampaigns - PresaleCampaignConnection The matching presale campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptionOrders - SubscriptionOrderConnection The matching subscription orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptionPlanGroups - SubscriptionPlanGroupConnection The matching subscription plan groups
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptions - SubscriptionConnection The matching subscriptions
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

Example
{
  "queryArguments": "abc123",
  "campaignOrders": CampaignOrderConnection,
  "crowdfundingCampaigns": CrowdfundingCampaignConnection,
  "presaleCampaigns": PresaleCampaignConnection,
  "subscriptionOrders": SubscriptionOrderConnection,
  "subscriptionPlanGroups": SubscriptionPlanGroupConnection,
  "subscriptions": SubscriptionConnection
}

Presale Campaign

Queries

presaleCampaign

Description

Find a presale campaign by ID

Response

Returns a PresaleCampaign

Arguments
Name Description
id - GlobalID! The presale campaign's ID.

Example

Query
query presaleCampaign($id: GlobalID!) {
  presaleCampaign(id: $id) {
    activeCampaignOrdersCount
    allocatedInventoryCount
    allocationStatus
    appliedInventoryCount
    archivedAt
    campaignInventoryItems {
      ...CampaignInventoryItemFragment
    }
    campaignItemType
    campaignItems {
      ...CampaignItemFragment
    }
    campaignOrders {
      ...CampaignOrderConnectionFragment
    }
    campaignOrdersCount
    cancelledAt
    channel {
      ...ChannelFragment
    }
    completedAt
    createdAt
    deposit {
      ...CampaignDepositFragment
    }
    description
    dueAt
    endAt
    endedAt
    fulfilAt
    fulfillingAt
    gracePeriodHours
    id
    identifier
    inventoryApplications {
      ...InventoryApplicationFragment
    }
    launchAt
    launchedAt
    limit
    name
    productVariants {
      ...ProductVariantFragment
    }
    products {
      ...ProductFragment
    }
    reference
    reservedItemsCount
    sequentialId
    status
    updatedAt
  }
}
Variables
{"id": GlobalID}
Response
{
  "data": {
    "presaleCampaign": {
      "activeCampaignOrdersCount": 987,
      "allocatedInventoryCount": 123,
      "allocationStatus": "ALLOCATED",
      "appliedInventoryCount": 987,
      "archivedAt": ISO8601DateTime,
      "campaignInventoryItems": [CampaignInventoryItem],
      "campaignItemType": "PRODUCT",
      "campaignItems": [CampaignItem],
      "campaignOrders": CampaignOrderConnection,
      "campaignOrdersCount": 987,
      "cancelledAt": ISO8601DateTime,
      "channel": Channel,
      "completedAt": ISO8601DateTime,
      "createdAt": ISO8601DateTime,
      "deposit": CampaignDeposit,
      "description": "You will be charged the remaining balance when the product is released.",
      "dueAt": ISO8601DateTime,
      "endAt": ISO8601DateTime,
      "endedAt": ISO8601DateTime,
      "fulfilAt": ISO8601DateTime,
      "fulfillingAt": ISO8601DateTime,
      "gracePeriodHours": 987,
      "id": GlobalID,
      "identifier": "abc123",
      "inventoryApplications": [InventoryApplication],
      "launchAt": ISO8601DateTime,
      "launchedAt": ISO8601DateTime,
      "limit": 987,
      "name": "June Pre-order for Product.",
      "productVariants": [ProductVariant],
      "products": [Product],
      "reference": "Pre-order June Product #REF-021",
      "reservedItemsCount": 987,
      "sequentialId": 123,
      "status": "CANCELLED",
      "updatedAt": ISO8601DateTime
    }
  }
}

presaleCampaigns

Description

List all presale campaigns

Response

Returns a PresaleCampaignConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query presaleCampaigns(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int
) {
  presaleCampaigns(
    after: $after,
    before: $before,
    first: $first,
    last: $last
  ) {
    edges {
      ...PresaleCampaignEdgeFragment
    }
    nodes {
      ...PresaleCampaignFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "abc123",
  "before": "abc123",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "presaleCampaigns": {
      "edges": [PresaleCampaignEdge],
      "nodes": [PresaleCampaign],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

searchPresaleCampaigns

Description

Search presale campaigns

Response

Returns a SearchResult

Arguments
Name Description
allocationStatus - [CampaignAllocationStatus!] The campaign's allocation status.
isAllocating - Boolean Whether the campaign is allocating.
isArchived - Boolean Whether the campaign is archived.
productIds - [SharedGlobalID!] Return campaigns containing any of these product IDs
productVariantIds - [SharedGlobalID!] Return campaigns containing any of these product variant IDs.
query - String A query string.
sortDirection - SortDirection The sort direction.
sortKey - PresaleCampaignSortKey The key used to sort campaigns.
status - [CampaignStatus!] The campaign's status.

Example

Query
query searchPresaleCampaigns(
  $allocationStatus: [CampaignAllocationStatus!],
  $isAllocating: Boolean,
  $isArchived: Boolean,
  $productIds: [SharedGlobalID!],
  $productVariantIds: [SharedGlobalID!],
  $query: String,
  $sortDirection: SortDirection,
  $sortKey: PresaleCampaignSortKey,
  $status: [CampaignStatus!]
) {
  searchPresaleCampaigns(
    allocationStatus: $allocationStatus,
    isAllocating: $isAllocating,
    isArchived: $isArchived,
    productIds: $productIds,
    productVariantIds: $productVariantIds,
    query: $query,
    sortDirection: $sortDirection,
    sortKey: $sortKey,
    status: $status
  ) {
    queryArguments
    campaignOrders {
      ...CampaignOrderConnectionFragment
    }
    crowdfundingCampaigns {
      ...CrowdfundingCampaignConnectionFragment
    }
    presaleCampaigns {
      ...PresaleCampaignConnectionFragment
    }
    subscriptionOrders {
      ...SubscriptionOrderConnectionFragment
    }
    subscriptionPlanGroups {
      ...SubscriptionPlanGroupConnectionFragment
    }
    subscriptions {
      ...SubscriptionConnectionFragment
    }
  }
}
Variables
{
  "allocationStatus": ["ALLOCATED"],
  "isAllocating": false,
  "isArchived": false,
  "productIds": [SharedGlobalID],
  "productVariantIds": [SharedGlobalID],
  "query": "xyz789",
  "sortDirection": "ASC",
  "sortKey": "COMPLETED_AT",
  "status": ["CANCELLED"]
}
Response
{
  "data": {
    "searchPresaleCampaigns": {
      "queryArguments": "xyz789",
      "campaignOrders": CampaignOrderConnection,
      "crowdfundingCampaigns": CrowdfundingCampaignConnection,
      "presaleCampaigns": PresaleCampaignConnection,
      "subscriptionOrders": SubscriptionOrderConnection,
      "subscriptionPlanGroups": SubscriptionPlanGroupConnection,
      "subscriptions": SubscriptionConnection
    }
  }
}

Mutations

presaleCampaignAddProductVariants

Description

Add product variants to an existing campaign.

Arguments
Name Description
input - PresaleCampaignAddProductVariantsInput! Input for adding product variants to the presale campaign.

Example

Query
mutation presaleCampaignAddProductVariants($input: PresaleCampaignAddProductVariantsInput!) {
  presaleCampaignAddProductVariants(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignAddProductVariantsInput}
Response
{
  "data": {
    "presaleCampaignAddProductVariants": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignAddProducts

Description

Add products to an existing campaign.

Arguments
Name Description
input - PresaleCampaignAddProductsInput! Input for adding products to the presale campaign.

Example

Query
mutation presaleCampaignAddProducts($input: PresaleCampaignAddProductsInput!) {
  presaleCampaignAddProducts(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignAddProductsInput}
Response
{
  "data": {
    "presaleCampaignAddProducts": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignApplyBulkInventory

Description

Apply bulk inventory to a presale campaign

Arguments
Name Description
input - PresaleCampaignApplyBulkInventoryInput! Input for applying bulk inventory.

Example

Query
mutation presaleCampaignApplyBulkInventory($input: PresaleCampaignApplyBulkInventoryInput!) {
  presaleCampaignApplyBulkInventory(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignApplyBulkInventoryInput}
Response
{
  "data": {
    "presaleCampaignApplyBulkInventory": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignApplyInventory

Description

Apply inventory to a presale campaign

Arguments
Name Description
input - PresaleCampaignApplyInventoryInput! Input for applying inventory.

Example

Query
mutation presaleCampaignApplyInventory($input: PresaleCampaignApplyInventoryInput!) {
  presaleCampaignApplyInventory(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignApplyInventoryInput}
Response
{
  "data": {
    "presaleCampaignApplyInventory": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignCancel

Description

Cancel an existing presale campaign.

Response

Returns a PresaleCampaignCancelPayload

Arguments
Name Description
input - PresaleCampaignCancelInput! Input for cancelling the presale campaign.

Example

Query
mutation presaleCampaignCancel($input: PresaleCampaignCancelInput!) {
  presaleCampaignCancel(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignCancelInput}
Response
{
  "data": {
    "presaleCampaignCancel": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignCreate

Description

Create a new presale campaign.

Response

Returns a PresaleCampaignCreatePayload

Arguments
Name Description
input - PresaleCampaignCreateInput! Input for creating a presale campaign.

Example

Query
mutation presaleCampaignCreate($input: PresaleCampaignCreateInput!) {
  presaleCampaignCreate(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignCreateInput}
Response
{
  "data": {
    "presaleCampaignCreate": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignDelete

Description

Delete an existing presale campaign.

Response

Returns a PresaleCampaignDeletePayload

Arguments
Name Description
input - PresaleCampaignDeleteInput! Input for deleting the presale campaign.

Example

Query
mutation presaleCampaignDelete($input: PresaleCampaignDeleteInput!) {
  presaleCampaignDelete(input: $input) {
    deletedPresaleCampaignId
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignDeleteInput}
Response
{
  "data": {
    "presaleCampaignDelete": {
      "deletedPresaleCampaignId": GlobalID,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignEnd

Description

End an existing campaign.

Response

Returns a PresaleCampaignEndPayload

Arguments
Name Description
input - PresaleCampaignEndInput! Input for ending the presale campaign.

Example

Query
mutation presaleCampaignEnd($input: PresaleCampaignEndInput!) {
  presaleCampaignEnd(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignEndInput}
Response
{
  "data": {
    "presaleCampaignEnd": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignFulfil

Description

Fulfil an existing campaign.

Response

Returns a PresaleCampaignFulfilPayload

Arguments
Name Description
input - PresaleCampaignFulfilInput! Input for fulfilling the presale campaign.

Example

Query
mutation presaleCampaignFulfil($input: PresaleCampaignFulfilInput!) {
  presaleCampaignFulfil(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignFulfilInput}
Response
{
  "data": {
    "presaleCampaignFulfil": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignLaunch

Description

Launch an existing campaign.

Response

Returns a PresaleCampaignLaunchPayload

Arguments
Name Description
input - PresaleCampaignLaunchInput! Input for launching the presale campaign.

Example

Query
mutation presaleCampaignLaunch($input: PresaleCampaignLaunchInput!) {
  presaleCampaignLaunch(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignLaunchInput}
Response
{
  "data": {
    "presaleCampaignLaunch": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignRemoveProductVariants

Description

Remove product variants from presale campaign

Arguments
Name Description
input - PresaleCampaignRemoveProductVariantsInput! Input for removing product variants from the presale campaign.

Example

Query
mutation presaleCampaignRemoveProductVariants($input: PresaleCampaignRemoveProductVariantsInput!) {
  presaleCampaignRemoveProductVariants(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignRemoveProductVariantsInput}
Response
{
  "data": {
    "presaleCampaignRemoveProductVariants": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignRemoveProducts

Description

Remove products from presale campaign

Arguments
Name Description
input - PresaleCampaignRemoveProductsInput! Input for removing products from the presale campaign.

Example

Query
mutation presaleCampaignRemoveProducts($input: PresaleCampaignRemoveProductsInput!) {
  presaleCampaignRemoveProducts(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignRemoveProductsInput}
Response
{
  "data": {
    "presaleCampaignRemoveProducts": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

presaleCampaignUpdate

Description

Update a new presale campaign.

Response

Returns a PresaleCampaignUpdatePayload

Arguments
Name Description
input - PresaleCampaignUpdateInput! Input for updating the presale campaign.

Example

Query
mutation presaleCampaignUpdate($input: PresaleCampaignUpdateInput!) {
  presaleCampaignUpdate(input: $input) {
    presaleCampaign {
      ...PresaleCampaignFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}
Variables
{"input": PresaleCampaignUpdateInput}
Response
{
  "data": {
    "presaleCampaignUpdate": {
      "presaleCampaign": PresaleCampaign,
      "userErrors": [UserError]
    }
  }
}

Objects

PresaleCampaign

Description

A Platform campaign of type Presale.

Fields
Field Name Description
activeCampaignOrdersCount - Int! The campaign's total count of active orders.
allocatedInventoryCount - Int! The campaign's count of inventory allocated.
allocationStatus - CampaignAllocationStatus! The allocation status of the campaign.
appliedInventoryCount - Int! The total amount of inventory currently applied to the campaign.
archivedAt - ISO8601DateTime The date the campaign was archived.
campaignInventoryItems - [CampaignInventoryItem!]! The campaign's inventory items.
campaignItemType - CampaignItemType! The type of items in the campaign.
campaignItems - [CampaignItem!]! The campaign's items.
campaignOrders - CampaignOrderConnection! The campaign's orders.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

campaignOrdersCount - Int! The campaign's total count of orders.
cancelledAt - ISO8601DateTime The date the presale was cancelled.
channel - Channel! The presale campaign's channel.
completedAt - ISO8601DateTime The date the presale completed.
createdAt - ISO8601DateTime The date the presale created.
deposit - CampaignDeposit The amount to be collected at checkout.
description - String! The campaign description.
Arguments
interpolate - Boolean

Whether to replace the description's placeholders with actual values.

dueAt - ISO8601DateTime! The date the payment for the presale is due.
endAt - ISO8601DateTime! The date the presale will end.
endedAt - ISO8601DateTime The date the presale ended.
fulfilAt - ISO8601DateTime The date the presale will be fulfilled.
fulfillingAt - ISO8601DateTime The date the presale started fulfilling.
gracePeriodHours - Int! The number of hours a customer has to rectify a failed presale campaign payment before their campaign order is cancelled.
id - GlobalID! The ID of the campaign.
identifier - String! The identifier of the campaign.
inventoryApplications - [InventoryApplication!]! The campaign's inventory applications.
launchAt - ISO8601DateTime! The date the presale will be launched.
launchedAt - ISO8601DateTime The date the presale launched.
limit - Int! The maximum number of units of the linked products that can be sold.
name - String! The name of the campaign.
Arguments
interpolate - Boolean

Whether to replace the name's placeholders with actual values.

productVariants - [ProductVariant!] The product IDs that are included in the campaign.
products - [Product!] The product IDs that are included in the campaign.
reference - String! The campaign reference.
reservedItemsCount - Int! The campaign's total count of reserved items.
sequentialId - Int! The ordered ID of the campaign.
status - CampaignStatus! The campaign's status.
updatedAt - ISO8601DateTime The date the presale was last updated.
Example
{
  "activeCampaignOrdersCount": 987,
  "allocatedInventoryCount": 987,
  "allocationStatus": "ALLOCATED",
  "appliedInventoryCount": 987,
  "archivedAt": ISO8601DateTime,
  "campaignInventoryItems": [CampaignInventoryItem],
  "campaignItemType": "PRODUCT",
  "campaignItems": [CampaignItem],
  "campaignOrders": CampaignOrderConnection,
  "campaignOrdersCount": 987,
  "cancelledAt": ISO8601DateTime,
  "channel": Channel,
  "completedAt": ISO8601DateTime,
  "createdAt": ISO8601DateTime,
  "deposit": CampaignDeposit,
  "description": "You will be charged the remaining balance when the product is released.",
  "dueAt": ISO8601DateTime,
  "endAt": ISO8601DateTime,
  "endedAt": ISO8601DateTime,
  "fulfilAt": ISO8601DateTime,
  "fulfillingAt": ISO8601DateTime,
  "gracePeriodHours": 123,
  "id": GlobalID,
  "identifier": "xyz789",
  "inventoryApplications": [InventoryApplication],
  "launchAt": ISO8601DateTime,
  "launchedAt": ISO8601DateTime,
  "limit": 123,
  "name": "June Pre-order for Product.",
  "productVariants": [ProductVariant],
  "products": [Product],
  "reference": "Pre-order June Product #REF-021",
  "reservedItemsCount": 987,
  "sequentialId": 123,
  "status": "CANCELLED",
  "updatedAt": ISO8601DateTime
}

SearchResult

Description

A search result.

Fields
Field Name Description
queryArguments - String! The query arguments as a JSON string
campaignOrders - CampaignOrderConnection The matching campaign orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

crowdfundingCampaigns - CrowdfundingCampaignConnection The matching crowdfunding campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

presaleCampaigns - PresaleCampaignConnection The matching presale campaigns
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptionOrders - SubscriptionOrderConnection The matching subscription orders
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptionPlanGroups - SubscriptionPlanGroupConnection The matching subscription plan groups
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

subscriptions - SubscriptionConnection The matching subscriptions
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

Example
{
  "queryArguments": "abc123",
  "campaignOrders": CampaignOrderConnection,
  "crowdfundingCampaigns": CrowdfundingCampaignConnection,
  "presaleCampaigns": PresaleCampaignConnection,
  "subscriptionOrders": SubscriptionOrderConnection,
  "subscriptionPlanGroups": SubscriptionPlanGroupConnection,
  "subscriptions": SubscriptionConnection
}

Connections

CampaignOrderConnection

Description

The connection type for CampaignOrder.

Fields
Field Name Description
edges - [CampaignOrderEdge] A list of edges.
nodes - [CampaignOrder] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [CampaignOrderEdge],
  "nodes": [CampaignOrder],
  "pageInfo": PageInfo,
  "totalCount": 123
}

CampaignOrderEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - CampaignOrder The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": CampaignOrder
}

CampaignOrderGroupConnection

Description

The connection type for CampaignOrderGroup.

Fields
Field Name Description
edges - [CampaignOrderGroupEdge] A list of edges.
nodes - [CampaignOrderGroup] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [CampaignOrderGroupEdge],
  "nodes": [CampaignOrderGroup],
  "pageInfo": PageInfo,
  "totalCount": 987
}

CampaignOrderGroupEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - CampaignOrderGroup The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": CampaignOrderGroup
}

ChannelConnection

Description

The connection type for Channel.

Fields
Field Name Description
edges - [ChannelEdge] A list of edges.
nodes - [Channel] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ChannelEdge],
  "nodes": [Channel],
  "pageInfo": PageInfo
}

ChannelEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Channel The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Channel
}

ChargeConnection

Description

The connection type for Charge.

Fields
Field Name Description
edges - [ChargeEdge] A list of edges.
nodes - [Charge] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [ChargeEdge],
  "nodes": [Charge],
  "pageInfo": PageInfo,
  "totalCount": 123
}

ChargeEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Charge The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Charge
}

CrowdfundingCampaignConnection

Description

The connection type for CrowdfundingCampaign.

Fields
Field Name Description
edges - [CrowdfundingCampaignEdge] A list of edges.
nodes - [CrowdfundingCampaign] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [CrowdfundingCampaignEdge],
  "nodes": [CrowdfundingCampaign],
  "pageInfo": PageInfo,
  "totalCount": 123
}

CrowdfundingCampaignEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - CrowdfundingCampaign The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": CrowdfundingCampaign
}

CustomerConnection

Description

The connection type for Customer.

Fields
Field Name Description
edges - [CustomerEdge] A list of edges.
nodes - [Customer] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [CustomerEdge],
  "nodes": [Customer],
  "pageInfo": PageInfo
}

CustomerEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Customer The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Customer
}

NotificationConnection

Description

The connection type for Notification.

Fields
Field Name Description
edges - [NotificationEdge] A list of edges.
nodes - [Notification] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [NotificationEdge],
  "nodes": [Notification],
  "pageInfo": PageInfo
}

NotificationEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Notification The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Notification
}

NotificationScheduleConnection

Description

The connection type for NotificationSchedule.

Fields
Field Name Description
edges - [NotificationScheduleEdge] A list of edges.
nodes - [NotificationSchedule] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [NotificationScheduleEdge],
  "nodes": [NotificationSchedule],
  "pageInfo": PageInfo
}

NotificationScheduleEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - NotificationSchedule The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": NotificationSchedule
}

OrderConnection

Description

The connection type for Order.

Fields
Field Name Description
edges - [OrderEdge] A list of edges.
nodes - [Order] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [OrderEdge],
  "nodes": [Order],
  "pageInfo": PageInfo
}

OrderEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Order The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Order
}

OrganisationConnection

Description

The connection type for Organisation.

Fields
Field Name Description
edges - [OrganisationEdge] A list of edges.
nodes - [Organisation] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [OrganisationEdge],
  "nodes": [Organisation],
  "pageInfo": PageInfo
}

OrganisationEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Organisation The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Organisation
}

PaymentIntentConnection

Description

The connection type for PaymentIntent.

Fields
Field Name Description
edges - [PaymentIntentEdge] A list of edges.
nodes - [PaymentIntent] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [PaymentIntentEdge],
  "nodes": [PaymentIntent],
  "pageInfo": PageInfo,
  "totalCount": 123
}

PaymentIntentEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - PaymentIntent The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": PaymentIntent
}

PaymentMethodConnection

Description

The connection type for PaymentMethod.

Fields
Field Name Description
edges - [PaymentMethodEdge] A list of edges.
nodes - [PaymentMethod] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [PaymentMethodEdge],
  "nodes": [PaymentMethod],
  "pageInfo": PageInfo,
  "totalCount": 987
}

PaymentMethodEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - PaymentMethod The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": PaymentMethod
}

PresaleCampaignConnection

Description

The connection type for PresaleCampaign.

Fields
Field Name Description
edges - [PresaleCampaignEdge] A list of edges.
nodes - [PresaleCampaign] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [PresaleCampaignEdge],
  "nodes": [PresaleCampaign],
  "pageInfo": PageInfo,
  "totalCount": 123
}

PresaleCampaignEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - PresaleCampaign The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": PresaleCampaign
}

ProductConnection

Description

The connection type for Product.

Fields
Field Name Description
edges - [ProductEdge] A list of edges.
nodes - [Product] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ProductEdge],
  "nodes": [Product],
  "pageInfo": PageInfo
}

ProductEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Product The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Product
}

ProductVariantConnection

Description

The connection type for ProductVariant.

Fields
Field Name Description
edges - [ProductVariantEdge] A list of edges.
nodes - [ProductVariant] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ProductVariantEdge],
  "nodes": [ProductVariant],
  "pageInfo": PageInfo
}

ProductVariantEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - ProductVariant The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": ProductVariant
}

RefundConnection

Description

The connection type for Refund.

Fields
Field Name Description
edges - [RefundEdge] A list of edges.
nodes - [Refund] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [RefundEdge],
  "nodes": [Refund],
  "pageInfo": PageInfo,
  "totalCount": 987
}

RefundEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Refund The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Refund
}

ScheduledNotificationConnection

Description

The connection type for ScheduledNotification.

Fields
Field Name Description
edges - [ScheduledNotificationEdge] A list of edges.
nodes - [ScheduledNotification] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ScheduledNotificationEdge],
  "nodes": [ScheduledNotification],
  "pageInfo": PageInfo
}

ScheduledNotificationEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - ScheduledNotification The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": ScheduledNotification
}

SubscriptionConnection

Description

The connection type for Subscription.

Fields
Field Name Description
edges - [SubscriptionEdge] A list of edges.
nodes - [Subscription] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [SubscriptionEdge],
  "nodes": [Subscription],
  "pageInfo": PageInfo,
  "totalCount": 123
}

SubscriptionEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Subscription The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Subscription
}

SubscriptionGroupConnection

Description

The connection type for SubscriptionGroup.

Fields
Field Name Description
edges - [SubscriptionGroupEdge] A list of edges.
nodes - [SubscriptionGroup] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [SubscriptionGroupEdge],
  "nodes": [SubscriptionGroup],
  "pageInfo": PageInfo,
  "totalCount": 123
}

SubscriptionGroupEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - SubscriptionGroup The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": SubscriptionGroup
}

SubscriptionOrderConnection

Description

The connection type for SubscriptionOrder.

Fields
Field Name Description
edges - [SubscriptionOrderEdge] A list of edges.
nodes - [SubscriptionOrder] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [SubscriptionOrderEdge],
  "nodes": [SubscriptionOrder],
  "pageInfo": PageInfo,
  "totalCount": 123
}

SubscriptionOrderEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - SubscriptionOrder The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": SubscriptionOrder
}

SubscriptionPlanGroupConnection

Description

The connection type for SubscriptionPlanGroup.

Fields
Field Name Description
edges - [SubscriptionPlanGroupEdge] A list of edges.
nodes - [SubscriptionPlanGroup] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
totalCount - Int! The total number of items in the collection
Example
{
  "edges": [SubscriptionPlanGroupEdge],
  "nodes": [SubscriptionPlanGroup],
  "pageInfo": PageInfo,
  "totalCount": 123
}

SubscriptionPlanGroupEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - SubscriptionPlanGroup The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": SubscriptionPlanGroup
}

WebhookConnection

Description

The connection type for Webhook.

Fields
Field Name Description
edges - [WebhookEdge] A list of edges.
nodes - [Webhook] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [WebhookEdge],
  "nodes": [Webhook],
  "pageInfo": PageInfo
}

WebhookEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Webhook The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Webhook
}

Enums

AccessTokenMode

Description

The access token mode.

Values
Enum Value Description

STATEFUL

Token has state

STATELESS

Token has no state
Example
"STATEFUL"

AccessTokenType

Description

Type of access token.

Values
Enum Value Description

CHANNEL

Token linked to channel

CUSTOMER

Token linked to customer

ORGANISATION

Token linked to organisation
Example
"CHANNEL"

CampaignAllocationStatus

Description

The allocation status of a campaign.

Values
Enum Value Description

ALLOCATED

Allocation is complete.

ALLOCATING

Allocation is in progress.

ALLOCATION_QUEUED

Allocation is queued.

PARTIALLY_ALLOCATED

Campaign is partially allocated.

PENDING

Allocation is pending.
Example
"ALLOCATED"

CampaignDepositType

Description

The campaign deposit type.

Values
Enum Value Description

PERCENTAGE

Campaign deposit type is a percentage
Example
"PERCENTAGE"

CampaignItemType

Description

The possible item types.

Values
Enum Value Description

PRODUCT

The type is a product type.

PRODUCT_VARIANT

The type is a product variant type.
Example
"PRODUCT"

CampaignOrderFulfilmentStatus

Description

Fulfilment status of campaign order.

Values
Enum Value Description

ALLOCATED

Campaign order fulfilment is allocated

FAILED

Campaign order fulfilment is failed

FULFILLED

Campaign order fulfilment is fulfilled

ON_HOLD

Campaign order fulfilment is on hold

OPEN

Campaign order fulfilment is open

PENDING

Campaign order fulfilment is pending

RETURNED

Campaign order fulfilment is returned

SUBMITTED

Campaign order fulfilment is submitted
Example
"ALLOCATED"

CampaignOrderGroupStatus

Description

Status of campaign order group eg: (pending, paid)

Values
Enum Value Description

ALLOCATED

Campaign order group is allocated

CANCELLED

Campaign order group is cancelled

COMPLETED

Campaign order group is completed

PAID

Campaign order group is paid

PENDING

Campaign order group is pending
Example
"ALLOCATED"

CampaignOrderPaymentStatus

Description

Payment status of the campaign order.

Values
Enum Value Description

FAILED

Payment failed.

PAID

Payment captured..

PARTIALLY_REFUNDED

Payment partially refunded.

PENDING

Payment pending.

REFUNDED

Payment refunded.

SUBMITTED

Payment submitted.
Example
"FAILED"

CampaignOrderSortKey

Description

The key used to sort campaign orders.

Values
Enum Value Description

ID

Sort by ID.
Example
"ID"

CampaignOrderStatus

Description

Status of campaign order eg: (pending, paid)

Values
Enum Value Description

ALLOCATED

Campaign order is allocated

CANCELLED

Campaign order is cancelled

COMPLETED

Campaign order is completed

PAID

Campaign order is paid

PENDING

Campaign order is pending
Example
"ALLOCATED"

CampaignPaymentTermsAlignment

Description

When should payments be captured when they are defined on a group?

Values
Enum Value Description

FIRST_CAMPAIGN

Payment terms are aligned to the first campaign.

LAST_CAMPAIGN

Payment terms are aligned to the last campaign.
Example
"FIRST_CAMPAIGN"

CampaignStatus

Description

The status of a campaign.

Values
Enum Value Description

CANCELLED

Campaign is cancelled

COMPLETED

Campaign is completed

ENDED

Campaign is ended

FULFILLING

Campaign is fulfilling

LAUNCHED

Campaign is launched

PENDING

Campaign is pending
Example
"CANCELLED"

CampaignType

Description

The possible campaign types.

Values
Enum Value Description

CROWDFUNDING

The campaign is a crowdfunding campaign.

PRESALE

The campaign is a presale campaign.
Example
"CROWDFUNDING"

CardBrand

Description

The card brands supported by Submarine.

Values
Enum Value Description

AMEX

American Express (Amex).

DISCOVER

Discover & Diners

JCB

Japan Credit Bureau (JCB)

MASTERCARD

Mastercard.

UNIONPAY

China UnionPay (CUP)

VISA

Visa.
Example
"AMEX"

ChannelStatus

Description

The possible channel statuses.

Values
Enum Value Description

ACTIVE

The channel is active.

INACTIVE

The channel is inactive.
Example
"ACTIVE"

ChannelType

Description

Type of channel eg: (Shopify)

Values
Enum Value Description

SHOPIFY

A Shopify channel
Example
"SHOPIFY"

ChargeFailureCode

Description

Failure code

Values
Enum Value Description

API_ERROR

API error

CARD_DECLINED

Card declined
Example
"API_ERROR"

ChargeSource

Description

The source of a charge or refund.

Values
Enum Value Description

SHOPIFY

Shopify

SUBMARINE

Submarine

UNKNOWN

Unknown source
Example
"SHOPIFY"

ChargeStatus

Description

Status of charge eg: (pending)

Values
Enum Value Description

FAILED

Charge failed

PENDING

Charge pending

SUCCEEDED

Charge succeeded
Example
"FAILED"

ChargeType

Description

Type of charge (eg. verify)

Values
Enum Value Description

AUTHORISE

Authorise

CAPTURE

Capture

SALE

Sale

VERIFY

Verify
Example
"AUTHORISE"

CountryCode

Description

ISO-3166-1 country codes.

Values
Enum Value Description

AD

Andorra

AE

United Arab Emirates

AF

Afghanistan

AG

Antigua and Barbuda

AI

Anguilla

AL

Albania

AM

Armenia

AO

Angola

AQ

Antarctica

AR

Argentina

AS

American Samoa

AT

Austria

AU

Australia

AW

Aruba

AX

Åland Islands

AZ

Azerbaijan

BA

Bosnia and Herzegovina

BB

Barbados

BD

Bangladesh

BE

Belgium

BF

Burkina Faso

BG

Bulgaria

BH

Bahrain

BI

Burundi

BJ

Benin

BL

Saint Barthélemy

BM

Bermuda

BN

Brunei Darussalam

BO

Bolivia (Plurinational State of)

BQ

Bonaire, Sint Eustatius and Saba

BR

Brazil

BS

Bahamas

BT

Bhutan

BV

Bouvet Island

BW

Botswana

BY

Belarus

BZ

Belize

CA

Canada

CC

Cocos (Keeling) Islands

CD

Congo (Democratic Republic of the)

CF

Central African Republic

CG

Congo

CH

Switzerland

CI

Côte d'Ivoire

CK

Cook Islands

CL

Chile

CM

Cameroon

CN

China

CO

Colombia

CR

Costa Rica

CU

Cuba

CV

Cabo Verde

CW

Curaçao

CX

Christmas Island

CY

Cyprus

CZ

Czechia

DE

Germany

DJ

Djibouti

DK

Denmark

DM

Dominica

DO

Dominican Republic

DZ

Algeria

EC

Ecuador

EE

Estonia

EG

Egypt

EH

Western Sahara

ER

Eritrea

ES

Spain

ET

Ethiopia

FI

Finland

FJ

Fiji

FK

Falkland Islands (Malvinas)

FM

Micronesia (Federated States of)

FO

Faroe Islands

FR

France

GA

Gabon

GB

United Kingdom of Great Britain and Northern Ireland

GD

Grenada

GE

Georgia

GF

French Guiana

GG

Guernsey

GH

Ghana

GI

Gibraltar

GL

Greenland

GM

Gambia

GN

Guinea

GP

Guadeloupe

GQ

Equatorial Guinea

GR

Greece

GS

South Georgia and the South Sandwich Islands

GT

Guatemala

GU

Guam

GW

Guinea-Bissau

GY

Guyana

HK

Hong Kong

HM

Heard Island and McDonald Islands

HN

Honduras

HR

Croatia

HT

Haiti

HU

Hungary

ID

Indonesia

IE

Ireland

IL

Israel

IM

Isle of Man

IN

India

IO

British Indian Ocean Territory

IQ

Iraq

IR

Iran (Islamic Republic of)

IS

Iceland

IT

Italy

JE

Jersey

JM

Jamaica

JO

Jordan

JP

Japan

KE

Kenya

KG

Kyrgyzstan

KH

Cambodia

KI

Kiribati

KM

Comoros

KN

Saint Kitts and Nevis

KP

Korea (Democratic People's Republic of)

KR

Korea (Republic of)

KW

Kuwait

KY

Cayman Islands

KZ

Kazakhstan

LA

Lao People's Democratic Republic

LB

Lebanon

LC

Saint Lucia

LI

Liechtenstein

LK

Sri Lanka

LR

Liberia

LS

Lesotho

LT

Lithuania

LU

Luxembourg

LV

Latvia

LY

Libya

MA

Morocco

MC

Monaco

MD

Moldova (Republic of)

ME

Montenegro

MF

Saint Martin (French part)

MG

Madagascar

MH

Marshall Islands

MK

North Macedonia

ML

Mali

MM

Myanmar

MN

Mongolia

MO

Macao

MP

Northern Mariana Islands

MQ

Martinique

MR

Mauritania

MS

Montserrat

MT

Malta

MU

Mauritius

MV

Maldives

MW

Malawi

MX

Mexico

MY

Malaysia

MZ

Mozambique

NA

Namibia

NC

New Caledonia

NE

Niger

NF

Norfolk Island

NG

Nigeria

NI

Nicaragua

NL

Netherlands

NO

Norway

NP

Nepal

NR

Nauru

NU

Niue

NZ

New Zealand

OM

Oman

PA

Panama

PE

Peru

PF

French Polynesia

PG

Papua New Guinea

PH

Philippines

PK

Pakistan

PL

Poland

PM

Saint Pierre and Miquelon

PN

Pitcairn

PR

Puerto Rico

PS

Palestine, State of

PT

Portugal

PW

Palau

PY

Paraguay

QA

Qatar

RE

Réunion

RO

Romania

RS

Serbia

RU

Russian Federation

RW

Rwanda

SA

Saudi Arabia

SB

Solomon Islands

SC

Seychelles

SD

Sudan

SE

Sweden

SG

Singapore

SH

Saint Helena, Ascension and Tristan da Cunha

SI

Slovenia

SJ

Svalbard and Jan Mayen

SK

Slovakia

SL

Sierra Leone

SM

San Marino

SN

Senegal

SO

Somalia

SR

Suriname

SS

South Sudan

ST

Sao Tome and Principe

SV

El Salvador

SX

Sint Maarten (Dutch part)

SY

Syrian Arab Republic

SZ

Eswatini

TC

Turks and Caicos Islands

TD

Chad

TF

French Southern Territories

TG

Togo

TH

Thailand

TJ

Tajikistan

TK

Tokelau

TL

Timor-Leste

TM

Turkmenistan

TN

Tunisia

TO

Tonga

TR

Türkiye

TT

Trinidad and Tobago

TV

Tuvalu

TW

Taiwan, Province of China

TZ

Tanzania, United Republic of

UA