---
title: "Get Public Payment Config"
method: GET
path: "/api/payments/public-config/{project_id}"
tags: ["Payments"]
---

# Get Public Payment Config

`GET /api/payments/public-config/{project_id}`

## Request

- Base URL: `https://api.agentstack.tech` (the document declares no server; this is the origin it was published from)
- URL: `https://api.agentstack.tech/api/payments/public-config/{project_id}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Public payment config for the checkout widget — no auth required.
Returns only the data the widget needs to bootstrap: providers, currency, default_wallet_id,
optional ``default_amount`` (from ``payment_widget.default_amount``).
The public_payment_key is NOT returned here (it is only sent by the frontend after the payer
submits the form, in POST /api/payments/public).

## Path parameters

- `project_id` integer, required: Project ID

## Query parameters

- `country` string, nullable: ISO country code

## Response `200`

Successful Response

- unknown

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/agentstack/apis/agentstack-core-api.md) · [All operations](https://skmtc.dev/agentstack/apis/agentstack-core-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentstack/apis/agentstack-core-api/revisions/8ecf3406e74a?raw)
