Test request signing
Debug endpoint for verifying your request signing implementation. Use any valid credentials and send any fields you like: field values are folded into the signature but are otherwise ignored.
A correctly signed request succeeds and returns nothing but the success flag; an incorrectly signed one is rejected like any other request.
Values worth signing while testing, because they exercise character escaping: hello, hello, world! and foobar!'()*+~".
Body parameters (application/x-www-form-urlencoded)
Any string. Included in the signature, otherwise ignored.
Try it
Log in to send test requests to this endpoint straight from the docs.
Responses
200 Success
No fields beyond the success envelope.
400 Bad request
The request was malformed or failed validation. Validation failures include per-field messages in error_details.
Possible error_code values: invalid_request, request_too_old.
401 Unauthorized
Authentication failed.
Possible error_code values: missing_api_key, invalid_api_key, invalid_credentials_type, api_access_restricted, api_access_denied, missing_signature, missing_timestamp, invalid_timestamp, invalid_signature.
403 Permission denied
The API key is valid but does not have permission for this endpoint (for example, a client key calling a labs endpoint).
Possible error_code values: permission_denied.
# X-ConfidentLims-Signature: see the Request Signing guide - https://api.confidentcannabis.com/v0/docs/request-signing.md curl -X POST 'https://api.confidentcannabis.com/v0/signingtest' \ -H 'X-ConfidentLims-APIKey: YOUR_API_KEY' \ -H 'X-ConfidentLims-Timestamp: UNIX_TIMESTAMP' \ -H 'X-ConfidentLims-Signature: REQUEST_SIGNATURE'
import time import requests # sign_request() is defined in the Request Signing guide: # https://api.confidentcannabis.com/v0/docs/request-signing.md from sign_request import sign_request API_KEY = 'YOUR_API_KEY' API_SECRET = 'YOUR_API_SECRET' path = '/v0/signingtest' data = { # optional form fields go here - they are signed too } headers = {'X-ConfidentLims-Timestamp': str(int(time.time()))} headers['X-ConfidentLims-Signature'] = sign_request( 'POST', path, headers, data, API_KEY, API_SECRET) headers['X-ConfidentLims-APIKey'] = API_KEY response = requests.post( 'https://api.confidentcannabis.com' + path, headers=headers, data=data, ) print(response.json())
// signRequest() is defined in the Request Signing guide: // https://api.confidentcannabis.com/v0/docs/request-signing.md import { signRequest } from './sign_request.js'; const API_KEY = 'YOUR_API_KEY'; const API_SECRET = 'YOUR_API_SECRET'; const path = "/v0/signingtest"; const data = { // optional form fields go here - they are signed too }; const headers = { 'X-ConfidentLims-Timestamp': String(Math.floor(Date.now() / 1000)) }; headers['X-ConfidentLims-Signature'] = signRequest( "POST", path, headers, data, API_KEY, API_SECRET); headers['X-ConfidentLims-APIKey'] = API_KEY; const response = await fetch("https://api.confidentcannabis.com" + path, { method: "POST", headers, body: new URLSearchParams(data), }); console.log(await response.json());
{
"success": true
}