<aside> 💡 If you have any feature requests or issues with the API, please join our Discord here and go to the #developers channel!
</aside>
Network: Mumbai
Website URL: https://sandbox.mintkudos.xyz
API Endpoint: https://sandbox-api.mintkudos.xyz
OpenSea Collection: https://testnets.opensea.io/collection/mintkudos-sandbox
Chain ID: 80001 (necessary when signing the token creation message)
Verifying Contract: 0xB876baF8F69cD35fb96A17a599b070FBdD18A6a1
Network: Polygon
Website URL: https://mintkudos.xyz
API Endpoint: https://api.mintkudos.xyz
OpenSea Collection: https://opensea.io/collection/mintkudos
Chain ID: 137 (necessary when signing the token creation message)
Verifying Contract: 0x60576A64851C5B42e8c57E3E4A5cF3CF4eEb2ED6
<aside> 💡 API endpoint designed to return information pertaining to Kudos tokens.
</aside>
GET /v1/tokens
- view all Kudos tokensGET /v1/tokens/:tokenId}
- view a specific Kudos tokenGET /v1/tokens/:tokenId}/owners
- view the list of owners for a specific Kudos tokenPOST /v1/tokens
- async create a new Kudos tokenPOST /v1/tokens/:tokenId/claim
- async claim a tokenPOST /v1/tokens/:tokenId/airdrop
- async airdrop a tokenPOST /v1/tokens/:tokenId/addContributors
- async add more contributors to an existing tokenPOST /v1/tokens/:tokenId/communityAdminAirdrop
- async airdrop a token to a wallet as an adminPOST /v1/tokens/:tokenId/communityAdminAirdropWithoutConsentSig
- async airdrop a token to a wallet as an admin without receiver signaturePOST /v1/tokens/:tokenId/burn
- async burn a token<aside> 💡 API endpoint designed to return information pertaining to wallets (which are Ethereum-based accounts).
</aside>
GET /v1/wallets/{address}/tokens
- view the list of tokens that a specific wallet address owns<aside> 💡 API endpoint designed to return information pertaining to communities.
</aside>
<aside> 💡 Endpoints with an * requires an API key along with the community ID associated with your community. Instructions on how to use the API key is below. Please shoot us a message on Discord if you’re interested in using this endpoint. In the future we plan to make this self-serve through a developer portal.
</aside>
GET /v1/communities/:communityId
GET /v1/communities/:communityId/tokens
GET /v1/communities/:communityId/configuration
GET /v1/communities/:communityId/nftTypes
POST /v1/communities/:communityId/nftTypes
DELETE /v1/communities/:communityId/nftTypes/:nftTypeId
All methods in the API accept limit
and offset
parameters for fetching specific subsets of results from the API. offset
starts at and defaults to 0, limit
can be any value between 0 and 1000, and defaults to 50. If limit
in the request query is greater than the maximum allowed value (1000), the API will assume the maximum allowed value as the limit
instead.
Fetching All Results
If your application needs to fetch all the items that match a specific criteria, the API returns a limit
property. An application can use this property to determine whether to continue fetching results if the number of items in the data
property is equal to the limit
value. If the number of items in the data
property is less than the limit
value, it can be assumed that you have reached the end of available items.
You may have noticed that some API calls, such as the /v1/communities/:communityId
endpoints and the POST /v1/tokens
endpoint, require an API key. As we are still a developing product & team, we want to make sure that we can iterate with our valued partners & users. To ensure that we can provide the best experience & support possible, we are not providing the API key openly. Please contact us through the #developers
channel on our Discord channel if you would like to obtain an API key with your use case for how you want to use the auth-gated API calls.
If you already have an API key from us, thank you for using our APIs to build on top of the Kudos ecosystem. You are a valued partner :)
The API key is used to make calls that are auth-gated. We leverage Basic Auth. Follow these steps to make sure that your API calls are properly authenticated:
communityId
and API Key
from us (note that you will use the same communityId
in the /v1/communites/:communityId
endpoints)communityId
and API Key
with a colon and then base64 encode the stringAuthorization
field of the API request’s header. Don’t forget the word Basic
in front of the encoded string!Some API endpoints are what we consider to be an async endpoint, which means the initial call doesn’t return the results of the operation. We provide this capability for endpoints that require a blockchain network call, because sometimes a blockchain call can take much longer than expected due to network congestion or other reasons.
In these cases, if we offered a synchronous endpoint, the request may have to remain open and blocking for much longer than normal, or it may just time out. To prevent this from happening, we submit the transaction to the blockchain and immediately return to you the operation ID, which you can use to poll against our operations API endpoint to get the results. This is largely inspired by Azure’s Asynchronous Request-Reply pattern.
Once we successfully receive your request for an async operation (such as creating a new Kudos token), we will return the call with a 202 Created
status code.
In the header of the response, we will leave the location of the operation object in the Location
header, like this:
// response header
Location: /v1/operations/dc3a7730-53e2-4af6-acc9-d13b2fcf10e2
The operations API consists of one endpoint - the GET operation endpoint - which returns the status of a given operation.
Resource
Endpoints
GET /v1/operations/:operationId
We recommend that you poll against the operations endpoint with the particular ID until the endpoint returns a terminal status (success
or error
). Currently we don’t return a Retry-After
header but in the future we may. We recommend waiting at least 1 second before querying the endpoint again.