Crittora Logo
Getting StartedChangelogContact Support

Decrypt API

POST

https://managed.crittoraapis.com/v1/decrypt

This reference page documents the Managed API version of the decrypt operation. It accepts request-time credentials and decrypts data through Crittora on your behalf.

Purpose

Use this endpoint when you are on the Managed API integration path and want Crittora to perform the Cognito exchange for each request. Send your managed credentials in headers and the encrypted payload in the request body.


API Details

Managed API headers
HeaderTypeDescriptionRequired
usernamestringAWS Cognito username
Yes
passwordstringAWS Cognito password
Yes
api_keystringCrittora partner API key
Yes
access_keystringCrittora partner access key
Yes
secret_keystringCrittora partner secret key
Yes
Request Body
{
  "encrypted_data": "base64_encoded_ciphertext"
}
FieldTypeDescriptionRequired
encrypted_datastringBase64-encoded encrypted data to decrypt
Yes
Response

Successful response (HTTP 200) returns the decrypted payload from Crittora in JSON format.

Example Response:
{
  "statusCode": 200,
  "body": {
    "decrypted_data": "sensitive information to encrypt"
  }
}
Status Codes

HTTP status codes returned by the decrypt endpoint.

Success Codes
CodeNameDescriptionUsageExample

200

OK

Successfully decrypted data

Request completed successfully

Decryption operation completed

Error Codes
CodeNameDescriptionUsageExample

500

Internal Server Error

Username and/or Password Incorrect

Authentication credentials are invalid

Invalid AWS Cognito username or password

Code Examples
cURL Example:
curl -X POST https://managed.crittoraapis.com/v1/decrypt \
  -H "Content-Type: application/json" \
  -H "username: your_cognito_username" \
  -H "password: your_cognito_password" \
  -H "api_key: your_crittora_api_key" \
  -H "access_key: your_crittora_access_key" \
  -H "secret_key: your_crittora_secret_key" \
  -d '{
    "encrypted_data": "eyJkYXRhIjoiZW5jcnlwdGVkX2Jhc2U2NF9zdHJpbmciLCJhbGdvcml0aG0iOiJBQ0VTLTI1Ni1HQ00ifQ=="
  }'

JavaScript Example:
const decryptData = async (encryptedData) => {
  const response = await fetch("https://managed.crittoraapis.com/v1/decrypt", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "username": "your_cognito_username",
      "password": "your_cognito_password",
      "api_key": "your_crittora_api_key",
      "access_key": "your_crittora_access_key",
      "secret_key": "your_crittora_secret_key"
    },
    body: JSON.stringify({ encrypted_data: encryptedData })
  });

  return await response.json();
};

Python Example:
import requests

def decrypt_data(encrypted_data):
    url = "https://managed.crittoraapis.com/v1/decrypt"
    headers = {
        "Content-Type": "application/json",
        "username": "your_cognito_username",
        "password": "your_cognito_password",
        "api_key": "your_crittora_api_key",
        "access_key": "your_crittora_access_key",
        "secret_key": "your_crittora_secret_key"
    }

    payload = {"encrypted_data": encrypted_data}
    response = requests.post(url, headers=headers, json=payload)
    return response.json()
Process Flow
  1. Client sends managed credentials and encrypted data in a POST request.
  2. The managed layer authenticates with Cognito on behalf of the caller.
  3. The managed layer constructs a request to Crittora's decrypt operation:
    • Includes auth token and partner credentials
    • Sends the encrypted data
  4. The decrypted payload is returned to the client.

Try it out: Use the interactive interface below to test the managed decrypt endpoint with your encrypted data.

Powered by AWS • Partner Technology • Patent Pending PQC Technology