---
title: "POST /payments/createPaymentSession"
method: POST
path: "/payments/createPaymentSession"
---

# POST /payments/createPaymentSession

`POST /payments/createPaymentSession`

Create a new payment session.

## Headers

- `X-Amzn-Bedrock-AgentCore-Payments-User-Id` string
- `X-Amzn-Bedrock-AgentCore-Payments-Agent-Name` string — The agent name associated with the payment request.

## Request body

- object
  - `paymentManagerArn` string, required — The ARN of the payment manager that owns this session.
  - `limits` object — The spending limits configuration for a payment session.
    - `maxSpendAmount` object — The maximum amount that can be spent in the session.
      - `value` string, required — The numeric value of the amount.
      - `currency` 'USD', required — The currency code for the amount.
  - `expiryTimeInMinutes` integer, required — The session expiry time in minutes. Must be between 15 and 480 minutes.
  - `clientToken` string — A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

## Response `201`

Success

- CreatePaymentSessionResponse — Response structure for creating a payment session.
  - `paymentSession` object, required — The created payment session.
    - `paymentSessionId` string, required — The unique identifier of the payment session.
    - `paymentManagerArn` string, required — The ARN of the payment manager that owns this session.
    - `limits` object — The spending limits for the payment session.
      - `maxSpendAmount` object, required — The maximum amount that can be spent in the session.
        - `value` string, required — The numeric value of the amount.
        - `currency` 'USD', required — The currency code for the amount.
    - `userId` string, required — The user ID associated with this session.
    - `expiryTimeInMinutes` integer, required — The session expiry time in minutes.
    - `createdAt` string, date-time, required — The timestamp when the session was created.
    - `availableLimits` object — The current available spending limits.
      - `availableSpendAmount` object — The remaining available amount that can be spent.
        - `value` string, required — The numeric value of the amount.
        - `currency` 'USD', required — The currency code for the amount.
      - `updatedAt` string, date-time — The timestamp when the available limits were last updated.
    - `updatedAt` string, date-time, required — The timestamp when the session was last updated.

## Other responses

- `480` — ServiceQuotaExceededException
- `481` — AccessDeniedException
- `482` — ConflictException
- `483` — ValidationException
- `484` — ThrottlingException
- `485` — InternalServerException

---

[API](https://skmtc.net/aws/apis/bedrock-agentcore.md) · [All operations](https://skmtc.net/aws/apis/bedrock-agentcore/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/bedrock-agentcore/versions/79623b33d495/schema)
