Getting StartedOfficial

Quickstart

Send your first event into Sankofa with the Flutter or Web SDK, then verify the path from client to engine.

Source of truthsdk/sankofa_flutter/README.mdsdk/web/packages/browser/src/index.ts

1. 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. 1

    Start the engine

    Run the Sankofa engine and ensure your application can reach the configured endpoint.

  2. 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. 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:

  • track events go to POST /api/v1/track
  • people updates go to POST /api/v1/people
  • alias events go to POST /api/v1/alias
  • batch operations go to POST /api/v1/batch (Recommended)

If you are not using our official SDKs, see the HTTP ingestion guide.