# App Proxy overview

> App Proxy lets a Shoplazza App serve a path under the shop's own storefront domain. Covers why to use it, the required scope, config fields, and setup.

# App Proxy

App Proxy lets your app expose a path under the shop's own storefront domain — for example `https://{shopdomain}.myshoplaza.com/apps/pay` — and have Shoplazza forward matching requests to your app's backend for processing.

## Why use it

Without App Proxy, any storefront-facing endpoint your app serves has to live on your own domain: customers leave the shop's domain to reach it, and you have to handle cross-origin requests yourself. With App Proxy, the request path stays under the shop's domain and Shoplazza transparently forwards it to your backend.

## Required scope

Creating and managing app proxies requires the `read_app_proxy` / `write_app_proxy` [access scope](/docs/app/building-blocks/authentication/access-scopes).

## Configuration fields

An app proxy rule has three configurable fields:

| Field | Description |
|---|---|
| `real_path` | The path under the shop's storefront that triggers the proxy. For example, use `pay` when the target path is `apps/pay`. |
| `proxy_url` | The URL of your application that processes the forwarded request, for example `http://www.example.com`. |
| `change_origin` | Whether Shoplazza rewrites the forwarded request's `Host` header to match the proxy target. |

## Create an app proxy

```bash
curl -X POST \
  https://{shopdomain}.myshoplaza.com/openapi/2026-07/app-proxies \
  -H 'Content-Type: application/json' \
  -H 'Access-Token: {token}' \
  -d '{
    "real_path": "pay",
    "proxy_url": "http://www.example.com",
    "change_origin": false
  }'
```

Once created, a request to `https://{shopdomain}.myshoplaza.com/apps/pay` is forwarded to `http://www.example.com`.

## Full API reference

For the list, get, delete, and count endpoints, see the [App Proxy API reference](/api/app-proxy/).
