Read Cratejoy subscriptions, customers, orders and shipments; skip or cancel subscriptions.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: cancel a subscriber's subscription in Cratejoy (the customer stops receiving boxes and renewals). This cancels the merchant's customer subscription, NOT this server's Pro plan (use the *_cancel_subscription tool for that). Requires confirm=true. A cancelled subscription can be restored with cratejoy_reactivate_subscription. PUT /v1/subscriptions/{sub_id}/cancel/.
Must be true: confirms the customer's subscription should be cancelled.
Cratejoy subscription id.
Optional note recorded in the subscription's log.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: cancel a subscriber's subscription in Cratejoy (the customer stops receiving boxes and renewals). This cancels the merchant's customer subscription, NOT this server's Pro plan (use the *_cancel_subscription tool for that). Requires confirm=true. A cancelled subscription can be restored with cratejoy_reactivate_subscription. PUT /v1/subscriptions/{sub_id}/cancel/.
| Argument | Type | Description |
|---|---|---|
| confirm* | boolean | Must be true: confirms the customer's subscription should be cancelled. |
| log_note | string | Optional note recorded in the subscription's log. |
| subscription_id* | integer | Cratejoy subscription id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id",
"confirm"
],
"properties": {
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true: confirms the customer's subscription should be cancelled."
},
"log_note": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Optional note recorded in the subscription's log."
},
"subscription_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy subscription id.",
"exclusiveMinimum": 0
}
}
}One customer by id, optionally with relationships (addresses, subscriptions, orders, shipments, notes...). GET /v1/customers/{customer_id}/.
| Argument | Type | Description |
|---|---|---|
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| customer_id* | integer | Cratejoy customer id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy customer id.",
"exclusiveMinimum": 0
}
}
}One order by id, optionally with relationships (customer, products, coupons, addresses, fulfillments, transactions). GET /v1/orders/{order_id}/.
| Argument | Type | Description |
|---|---|---|
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| order_id* | integer | Cratejoy order id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_id"
],
"properties": {
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"order_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy order id.",
"exclusiveMinimum": 0
}
}
}One product by id, optionally with relationships. GET /v1/products/{prod_id}/.
| Argument | Type | Description |
|---|---|---|
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| product_id* | integer | Cratejoy product id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"product_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy product id.",
"exclusiveMinimum": 0
}
}
}One shipment by id, optionally with relationships (customer, fulfillments, labels, ship_address, subscriptions). GET /v1/shipments/{ship_id}/.
| Argument | Type | Description |
|---|---|---|
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| shipment_id* | integer | Cratejoy shipment id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"shipment_id"
],
"properties": {
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"shipment_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy shipment id.",
"exclusiveMinimum": 0
}
}
}The store-level metadata record (id, store_id, created_at, updated_at, data: free-form JSON attached to the store). GET /v1/metadata/.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One subscription by id, optionally with relationships (customer, billing, term, product, address, orders, shipments, logs). GET /v1/subscriptions/{sub_id}/.
| Argument | Type | Description |
|---|---|---|
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| subscription_id* | integer | Cratejoy subscription id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id"
],
"properties": {
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"subscription_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy subscription id.",
"exclusiveMinimum": 0
}
}
}One payment transaction by id. GET /v1/transactions/{trans_id}/.
| Argument | Type | Description |
|---|---|---|
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| transaction_id* | integer | Cratejoy transaction id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"transaction_id"
],
"properties": {
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"transaction_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy transaction id.",
"exclusiveMinimum": 0
}
}
}List customers (id, name, email, country, location, num_orders, num_subscriptions, subscription_status, total_revenue). Filter by email or name, or with `filters` (e.g. { 'addresses.city': 'Austin' }). Relationships: addresses, logs, carts, notes, orders, shipments, subscriptions. GET /v1/customers/.
| Argument | Type | Description |
|---|---|---|
| name | string | Customer name contains this text (case-insensitive). |
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| string | Exact customer email. | |
| limit | integer | Results per page, 1-100 (default 25). |
| filters | object | Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Customer name contains this text (case-insensitive)."
},
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"email": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Exact customer email."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"filters": {
"type": "object",
"description": "Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }.",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
}
}List orders (id, customer_id, placed_at, status, financial_status, fulfillment_status, is_renewal, is_gift, sub_total, total, total_shipping, total_tax). Amounts are in cents. Filter by payment status and placed-at range, or with `filters`. Relationships: customer, products, coupons, bill_address, ship_address, fulfillments, transactions, subscriptions. GET /v1/orders/.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| limit | integer | Results per page, 1-100 (default 25). |
| filters | object | Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }. |
| placed_after | string | Only orders placed on or after this date/date-time. |
| placed_before | string | Only orders placed on or before this date/date-time. |
| financial_status |
List products (id, name, sku, slug, description, visible, listed, giftable, ship_option, ship_weight, has_subscribers). Filter by type or with `filters` (e.g. { 'visible': true }). Relationships: billing, instances, variants, subscription_types. GET /v1/products/.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| limit | integer | Results per page, 1-100 (default 25). |
| filters | object | Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }. |
| product_type | string | Product type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"filters": {
"type": "object",
"description": "Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }.",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"product_type": {
"enum": [
"subscription",
"one_time",
"gift_card"
],
"type": "string",
"description": "Product type."
}
}
}List shipments (id, customer_id, status, created_at, target_at, shipped_at, tracking_number, is_gift). Filter by status and creation range, or with `filters`. Relationships: customer, fulfillments, labels, ship_address, subscriptions. GET /v1/shipments/.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| limit | integer | Results per page, 1-100 (default 25). |
| status | string | Shipment status. |
| filters | object | Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }. |
| created_after | string | Only shipments created on or after this date/date-time. |
| created_before | string | Only shipments created on or before this date/date-time. |
Coupons applied to a subscription's next renewal (coupon_id, code_used, enabled, num_renewals). GET /v1/subscriptions/{sub_id}/coupons/.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| limit | integer | Results per page, 1-100 (default 25). |
| subscription_id* | integer | Cratejoy subscription id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"subscription_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy subscription id.",
"exclusiveMinimum": 0
}
}
}List subscriptions (id, status, autorenew, billing_name, start_date, end_date, skipped_date, is_test, product_billing_id). Filter by status and end-date range, or with `filters` (e.g. { 'customer.email__like': '%@example.com' }). Relationships: customer, billing, term, product, address, orders, shipments, logs. GET /v1/subscriptions/.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| limit | integer | Results per page, 1-100 (default 25). |
| status | string | Subscription status (unpaid, suspended and others are deprecated by Cratejoy). |
| filters | object | Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }. |
| ends_after | string | Only subscriptions whose end_date is on or after this date/date-time. |
| ends_before |
List payment transactions (id, created_at, result: authorized/captured/failed/refunded, total in cents, is_test, order). Filter by result and creation range, or with `filters`. GET /v1/transactions/.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, counting from 0 (default 0). Pass the previous reply's next_page. |
| with | string | Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default. |
| limit | integer | Results per page, 1-100 (default 25). |
| result | string | Transaction result. |
| filters | object | Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }. |
| created_after | string | Only transactions created on or after this date/date-time. |
| created_before | string | Only transactions created on or before this date/date-time. |
WRITE: reactivate a cancelled subscription so it renews and charges the customer again. Requires confirm=true. Reactivating an active subscription changes nothing more. PUT /v1/subscriptions/{sub_id}/reactivate/.
| Argument | Type | Description |
|---|---|---|
| confirm* | boolean | Must be true: confirms the subscription should renew (and be charged) again. |
| log_note | string | Optional note recorded in the subscription's log. |
| subscription_id* | integer | Cratejoy subscription id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id",
"confirm"
],
"properties": {
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true: confirms the subscription should renew (and be charged) again."
},
"log_note": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Optional note recorded in the subscription's log."
},
"subscription_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy subscription id.",
"exclusiveMinimum": 0
}
}
}WRITE: retry the renewal of a PAST-DUE subscription whose renewal failed within the last 30 days. This charges the customer's saved payment method. Requires confirm=true. PUT /v1/subscriptions/{sub_id}/renew/.
| Argument | Type | Description |
|---|---|---|
| confirm* | boolean | Must be true: confirms the customer's payment method should be charged. |
| log_note | string | Optional note recorded in the subscription's log. |
| subscription_id* | integer | Cratejoy subscription id (status past_due). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id",
"confirm"
],
"properties": {
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true: confirms the customer's payment method should be charged."
},
"log_note": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Optional note recorded in the subscription's log."
},
"subscription_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy subscription id (status past_due).",
"exclusiveMinimum": 0
}
}
}WRITE: skip a subscriber's next renewal (action 'skip') or undo the skip (action 'unskip'). Requires confirm=true. Repeating the same action changes nothing more. This changes a merchant customer's subscription in Cratejoy; it is not this server's own billing. PUT /v1/subscriptions/{sub_id}/skip/.
| Argument | Type | Description |
|---|---|---|
| action* | string | 'skip' skips the next renewal; 'unskip' restores it. |
| confirm* | boolean | Must be true: confirms the customer's renewal schedule should change. |
| subscription_id* | integer | Cratejoy subscription id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id",
"action",
"confirm"
],
"properties": {
"action": {
"enum": [
"skip",
"unskip"
],
"type": "string",
"description": "'skip' skips the next renewal; 'unskip' restores it."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true: confirms the customer's renewal schedule should change."
},
"subscription_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cratejoy subscription id.",
"exclusiveMinimum": 0
}
}
}| string |
| Payment status of the order. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"filters": {
"type": "object",
"description": "Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }.",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"placed_after": {
"type": "string",
"description": "Only orders placed on or after this date/date-time."
},
"placed_before": {
"type": "string",
"description": "Only orders placed on or before this date/date-time."
},
"financial_status": {
"enum": [
"pending",
"authorized",
"partially_paid",
"paid",
"partially_refunded",
"refunded",
"voided"
],
"type": "string",
"description": "Payment status of the order."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"status": {
"enum": [
"unshipped",
"shipped",
"cancelled"
],
"type": "string",
"description": "Shipment status."
},
"filters": {
"type": "object",
"description": "Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }.",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"created_after": {
"type": "string",
"description": "Only shipments created on or after this date/date-time."
},
"created_before": {
"type": "string",
"description": "Only shipments created on or before this date/date-time."
}
}
}| string |
| Only subscriptions whose end_date is on or before this date/date-time. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"status": {
"enum": [
"unpaid",
"active",
"cancelled",
"suspended",
"expired",
"past_due",
"pending_renewal",
"renewing",
"unpaid_order_failed",
"transferred"
],
"type": "string",
"description": "Subscription status (unpaid, suspended and others are deprecated by Cratejoy)."
},
"filters": {
"type": "object",
"description": "Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }.",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"ends_after": {
"type": "string",
"description": "Only subscriptions whose end_date is on or after this date/date-time."
},
"ends_before": {
"type": "string",
"description": "Only subscriptions whose end_date is on or before this date/date-time."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page."
},
"with": {
"type": "string",
"pattern": "^(?:all|[a-z_]+(?:,[a-z_]+)*)?$",
"description": "Relationships to embed: comma-separated names (e.g. 'customer,orders'), 'all', or an empty string for none. Omit it for the vendor default."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"result": {
"enum": [
"authorized",
"captured",
"failed",
"refunded",
"failed_refund"
],
"type": "string",
"description": "Transaction result."
},
"filters": {
"type": "object",
"description": "Extra Cratejoy filters as { '[relation.]property[__comparison]': value }. Comparisons: eq (default), ne, lt, le, gt, ge, like, ilike (% is the wildcard), in, nin (comma-separated), is_null. Status columns take integers. Example: { 'customer.email__like': '%@example.com' }.",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"created_after": {
"type": "string",
"description": "Only transactions created on or after this date/date-time."
},
"created_before": {
"type": "string",
"description": "Only transactions created on or before this date/date-time."
}
}
}