---
title: "Changes to Create a customer portal session"
method: POST
path: "/customers/{customer_id}/portal-sessions"
---

# Changes to Create a customer portal session

`POST /customers/{customer_id}/portal-sessions`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 4 of 19 revisions.

- **2026-10-19** (v1) `4f35a8c6ea4d`: 1 info
- **2026-07-09** (v1) `e1ac347eb3c5`: 1 breaking, 3 info
- **2026-02-02** (v1) `9ba8be0f2006`: 12 breaking, 2 warning, 11 info
- **2024-12-06** (v1) `274e5b2be190`: 1 info

## Changes

- **2026-10-19** (v1) `4f35a8c6ea4d`: 1 info
  - added the required property `data/urls/allOf[subschema #1: CustomerPortalSessionUrls]/subscriptions/items/view_subscription` to the response with the `201` status
- **2026-07-09** (v1) `e1ac347eb3c5`: 1 breaking, 3 info
  - added the pattern `^ctm_[a-z\d]{26}$` to the `path` request parameter `customer_id`
  - api tag `Customer portals` added
  - api tag `Customer portal sessions` removed
  - api tag `Customers` removed
- **2026-02-02** (v1) `9ba8be0f2006`: 12 breaking, 2 warning, 11 info
  - added the new path request parameter `customer_id`
  - request body became required
  - the `data/created_at` response's property type changed from `string` to no type, and format from `date-time` to no format for status `201`
  - the `data/customer_id` response's property type changed from `string` to no type for status `201`
  - the `data/id` response's property type changed from `string` to no type for status `201`
  - the `data/urls` response's property type changed from `object` to no type for status `201`
  - the `error` response's property type changed from `object` to no type for status `default`
  - removed the required property `data/urls/general` from the response with the `201` status
  - removed the required property `error/code` from the response with the `default` status
  - removed the required property `error/detail` from the response with the `default` status
  - removed the required property `error/documentation_url` from the response with the `default` status
  - removed the required property `error/type` from the response with the `default` status
  - removed the optional property `data/urls/subscriptions` from the response with the `201` status
  - removed the optional property `error/errors` from the response with the `default` status
  - api tag `Customers` added
  - added `#/components/schemas/ApiError` to the `error` response property `allOf` list for the response status `default`
  - added `#/components/schemas/CustomerId` to the `data/customer_id` response property `allOf` list for the response status `201`
  - added `#/components/schemas/CustomerPortalSessionId` to the `data/id` response property `allOf` list for the response status `201`
  - added `#/components/schemas/CustomerPortalSessionUrls` to the `data/urls` response property `allOf` list for the response status `201`
  - added `#/components/schemas/Timestamp` to the `data/created_at` response property `allOf` list for the response status `201`
  - the response property `data/customer_id` became required for the status `201`
  - the response property `error` became required for the status `default`
  - the response property `meta` became required for the status `default`
  - the `data/customer_id` response's property pattern `^ctm_[a-z\d]{26}$` was removed for the status `201`
  - the `data/id` response's property pattern `^cpls_[a-z\d]{26}$` was removed for the status `201`
- **2024-12-06** (v1) `274e5b2be190`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/paddlehq/apis/paddle-api/docs/customers/:customer_id/portal-sessions/post.md) - [API](https://skmtc.dev/paddlehq/apis/paddle-api.md) - [Page](https://skmtc.dev/paddlehq/apis/paddle-api/changes/customers/:customer_id/portal-sessions/post)
