Niftory Docs
  • What is Niftory?
  • Get your API Keys
  • 👩‍💻API
    • Niftory Web3 API
    • SDK QuickStart
      • Using the SDK in React
      • Using the SDK from the Server
    • API Quickstart
      • Create your first Wallet
      • API calls with Sample Content
      • Mint your first NFT
    • API Cheat Sheet
    • Niftory Sample App
      • Explore the Sample App
      • Anatomy of a Niftory App
        • Getting Authenticated
        • GraphQL Client Setup
        • API Usage
        • Transfer an NFT
    • 💡Core Concepts
      • Niftory Data Model
      • Authentication
        • Using Your API Key
        • Configuring Your App
        • Privileged Authentication
      • App and AppUser
      • NFTs
        • Creating NFTs
        • Querying NFTs
        • Transferring NFTs
        • Minting NFTs
      • Wallets
        • Create a Niftory Wallet
        • Register External Wallets
        • Query Wallets
      • Contract
      • User Auth (Client-Side)
    • Your Niftory Account
  • 🧑‍💼Admin Portal
    • Niftory Admin Portal
    • 🚀Guides
      • Setting Up Your Org
      • Create Your First NFT
    • 🗺️Explore
      • Org and Apps
      • NFT Collection
        • Sets
        • Collectibles
        • NFTs
    • 💼Use Cases
      • For Engineers
      • For Designers
      • For Business Users
  • 📖Reference
    • GraphQL & Auth Endpoints
    • API Reference
    • SDK API Reference
Powered by GitBook
On this page
  1. 👩‍💻API
  2. 💡Core Concepts

App and AppUser

PreviousPrivileged AuthenticationNextNFTs

Last updated 2 years ago

Was this helpful?

CtrlK
  • App
  • AppUser

Was this helpful?

If your app handles user authentication already, you can skip the AppUser data model, and use Niftory directly with wallets. All APIs work with both a wallet address/ID and a user ID. The main difference is if you are bypassing AppUser, then all APIs must be called with Privileged Authentication (i.e. by passing in both your API Key and Client Secret).

Check out Anatomy of a Niftory App to see how these constructs are used in practice.

App

Represents your application in the Niftory ecosystem.

app

query AppQuery {
  app { 
    id 
  }
}
Sample Response
{
  "data": {
    "app": {
      "id": 56
    }
  }
}

AppUser

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

appUser

query AppUserQuery {
  appUser {
    email
    image
    name
    id
    wallet {
      ...WalletFragment
    }
    app {
      ...AppFragment
    }
  }
}
Sample Response
{
  "data": {
    "appUser": {
      "email": "[email protected]",
      "image": "linkToImage",
      "name": "Nif Tory",
      "id": 3,
      "wallet": Wallet,
      "app": App
    }
  }
}