> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Understanding Subscribe Token Objects

Any number of token types may be defined that include token IDs and descriptions. The `description` attribute provides a user-friendly token name, which can be included in email notifications. To create Tokens with multiple language-descriptions, create multiple language-specific token types.

For example, if you have customers in the United States and France, define the token types as shown below.

| Token ID | Description |
| - | - |
| 01\_EN\_Downloads | Downloads |
| 01\_FR\_Downloads | Transférer |
| 04\_EN\_Storage | Storage |
| 04\_FR\_Storage | Entreposage |

The following Subscribe objects are related to tokens:

* `BillingPlan:` You can create billing plans for recurring billing in tokens or in currency. Use tokens or currency, but do **not** mix them in billing. Specify the quantity and token type for token billing plans. At billing time, if the customer does not have enough tokens in the account, have Subscribe notify the customer with instructions for obtaining additional tokens. For billing plans with multiple token types, Subscribe uses the type specified in the payment method for the related `AutoBill` object to determine the amount for the bill.
* `Account:` An `Account` object can possess multiple token types. The `Account` object’s `tokenBalances` data member houses the current amounts of different token types that are available to the `Account` .
* `AutoBill:` An `AutoBill` object may have a billing plan that is priced in terms of tokens of a certain type. If the payment method associated with the `AutoBill` is token-based, then the `AutoBill` ’s recurring billings will be transacted in tokens.
* `Transaction:` A `Transaction` object may be for `Product` objects (used as transaction line items) that grant tokens. Tokens granted by each `Product` are defined by the `Product's` `creditGranted` attribute. A transaction may also be performed in tokens, if the transaction uses a token-based payment method. The line items include the tokens that will be consumed when the transaction is captured.

In refunding a transaction which originally granted tokens, you may leave the token balance unchanged (default), zero out the balance, or specify a negative balance for the token type. In refunding a transaction in tokens, Subscribe adds the number of tokens to the customer’s applicable token balance.

**Parent topic:**[Working with Tokens](../topics/ProgGuide_Tokens)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.