RamenIDDocs

Quickstart

Go from a new account to a live student discount, then optionally create links from your own server.

Create your account

Go to ramenid.com/login and continue with Google or your work email. There is no password; email sign-in sends you a link. Your first sign-in creates your workspace.

Connect a payment provider

Open Providers and connect Stripe, Polar or Dodo Payments. RamenID creates the discount codes in that account, so it needs permission to read products and create discounts. See Payment providers for exactly what each one needs.

Create a discount rule

Open Discount rules and click New rule. Pick the product, set the percentage and the duration, and optionally paste your checkout link so the code is applied for the student. See Discount rules.

Each rule has its own link, like ramenid.com/acme/q7g1ktil. Copy it from the rules table and put it wherever students find you. Open it yourself to see what students see.

Add your branding

In Settings → Branding, add your logo, company name and a short description. They appear at the top of every page students verify on.

Try it end to end

Use your own school email if you have one. The verification and the code count toward your plan, like any other. See Plans and limits.

Use the API when you want one link per user, for example from your sign-up flow, and want to know which of your users verified.

Create an API key

Open API keys, click Create key and copy it. It is shown once. Store it on your server as RAMENID_API_KEY.

In Settings → Links, set API links give students to one of your rules, or to Verification only, no discount.

acme is your workspace address, shown in Settings → Links.

curl -X POST https://ramenid.com/api/v1/verify/acme \
  -H "Authorization: Bearer $RAMENID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "ana@mit.edu"}'
const res = await fetch("https://ramenid.com/api/v1/verify/acme", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.RAMENID_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ email: "ana@mit.edu" }),
});
const link = await res.json();
// Send the student to link.url and keep link.id
import os
import requests

res = requests.post(
    "https://ramenid.com/api/v1/verify/acme",
    headers={"Authorization": f"Bearer {os.environ['RAMENID_API_KEY']}"},
    json={"email": "ana@mit.edu"},
)
link = res.json()
# Send the student to link["url"] and keep link["id"]

Send the student to url

Redirect them, or email them the link. It works once and expires after 7 days.

Find out when they are done

Either add a webhook in Settings → Notifications (Webhooks), or check the link with Get a link using the id you kept.