> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # GetBalance # Package: benefitPrograms # Namespace: BalanceService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/balances/get-balance.md ## Permission Scopes: SCOPE.BENEFIT_PROGRAMS.READ (PII): SCOPE.BENEFIT_PROGRAMS.READ_LIMITED ## Introduction Retrieves a balance. --- ## REST API ### Schema ``` Method: getBalance Description: Retrieves a balance. URL: https://www.wixapis.com/benefit-programs/v1/balances/{poolId} Method: GET # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: poolId Method parameters: param name: poolId | type: none | required: true Return type: GetBalanceResponse - name: balance | type: Balance | description: Retrieved balance. - name: id | type: string | description: Balance GUID. This is the same as the associated pool's GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the balance is updated. To prevent conflicting changes, the current revision must be passed when updating the balance. - name: createdDate | type: string | description: Date and time the balance was created. - name: updatedDate | type: string | description: Date and time the balance was updated. - name: beneficiary | type: IdentificationData | description: Beneficiary of the associated pool. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of a site visitor that hasn't logged in to the site. - name: memberId | type: string | description: GUID of a site member. - name: wixUserId | type: string | description: GUID of a Wix user. - name: amount | type: BalanceAmount | description: Available credits. - name: available | type: string | description: number of available credits. - name: reserved | type: string | description: number of reserved credits. - name: poolInfo | type: PoolInfo | description: Associated pool information. - name: id | type: string | description: Pool GUID. - name: poolDefinitionId | type: string | description: GUID of the pool definition the pool was created from. - name: programDefinitionId | type: string | description: GUID of the program definition the pool was created from. - name: programId | type: string | description: GUID of the program that contains the pool. - name: creditAmount | type: string | description: Available credits. - name: namespace | type: string | description: Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created. - name: externalProgramDefinitionId | type: string | description: External GUID of the program definition the pool was created from. - name: externalProgramId | type: string | description: External GUID of the program that contains the pool. - name: creditRolloverConfiguration | type: RolloverConfigurationInfo | description: Credit rollover configuration information for the pool. - name: enabled | type: boolean | description: Whether unused credits roll over to a new cycle when a program renews. - name: balanceCap | type: string | description: Maximum number of credits that can roll over to the next cycle when a program renews. - name: status | type: PoolStatus | description: Pool status - enum: - ACTIVE: Pool is active. - PAUSED: Pool is paused. It can be resumed. - ENDED: Pool is ended. It can't be resumed. - PROVISIONING: Pool provisioning is in progress. This status exists for a short time during processing. - RENEWING: Pool renewing is in progress. This status exists for a short time during processing. - PENDING: Pool is pending - name: extendedFields | type: ExtendedFields | description: Custom field data for the balance object. [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: lastTransactionId | type: string | description: GUID of the transaction associated with the most recent change to the balance. ``` ### Examples ### GetBalance ```curl ~~~cURL curl https://www.wixapis.com/benefit-programs/v1/balances/09010c62-181e-49b9-909c-099f4574c0f2 \ -H 'Content-type: application/json' \ -H 'Authorization: ' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.benefitPrograms.BalanceService.getBalance(poolId) Description: Retrieves a balance. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: poolId Method parameters: param name: poolId | type: string | description: GUID of the pool associated with the balance to retrieve. This is also the GUID of the balance. | required: true Return type: PROMISE - name: _id | type: string | description: Balance GUID. This is the same as the associated pool's GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the balance is updated. To prevent conflicting changes, the current revision must be passed when updating the balance. - name: _createdDate | type: Date | description: Date and time the balance was created. - name: _updatedDate | type: Date | description: Date and time the balance was updated. - name: beneficiary | type: IdentificationData | description: Beneficiary of the associated pool. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of a site visitor that hasn't logged in to the site. - name: memberId | type: string | description: GUID of a site member. - name: wixUserId | type: string | description: GUID of a Wix user. - name: amount | type: BalanceAmount | description: Available credits. - name: available | type: string | description: number of available credits. - name: reserved | type: string | description: number of reserved credits. - name: poolInfo | type: PoolInfo | description: Associated pool information. - name: _id | type: string | description: Pool GUID. - name: poolDefinitionId | type: string | description: GUID of the pool definition the pool was created from. - name: programDefinitionId | type: string | description: GUID of the program definition the pool was created from. - name: programId | type: string | description: GUID of the program that contains the pool. - name: creditAmount | type: string | description: Available credits. - name: namespace | type: string | description: Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created. - name: externalProgramDefinitionId | type: string | description: External GUID of the program definition the pool was created from. - name: externalProgramId | type: string | description: External GUID of the program that contains the pool. - name: creditRolloverConfiguration | type: RolloverConfigurationInfo | description: Credit rollover configuration information for the pool. - name: enabled | type: boolean | description: Whether unused credits roll over to a new cycle when a program renews. - name: balanceCap | type: string | description: Maximum number of credits that can roll over to the next cycle when a program renews. - name: status | type: PoolStatus | description: Pool status - enum: - ACTIVE: Pool is active. - PAUSED: Pool is paused. It can be resumed. - ENDED: Pool is ended. It can't be resumed. - PROVISIONING: Pool provisioning is in progress. This status exists for a short time during processing. - RENEWING: Pool renewing is in progress. This status exists for a short time during processing. - PENDING: Pool is pending - name: extendedFields | type: ExtendedFields | description: Custom field data for the balance object. [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: lastTransactionId | type: string | description: GUID of the transaction associated with the most recent change to the balance. ``` ### Examples ### getBalance ```javascript import { balances } from '@wix/benefit-programs'; async function getBalance(poolId) { const response = await balances.getBalance(poolId); }; ``` ### getBalance (with elevated permissions) ```javascript import { balances } from '@wix/benefit-programs'; import { auth } from '@wix/essentials'; async function myGetBalanceMethod(poolId) { const elevatedGetBalance = auth.elevate(balances.getBalance); const response = await elevatedGetBalance(poolId); } ``` ### getBalance (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { balances } from '@wix/benefit-programs'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { balances }, // Include the auth strategy and host as relevant }); async function getBalance(poolId) { const response = await myWixClient.balances.getBalance(poolId); }; ``` ---