# API Documentation

{% content-ref url="quickstart" %}
[quickstart](https://docs.underdogprotocol.com/quickstart)
{% endcontent-ref %}

## Getting Started

To get started, create a new Project in the [Underdog Protocol Dashboard](https://app.underdogprotocol.com). Then read about how to make requests for the resources you need using our API.

[Get your API Key ->](https://app.underdogprotocol.com)

## API Endpoints

The Underdog API supports Solana Mainnet-Beta and Solana Devnet. We recommend testing your implementation with our Devnet endpoint before moving to production. The Devnet endpoint is free to use while the Mainnet endpoint requires a subscription.&#x20;

<table><thead><tr><th width="175">Network</th><th>API URL </th></tr></thead><tbody><tr><td>Solana Mainnet</td><td><code>https://api.underdogprotocol.com</code></td></tr><tr><td>Solana Devnet</td><td><code>https://dev.underdogprotocol.com</code></td></tr></tbody></table>

[Read More -> ](https://docs.underdogprotocol.com/guides/endpoints)

## Postman

If you'd like to test out our API endpoints using Postman, you can do so at our public [Underdog API workspace](https://www.postman.com/underdogprotocol/workspace/underdog-api/overview).  There are both Devnet and Mainnet API collections within Postman.&#x20;

To go in more depth on how to get started with our Postman workspace, follow the guide below.&#x20;

{% content-ref url="guides/postman" %}
[postman](https://docs.underdogprotocol.com/guides/postman)
{% endcontent-ref %}

## Guides

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Authentication</strong></td><td>Learn how to authenticate your API requests. </td><td><a href="guides/authentication">Read more -></a> </td><td><a href="guides/authentication">authentication</a></td></tr><tr><td><strong>Pagination</strong></td><td>Understand how to work with paginated responses. </td><td><a href="guides/pagination">Read more -></a></td><td><a href="guides/pagination">pagination</a></td></tr><tr><td><strong>Webhooks</strong></td><td>Learn how to programmatically configure webhooks for your app. </td><td><a href="guides/webhooks">Read more -> </a></td><td><a href="guides/webhooks">webhooks</a></td></tr><tr><td><strong>Errors</strong></td><td>Read about the different types of errors returned by the API.</td><td><a href="guides/errors">Read more -></a></td><td><a href="guides/errors">errors</a></td></tr></tbody></table>

## Resources

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Projects</strong></td><td></td><td></td><td><a href="resources/projects">projects</a></td></tr><tr><td><strong>NFTs</strong></td><td></td><td></td><td><a href="resources/projects/nfts">nfts</a></td></tr><tr><td><strong>Transactions</strong></td><td></td><td></td><td><a href="resources/transactions">transactions</a></td></tr></tbody></table>


---

# 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.underdogprotocol.com/api-documentation.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.
