API Cheat Sheet

The Niftory API is built in GraphQL. We also plan to support REST endpoints in the future. Our GraphQL Endpoint can be found here:

pageGraphQL & Auth Endpoints

Why start with GraphQL?

GraphQL has become a well-established standard for building performant web applications, giving the power of what to query and how much to query to the app developer (with strong typing!). This is consistent with our philosophy of making it as easy as possible for you to quickly launch high-performing experiences.

If you have a strong need for REST endpoints for your application, please reach out to us.

Niftory Data Model

Here are the core concepts in the Niftory data model.

API Endpoints

Always test your application against the Staging environment. The production endpoint will affect the blockchain for real, so that should only be used when you are ready to ship your app.

https://graphql.api.staging.niftory.com

Production (targets blockchain prod)

https://graphql.api.niftory.com

Authentication

Remember to get your API keys to set up your application!

More details in the Authentication guide:

pageAuthentication

APIs at a Glance

App
  • Representation of your application in Niftory ecosystem.

  • Queries:

    • app - returns the current App context.

AppUser
  • Representation of a user logged in to your application via Niftory's authentication service.

  • Queries:

    • appUser - returns the currently logged-in AppUser context.

Wallet
  • Representation of a user's blockchain wallet scoped to your application. For more information, see Wallet Setup.

Your application needs to registerWallet --> verifyWallet --> readyWallet for any given user in order to set up the wallet to receive NFTs. Read more here.

NFT
  • A representation of an NFT (it doesn't have to be minted yet).

  • Queries:

    • nfts - returns all NFTs belonging to the currently logged-in AppUser.

    • nft - returns an NFT by its Niftory database ID.

  • Mutations:

    • transfer - initiates the transfer of a specified NFT to a specified user. This API may mint the NFT if it isn't yet minted.

NFTModel

A blueprint for an NFT, containing everything needed to mint one -- file content, blockchain metadata, etc.

NFTSet
  • A bag of NFTModels, to help you organize your NFTs

  • Queries:

    • sets - returns the NFTSets belonging to the current App context.

    • set - returns an NFTSet by its Niftory database ID.

  • Mutations:

An NFTSet is a bag of NFTModels

An NFTModel is a bag ofNFTs

An NFT is the thing that a user actually owns.

You can also use the Admin Portal to create and manage NFTSets and NFTModels for your application.

Happy Coding!

Last updated