Quickstart
Send your first event into Sankofa with the Flutter or Web SDK, then verify the path from client to engine.
sdk/sankofa_flutter/README.mdsdk/web/packages/browser/src/index.ts1. Point the SDK at your engine
Sankofa SDKs accept several endpoint forms for local and production setups:
- a server base URL:
https://api.sankofa.dev - an API base URL:
https://api.sankofa.dev/api/v1 - the full ingest URL:
https://api.sankofa.dev/api/v1/track
The SDKs normalize these inputs internally.
2. Initialize the SDK
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Sankofa.instance.init(
apiKey: 'sk_live_12345',
endpoint: 'https://api.sankofa.dev',
debug: true
);
runApp(MyApp());
}3. Track the first event
await Sankofa.instance.track('button_clicked', {
'bg_color': 'blue',
'screen': 'home',
});4. Identify when the user is known
await Sankofa.instance.identify('user_123');5. Verify the ingest path
- 1
Start the engine
Run the Sankofa engine and ensure your application can reach the configured endpoint.
- 2
Use a valid API key
The engine rejects missing or invalid x-api-key values. Use the project live or test key you generated in the dashboard.
- 3
Watch the dashboard
After the first track call succeeds, the event should appear in the 'Events' or 'Insights' section of your project.
SDK Normalization
Sankofa SDKs normalize endpoints internally. This allows you to pass the same base path regardless of whether you are in a local development or production environment.
Direct transport model
The SDKs write one JSON payload per queued transport item:
trackevents go toPOST /api/v1/trackpeopleupdates go toPOST /api/v1/peoplealiasevents go toPOST /api/v1/aliasbatchoperations go toPOST /api/v1/batch(Recommended)
If you are not using our official SDKs, see the HTTP ingestion guide.