Skip to main content

Register Your App

Before you can interact with user data, you need to register your application and obtain API credentials.

Step 1: Developer Login

  1. Go to app.ofself.ai
  2. Click "Developer Login"
  3. Sign in with your OfSelf account (or create one if you don't have one)

Step 2: Register Your Application

  1. Navigate to Developer Dashboard
  2. Click "Register New App"
  3. Fill in your app details:
FieldDescriptionExample
App NameDisplay name users will see"My Note App"
DescriptionWhat your app does"A smart note-taking app"
Redirect URIOAuth callback URLhttps://myapp.com/callback
Webhook URL(Optional) Receive real-time eventshttps://myapp.com/webhook
Website URLYour app's public URLhttps://myapp.com
Requested PermissionsWhat permissions your app needsSee below

Requested Permissions

When registering, specify what permissions your app needs to function. These are shown to users during authorization and enforced at runtime.

Tag PermissionDescription
discoverSee that tags exist (names only)
readRead nodes within tags
proposeSuggest new nodes (requires user approval)
editModify existing nodes
createAuto-create nodes (no approval needed)
allow_new_tagsCreate entirely new tags
Schema PermissionDescription
readRead metadata schemas (can specify schema_ids or allow_all)
writeCreate/update metadata schemas (can specify schema_ids or allow_all)
Permission Enforcement

Your app can only use permissions it both requested AND was granted by the user. If you request read and create but the user grants read, create, and edit, your app can still only use read and create.

Authorization Blocking

Users cannot authorize your app unless their selected exposure profile covers all permissions you requested. If a user's profile doesn't include the permissions your app needs, they must either:

  • Select a different profile that includes those permissions
  • Customize permissions to add what your app requires

This ensures your app always receives the permissions it needs to function correctly. Be thoughtful about what you request - requesting unnecessary permissions makes it harder for users to authorize your app.

  1. Click "Register"

Step 3: Get Your Credentials

After registration, you'll receive:

┌────────────────────────────────────────────────────────────────┐
│ App Registered Successfully! │
├────────────────────────────────────────────────────────────────┤
│ │
│ App ID: app_a1b2c3d4e5f6 │
│ Client ID: tp_xxxxxxxxxxxxx │
│ API Key: ofs_tp_xxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy │
│ │
│ ⚠️ Save these credentials securely! │
│ │
└────────────────────────────────────────────────────────────────┘
Save Your API Key

The API Key is only shown once at registration. Store it securely (environment variables, secret manager) - never in code.

API Key Display

The API key is returned in the registration response. If you don't see it displayed in the UI, check your browser's network tab for the API response, or contact support.

Credential Types

CredentialUsed ForHow to Use
API KeyAll API calls from your appX-API-Key header
Client IDAuthorization flowInclude in the authorization URL so users can identify your app

Step 4: Configure Your Environment

Python

# .env file
OFSELF_API_KEY=ofs_tp_xxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
OFSELF_CLIENT_ID=tp_xxxxxxxxxxxxx
import os
from ofself import OfSelfClient

client = OfSelfClient(api_key=os.environ["OFSELF_API_KEY"])

JavaScript

# .env file
OFSELF_API_KEY=ofs_tp_xxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
import { OfSelfClient } from 'ofself-sdk';

const client = new OfSelfClient({
apiKey: process.env.OFSELF_API_KEY!
});

App Verification

New apps start unverified. During this time:

  • You can develop and test with your own user account
  • Other users will see a warning before authorizing
  • Some rate limits may apply

Apps are reviewed and verified by the OfSelf team. Verified apps get:

  • ✅ "Verified" badge shown to users
  • ✅ Higher rate limits
  • ✅ Access to production features

Next Steps

Now that you have credentials:

  1. Set up authentication - Learn OAuth vs API Key
  2. Make your first API call - Hello World tutorial