Welcome back.
Here's what's happening with your Dark Obsidian account today.
Ask about the platform, the API, or how to set something up. It answers from the product documentation - it can't read your account data yet.
Keys are shown once when created. Manage them under API Keys.
Derived from your own requests to each service. Services you haven't called yet show as not checked.
Stripe Billing Portal
Update your payment method, download past invoices, and manage your lifetime license via Stripe's secure portal.
Need more licenses?
Dark Obsedian uses one-time lifetime pricing - no subscriptions, no monthly fees. Buy additional licenses for more devices.
View Pricing →Your requests
Two-factor authentication
An authenticator app code is required in addition to your password. Applies to the website and the Dark Obsidian app.
Alerts and sessions
Password
Trusted devices
Devices you've confirmed. Trusted devices don't trigger a new-sign-in email. Revoking one doesn't sign it out - it stops being trusted.
Login history and security events
Danger zone
Profile
Used on your invoices and licence emails.
Account details
Quote your account ID when contacting support - it identifies you without sharing a licence key.
- Account ID
-- Member since
- -
- Email confirmed
- -
- Billing customer
- -
Your data
Download everything Dark Obsidian holds about your account - profile, licences, devices and API keys - as a JSON file.
Closing your account
Account deletion lives in Security, alongside the other controls that affect access to your data.
// TypeScript - inventory deducted, loyalty awarded, invoice generated import { DarkObsidian } from 'dark-obsidian' const client = new DarkObsidian({ apiKey: 'do_live_...' }) const order = await client.orders.create({ customer: { name: 'Ahmed Khan', phone: '+923001234567' }, items: [{ product_id: 'uuid', quantity: 2 }], payment_method: 'card', send_invoice: true, }) console.log(`Order: ${order.order_number} - Loyalty: +${order.loyalty_points_earned} pts`)