---
title: "Playground JWS+JWE"
method: POST
path: "/v1/auth/jose/playground/jwsjwe"
tags: ["jose"]
---

# Playground JWS+JWE

`POST /v1/auth/jose/playground/jwsjwe`

Send test signed and encrypted HTTP requests and receive signed and encrypted responses. Both signing and encryption are mandatory for this endpoint. The request must be a JSON Web Signature (JWS) wrapped in JSON Web Encryption (JWE) — any message that does not follow this format will be rejected.

The flow combines both JWS and JWE:
1. **Request**: Sign payload (JWS) → Encrypt signed JWT (JWE) → Send to Wise
2. **Response**: Receive encrypted response → Decrypt (JWE) → Verify signature (JWS)

{% admonition type="warning" name="" %}
Currently, the Wise API returns a generic 500 Internal Server Error for decryption failures across endpoints using JWE and JWS+JWE. For example, an invalid key can cause a decryption failure.

Our team is currently planning improvements for these types of error messages to make them more specific and clear. Thank you for your patience.
{% /admonition %}

## Headers

- `Accept` 'application/jose+json', required
- `x-tw-jose-method` 'jws+jwe', required
- `x-tw-jose-encryption-kid` string, required
- `X-External-Correlation-Id` string, uuid

## Response `200`

Signed and encrypted response.

## Other responses

- `400` — Bad Request
- `429` — Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.
- `500` — Internal Server Error

---

[API](https://skmtc.net/wise/apis/platform-api.md) · [All operations](https://skmtc.net/wise/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wise/platform-api/revisions/4907a1d269ab/schema)
