{
  "service": "shopify_partner",
  "displayName": "Shopify Partner",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Partner API access token",
      "placeholder": "partner_api_access_token",
      "description": "Shopify Partner API client access token sent with the X-Shopify-Access-Token header. Create it in Partners Dashboard settings: https://shopify.dev/docs/api/partner/latest#create-a-partner-api-client",
      "extraFields": [
        {
          "key": "organizationId",
          "label": "Organization ID",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "1234567",
          "description": "The Shopify Partner organization ID from the Partners Dashboard URL, used in the Partner API endpoint."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.shopify.com/partners",
  "actions": [
    {
      "id": "shopify_partner.execute_graphql",
      "service": "shopify_partner",
      "name": "execute_graphql",
      "description": "Execute a JSON-friendly Shopify Partner GraphQL query or mutation against the connected organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The GraphQL document to execute."
          },
          "variables": {
            "type": "object",
            "additionalProperties": {
              "description": "A variable."
            },
            "description": "GraphQL variables keyed by variable name."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The Shopify Partner GraphQL request payload."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Shopify Partner GraphQL object."
          },
          "extensions": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Shopify Partner GraphQL object."
          }
        },
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "description": "The raw Shopify Partner GraphQL response data and extensions."
      }
    },
    {
      "id": "shopify_partner.get_app",
      "service": "shopify_partner",
      "name": "get_app",
      "description": "Retrieve one Shopify Partner app by GraphQL global ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL global ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "The Shopify Partner app lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "app": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Shopify Partner GraphQL global ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The Shopify app name."
                  },
                  "apiKey": {
                    "type": "string",
                    "description": "The Shopify app API key identifier."
                  },
                  "raw": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw Shopify Partner GraphQL object."
                  }
                },
                "additionalProperties": false,
                "description": "A Shopify Partner app."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The Shopify Partner app response."
      }
    },
    {
      "id": "shopify_partner.list_app_events",
      "service": "shopify_partner",
      "name": "list_app_events",
      "description": "List app events for a Shopify Partner app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "appId": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL global ID."
          },
          "first": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return.",
            "default": 50
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL pagination cursor."
          },
          "chargeId": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL global ID."
          },
          "occurredAtMin": {
            "type": "string",
            "description": "A Shopify Partner ISO 8601 timestamp.",
            "format": "date-time"
          },
          "occurredAtMax": {
            "type": "string",
            "description": "A Shopify Partner ISO 8601 timestamp.",
            "format": "date-time"
          },
          "shopId": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL global ID."
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "CREDIT_APPLIED",
                "CREDIT_FAILED",
                "CREDIT_PENDING",
                "ONE_TIME_CHARGE_ACCEPTED",
                "ONE_TIME_CHARGE_ACTIVATED",
                "ONE_TIME_CHARGE_DECLINED",
                "ONE_TIME_CHARGE_EXPIRED",
                "RELATIONSHIP_DEACTIVATED",
                "RELATIONSHIP_INSTALLED",
                "RELATIONSHIP_REACTIVATED",
                "RELATIONSHIP_UNINSTALLED",
                "SUBSCRIPTION_APPROACHING_CAPPED_AMOUNT",
                "SUBSCRIPTION_CAPPED_AMOUNT_UPDATED",
                "SUBSCRIPTION_CHARGE_ACCEPTED",
                "SUBSCRIPTION_CHARGE_ACTIVATED",
                "SUBSCRIPTION_CHARGE_CANCELED",
                "SUBSCRIPTION_CHARGE_DECLINED",
                "SUBSCRIPTION_CHARGE_EXPIRED",
                "SUBSCRIPTION_CHARGE_FROZEN",
                "SUBSCRIPTION_CHARGE_UNFROZEN",
                "USAGE_CHARGE_APPLIED"
              ],
              "description": "A Shopify Partner app event type."
            },
            "description": "App event types to include."
          }
        },
        "additionalProperties": false,
        "required": [
          "appId"
        ],
        "description": "Arguments for listing events for a Shopify Partner app."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "app": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Shopify Partner GraphQL global ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The Shopify app name."
                  },
                  "apiKey": {
                    "type": "string",
                    "description": "The Shopify app API key identifier."
                  },
                  "raw": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw Shopify Partner GraphQL object."
                  }
                },
                "additionalProperties": false,
                "description": "A Shopify Partner app."
              },
              {
                "type": "null"
              }
            ]
          },
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "CREDIT_APPLIED",
                    "CREDIT_FAILED",
                    "CREDIT_PENDING",
                    "ONE_TIME_CHARGE_ACCEPTED",
                    "ONE_TIME_CHARGE_ACTIVATED",
                    "ONE_TIME_CHARGE_DECLINED",
                    "ONE_TIME_CHARGE_EXPIRED",
                    "RELATIONSHIP_DEACTIVATED",
                    "RELATIONSHIP_INSTALLED",
                    "RELATIONSHIP_REACTIVATED",
                    "RELATIONSHIP_UNINSTALLED",
                    "SUBSCRIPTION_APPROACHING_CAPPED_AMOUNT",
                    "SUBSCRIPTION_CAPPED_AMOUNT_UPDATED",
                    "SUBSCRIPTION_CHARGE_ACCEPTED",
                    "SUBSCRIPTION_CHARGE_ACTIVATED",
                    "SUBSCRIPTION_CHARGE_CANCELED",
                    "SUBSCRIPTION_CHARGE_DECLINED",
                    "SUBSCRIPTION_CHARGE_EXPIRED",
                    "SUBSCRIPTION_CHARGE_FROZEN",
                    "SUBSCRIPTION_CHARGE_UNFROZEN",
                    "USAGE_CHARGE_APPLIED"
                  ],
                  "description": "A Shopify Partner app event type."
                },
                "occurredAt": {
                  "type": "string",
                  "description": "A Shopify Partner ISO 8601 timestamp.",
                  "format": "date-time"
                },
                "app": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Shopify Partner GraphQL global ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The Shopify app name."
                    },
                    "apiKey": {
                      "type": "string",
                      "description": "The Shopify app API key identifier."
                    },
                    "raw": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The raw Shopify Partner GraphQL object."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A Shopify Partner app."
                },
                "shop": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Shopify Partner GraphQL global ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The Shopify shop name."
                    },
                    "myshopifyDomain": {
                      "type": "string",
                      "description": "The shop myshopify.com domain."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A Shopify Partner shop reference."
                },
                "cursor": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Shopify Partner GraphQL pagination cursor."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Shopify Partner GraphQL object."
                }
              },
              "additionalProperties": false,
              "required": [
                "type",
                "occurredAt",
                "app",
                "shop",
                "raw"
              ],
              "description": "A normalized Shopify Partner app event."
            },
            "description": "The returned Shopify Partner app events."
          },
          "pageInfo": {
            "type": "object",
            "properties": {
              "hasNextPage": {
                "type": "boolean",
                "description": "Whether more pages exist after the current page."
              },
              "hasPreviousPage": {
                "type": "boolean",
                "description": "Whether pages exist before the current page."
              }
            },
            "additionalProperties": false,
            "description": "Shopify Partner pagination information."
          }
        },
        "additionalProperties": false,
        "description": "The Shopify Partner app events response."
      }
    },
    {
      "id": "shopify_partner.list_partner_events",
      "service": "shopify_partner",
      "name": "list_partner_events",
      "description": "List historical Shopify Partner events for the authenticated organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "first": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return.",
            "default": 50
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL pagination cursor."
          },
          "filter": {
            "type": "object",
            "properties": {
              "eventTypes": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CHARGE_ONE_TIME",
                    "CHARGE_RECURRING",
                    "CHARGE_USAGE",
                    "CREDIT_APPLIED",
                    "CREDIT_FAILED",
                    "CREDIT_PENDING",
                    "EARNING_ADJUSTMENT",
                    "EARNING_CHARGE_ONE_TIME",
                    "EARNING_CHARGE_RECURRING",
                    "EARNING_CHARGE_USAGE",
                    "EARNING_CREDIT",
                    "EARNING_REFUND",
                    "RELATIONSHIP_DEACTIVATED",
                    "RELATIONSHIP_INSTALLED",
                    "RELATIONSHIP_REACTIVATED",
                    "RELATIONSHIP_UNINSTALLED",
                    "SUBSCRIPTION_CANCELED",
                    "SUBSCRIPTION_CANCELLATION_SCHEDULED",
                    "SUBSCRIPTION_CREATED",
                    "SUBSCRIPTION_FROZEN",
                    "SUBSCRIPTION_UNFROZEN",
                    "SUBSCRIPTION_UPDATED"
                  ],
                  "description": "A Shopify Partner historical event type."
                },
                "description": "Historical event types to include."
              },
              "occurredAtMin": {
                "type": "string",
                "description": "A Shopify Partner ISO 8601 timestamp.",
                "format": "date-time"
              },
              "occurredAtMax": {
                "type": "string",
                "description": "A Shopify Partner ISO 8601 timestamp.",
                "format": "date-time"
              },
              "shopId": {
                "type": "string",
                "minLength": 1,
                "description": "A Shopify Partner GraphQL global ID."
              },
              "subjectId": {
                "type": "string",
                "minLength": 1,
                "description": "A Shopify Partner GraphQL global ID."
              },
              "subjectType": {
                "type": "string",
                "enum": [
                  "APP",
                  "THEME"
                ],
                "description": "The Shopify Partner event subject type."
              }
            },
            "additionalProperties": false,
            "description": "Filter criteria for Shopify Partner historical events."
          },
          "orderBy": {
            "type": "string",
            "enum": [
              "OCCURRED_AT_ASC",
              "OCCURRED_AT_DESC"
            ],
            "description": "The order for Shopify Partner event results."
          }
        },
        "additionalProperties": false,
        "description": "Arguments for listing Shopify Partner historical events."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Shopify Partner GraphQL global ID."
                },
                "eventType": {
                  "type": "string",
                  "enum": [
                    "CHARGE_ONE_TIME",
                    "CHARGE_RECURRING",
                    "CHARGE_USAGE",
                    "CREDIT_APPLIED",
                    "CREDIT_FAILED",
                    "CREDIT_PENDING",
                    "EARNING_ADJUSTMENT",
                    "EARNING_CHARGE_ONE_TIME",
                    "EARNING_CHARGE_RECURRING",
                    "EARNING_CHARGE_USAGE",
                    "EARNING_CREDIT",
                    "EARNING_REFUND",
                    "RELATIONSHIP_DEACTIVATED",
                    "RELATIONSHIP_INSTALLED",
                    "RELATIONSHIP_REACTIVATED",
                    "RELATIONSHIP_UNINSTALLED",
                    "SUBSCRIPTION_CANCELED",
                    "SUBSCRIPTION_CANCELLATION_SCHEDULED",
                    "SUBSCRIPTION_CREATED",
                    "SUBSCRIPTION_FROZEN",
                    "SUBSCRIPTION_UNFROZEN",
                    "SUBSCRIPTION_UPDATED"
                  ],
                  "description": "A Shopify Partner historical event type."
                },
                "occurredAt": {
                  "type": "string",
                  "description": "A Shopify Partner ISO 8601 timestamp.",
                  "format": "date-time"
                },
                "shop": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Shopify Partner GraphQL global ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The Shopify shop name."
                        },
                        "myshopifyDomain": {
                          "type": "string",
                          "description": "The shop myshopify.com domain."
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Shopify Partner shop reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "subjectType": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The GraphQL typename for the event subject when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "subjectId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The subject ID when returned by Shopify."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "subjectName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The subject name when returned by Shopify."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "cursor": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Shopify Partner GraphQL pagination cursor."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Shopify Partner GraphQL object."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "eventType",
                "occurredAt",
                "shop",
                "cursor",
                "raw"
              ],
              "description": "A normalized Shopify Partner historical event."
            },
            "description": "The returned Shopify Partner events."
          },
          "pageInfo": {
            "type": "object",
            "properties": {
              "hasNextPage": {
                "type": "boolean",
                "description": "Whether more historical event pages exist after the current page."
              },
              "hasPreviousPage": {
                "type": "boolean",
                "description": "Whether historical event pages exist before the current page."
              },
              "startCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Shopify Partner GraphQL pagination cursor."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "endCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Shopify Partner GraphQL pagination cursor."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "Shopify Partner historical event pagination information."
          }
        },
        "additionalProperties": false,
        "description": "The Shopify Partner historical events response."
      }
    },
    {
      "id": "shopify_partner.list_transactions",
      "service": "shopify_partner",
      "name": "list_transactions",
      "description": "List transactions that impact Shopify Partner earnings.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "first": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return.",
            "default": 50
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL pagination cursor."
          },
          "appId": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL global ID."
          },
          "createdAtMin": {
            "type": "string",
            "description": "A Shopify Partner ISO 8601 timestamp.",
            "format": "date-time"
          },
          "createdAtMax": {
            "type": "string",
            "description": "A Shopify Partner ISO 8601 timestamp.",
            "format": "date-time"
          },
          "myshopifyDomain": {
            "type": "string",
            "minLength": 1,
            "description": "A myshopify.com domain used to filter transactions."
          },
          "shopId": {
            "type": "string",
            "minLength": 1,
            "description": "A Shopify Partner GraphQL global ID."
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "APP_ONE_TIME_SALE",
                "APP_SALE_ADJUSTMENT",
                "APP_SALE_CREDIT",
                "APP_SUBSCRIPTION_SALE",
                "APP_USAGE_SALE",
                "LEGACY",
                "REFERRAL",
                "REFERRAL_ADJUSTMENT",
                "SERVICE_SALE",
                "SERVICE_SALE_ADJUSTMENT",
                "TAX",
                "THEME_SALE",
                "THEME_SALE_ADJUSTMENT"
              ],
              "description": "A Shopify Partner transaction type."
            },
            "description": "Transaction types to include."
          }
        },
        "additionalProperties": false,
        "description": "Arguments for listing Shopify Partner transactions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Shopify Partner GraphQL global ID."
                },
                "createdAt": {
                  "type": "string",
                  "description": "A Shopify Partner ISO 8601 timestamp.",
                  "format": "date-time"
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The GraphQL typename for the transaction subtype."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "cursor": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Shopify Partner GraphQL pagination cursor."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Shopify Partner GraphQL object."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "createdAt",
                "cursor",
                "raw"
              ],
              "description": "A normalized Shopify Partner transaction."
            },
            "description": "The returned Shopify Partner transactions."
          },
          "pageInfo": {
            "type": "object",
            "properties": {
              "hasNextPage": {
                "type": "boolean",
                "description": "Whether more pages exist after the current page."
              },
              "hasPreviousPage": {
                "type": "boolean",
                "description": "Whether pages exist before the current page."
              }
            },
            "additionalProperties": false,
            "description": "Shopify Partner pagination information."
          }
        },
        "additionalProperties": false,
        "description": "The Shopify Partner transactions response."
      }
    }
  ]
}
