Public API
A simple REST API for opening Rimpllee tickets from your own website, panel or backend service.
The Rimpllee Public API lets your own services open tickets on behalf of a Discord user — exactly as if that user had clicked a button on one of your panels. It's a REST API, so any language that can make an HTTP request can use it.
Get an API key
In the dashboard, open Ticketing → Integrations and generate an API key. You can regenerate it at any time (which immediately invalidates the old key) or revoke it to turn API access off completely. Every key starts with rmp_.
Keep your key secret
Anyone with your key can open tickets on your server. Never commit it to a public repo or ship it in client-side code. If a key leaks, regenerate it straight away.
Base URL
All endpoints live under this base URL:
https://rimpllee.com/api/v1Authentication
Send your key with every request, in either of these headers:
Authorization: Bearer rmp_your_key
# — or —
x-api-key: rmp_your_keyOpen a ticket
`POST /api/v1/tickets` creates a ticket on behalf of a Discord user, exactly as if they had clicked a panel button.
- userId
- Required. The Discord user ID to open the ticket for.
- panelId
- Required. The ID of the panel that owns the button.
- buttonId
- Required. The ID of the button on that panel.
- answers
- Optional. An array of
{ label, value }objects answering the button's intake questions.
curl -X POST https://rimpllee.com/api/v1/tickets \
-H "Authorization: Bearer rmp_your_key" \
-H "Content-Type: application/json" \
-d '{
"userId": "123456789012345678",
"panelId": "pnl_abc123",
"buttonId": "btn_def456",
"answers": [
{ "label": "What do you need help with?", "value": "Refund request" }
]
}'{
"ok": true,
"ticket": {
"channelId": "987654321098765432",
"url": "https://discord.com/channels/100000000000000000/987654321098765432"
}
}Errors
| Status | Meaning |
|---|---|
| 401 | Missing or invalid API key. |
| 400 | Invalid body, or missing/invalid userId, panelId or buttonId. |
| 403 | The user is blacklisted from opening tickets. |
| 404 | Panel or button not found for this server. |
| 409 | The user already has the maximum open tickets here. |
| 429 | Rate limited. |
| 500 | Couldn't create the ticket — check the bot's permissions. |
Rate limits
- Up to 30 tickets per minute per server.
- A short ~20 second cooldown per user between tickets.
A 403 means the user sits on your ticket blacklist. For a tour of the rest of the integrations on this page, see the Integrations overview.