Run a valid stripe.cancel_subscription call through the same SDK surface used by every toolkit.

Minimal tool call

ts
import { Eyeball } from "@eyeball/sdk";

const eyeball = new Eyeball({
  apiKey: process.env.EYEBALL_API_KEY!,
  baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
});

const output = await eyeball.tools.run(
  "stripe.cancel_subscription",
  {
  "subscriptionId": "example_subscriptionId",
  "atPeriodEnd": false
},
  { userId: "demo_user",
  idempotencyKey: "docs:stripe.cancel_subscription:demo-1" },
);
console.log(output);

The model receives canonical output. Your application retains the execution envelope through tools.execute or the execution APIs when it needs IDs, status, versions, and latency.

Supported canonical tools

ToolPurposeExecutionEffectVersion
stripe.cancel_subscriptionCancel a subscription immediately or at period end. This revokes future service or billing and is destructive; verify the subscription and timing.sync or asyncdestructive mutation1.0.0
stripe.create_customerCreate a billing customer for future payments, subscriptions, and invoices.sync or asyncmutation1.0.0
stripe.create_invoiceCreate a billing invoice with portable line items and collection settings. This creates a customer balance but does not imply successful collection.sync or asyncmutation1.0.0
stripe.create_payment_linkCreate a hosted checkout or payment link for a fixed amount. This creates a shareable external payment surface; verify amount and currency first.sync or asyncmutation1.0.0
stripe.create_refundRefund all or part of a captured payment. This returns funds and is destructive; verify the payment and amount before execution.sync or asyncdestructive mutation1.0.0
stripe.get_customerRetrieve one billing customer and portable payment metadata.sync or asyncread1.0.0
stripe.get_invoiceRetrieve one billing invoice with normalized totals, due state, line items, and hosted references.sync or asyncread1.0.0
stripe.get_paymentRetrieve one payment, charge, or transaction and its current status.sync or asyncread1.0.0
stripe.list_paymentsList payments using customer, status, time, and pagination filters.sync or asyncread1.0.0
stripe.list_subscriptionsList subscriptions using customer, status, and pagination filters.sync or asyncread1.0.0

Only the rows above are implemented. A capability tool omitted by this manifest returns not_supported; eyeball never synthesizes provider parity.

Supported canonical triggers

This manifest does not implement a canonical trigger.

Input and output schemas

