canonical: https://jentic.com/apis/evervault.com/evervault-encryption-api

# Evervault Encryption API

Jentic publishes the only available OpenAPI specification for Evervault Encryption API, keeping it validated and agent-ready. Evervault provides encryption-as-a-service for sensitive data such as PII, payment details, and health records. The four-endpoint surface lets agents encrypt and decrypt payloads server-side, run Evervault Functions for serverless encrypted compute, and mint client-tokens for safe client-side decryption. Together the endpoints let an application keep plaintext out of databases without rebuilding key management in-house.

## For AI agents

Encrypt and decrypt sensitive data, run encrypted serverless Functions, and mint client tokens through Evervault's encryption-as-a-service.

## Scope

Does not handle key management UIs, transport-layer SSL, or general-purpose KMS rotation - use for application-level field encryption and encrypted compute only.

## Capabilities

- Encrypt arbitrary JSON payloads server-side via POST /encrypt before storing them
- Decrypt previously encrypted Evervault payloads with POST /decrypt for downstream processing
- Invoke an Evervault Function by name to run encrypted compute via `/functions/{functionName}/runs`
- Mint a short-lived client token via POST /client-tokens so browsers can decrypt selected fields
- Combine encrypt + Function + decrypt to keep plaintext out of your stack end-to-end

## Use cases

### PII Tokenization at the Edge

Applications that collect SSNs, dates of birth, or government IDs must keep plaintext out of their primary database and logs. Evervault's /encrypt endpoint accepts JSON containing sensitive fields and returns an opaque ciphertext that is safe to store. The /decrypt endpoint reverses the process inside trusted code paths, leaving the plaintext exposed for the shortest possible window.

Example prompt: POST /encrypt with the JSON payload {"ssn":"123-45-6789"} and store the returned ciphertext in the customers table

### Encrypted Serverless Compute

Some workloads need to operate on sensitive data without the host service ever seeing the plaintext (e.g. computing risk scores from raw card data). Evervault Functions let an agent invoke a named function with an encrypted payload via `/functions/{functionName}/runs` and receive the result, with decryption happening only inside the Function's secure runtime.

Example prompt: POST `/functions/risk-score/runs` with an encrypted card payload and read the returned risk score without ever decrypting the card client-side

### Client-Side Selective Decryption

Customer-facing dashboards sometimes need to reveal a single field - say, the last four digits of a stored card - without proxying every page render through the backend. Minting a short-lived client-token via POST /client-tokens authorizes the browser to decrypt only the named ciphertext for a few minutes, then expires automatically.

Example prompt: POST /client-tokens scoped to a specific encrypted card record and pass the token to the browser to decrypt only the last four digits

### Agent-Driven Data Protection via Jentic

An AI assistant in a fintech app needs to handle sensitive customer data without the LLM context ever holding plaintext. Jentic exposes Evervault's /encrypt operation as an MCP tool so the agent can wrap any sensitive value before it touches downstream systems, and decrypt only inside controlled paths.

Example prompt: Use Jentic search 'encrypt sensitive data with Evervault' to find POST /encrypt, load schema, and execute on every PII field captured during a chat

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/encrypt` | Encrypt a JSON payload |
| POST | `/decrypt` | Decrypt a previously encrypted payload |
| POST | `/functions/{functionName}/runs` | Invoke a named Evervault Function |
| POST | `/client-tokens` | Mint a client-side decryption token |

## Key resources

- **encrypt** — Encrypt JSON payloads server-side
- **decrypt** — Decrypt Evervault ciphertexts back to plaintext
- **functions** — Run named serverless Functions over encrypted data
- **client-tokens** — Mint short-lived tokens for client-side selective decryption

## Why Jentic

- **Setup:** Wiring the Evervault Encryption API by hand means handling its HTTP Basic auth, pointing at the api.evervault.com host, and coding the encrypt, decrypt, and function-run calls yourself. Through Jentic you install once, import the Evervault Encryption API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** The Evervault Encryption API takes its data and function name in the request body or path for function runs, so scope the agent to the operations it needs, such as encrypting a field and running a function, rather than to one record. You choose the operations it may call, so decrypt is not included unless you add it to the allowed set.
- **Credential handling:** Your Evervault Basic Auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'encrypt sensitive data with evervault' or 'run an evervault function', and Jentic returns the matching Evervault operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Evervault API** — Wider 43-endpoint Evervault surface adding relays, payment cards, and webhooks.
- **Stripe API** — Stripe handles the full payments lifecycle while Evervault encrypts the surrounding PII.
- **Cloudflare API** — Cloudflare offers WAF and SSL controls but not field-level encryption-as-a-service.

## FAQ

### Why is there no official OpenAPI spec for Evervault Encryption API?

Evervault does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Evervault Encryption API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Evervault Encryption API use?

The API uses an apiKey credential carried over HTTP headers. Through Jentic, the key sits in your Jentic One instance and is injected at call time so it never enters the agent's context window.

### Can I encrypt a credit card number with the Evervault Encryption API?

Yes. POST /encrypt with the card number inside a JSON payload and Evervault returns an opaque ciphertext that is safe to store. Decrypt later with POST /decrypt or compute on it inside an Evervault Function without exposing plaintext to your stack.

### What are the rate limits for the Evervault Encryption API?

The OpenAPI spec does not declare quantitative rate limits; Evervault applies plan-based throttling. Watch 429 responses and confirm your account ceiling with Evervault support before high-throughput workloads.

### How do I encrypt a payload through Jentic?

Run pip install jentic, then await client.search('encrypt sensitive data with Evervault'), client.load, client.execute. Jentic returns POST /encrypt with its JSON payload schema so the agent can pass the field directly.

### How are Evervault Functions different from /encrypt and /decrypt?

Functions run named serverless code at `/functions/{functionName}/runs` that operates on encrypted inputs and returns derived outputs without the host ever seeing plaintext. /encrypt and /decrypt only transform values, while Functions perform compute on top of them.

### Can I limit what my agent is allowed to do with the Evervault Encryption API?

Yes. Because Jentic One is self-hosted, you decide which of the four Evervault operations your agent may call, so you can allow POST /encrypt and POST `/functions/{functionName}/runs` while leaving POST /decrypt and POST /client-tokens out of the permitted set. Since the data and function name travel in the request body or path, you scope the agent to the operations it needs rather than to a single record. Your Evervault API key stays inside your own Jentic One instance and is injected only when a call you have permitted runs, never entering the agent's prompt or context.
