Skip to main content

API Keys & Credentials

Your project has several credentials. Here’s what each one does and where to find them.

Project ID

WhatPublic identifier for your project
Formatproj_xxxxxxxx
WhereProject Settings → General
Safe to exposeYes
Used to identify your project in SDK and API calls. Can be safely included in client-side code.

API Key

WhatClient-side key for SDK authentication
Formatpk_xxxxxxxx
WhereProject Settings → API Keys
Safe to exposeYes (designed for client apps)
Used by the iOS SDK to authenticate requests. Safe to include in your app — it’s designed for client-side use and has appropriate rate limits and permissions.
// Used in SDK configuration
FeatKit.configure(projectId: "proj_xxx", apiKey: "pk_xxx")

Project Slug

WhatURL-friendly project identifier
Formatyour-app-name
WhereProject Settings → General
Safe to exposeYes
Used in your portal URL: https://featkit.com/p/[slug] You choose this when creating your project. It’s public and appears in the portal URL your users see.

Secret Key

WhatServer-side key for signing tokens
Formatsk_live_xxxxxxxx
WhereProject Settings → Signed Links
Safe to exposeNO — backend only
Never expose your Secret Key in client code. This key is used to sign Signed Links for web integrations and must remain on your backend.
Using the iOS SDK? You don’t need the Secret Key. The SDK uses the API Key for authentication. Secret Keys are only needed for Signed Links in web apps.

Which credentials do I need?

IntegrationCredentials needed
iOS SDKProject ID + API Key
Web app (Signed Links)Project Slug + Secret Key
Backend APIProject ID + Secret Key

Rotating credentials

Rotating API Key

If your API Key is compromised:
  1. Go to Project Settings → API Keys
  2. Click “Rotate API Key”
  3. Update your app with the new key
  4. Old key stops working after grace period (24 hours)

Rotating Secret Key

If your Secret Key is compromised:
  1. Go to Project Settings → Signed Links
  2. Click “Rotate Secret Key”
  3. Update your backend with the new key
  4. Old key stops working immediately
Rotating your Secret Key will invalidate all existing signed links. Users will need to open fresh links from your app.