stripe.cancel_subscription

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:cancel_subscription:1.0.0:stripe",
  "type": "object",
  "description": "Subscription identifier and cancellation timing.",
  "additionalProperties": false,
  "required": [
    "subscriptionId"
  ],
  "properties": {
    "subscriptionId": {
      "type": "string",
      "description": "Provider identifier of the subscription.",
      "minLength": 1
    },
    "atPeriodEnd": {
      "type": "boolean",
      "description": "When true, schedule cancellation for period end instead of canceling immediately.",
      "default": false
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:cancel_subscription:output:1.0.0:stripe",
  "type": "object",
  "description": "The subscription after applying cancellation.",
  "additionalProperties": false,
  "required": [
    "subscription"
  ],
  "properties": {
    "subscription": {
      "type": "object",
      "description": "A normalized billing subscription.",
      "additionalProperties": false,
      "required": [
        "subscriptionId",
        "customerId",
        "status",
        "cancelAtPeriodEnd",
        "createdAt"
      ],
      "properties": {
        "subscriptionId": {
          "type": "string",
          "description": "Provider identifier of the subscription.",
          "minLength": 1
        },
        "customerId": {
          "type": "string",
          "description": "Provider identifier of the billing customer.",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "description": "Subscription state."
        },
        "cancelAtPeriodEnd": {
          "type": "boolean",
          "description": "Whether cancellation is scheduled for period end."
        },
        "canceledAt": {
          "type": "string",
          "format": "date-time",
          "description": "Cancellation timestamp when canceled."
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Subscription creation timestamp."
        }
      }
    }
  }
}
stripe.create_customer

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_customer:1.0.0:stripe",
  "type": "object",
  "description": "Identity and metadata for a new billing customer.",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string",
      "description": "Customer display name.",
      "minLength": 1
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "Customer email address."
    },
    "phone": {
      "type": "string",
      "description": "Customer phone number."
    },
    "metadata": {
      "type": "object",
      "description": "Portable customer metadata.",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_customer:output:1.0.0:stripe",
  "type": "object",
  "description": "The newly created billing customer.",
  "additionalProperties": false,
  "required": [
    "customer"
  ],
  "properties": {
    "customer": {
      "type": "object",
      "description": "A normalized billing customer.",
      "additionalProperties": false,
      "required": [
        "customerId",
        "createdAt"
      ],
      "properties": {
        "customerId": {
          "type": "string",
          "description": "Provider identifier of the billing customer.",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "description": "Customer display name."
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "Customer email address."
        },
        "phone": {
          "type": "string",
          "description": "Customer phone number."
        },
        "metadata": {
          "type": "object",
          "description": "Portable customer metadata.",
          "additionalProperties": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          }
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Customer creation timestamp."
        }
      }
    }
  }
}
stripe.create_invoice

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_invoice:1.0.0:stripe",
  "type": "object",
  "description": "Customer, currency, collection settings, and invoice lines.",
  "additionalProperties": false,
  "required": [
    "customerId",
    "currency",
    "lineItems"
  ],
  "properties": {
    "customerId": {
      "type": "string",
      "description": "Provider identifier of the billed customer.",
      "minLength": 1
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217 currency code.",
      "pattern": "^[A-Z]{3}$"
    },
    "collectionMethod": {
      "type": "string",
      "description": "How the invoice should be collected.",
      "enum": [
        "automatic",
        "send_invoice"
      ],
      "default": "automatic"
    },
    "dueDays": {
      "type": "integer",
      "description": "Days until due when collectionMethod is send_invoice.",
      "minimum": 1
    },
    "description": {
      "type": "string",
      "description": "Invoice description or memo."
    },
    "metadata": {
      "type": "object",
      "description": "Portable metadata to associate with the invoice.",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    },
    "lineItems": {
      "type": "array",
      "description": "One or more billing-invoice lines.",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "description",
          "unitAmount"
        ],
        "properties": {
          "priceId": {
            "type": "string",
            "description": "Provider price identifier when using an existing price.",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "description": "Invoice-line description.",
            "minLength": 1
          },
          "quantity": {
            "type": "integer",
            "description": "Billed quantity.",
            "minimum": 1,
            "default": 1
          },
          "unitAmount": {
            "type": "integer",
            "description": "Unit amount in the currency's smallest unit.",
            "minimum": 0
          }
        }
      }
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_invoice:output:1.0.0:stripe",
  "type": "object",
  "description": "The newly created billing invoice.",
  "additionalProperties": false,
  "required": [
    "invoice"
  ],
  "properties": {
    "invoice": {
      "type": "object",
      "description": "A normalized billing invoice.",
      "additionalProperties": false,
      "required": [
        "invoiceId",
        "status",
        "currency",
        "amountDue",
        "createdAt"
      ],
      "properties": {
        "invoiceId": {
          "type": "string",
          "description": "Provider identifier of the billing invoice.",
          "minLength": 1
        },
        "customerId": {
          "type": "string",
          "description": "Provider identifier of the billed customer.",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "description": "Billing-invoice state."
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code.",
          "pattern": "^[A-Z]{3}$"
        },
        "amountDue": {
          "type": "integer",
          "description": "Outstanding amount in the currency's smallest unit.",
          "minimum": 0
        },
        "amountPaid": {
          "type": "integer",
          "description": "Paid amount in the currency's smallest unit.",
          "minimum": 0
        },
        "dueAt": {
          "type": "string",
          "format": "date-time",
          "description": "Invoice due timestamp when collection is manual."
        },
        "hostedUrl": {
          "type": "string",
          "format": "uri",
          "description": "Hosted invoice URL when available."
        },
        "lineItems": {
          "type": "array",
          "description": "Normalized billing-invoice lines.",
          "items": {
            "type": "object",
            "description": "One normalized billing-invoice line.",
            "additionalProperties": false,
            "required": [
              "description",
              "quantity",
              "unitAmount",
              "amount"
            ],
            "properties": {
              "lineId": {
                "type": "string",
                "description": "Provider identifier of the invoice line.",
                "minLength": 1
              },
              "priceId": {
                "type": "string",
                "description": "Provider price identifier for the line.",
                "minLength": 1
              },
              "description": {
                "type": "string",
                "description": "Invoice-line description."
              },
              "quantity": {
                "type": "integer",
                "description": "Billed quantity.",
                "minimum": 1
              },
              "unitAmount": {
                "type": "integer",
                "description": "Unit amount in the currency's smallest unit.",
                "minimum": 0
              },
              "amount": {
                "type": "integer",
                "description": "Extended line amount in the currency's smallest unit.",
                "minimum": 0
              }
            }
          }
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Billing-invoice creation timestamp."
        },
        "finalizedAt": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp when the invoice was finalized."
        }
      }
    }
  }
}
stripe.create_payment_link

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_payment_link:1.0.0:stripe",
  "type": "object",
  "description": "Amount, currency, and optional customer context for a hosted payment link.",
  "additionalProperties": false,
  "required": [
    "amount",
    "currency"
  ],
  "properties": {
    "amount": {
      "type": "integer",
      "description": "Amount in the currency's smallest unit.",
      "minimum": 1
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217 currency code.",
      "pattern": "^[A-Z]{3}$"
    },
    "description": {
      "type": "string",
      "description": "Customer-facing payment description.",
      "minLength": 1
    },
    "customerId": {
      "type": "string",
      "description": "Provider identifier of an existing billing customer.",
      "minLength": 1
    },
    "metadata": {
      "type": "object",
      "description": "Portable metadata to associate with the payment link.",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_payment_link:output:1.0.0:stripe",
  "type": "object",
  "description": "The newly created hosted payment link.",
  "additionalProperties": false,
  "required": [
    "paymentLinkId",
    "url",
    "status",
    "amount",
    "currency",
    "createdAt"
  ],
  "properties": {
    "paymentLinkId": {
      "type": "string",
      "description": "Provider identifier of the payment link.",
      "minLength": 1
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Hosted checkout URL."
    },
    "status": {
      "type": "string",
      "description": "Payment-link state."
    },
    "amount": {
      "type": "integer",
      "description": "Amount in the currency's smallest unit.",
      "minimum": 0
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217 currency code.",
      "pattern": "^[A-Z]{3}$"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Payment-link creation timestamp."
    }
  }
}
stripe.create_refund

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_refund:1.0.0:stripe",
  "type": "object",
  "description": "Payment and optional partial amount to refund.",
  "additionalProperties": false,
  "required": [
    "paymentId"
  ],
  "properties": {
    "paymentId": {
      "type": "string",
      "description": "Provider identifier of the captured payment.",
      "minLength": 1
    },
    "amount": {
      "type": "integer",
      "description": "Partial refund amount in the currency's smallest unit; omit for a full refund.",
      "minimum": 1
    },
    "reason": {
      "type": "string",
      "description": "Provider-supported refund reason.",
      "enum": [
        "duplicate",
        "fraudulent",
        "requested_by_customer"
      ]
    },
    "metadata": {
      "type": "object",
      "description": "Portable metadata to associate with the refund.",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:create_refund:output:1.0.0:stripe",
  "type": "object",
  "description": "The newly created refund.",
  "additionalProperties": false,
  "required": [
    "refundId",
    "paymentId",
    "amount",
    "currency",
    "status",
    "createdAt"
  ],
  "properties": {
    "refundId": {
      "type": "string",
      "description": "Provider identifier of the refund.",
      "minLength": 1
    },
    "paymentId": {
      "type": "string",
      "description": "Provider identifier of the refunded payment.",
      "minLength": 1
    },
    "amount": {
      "type": "integer",
      "description": "Refund amount in the currency's smallest unit.",
      "minimum": 0
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217 currency code.",
      "pattern": "^[A-Z]{3}$"
    },
    "status": {
      "type": "string",
      "description": "Refund state."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Refund creation timestamp."
    }
  }
}
stripe.get_customer

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:get_customer:1.0.0:stripe",
  "type": "object",
  "description": "Identifier of the billing customer to retrieve.",
  "additionalProperties": false,
  "required": [
    "customerId"
  ],
  "properties": {
    "customerId": {
      "type": "string",
      "description": "Provider identifier of the billing customer.",
      "minLength": 1
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:get_customer:output:1.0.0:stripe",
  "type": "object",
  "description": "The requested billing customer.",
  "additionalProperties": false,
  "required": [
    "customer"
  ],
  "properties": {
    "customer": {
      "type": "object",
      "description": "A normalized billing customer.",
      "additionalProperties": false,
      "required": [
        "customerId",
        "createdAt"
      ],
      "properties": {
        "customerId": {
          "type": "string",
          "description": "Provider identifier of the billing customer.",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "description": "Customer display name."
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "Customer email address."
        },
        "phone": {
          "type": "string",
          "description": "Customer phone number."
        },
        "metadata": {
          "type": "object",
          "description": "Portable customer metadata.",
          "additionalProperties": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          }
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Customer creation timestamp."
        }
      }
    }
  }
}
stripe.get_invoice

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:get_invoice:1.0.0:stripe",
  "type": "object",
  "description": "Identifier of the billing invoice to retrieve.",
  "additionalProperties": false,
  "required": [
    "invoiceId"
  ],
  "properties": {
    "invoiceId": {
      "type": "string",
      "description": "Provider identifier of the billing invoice.",
      "minLength": 1
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:get_invoice:output:1.0.0:stripe",
  "type": "object",
  "description": "The requested billing invoice.",
  "additionalProperties": false,
  "required": [
    "invoice"
  ],
  "properties": {
    "invoice": {
      "type": "object",
      "description": "A normalized billing invoice.",
      "additionalProperties": false,
      "required": [
        "invoiceId",
        "status",
        "currency",
        "amountDue",
        "createdAt"
      ],
      "properties": {
        "invoiceId": {
          "type": "string",
          "description": "Provider identifier of the billing invoice.",
          "minLength": 1
        },
        "customerId": {
          "type": "string",
          "description": "Provider identifier of the billed customer.",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "description": "Billing-invoice state."
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code.",
          "pattern": "^[A-Z]{3}$"
        },
        "amountDue": {
          "type": "integer",
          "description": "Outstanding amount in the currency's smallest unit.",
          "minimum": 0
        },
        "amountPaid": {
          "type": "integer",
          "description": "Paid amount in the currency's smallest unit.",
          "minimum": 0
        },
        "dueAt": {
          "type": "string",
          "format": "date-time",
          "description": "Invoice due timestamp when collection is manual."
        },
        "hostedUrl": {
          "type": "string",
          "format": "uri",
          "description": "Hosted invoice URL when available."
        },
        "lineItems": {
          "type": "array",
          "description": "Normalized billing-invoice lines.",
          "items": {
            "type": "object",
            "description": "One normalized billing-invoice line.",
            "additionalProperties": false,
            "required": [
              "description",
              "quantity",
              "unitAmount",
              "amount"
            ],
            "properties": {
              "lineId": {
                "type": "string",
                "description": "Provider identifier of the invoice line.",
                "minLength": 1
              },
              "priceId": {
                "type": "string",
                "description": "Provider price identifier for the line.",
                "minLength": 1
              },
              "description": {
                "type": "string",
                "description": "Invoice-line description."
              },
              "quantity": {
                "type": "integer",
                "description": "Billed quantity.",
                "minimum": 1
              },
              "unitAmount": {
                "type": "integer",
                "description": "Unit amount in the currency's smallest unit.",
                "minimum": 0
              },
              "amount": {
                "type": "integer",
                "description": "Extended line amount in the currency's smallest unit.",
                "minimum": 0
              }
            }
          }
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Billing-invoice creation timestamp."
        },
        "finalizedAt": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp when the invoice was finalized."
        }
      }
    }
  }
}
stripe.get_payment

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:get_payment:1.0.0:stripe",
  "type": "object",
  "description": "Identifier of the payment to retrieve.",
  "additionalProperties": false,
  "required": [
    "paymentId"
  ],
  "properties": {
    "paymentId": {
      "type": "string",
      "description": "Provider identifier of the payment.",
      "minLength": 1
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:get_payment:output:1.0.0:stripe",
  "type": "object",
  "description": "The requested normalized payment.",
  "additionalProperties": false,
  "required": [
    "payment"
  ],
  "properties": {
    "payment": {
      "type": "object",
      "description": "A normalized payment, charge, or transaction.",
      "additionalProperties": false,
      "required": [
        "paymentId",
        "amount",
        "currency",
        "status",
        "createdAt"
      ],
      "properties": {
        "paymentId": {
          "type": "string",
          "description": "Provider identifier of the payment.",
          "minLength": 1
        },
        "amount": {
          "type": "integer",
          "description": "Payment amount in the currency's smallest unit.",
          "minimum": 0
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code.",
          "pattern": "^[A-Z]{3}$"
        },
        "status": {
          "type": "string",
          "description": "Payment state."
        },
        "customerId": {
          "type": "string",
          "description": "Provider identifier of the billing customer.",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "Payment description."
        },
        "captured": {
          "type": "boolean",
          "description": "Whether the payment was captured."
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Payment creation timestamp."
        }
      }
    }
  }
}
stripe.list_payments

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:list_payments:1.0.0:stripe",
  "type": "object",
  "description": "Payment filters and pagination.",
  "additionalProperties": false,
  "properties": {
    "customerId": {
      "type": "string",
      "description": "Provider identifier of the billing customer.",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "description": "Payment state to match.",
      "minLength": 1
    },
    "createdAfter": {
      "type": "string",
      "format": "date-time",
      "description": "Return payments created at or after this timestamp."
    },
    "createdBefore": {
      "type": "string",
      "format": "date-time",
      "description": "Return payments created before this timestamp."
    },
    "pageSize": {
      "type": "integer",
      "description": "Maximum number of payments to return in one page.",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    },
    "pageToken": {
      "type": "string",
      "description": "Opaque continuation token from a previous payment page.",
      "minLength": 1
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:list_payments:output:1.0.0:stripe",
  "type": "object",
  "description": "One page of normalized payments.",
  "additionalProperties": false,
  "required": [
    "payments"
  ],
  "properties": {
    "payments": {
      "type": "array",
      "description": "Payments in provider order.",
      "items": {
        "type": "object",
        "description": "A normalized payment, charge, or transaction.",
        "additionalProperties": false,
        "required": [
          "paymentId",
          "amount",
          "currency",
          "status",
          "createdAt"
        ],
        "properties": {
          "paymentId": {
            "type": "string",
            "description": "Provider identifier of the payment.",
            "minLength": 1
          },
          "amount": {
            "type": "integer",
            "description": "Payment amount in the currency's smallest unit.",
            "minimum": 0
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code.",
            "pattern": "^[A-Z]{3}$"
          },
          "status": {
            "type": "string",
            "description": "Payment state."
          },
          "customerId": {
            "type": "string",
            "description": "Provider identifier of the billing customer.",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "description": "Payment description."
          },
          "captured": {
            "type": "boolean",
            "description": "Whether the payment was captured."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Payment creation timestamp."
          }
        }
      }
    },
    "nextPageToken": {
      "type": "string",
      "description": "Opaque token to request the next page of payments; absent when the result is complete.",
      "minLength": 1
    }
  }
}
stripe.list_subscriptions

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:list_subscriptions:1.0.0:stripe",
  "type": "object",
  "description": "Subscription filters and pagination.",
  "additionalProperties": false,
  "properties": {
    "customerId": {
      "type": "string",
      "description": "Provider identifier of the billing customer.",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "description": "Subscription state to match.",
      "minLength": 1
    },
    "productId": {
      "type": "string",
      "description": "Provider product or price identifier to match when supported.",
      "minLength": 1
    },
    "pageSize": {
      "type": "integer",
      "description": "Maximum number of subscriptions to return in one page.",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    },
    "pageToken": {
      "type": "string",
      "description": "Opaque continuation token from a previous subscription page.",
      "minLength": 1
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:payments_billing:list_subscriptions:output:1.0.0:stripe",
  "type": "object",
  "description": "One page of normalized subscriptions.",
  "additionalProperties": false,
  "required": [
    "subscriptions"
  ],
  "properties": {
    "subscriptions": {
      "type": "array",
      "description": "Subscriptions in provider order.",
      "items": {
        "type": "object",
        "description": "A normalized billing subscription.",
        "additionalProperties": false,
        "required": [
          "subscriptionId",
          "customerId",
          "status",
          "cancelAtPeriodEnd",
          "createdAt"
        ],
        "properties": {
          "subscriptionId": {
            "type": "string",
            "description": "Provider identifier of the subscription.",
            "minLength": 1
          },
          "customerId": {
            "type": "string",
            "description": "Provider identifier of the billing customer.",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "description": "Subscription state."
          },
          "cancelAtPeriodEnd": {
            "type": "boolean",
            "description": "Whether cancellation is scheduled for period end."
          },
          "canceledAt": {
            "type": "string",
            "format": "date-time",
            "description": "Cancellation timestamp when canceled."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Subscription creation timestamp."
          }
        }
      }
    },
    "nextPageToken": {
      "type": "string",
      "description": "Opaque token to request the next page of subscriptions; absent when the result is complete.",
      "minLength": 1
    }
  }
}

Authentication

PropertyValue
Auth classapi_key
Required scopesNone
Optional scopesNone
Credential fieldsapiKey

Credentials are resolved inside the executor by CredentialProvider. They never belong in tool input, x_provider, model context, logs, or execution output.

Provider-specific extensions

This manifest declares no provider-specific schema extensions. Use only canonical fields.

Provider differences may appear only under x_provider.stripe and only when the schema above declares them.

Sync and async behavior

All tools are synchronous by nature, but callers may choose mode: "async" to queue them.

Mutations require a stable Idempotency-Key. The TypeScript SDK accepts it as idempotencyKey; it is never part of the JSON request body.

REST example

Bash
curl "$EYEBALL_EXECUTOR_URL/v1/execute" \
  -H "Authorization: Bearer $EYEBALL_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: docs:stripe.cancel_subscription:demo-1' \
  --data '{"tool":"stripe.cancel_subscription","userId":"demo_user","input":{"subscriptionId":"example_subscriptionId","atPeriodEnd":false},"mode":"sync"}'

Mock support

Point EYEBALL_EXECUTOR_URL at a mock-configured executor to run through the real catalog, validation, credential seam, adapter, normalized errors, and execution records with no Stripe account. Mock selection changes the executor endpoint and trusted provider base-URL configuration, never the execute request.

Limitations

  • This page describes the manifest's explicit P0 subset, not every operation offered by the provider.
  • Provider account policy, consent UI, quota details, and current wire compatibility still require a real-provider certification pass.
  • Fields outside the canonical schemas and declared x_provider extensions are rejected.

Versions

ContractVersion
Runtime catalog1.1
Manifest catalog1.0
Manifest schema1.0
Sourceactivepieces-bridge
TierP0
Capabilitiespayments_billing

Next

Use Testing with mocks to exercise this toolkit before connecting a live provider account.