# Developer Tools

- [Embeddable Elements](https://docs.growsurf.com/developer-tools/embeddable-elements.md): Embedded elements are UI elements you can embed into your web app to create a whitelabel referral experience within your own user portal. Referral links are auto-generated for your users.
- [JavaScript SDK](https://docs.growsurf.com/developer-tools/javascript-sdk.md): Use the JavaScript SDK to interact with your GrowSurf program and participant data.
- [Tutorials](https://docs.growsurf.com/developer-tools/javascript-sdk/tutorials.md): How to implement the GrowSurf JavaScript SDK in common use-case scenarios.
- [Single Page Applications](https://docs.growsurf.com/developer-tools/javascript-sdk/single-page-applications.md): View sample code and troubleshooting tips for integrating GrowSurf into common JavaScript frameworks such as React and Vue.
- [API Reference](https://docs.growsurf.com/developer-tools/javascript-sdk/api-reference.md): This reference documents the GrowSurf JavaScript SDK, including all available public methods and examples of each.
- [Client Response Codes](https://docs.growsurf.com/developer-tools/javascript-sdk/api-response-codes.md): Refer to the below response code glossary to help you troubleshoot any errors when using the JavaScript SDK or Embeddable Elements.
- [REST API](https://docs.growsurf.com/developer-tools/rest-api.md): Use the REST API to add new participants, trigger referrals, get program data, and get participant data from a secure environment.
- [Tutorials](https://docs.growsurf.com/developer-tools/rest-api/tutorials.md): How to implement the GrowSurf REST API in common use-case scenarios.
- [Objects](https://docs.growsurf.com/developer-tools/rest-api/api-objects.md)
- [API Reference](https://docs.growsurf.com/developer-tools/rest-api/api-reference.md): This reference documents the GrowSurf REST API, including all available public methods and examples of each.
- [API Guidelines](https://docs.growsurf.com/developer-tools/rest-api/api-guidelines.md): Follow these standard guidelines when interacting with GrowSurf APIs.
- [API Response Codes](https://docs.growsurf.com/developer-tools/rest-api/api-response-codes.md): Refer to the below response code glossary to help you troubleshoot any errors.
- [API Libraries](https://docs.growsurf.com/developer-tools/rest-api/api-libraries.md): Official GrowSurf API libraries for popular languages like TypeScript, Python, PHP, Ruby, and Java.
- [Webhooks](https://docs.growsurf.com/developer-tools/webhooks.md): Webhooks send data to your server when important events occur in your referral/affiliate program. This lets you automatically fulfill rewards or update users in your database.
- [Securing Your Webhooks (optional)](https://docs.growsurf.com/developer-tools/webhooks/securing-your-webhooks.md): This is an optional step. For security purposes, you can add a webhook secret to limit requests sent to your webhook endpoint to those only coming from GrowSurf.
- [Examples](https://docs.growsurf.com/developer-tools/webhooks/examples.md): How to implement Webhooks for your GrowSurf program.
- [Events Reference](https://docs.growsurf.com/developer-tools/webhooks/events-reference.md): Below are sample request payloads you will receive based on the webhook event types you have selected for your program.
- [Metadata](https://docs.growsurf.com/developer-tools/metadata.md): Use metadata to save any custom data to Participants and Rewards to make your referral program even more dynamic.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.growsurf.com/developer-tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
