Create a workspace and an API key
Sign up, set your workspace basics, create a secret key and make your first API call.
Hermeticor sends email and SMS through provider accounts you already own. It never resells sending.
What you need first
An email address to sign up with.
For real sends later: your own provider account (Amazon SES, SendGrid, Postmark, Resend, Mailgun, SMTP, Twilio and others) and a domain whose DNS you control.
1. Create the workspace
Sign up at hermeticor.com. Your first workspace is created with your account. You are its owner.
2. Create a secret key
Open Settings → API keys and create a secret key. Give it only the scopes you need. For these guides, pick profiles:write, events:write, consent:write, segments:write, campaigns:write, campaigns:send, workflows:write, templates:write, connections:write and messages:send.
The key is shown once. Store it in your secret manager. API keys can only be created in the web app, not with another key.
export HERMETICA_API_KEY=hm_sk_... # paste yours; never commit it
export BASE=https://hermeticor.com3. Make your first call
curl -s "$BASE/v1/workspace" -H "Authorization: Bearer $HERMETICA_API_KEY"You get your workspace back. A 401 means the key is wrong or revoked.
4. Set the basics
Set your time zone, quiet hours and postal address. Marketing email needs a postal address in its footer.
curl -s -X PATCH "$BASE/v1/workspace" \
-H "Authorization: Bearer $HERMETICA_API_KEY" -H "Content-Type: application/json" \
-d '{"name":"Acme","timezone":"America/New_York","adminEmail":"ops@example.com",
"quietHours":{"start":"20:00","end":"08:00"},"websiteUrl":"https://example.com",
"postalAddress":"Acme Inc, 1 Main St, Springfield, NY 10001, USA"}'Quiet hours hold marketing messages until morning in the recipient's time zone. Transactional messages ignore them.
5. Turn on test mode
curl -s -X PUT "$BASE/v1/workspace/test-mode" \
-H "Authorization: Bearer $HERMETICA_API_KEY" -H "Content-Type: application/json" \
-d '{"enabled":true}'While test mode is on, sends are accepted and logged with a test_... provider id, but nothing reaches your provider. Connections are still checked against the real provider. Turn it off with {"enabled":false} when you are ready.
Next: Connect a sending provider.