API Documentation
Build your own bots powered by AutoMunch. The Food API is currently available for Whataburger and Bojangles with more brands coming soon.
Overview
The AutoMunch Food API lets developers build their own Discord bots (or any application) that generate Whataburger and Bojangles accounts using AutoMunch's infrastructure. API keys are tied to your Discord user, settings, and credit wallet.
https://api.automunch.site
Food API access is available for AutoMunch server members. API keys are created in the main AutoMunch bot with
/api_key.
The key maps to the developer's Discord user, settings, and credit wallet. Each user can have one active key. Only admins can revoke API keys.
Authentication
All API requests require a Bearer token in the Authorization header.
API keys are prefixed with am_live_.
Authorization: Bearer am_live_your_key_here
How It Works
As a provider, you create an API key linked to your Discord account, credits, and Food settings.
Your backend calls the API to generate accounts for your customers, identified by a customer_ref you define.
Your API key → your settings → your credits → accounts tagged with customer_ref
Developer Snapshot
Use this endpoint to verify your API key, check your credit balance, and confirm your Food settings are properly configured.
curl -H "Authorization: Bearer am_live_..." \ https://api.automunch.site/v1/me
import requests
API_KEY = "am_live_..."
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get("https://api.automunch.site/v1/me", headers=headers)
data = resp.json()
print(f"Credits: {data['credits']}")
print(f"Brands: {data['brands']}")
{
"owner_user_id": "123456789012345678",
"credits": 25,
"settings": {
"gen_mode": "hotmail",
"hotmail_configured": true,
"email_domain_configured": false,
"imap_configured": true,
"whata_ready": true,
"bojan_ready": true
},
"brands": ["whataburger", "bojangles"]
}
Generate Accounts
Starts a Food generation job. Also available at /v1/food/whataburger/gen.
curl -X POST \
-H "Authorization: Bearer am_live_..." \
-H "Content-Type: application/json" \
-d '{"amount": 1, "customer_ref": "discord:123456789012345678"}' \
https://api.automunch.site/v1/food/whata/gen
import requests
API_KEY = "am_live_..."
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.post(
"https://api.automunch.site/v1/food/whata/gen",
headers=headers,
json={"amount": 1, "customer_ref": "discord:123456789012345678"}
)
job = resp.json()["job"]
print(f"Job ID: {job['job_id']}, Status: {job['status']}")
| Field | Type | Required | Notes |
|---|---|---|---|
amount | integer | Yes | Number of accounts to generate |
customer_ref | string | No | Developer-defined identifier for their customer |
Starts a Bojangles generation job. Also available at /v1/food/bojangles/gen.
{
"job": {
"job_id": "9f7b9c7c-4db6-4c89-8d7a-93f0e62ad555",
"owner_user_id": "123456789012345678",
"brand": "bojangles",
"amount": 1,
"customer_ref": "discord:123456789012345678",
"status": "queued",
"progress_current": 0,
"progress_total": 1
}
}
Poll Job Status
Poll this endpoint until the job status is completed or failed.
curl -H "Authorization: Bearer am_live_..." \ https://api.automunch.site/v1/jobs/9f7b9c7c-4db6-4c89-8d7a-93f0e62ad555
import time, requests
API_KEY = "am_live_..."
headers = {"Authorization": f"Bearer {API_KEY}"}
job_id = "9f7b9c7c-4db6-4c89-8d7a-93f0e62ad555"
while True:
resp = requests.get(
f"https://api.automunch.site/v1/jobs/{job_id}",
headers=headers
)
job = resp.json()["job"]
if job["status"] in ("completed", "failed"):
break
print(f"Status: {job['status']} — waiting...")
time.sleep(3)
if job["status"] == "completed":
for acct in job["result"]["accounts"]:
print(f"{acct['email']} — {acct['brand']}")
else:
print(f"Job failed: {job}")
{
"job": {
"job_id": "9f7b9c7c-4db6-4c89-8d7a-93f0e62ad555",
"brand": "bojangles",
"status": "completed",
"result": {
"generated_count": 1,
"failed_count": 0,
"customer_ref": "discord:123456789012345678",
"accounts": [
{
"id": 1842,
"brand": "bojangles",
"email": "example@domain.com",
"phone": "5551234567",
"first_name": "James",
"last_name": "Smith",
"member_uuid": "abc-123",
"rewards": []
}
],
"credits_remaining": 24
}
}
}
List Accounts
Returns accounts created through the API. Use customer_ref to filter by customer.
| Parameter | Required | Notes |
|---|---|---|
brand |
Yes | whataburger or bojangles. Short aliases whata and bojan accepted. |
customer_ref |
No | Recommended for customer bot account views. |
limit |
No | Defaults to 50. Maximum is 100. |
curl -H "Authorization: Bearer am_live_..." \ "https://api.automunch.site/v1/food/accounts?brand=bojan&customer_ref=discord:123"
import requests
API_KEY = "am_live_..."
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(
"https://api.automunch.site/v1/food/accounts",
headers=headers,
params={"brand": "bojan", "customer_ref": "discord:123"}
)
accounts = resp.json()["accounts"]
for acct in accounts:
print(f"{acct['email']} — {acct['brand']} (ID: {acct['id']})")
Fetch OTP
Fetches a one-time password for a Bojangles account. The account_id is the row ID returned from a completed job or account list.
This endpoint triggers an OTP email and polls for delivery. Expect 10-30 second response times.
curl -X POST \ -H "Authorization: Bearer am_live_..." \ https://api.automunch.site/v1/food/bojan/accounts/1842/otp
import requests
API_KEY = "am_live_..."
headers = {"Authorization": f"Bearer {API_KEY}"}
account_id = 1842
resp = requests.post(
f"https://api.automunch.site/v1/food/bojan/accounts/{account_id}/otp",
headers=headers
)
data = resp.json()
print(f"OTP for {data['email']}: {data['otp']}")
{
"account_id": 1842,
"brand": "bojangles",
"email": "example@domain.com",
"otp": "123456"
}
Developer Workflow
Create key
Run /api_key action:Create in the main AutoMunch bot on Discord.
Configure settings
Use the Food bot /settings to set up email provider and generation mode.
Start job
POST to the generation endpoint with amount and optional customer_ref.
Deliver result
Poll job status until completed, then send account details to your users.
Error Codes
| Status | Error | Meaning |
|---|---|---|
401 |
unauthorized |
Missing, invalid, or revoked API key. |
402 |
insufficient_credits |
Developer does not have enough credits for the requested amount. |
400 |
settings_required |
Developer must configure Food settings before using the API. |
409 |
active_job_exists |
Developer already has a queued or running API generation job. |
504 |
otp_not_found |
No matching Bojangles OTP was found within the polling window. |
Future APIs
These API categories are planned but not yet available.
DoorDash API
Coming SoonChain-based generation and order automation via REST API.
Uber Eats API
Coming SoonCredit-based account generation with promo selection.
Instacart API
Coming SoonPickup checkout automation via REST API.
Chipotle API
Coming SoonBatch group order placement and promo checkout.
