V2 Validation API Endpoints
PandaAuth Validation Endpoints
⚠️ Disclaimer & Best Practices
Use at Your Own Risk: Direct interaction with these endpoints requires careful implementation. Panda Development provides these specifications as-is and may offer limited support for custom client implementations.
Security: You are responsible for how you handle keys, HWIDs, and API responses, especially in client-side applications.
Endpoint Updates: API endpoints or response structures may change. Monitor official channels for any announcements.
Rate Limiting: Be mindful of API rate limits. Avoid making an excessive number of requests.
🔑 Core Concepts
Service Identifier (
serviceId): A unique string identifying your application.License Key (
key): The user-specific key.Hardware ID (
hwid): An identifier for the user's machine/environment.HTTP
GETRequests: All interactions are via HTTPGET.JSON Responses: The API primarily responds with JSON.
➡️ Endpoints
1. Key Validation Endpoint
Use this endpoint to check if a license key is valid for a given service and hardware ID.
URL:
https://pandadevelopment.net/v2_validationMethod:
GETQuery Parameters:
key: (string, required) The license key to validate.service: (string, required) Your unique service identifier.hwid: (string, required) The user's Hardware ID.
How to Use:
Construct the full request URL by appending the query parameters.
Example:
https://pandadevelopment.net/v2_validation?key=USER_KEY_HERE&service=YOUR_SERVICE_ID&hwid=USER_HWID_HEREEnsure all parameter values are properly URL-encoded.
Send an HTTP
GETrequest to this constructed URL.The server will respond with an HTTP status code and a JSON body.
Interpreting the Response:
Successful Validation (HTTP
200 OK): The JSON body will contain:{ "V2_Authentication": "success", "key_value": "USER_KEY_HERE", "is_premium": false, // or true "expires_on": "YYYY-MM-DD HH:MM:SS", // Example "message": "Authenticated successfully." // ... other potential key details }Check
V2_Authentication == "success".Failed Validation (HTTP
200 OK, error in JSON): The JSON body will indicate failure:{ "V2_Authentication": "failed", // or "invalid_key", "expired", etc. "reason": "Invalid key provided.", // Specific reason "message": "Authentication failed." }Check
V2_Authenticationfor non-"success" values and inspect thereasonfield.API/HTTP Errors (Non-
200 OKstatus codes): If you receive an HTTP status like400,401,403,500, etc., this indicates an issue with the request itself (e.g., malformed, missing parameters, invalid service ID not tied to key validity) or a server-side problem. The response body might contain a JSON object with an error description.
2. Get Key Link Endpoint
Use this endpoint to obtain a URL that directs users to a page where they can get a new license key for your service, often associated with their HWID.
URL:
https://pandadevelopment.net/getkeyMethod:
GETQuery Parameters:
service: (string, required) Your unique service identifier.hwid: (string, required) The user's Hardware ID.
How to Use:
Construct the full request URL by appending the query parameters.
Example:
https://pandadevelopment.net/getkey?service=YOUR_SERVICE_ID&hwid=USER_HWID_HEREEnsure all parameter values are properly URL-encoded.
Send an HTTP
GETrequest to this constructed URL.
Interpreting the Response:
Successful Retrieval (HTTP
200 OK): The body of the HTTP response itself will be the plain text URL string that the user should visit. It is not typically a JSON response.Example Response Body (Plain Text):
https://pandakeyportal.example.com/acquire?service=YOUR_SERVICE_ID&hwid_token=TOKEN_FOR_HWID
API/HTTP Errors (Non-
200 OKstatus codes): If you receive an HTTP status like400,403,500, etc., this indicates an issue with the request or a server-side problem. The response body might contain more details.
✨ General Considerations
URL Encoding: Always URL-encode any user-provided data or special characters used in query parameter values (e.g., the
key,serviceId,hwid).Content Type: While you are sending
GETrequests (which don't have a request body content type), be prepared to parseapplication/jsonfor the Validation Endpoint response, andtext/plain(or similar, checkContent-Typeheader) for the Get Key Link Endpoint.Security of HWID: The effectiveness of HWID-locking depends on how unique and difficult-to-spoof your HWID generation method is on the client-side.
Error Handling: Your application should gracefully handle various HTTP status codes and be able to parse error messages from the JSON responses or plain text bodies.
This guide outlines the direct HTTP interactions required to use the Panda Development V2 API endpoints.
Last updated