Skip to main content
Use the Floodgate reseller account API to check enrollment and read restrictions for your own customers. These endpoints use account authentication. Send customer model requests separately with a model API key and the customer header described in the reseller guide.

Authentication and access

Use https://floodgate.dev as the host. Create a Personal Access Token in Profile and send it as Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN. Dashboard authentication also works. Enrollment endpoints are available before approval. The status, customer, and violation endpoints require an approved enrollment. Otherwise they return HTTP 403 with success: false and the message Approved reseller access is required. Every endpoint uses your authenticated account. There is no parameter for reading another reseller’s data. Responses use the account API envelope with success, message, and data. Check success as well as the HTTP status.

Read enrollment

When you have not applied, data contains {"status":"none"}. An existing application returns:

Apply for access

Send a JSON body to POST /api/reseller/enrollment:
Accepting the contract means you will use stable customer IDs without personal data and will not change IDs to evade restrictions. Do not include personal data in the application. A successful submission has success: true and data: null. Your status becomes pending. Only administrator approval enables reseller behavior. You can resubmit after rejection. Pending or approved applications cannot be resubmitted, and revoked accounts must contact support.

Read account status

The response also includes your qualifying model refusal count in the configured account window. That window defaults to one hour, and the count combines customers and keys. An account cooldown expiry does not report or lift a shared Standard pause.

List restrictions

GET /api/reseller/customers returns restriction records, not a registry of every customer. A customer can have multiple history records.
The response’s data contains items, total, page, page_size, and server_time. Items are ordered newest first. Use active=true to ask the server for current restrictions. Expired or lifted records remain in history. The API does not let resellers lift restrictions.

List violations

GET /api/reseller/violations accepts customer_id, page, and page_size with the same rules as the restriction endpoint. It does not have an active-only filter.
The response’s data contains items, total, page, and page_size. Each item includes id, user_id, customer_id, source, model, request_id, and created_at. Times use Unix seconds. Items are ordered newest first. Use the request ID and customer reference when asking support to review an event. Keep your Personal Access Token and model API key private. See the reseller guide for model request errors, expiry rules, and retry handling.