# Badge Documentation > Documentation for Badge ## Guides - [Getting Started](https://docs.trybadge.com/docs/getting-started.md): Programmatically create and update mobile wallet passes - [Creating an Apple Pass Type Identifier and Certificate](https://docs.trybadge.com/docs/creating-an-apple-pass-type-identifier-and-certificate.md): Before you can create a Pass Template and begin issuing passes, you must upload an Apple Certificate to your Badge workspace. - [NFC](https://docs.trybadge.com/docs/nfc.md) - [Distributing Multiple Passes to a User](https://docs.trybadge.com/docs/distributing-multiple-passes-to-a-user.md) - [Webhooks](https://docs.trybadge.com/docs/webhooks.md) - [Overview](https://docs.trybadge.com/docs/sdk.md): Enable your customers to benefit from the Badge Platform, directly from your product. - [Getting Started](https://docs.trybadge.com/docs/sdk-getting-started.md): Embed the Badge UI in your platform. - [Getting Started For Platforms](https://docs.trybadge.com/docs/sdk-for-platforms.md) - [Embed Template Page](https://docs.trybadge.com/docs/embed-template-page.md) - [Embed Template Editor Page](https://docs.trybadge.com/docs/embed-template-editor-page.md) - [Styling the Embed](https://docs.trybadge.com/docs/styling-the-embed.md): You can customize the embed's appearance, including fonts and brand colors. ## API Reference - [Authentication](https://docs.trybadge.com/reference/auth.md) - [List events](https://docs.trybadge.com/reference/eventslist.md): List all events for the workspace. Results are sorted by creation time in descending order (most recent first). - [Get event by ID](https://docs.trybadge.com/reference/eventget.md): Retrieve a specific event by its ID. - [Send push notification](https://docs.trybadge.com/reference/passsendpushnotification.md): Notification delivery is attempted for 24 hours after the notification is scheduled to be sent. A notification is considered failed if it is not delivered within this time frame. This may occur if the user's device is not receiving updates, a newer notification has been sent, or if the daily notification limit is reached (3 for Google Wallet). - [Send batch push notifications](https://docs.trybadge.com/reference/notificationbatchcreate.md): Notification delivery is attempted for 24 hours after the notification is scheduled to be sent. A notification is considered failed if it is not delivered within this time frame. This may occur if the user's device is not receiving updates, a newer notification has been sent, or if the daily notification limit is reached (3 for Google Wallet). - [List push notifications](https://docs.trybadge.com/reference/notificationslist.md): List all push notifications for a given pass template and group ID. Results are sorted with their pass ID in ascending (alphabetical) order. - [Cancel group of push notifications](https://docs.trybadge.com/reference/notificationgroupcancel.md): Notifications that have already been sent or are currently being sent cannot be canceled. - [Upsert pass and user](https://docs.trybadge.com/reference/userpassupsert.md): Given a pass template and user information, ensure a pass exists for the the user. A user is created if one with the given id does not exist, otherwise the user is updated. - [Void user's passes](https://docs.trybadge.com/reference/userpassvoid.md): Voids all eligible passes for the user in the given template. Already voided and expired passes are ignored. - [Create pass group](https://docs.trybadge.com/reference/passgroupscreate.md): Group multiple passes to simplify tasks, such as downloading. - [Upsert a value added opportunity (Native Recommendation) for a pass.](https://docs.trybadge.com/reference/valueaddedopportunityupsert.md): Upsert a value added opportunity (Native Recommendation) for a pass. A maximum of 10 value added opportunities may be shown on a pass. If you would like to disable an opportunity, set the `endAt` date to a current or past date-time. See [Google Wallet documentation](https://developers.google.com/wallet/generic/use-cases/value-added-opportunities) for more details. - [Generate a Google Wallet JWT](https://docs.trybadge.com/reference/passgooglewalletjwt.md): This endpoint generates a signed JSON Web Token (JWT) that can be used to add a pass to Google Wallet. The JWT is valid for 1 hour. **Adding a pass to Google Wallet:** * **Android App:** Use the following documentation for integrating with an Android application: [https://developers.google.com/wallet/generic/android](https://developers.google.com/wallet/generic/android) * **Web:** Use the following documentation for integrating with a web application: [https://developers.google.com/wallet/generic/web](https://developers.google.com/wallet/generic/web) - [Generate Apple Wallet Pass (PKPASS)](https://docs.trybadge.com/reference/passapplewalletpkpass.md): This endpoint delivers an Apple Wallet Pass (PKPASS) file. The response format depends on the `Accept` header: * `application/vnd.apple.pkpass`: Delivers the PKPASS file directly as a binary download. * `application/json`: Provides a JSON object with a download URL for the PKPASS file. **Integrating the Pass into Apple Wallet:** In your app or App Clip, add a [`PKAddPassButton`](https://developer.apple.com/documentation/passkit/pkaddpassbutton) to show that a pass is available. When the user taps the button, show a [`PKAddPassesViewController`](https://developer.apple.com/documentation/passkit/pkaddpassesviewcontroller) for the pass. For comprehensive guidance, refer to Apple's documentation on [Distributing and Updating a Pass](https://developer.apple.com/documentation/walletpasses/distributing-and-updating-a-pass). - [List pass statuses](https://docs.trybadge.com/reference/passtemplatepassstatuseslist.md): List statuses for all passes for a given pass template. Results are sorted by issue date in descending order (most recent first). - [Get pass details](https://docs.trybadge.com/reference/passtemplatepassget.md) - [Void a pass](https://docs.trybadge.com/reference/passvoid.md): Given a pass template and pass, void the specified pass. - [List Pass Templates](https://docs.trybadge.com/reference/passtemplateslist.md) - [Create Pass Template](https://docs.trybadge.com/reference/passtemplatecreate.md) - [Get Pass Template](https://docs.trybadge.com/reference/passtemplateget.md) - [Create Pass Template Revision](https://docs.trybadge.com/reference/passtemplaterevisioncreate.md) - [Update Pass Template](https://docs.trybadge.com/reference/passtemplatepatch.md) - [Upsert pass attributes](https://docs.trybadge.com/reference/passtemplatepassattributeupsert.md): Upsert one or more pass attributes for a pass template. - [List pass template attributes](https://docs.trybadge.com/reference/passtemplatepassattributeslist.md): List all pass attributes for a pass template. Attributes pending deletion are omitted. - [Delete pass attribute](https://docs.trybadge.com/reference/passtemplatepassattributedelete.md): Permanently deletes a pass attribute and all associated pass data. Cannot delete an attribute that is currently in use in the template. - [Create SDK Token](https://docs.trybadge.com/reference/sdktokencreate.md): Create a token for use with the Badge Web SDK. The created tokens are valid for 2 hours and it is recommended that you generate a new token for each instantiation of the Web SDK. - [Create a webhook endpoint](https://docs.trybadge.com/reference/webhookendpointcreate.md): Create a webhook endpoint to subscribe to events. - [List webhook endpoints](https://docs.trybadge.com/reference/webhookendpointslist.md): List all webhook endpoints for the workspace. - [Update a webhook endpoint](https://docs.trybadge.com/reference/webhookendpointupdate.md): Update a webhook endpoint's configuration. - [Delete a webhook endpoint](https://docs.trybadge.com/reference/webhookendpointdelete.md): Delete a webhook endpoint by ID. - [Upload Apple Certificate](https://docs.trybadge.com/reference/applecertificateupload.md) - [Create Apple Certificate Signing Request (CSR)](https://docs.trybadge.com/reference/applecertificatesigningrequestcreate.md): Creates a CSR (.certSigningRequest) file to be used when creating a certificate in your Apple developer account. - [List Apple Pass Identifiers](https://docs.trybadge.com/reference/applepassidentifierslist.md): Retrieves a list of Apple pass type identifiers associated with the workspace. - [Update workspace](https://docs.trybadge.com/reference/workspaceupdate.md) - [Upsert user attributes](https://docs.trybadge.com/reference/workspaceuserattributeupsert.md): Upsert one or more user attributes for the workspace. - [List user attributes](https://docs.trybadge.com/reference/workspaceuserattributeslist.md): List all user attributes for the workspace. Attributes pending deletion are omitted. - [Delete user attribute](https://docs.trybadge.com/reference/workspaceuserattributedelete.md): Delete a user attribute. All user data associated with this attribute will be permanently removed. - [Create workspace](https://docs.trybadge.com/reference/workspacecreate.md): An organization API key is required for workspace creation, request one by contacting Badge support. - [Update user attributes](https://docs.trybadge.com/reference/userupdateattributes.md): Update information about the specified user in `userSelector`. - [Event](https://docs.trybadge.com/reference/pass-event.md) - [pass.activated](https://docs.trybadge.com/reference/passactivated.md): A user has added the pass to their wallet OR re-enabled push notifications/automatic updates for an existing pass. - [pass.deactivated](https://docs.trybadge.com/reference/passdeactivated.md): A user has removed the pass from their wallet OR disabled push notifications/automatic updates. ## Recipes - [Create Workspace and Pass Type Id](https://docs.trybadge.com/recipes/create-workspace-and-pass-type-id.md) - [Create Passes](https://docs.trybadge.com/recipes/sync-data-to-passes.md)