{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://firstpromoter.com/schemas/promoter", "title": "Promoter", "description": "An affiliate or referral partner managed in FirstPromoter.", "type": "object", "properties": { "id": { "type": "integer", "description": "Unique identifier for the promoter." }, "email": { "type": "string", "format": "email", "description": "Email address of the promoter." }, "name": { "type": "string", "description": "Full name of the promoter." }, "status": { "type": "string", "enum": ["pending", "active", "rejected", "blocked", "archived"], "description": "Current status of the promoter account." }, "default_ref_id": { "type": "string", "description": "Default referral identifier used in referral links." }, "auth_token": { "type": "string", "description": "Authentication token for the promoter's affiliate portal." }, "clicks_count": { "type": "integer", "description": "Total number of clicks on the promoter's referral links." }, "referrals_count": { "type": "integer", "description": "Total number of referrals generated by this promoter." }, "customers_count": { "type": "integer", "description": "Total number of paying customers referred by this promoter." }, "revenue_amount": { "type": "number", "format": "float", "description": "Total revenue generated by this promoter's referrals." }, "paid_amount": { "type": "number", "format": "float", "description": "Total commissions already paid to this promoter." }, "pending_amount": { "type": "number", "format": "float", "description": "Total commissions pending payment for this promoter." }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the promoter was created." }, "updated_at": { "type": "string", "format": "date-time", "description": "Timestamp when the promoter record was last updated." } }, "required": ["email"], "additionalProperties": true }