Open Context Protocol is live! 🚀 Read the launch post
getCustomersCustomerBalanceTransactions

getCustomersCustomerBalanceTransactions

List customer balance transactions

Details

  • Method: GET
  • Path: /v1/customers/{customer}/balance_transactions
  • Operation ID: GetCustomersCustomerBalanceTransactions

Parameters

{
  "created": {
    "description": "Only return customer balance transactions that were created during the given date interval.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "customer": {
    "description": "",
    "required": true,
    "location": "path",
    "type": "string"
  },
  "ending_before": {
    "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "expand": {
    "description": "Specifies which fields in the response should be expanded.",
    "required": false,
    "location": "query",
    "type": "array"
  },
  "invoice": {
    "description": "Only return transactions that are related to the specified invoice.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "limit": {
    "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
    "required": false,
    "location": "query",
    "type": "integer"
  },
  "starting_after": {
    "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  }
}

Response Schema

{
  "description": "",
  "properties": {
    "data": {
      "description": "Details about each object.",
      "items": {
        "description": "Each customer has a [Balance](https://docs.stripe.com/api/customers/object#customer_object-balance) value,\nwhich denotes a debit or credit that's automatically applied to their next invoice upon finalization.\nYou may modify the value directly by using the [update customer API](https://docs.stripe.com/api/customers/update),\nor by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`.\n\nRelated guide: [Customer balance](https://docs.stripe.com/billing/customer/balance)",
        "properties": {
          "amount": {
            "description": "The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`.",
            "type": "integer"
          },
          "checkout_session": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/checkout.session"
              }
            ],
            "description": "The ID of the checkout session (if any) that created the transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/checkout.session"
                }
              ]
            }
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "credit_note": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/credit_note"
              }
            ],
            "description": "The ID of the credit note (if any) related to the transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/credit_note"
                }
              ]
            }
          },
          "currency": {
            "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
            "format": "currency",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              }
            ],
            "description": "The ID of the customer the transaction belongs to.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                }
              ]
            }
          },
          "customer_account": {
            "description": "The ID of an Account representing a customer that the transaction belongs to.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "ending_balance": {
            "description": "The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice.",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/invoice"
              }
            ],
            "description": "The ID of the invoice (if any) related to the transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "livemode": {
            "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
            "type": "boolean"
          },
          "metadata": {
            "additionalProperties": {
              "maxLength": 500,
              "type": "string"
            },
            "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": [
              "customer_balance_transaction"
            ],
            "type": "string"
          },
          "type": {
            "description": "Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, `unapplied_from_invoice`, `checkout_session_subscription_payment`, or `checkout_session_subscription_payment_canceled`. See the [Customer Balance page](https://docs.stripe.com/billing/customer/balance#types) to learn more about transaction types.",
            "enum": [
              "adjustment",
              "applied_to_invoice",
              "checkout_session_subscription_payment",
              "checkout_session_subscription_payment_canceled",
              "credit_note",
              "initial",
              "invoice_overpaid",
              "invoice_too_large",
              "invoice_too_small",
              "migration",
              "unapplied_from_invoice",
              "unspent_receiver_credit"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          }
        },
        "required": [
          "amount",
          "created",
          "currency",
          "customer",
          "ending_balance",
          "id",
          "livemode",
          "object",
          "type"
        ],
        "title": "CustomerBalanceTransaction",
        "type": "object",
        "x-expandableFields": [
          "checkout_session",
          "credit_note",
          "customer",
          "invoice"
        ],
        "x-resourceId": "customer_balance_transaction"
      },
      "type": "array"
    },
    "has_more": {
      "description": "True if this list has another page of items after this one that can be fetched.",
      "type": "boolean"
    },
    "object": {
      "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
      "enum": [
        "list"
      ],
      "type": "string"
    },
    "url": {
      "description": "The URL where this list can be accessed.",
      "maxLength": 5000,
      "type": "string"
    }
  },
  "required": [
    "data",
    "has_more",
    "object",
    "url"
  ],
  "title": "CustomerBalanceTransactionList",
  "type": "object",
  "x-expandableFields": [
    "data"
  ]
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('stripe')

# Call this tool
result = await agent.call_tool('getCustomersCustomerBalanceTransactions', {
    # Add required parameters here
})