Skip to main content
POST
Invoke Forward Proxy
Forwards your request to the destination in the yuno-proxy-destination-url header, replacing {{vaulted_token.<TOKEN>.<field>}} expressions with real card data inside Yuno’s secure environment. See the Forward Proxy guide for a step-by-step integration.
BetaThe PCI Proxy is in beta and is enabled per organization. In production, requests return 403 PRODUCT_NOT_ENABLED until your organization is activated — contact your Key Account Manager (KAM). The sandbox is open for testing.
Server-side onlyProxy requests detokenize card data and must only be made from your backend. Never expose your private-secret-key in client-side code.
All of GET, POST, PUT, PATCH, and DELETE are supported: the destination receives the same method you used. Put the complete destination URL, including its path and any query string, in the yuno-proxy-destination-url header; a query string on the /pci-proxy/forward request itself is rejected. The destination host must be on your destination allowlist. If you are a PCI-certified merchant and need the raw card data itself rather than a pass-through call, use Retrieve Enrolled Payment Method by ID PCI Data instead.

Authorizations

public-api-key
string
header
default:<Your public-api-key>
required
private-secret-key
string
header
default:<Your private-secret-key>
required

Headers

yuno-proxy-destination-url
string
required

The complete destination URL, including its path and any query string (for example https://api.example-processor.com/charges/ch_123/capture?expand=true). Must be a public HTTPS hostname on port 443, and the host must be registered on your destination allowlist; IP addresses and internal networks are rejected. It must not contain {{vaulted_token...}} expressions (card data must never appear in a URL).

Example:

"https://api.example-processor.com/charges"

yuno-proxy-timeout
integer

Destination timeout in seconds. Default 30, maximum 120.

Required range: 1 <= x <= 120
Example:

30

yuno-account-id
string

Optional account scope. Narrows which allowlisted destinations are permitted for this request; it does not affect token resolution (vaulted tokens are always scoped to your organization). Like all yuno-* headers it is removed before forwarding and never reaches the destination.

Example:

"acc_123"

Body

The body the destination API expects, with vaulted token expressions where card data belongs. The proxy is content-transparent: it forwards your body and Content-Type unchanged and resolves {{vaulted_token.<TOKEN>.<field>}} expressions anywhere in the raw body, so any content type is supported (JSON, form-encoded, XML). The JSON object below is illustrative. Supported fields: number, expiration_month, expiration_year, holder_name (the security code is not stored and cannot be injected). At most 20 distinct tokens per request; maximum body size 1 MB. Expressions are also resolved in header values. All non-expression content is forwarded untouched.

The body is of type object.

Response

Response from the destination, passed through unchanged (the actual status code is whatever the destination returned; check yuno-proxy-destination-status).

The destination's response body, unchanged.