> For the complete documentation index, see [llms.txt](https://docs.podplay.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podplay.app/api/users.md).

# Users

User management, authentication, profiles, and account operations.

## GET /users/{userId}/memberships

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipSubscriptionCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MembershipSubscriptionDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"MembershipSubscriptionDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"]},"status":{"type":"string","enum":["DRAFT","CHARGE_FAILED","REQUIRES_AUTHENTICATION","CONFIRMED"]},"extendedStatus":{"type":"string","enum":["ACTIVE","PENDING_CANCEL","CANCELLED","VALID","GRACE","HOLD","PAUSED","PENDING_PAUSE"]},"mode":{"type":"string","enum":["PREVIEW","ORDER"]},"condition":{"type":"string","enum":["VALID","GRACE","HOLD"],"readOnly":true},"conditionUpdatedDate":{"format":"date-time","type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"cancellationRequestDate":{"format":"date-time","type":"string"},"lastChargeDate":{"format":"date-time","type":"string"},"nextChargeDate":{"format":"date-time","type":"string"},"lastGrantDate":{"format":"date-time","type":"string","readOnly":true,"nullable":true,"description":"The last time the membership perks were granted to the user"},"nextGrantDate":{"format":"date-time","type":"string"},"billingCycleStart":{"format":"date-time","type":"string"},"billingCycleEnd":{"format":"date-time","type":"string"},"activePause":{"nullable":true,"description":"The current active or pending pause for this subscription","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionPauseDto"}]},"timezone":{"type":"string","description":"The timezone used to display and calculate charge and grant dates for the subscription."},"price":{"type":"number","nullable":true},"initiationFee":{"type":"number","nullable":true},"durationDays":{"type":"number","nullable":true,"description":"The number of days the membership will be active for if the charge type is non-recurring"},"oneTimeOption":{"nullable":true,"description":"The one-time price option ID for non-recurring memberships","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"total":{"type":"number","nullable":true},"taxes":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"additionalMemberFee":{"type":"number","nullable":true},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"]},"member":{"$ref":"#/components/schemas/ItemRefDto"},"membership":{"$ref":"#/components/schemas/ItemRefDto"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"order":{"$ref":"#/components/schemas/ItemRefDto"},"summary":{"readOnly":true,"nullable":true,"description":"Only available if the mode is PREVIEW","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionSummaryDto"}]},"_links":{"type":"object"}},"required":["id","displayName","type","status","extendedStatus","mode","condition","conditionUpdatedDate","createdDate","startDate","endDate","cancellationRequestDate","lastChargeDate","nextChargeDate","lastGrantDate","nextGrantDate","billingCycleStart","billingCycleEnd","activePause","timezone","price","initiationFee","durationDays","oneTimeOption","total","taxes","fees","additionalMemberFee","chargeType","member","membership","errors","order","summary","_links"]},"MembershipSubscriptionPauseDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"Unique identifier for the pause record"},"pauseStartDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause started"},"pauseEndDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause is scheduled to end"},"pauseDurationWeeks":{"type":"number","readOnly":true,"description":"Duration of the pause in weeks"},"pauseFeePaid":{"type":"number","readOnly":true,"nullable":true,"description":"The fee that was paid for the pause"},"status":{"type":"string","enum":["PENDING","ACTIVE","COMPLETED"],"readOnly":true,"description":"Current status of the pause (derived from dates)"},"createdAt":{"format":"date-time","type":"string","readOnly":true,"description":"When the pause record was created"},"membershipSubscription":{"readOnly":true,"description":"Reference to the membership subscription","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","pauseStartDate","pauseEndDate","pauseDurationWeeks","pauseFeePaid","status","createdAt","membershipSubscription","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"FeeDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the fee (e.g., \"Credit Card Fee\", \"Processing Fee\")"},"percentage":{"type":"number","description":"The percentage rate of the fee","minimum":0,"maximum":100},"amount":{"type":"number","description":"The amount of the fee"}},"required":["name","percentage","amount"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MembershipSubscriptionSummaryDto":{"type":"object","properties":{"total":{"type":"number","description":"Total amount including taxes and fees"},"membershipPrice":{"type":"number","description":"Membership base price"},"taxes":{"description":"Tax breakdown details","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"description":"Fee breakdown details","type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"messages":{"description":"Confirmation messages for the subscription","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"billingCycleStart":{"format":"date-time","type":"string","nullable":true,"description":"Billing cycle start date for recurring subscriptions"},"endDate":{"format":"date-time","type":"string","nullable":true,"description":"End date for non-recurring subscriptions"},"initiationFee":{"type":"number","nullable":true,"description":"Initiation fee if applicable"},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"],"description":"Type of charge for the subscription"}},"required":["total","membershipPrice","taxes","fees","messages","billingCycleStart","endDate","initiationFee","chargeType"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/memberships":{"get":{"operationId":"MembershipSubscriptionsController_findUserMembershipSubscriptions","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `MembershipSubscriptionCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipSubscriptionCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/memberships

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipSubscriptionDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"]},"status":{"type":"string","enum":["DRAFT","CHARGE_FAILED","REQUIRES_AUTHENTICATION","CONFIRMED"]},"extendedStatus":{"type":"string","enum":["ACTIVE","PENDING_CANCEL","CANCELLED","VALID","GRACE","HOLD","PAUSED","PENDING_PAUSE"]},"mode":{"type":"string","enum":["PREVIEW","ORDER"]},"condition":{"type":"string","enum":["VALID","GRACE","HOLD"],"readOnly":true},"conditionUpdatedDate":{"format":"date-time","type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"cancellationRequestDate":{"format":"date-time","type":"string"},"lastChargeDate":{"format":"date-time","type":"string"},"nextChargeDate":{"format":"date-time","type":"string"},"lastGrantDate":{"format":"date-time","type":"string","readOnly":true,"nullable":true,"description":"The last time the membership perks were granted to the user"},"nextGrantDate":{"format":"date-time","type":"string"},"billingCycleStart":{"format":"date-time","type":"string"},"billingCycleEnd":{"format":"date-time","type":"string"},"activePause":{"nullable":true,"description":"The current active or pending pause for this subscription","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionPauseDto"}]},"timezone":{"type":"string","description":"The timezone used to display and calculate charge and grant dates for the subscription."},"price":{"type":"number","nullable":true},"initiationFee":{"type":"number","nullable":true},"durationDays":{"type":"number","nullable":true,"description":"The number of days the membership will be active for if the charge type is non-recurring"},"oneTimeOption":{"nullable":true,"description":"The one-time price option ID for non-recurring memberships","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"total":{"type":"number","nullable":true},"taxes":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"additionalMemberFee":{"type":"number","nullable":true},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"]},"member":{"$ref":"#/components/schemas/ItemRefDto"},"membership":{"$ref":"#/components/schemas/ItemRefDto"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"order":{"$ref":"#/components/schemas/ItemRefDto"},"summary":{"readOnly":true,"nullable":true,"description":"Only available if the mode is PREVIEW","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionSummaryDto"}]},"_links":{"type":"object"}},"required":["id","displayName","type","status","extendedStatus","mode","condition","conditionUpdatedDate","createdDate","startDate","endDate","cancellationRequestDate","lastChargeDate","nextChargeDate","lastGrantDate","nextGrantDate","billingCycleStart","billingCycleEnd","activePause","timezone","price","initiationFee","durationDays","oneTimeOption","total","taxes","fees","additionalMemberFee","chargeType","member","membership","errors","order","summary","_links"]},"MembershipSubscriptionPauseDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"Unique identifier for the pause record"},"pauseStartDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause started"},"pauseEndDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause is scheduled to end"},"pauseDurationWeeks":{"type":"number","readOnly":true,"description":"Duration of the pause in weeks"},"pauseFeePaid":{"type":"number","readOnly":true,"nullable":true,"description":"The fee that was paid for the pause"},"status":{"type":"string","enum":["PENDING","ACTIVE","COMPLETED"],"readOnly":true,"description":"Current status of the pause (derived from dates)"},"createdAt":{"format":"date-time","type":"string","readOnly":true,"description":"When the pause record was created"},"membershipSubscription":{"readOnly":true,"description":"Reference to the membership subscription","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","pauseStartDate","pauseEndDate","pauseDurationWeeks","pauseFeePaid","status","createdAt","membershipSubscription","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"FeeDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the fee (e.g., \"Credit Card Fee\", \"Processing Fee\")"},"percentage":{"type":"number","description":"The percentage rate of the fee","minimum":0,"maximum":100},"amount":{"type":"number","description":"The amount of the fee"}},"required":["name","percentage","amount"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MembershipSubscriptionSummaryDto":{"type":"object","properties":{"total":{"type":"number","description":"Total amount including taxes and fees"},"membershipPrice":{"type":"number","description":"Membership base price"},"taxes":{"description":"Tax breakdown details","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"description":"Fee breakdown details","type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"messages":{"description":"Confirmation messages for the subscription","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"billingCycleStart":{"format":"date-time","type":"string","nullable":true,"description":"Billing cycle start date for recurring subscriptions"},"endDate":{"format":"date-time","type":"string","nullable":true,"description":"End date for non-recurring subscriptions"},"initiationFee":{"type":"number","nullable":true,"description":"Initiation fee if applicable"},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"],"description":"Type of charge for the subscription"}},"required":["total","membershipPrice","taxes","fees","messages","billingCycleStart","endDate","initiationFee","chargeType"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/memberships":{"post":{"operationId":"MembershipSubscriptionsController_createUserMembershipSubscription","parameters":[{"name":"user-agent","required":true,"in":"header","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The `MembershipSubscription` to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipSubscriptionDto"}}}},"responses":{"200":{"description":"Returns a `MembershipSubscription`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipSubscriptionDto"}}}},"409":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/><br>Possible error codes are:<br>`MS001`: A payment method is required to continue.<br>`MS002`: The payment method is not active.<br>`MS003`: A phone number is required.<br>`MS010`: You are not allowed to perform this action.<br>`MS011`: Custom price cannot be 0, use Free instead.<br>`MS012`: We've reached the maximum number of members for this membership<br>`MS013`: To change from monthly to annual payment or vice versa, you must first cancel your current membership<br>`MS014`: To change your membership plan, you must first cancel your current membership<br>`MS015`: This membership is not available for purchase on the selected payment plan<br>`MS016`: To change your membership plan, you must wait until your current membership cancellation is effective<br>`MS017`: Liability waiver acceptance is required.<br>`MS018`: Liability Waiver agreement not found. Please contact support.<br>`MS019`: Custom price cannot be 0 for non-recurring memberships. Only admins can create free passes.<br>`MS020`: Invalid membership configuration. Please contact support.<br>`MS021`: To change your membership plan, your current membership cannot be paused or pending pause.<br>`MS040`: Unable to proceed with the current payment method. Please try using a different one.<br>`MS041`: Prepaid cards are not accepted, please use a credit or debit card.<br>`RA001`: Could not confirm the payment. Please try again."}},"tags":["Users"]}}}}
```

## GET /users/{userId}/memberships/{membershipSubscriptionId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipSubscriptionDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"]},"status":{"type":"string","enum":["DRAFT","CHARGE_FAILED","REQUIRES_AUTHENTICATION","CONFIRMED"]},"extendedStatus":{"type":"string","enum":["ACTIVE","PENDING_CANCEL","CANCELLED","VALID","GRACE","HOLD","PAUSED","PENDING_PAUSE"]},"mode":{"type":"string","enum":["PREVIEW","ORDER"]},"condition":{"type":"string","enum":["VALID","GRACE","HOLD"],"readOnly":true},"conditionUpdatedDate":{"format":"date-time","type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"cancellationRequestDate":{"format":"date-time","type":"string"},"lastChargeDate":{"format":"date-time","type":"string"},"nextChargeDate":{"format":"date-time","type":"string"},"lastGrantDate":{"format":"date-time","type":"string","readOnly":true,"nullable":true,"description":"The last time the membership perks were granted to the user"},"nextGrantDate":{"format":"date-time","type":"string"},"billingCycleStart":{"format":"date-time","type":"string"},"billingCycleEnd":{"format":"date-time","type":"string"},"activePause":{"nullable":true,"description":"The current active or pending pause for this subscription","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionPauseDto"}]},"timezone":{"type":"string","description":"The timezone used to display and calculate charge and grant dates for the subscription."},"price":{"type":"number","nullable":true},"initiationFee":{"type":"number","nullable":true},"durationDays":{"type":"number","nullable":true,"description":"The number of days the membership will be active for if the charge type is non-recurring"},"oneTimeOption":{"nullable":true,"description":"The one-time price option ID for non-recurring memberships","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"total":{"type":"number","nullable":true},"taxes":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"additionalMemberFee":{"type":"number","nullable":true},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"]},"member":{"$ref":"#/components/schemas/ItemRefDto"},"membership":{"$ref":"#/components/schemas/ItemRefDto"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"order":{"$ref":"#/components/schemas/ItemRefDto"},"summary":{"readOnly":true,"nullable":true,"description":"Only available if the mode is PREVIEW","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionSummaryDto"}]},"_links":{"type":"object"}},"required":["id","displayName","type","status","extendedStatus","mode","condition","conditionUpdatedDate","createdDate","startDate","endDate","cancellationRequestDate","lastChargeDate","nextChargeDate","lastGrantDate","nextGrantDate","billingCycleStart","billingCycleEnd","activePause","timezone","price","initiationFee","durationDays","oneTimeOption","total","taxes","fees","additionalMemberFee","chargeType","member","membership","errors","order","summary","_links"]},"MembershipSubscriptionPauseDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"Unique identifier for the pause record"},"pauseStartDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause started"},"pauseEndDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause is scheduled to end"},"pauseDurationWeeks":{"type":"number","readOnly":true,"description":"Duration of the pause in weeks"},"pauseFeePaid":{"type":"number","readOnly":true,"nullable":true,"description":"The fee that was paid for the pause"},"status":{"type":"string","enum":["PENDING","ACTIVE","COMPLETED"],"readOnly":true,"description":"Current status of the pause (derived from dates)"},"createdAt":{"format":"date-time","type":"string","readOnly":true,"description":"When the pause record was created"},"membershipSubscription":{"readOnly":true,"description":"Reference to the membership subscription","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","pauseStartDate","pauseEndDate","pauseDurationWeeks","pauseFeePaid","status","createdAt","membershipSubscription","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"FeeDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the fee (e.g., \"Credit Card Fee\", \"Processing Fee\")"},"percentage":{"type":"number","description":"The percentage rate of the fee","minimum":0,"maximum":100},"amount":{"type":"number","description":"The amount of the fee"}},"required":["name","percentage","amount"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MembershipSubscriptionSummaryDto":{"type":"object","properties":{"total":{"type":"number","description":"Total amount including taxes and fees"},"membershipPrice":{"type":"number","description":"Membership base price"},"taxes":{"description":"Tax breakdown details","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"description":"Fee breakdown details","type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"messages":{"description":"Confirmation messages for the subscription","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"billingCycleStart":{"format":"date-time","type":"string","nullable":true,"description":"Billing cycle start date for recurring subscriptions"},"endDate":{"format":"date-time","type":"string","nullable":true,"description":"End date for non-recurring subscriptions"},"initiationFee":{"type":"number","nullable":true,"description":"Initiation fee if applicable"},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"],"description":"Type of charge for the subscription"}},"required":["total","membershipPrice","taxes","fees","messages","billingCycleStart","endDate","initiationFee","chargeType"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}":{"get":{"operationId":"MembershipSubscriptionsController_findUserMembershipSubscription","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `MembershipSubscription`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipSubscriptionDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/memberships/{membershipSubscriptionId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipSubscriptionPatchableDto":{"type":"object","properties":{"lastChargeDate":{"format":"date-time","type":"string"},"nextChargeDate":{"format":"date-time","type":"string"},"nextGrantDate":{"format":"date-time","type":"string"},"timezone":{"type":"string","description":"The timezone used to display and calculate charge and grant dates for the subscription."},"price":{"type":"number","nullable":true}},"required":["lastChargeDate","nextChargeDate","nextGrantDate","timezone","price"]},"MembershipSubscriptionDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"]},"status":{"type":"string","enum":["DRAFT","CHARGE_FAILED","REQUIRES_AUTHENTICATION","CONFIRMED"]},"extendedStatus":{"type":"string","enum":["ACTIVE","PENDING_CANCEL","CANCELLED","VALID","GRACE","HOLD","PAUSED","PENDING_PAUSE"]},"mode":{"type":"string","enum":["PREVIEW","ORDER"]},"condition":{"type":"string","enum":["VALID","GRACE","HOLD"],"readOnly":true},"conditionUpdatedDate":{"format":"date-time","type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"cancellationRequestDate":{"format":"date-time","type":"string"},"lastChargeDate":{"format":"date-time","type":"string"},"nextChargeDate":{"format":"date-time","type":"string"},"lastGrantDate":{"format":"date-time","type":"string","readOnly":true,"nullable":true,"description":"The last time the membership perks were granted to the user"},"nextGrantDate":{"format":"date-time","type":"string"},"billingCycleStart":{"format":"date-time","type":"string"},"billingCycleEnd":{"format":"date-time","type":"string"},"activePause":{"nullable":true,"description":"The current active or pending pause for this subscription","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionPauseDto"}]},"timezone":{"type":"string","description":"The timezone used to display and calculate charge and grant dates for the subscription."},"price":{"type":"number","nullable":true},"initiationFee":{"type":"number","nullable":true},"durationDays":{"type":"number","nullable":true,"description":"The number of days the membership will be active for if the charge type is non-recurring"},"oneTimeOption":{"nullable":true,"description":"The one-time price option ID for non-recurring memberships","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"total":{"type":"number","nullable":true},"taxes":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"additionalMemberFee":{"type":"number","nullable":true},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"]},"member":{"$ref":"#/components/schemas/ItemRefDto"},"membership":{"$ref":"#/components/schemas/ItemRefDto"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"order":{"$ref":"#/components/schemas/ItemRefDto"},"summary":{"readOnly":true,"nullable":true,"description":"Only available if the mode is PREVIEW","allOf":[{"$ref":"#/components/schemas/MembershipSubscriptionSummaryDto"}]},"_links":{"type":"object"}},"required":["id","displayName","type","status","extendedStatus","mode","condition","conditionUpdatedDate","createdDate","startDate","endDate","cancellationRequestDate","lastChargeDate","nextChargeDate","lastGrantDate","nextGrantDate","billingCycleStart","billingCycleEnd","activePause","timezone","price","initiationFee","durationDays","oneTimeOption","total","taxes","fees","additionalMemberFee","chargeType","member","membership","errors","order","summary","_links"]},"MembershipSubscriptionPauseDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"Unique identifier for the pause record"},"pauseStartDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause started"},"pauseEndDate":{"format":"date-time","type":"string","readOnly":true,"description":"The date when the pause is scheduled to end"},"pauseDurationWeeks":{"type":"number","readOnly":true,"description":"Duration of the pause in weeks"},"pauseFeePaid":{"type":"number","readOnly":true,"nullable":true,"description":"The fee that was paid for the pause"},"status":{"type":"string","enum":["PENDING","ACTIVE","COMPLETED"],"readOnly":true,"description":"Current status of the pause (derived from dates)"},"createdAt":{"format":"date-time","type":"string","readOnly":true,"description":"When the pause record was created"},"membershipSubscription":{"readOnly":true,"description":"Reference to the membership subscription","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","pauseStartDate","pauseEndDate","pauseDurationWeeks","pauseFeePaid","status","createdAt","membershipSubscription","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"FeeDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the fee (e.g., \"Credit Card Fee\", \"Processing Fee\")"},"percentage":{"type":"number","description":"The percentage rate of the fee","minimum":0,"maximum":100},"amount":{"type":"number","description":"The amount of the fee"}},"required":["name","percentage","amount"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MembershipSubscriptionSummaryDto":{"type":"object","properties":{"total":{"type":"number","description":"Total amount including taxes and fees"},"membershipPrice":{"type":"number","description":"Membership base price"},"taxes":{"description":"Tax breakdown details","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"fees":{"description":"Fee breakdown details","type":"array","items":{"$ref":"#/components/schemas/FeeDto"}},"messages":{"description":"Confirmation messages for the subscription","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"billingCycleStart":{"format":"date-time","type":"string","nullable":true,"description":"Billing cycle start date for recurring subscriptions"},"endDate":{"format":"date-time","type":"string","nullable":true,"description":"End date for non-recurring subscriptions"},"initiationFee":{"type":"number","nullable":true,"description":"Initiation fee if applicable"},"chargeType":{"type":"string","enum":["FREE","MONTHLY","SIX_MONTHS","YEARLY","NON_RECURRING"],"description":"Type of charge for the subscription"}},"required":["total","membershipPrice","taxes","fees","messages","billingCycleStart","endDate","initiationFee","chargeType"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}":{"patch":{"operationId":"MembershipSubscriptionsController_updateUserMembershipSubscription","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The `MembershipSubscription` to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipSubscriptionPatchableDto"}}}},"responses":{"200":{"description":"Returns a `MembershipSubscription`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipSubscriptionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/memberships/{membershipSubscriptionId}/packages

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"PackageCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PackageDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"PackageDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNamePlural":{"type":"string"},"status":{"type":"string","enum":["ACTIVE","EXHAUSTED","EXPIRED","CANCELED"],"readOnly":true},"createdDate":{"format":"date-time","type":"string","readOnly":true},"expirationDate":{"format":"date-time","type":"string"},"items":{"$ref":"#/components/schemas/PackageItemCollectionDto"},"redemptions":{"$ref":"#/components/schemas/PackageItemRedemptionCollectionDto"},"template":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"order":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","displayName","displayNamePlural","status","createdDate","expirationDate","items","redemptions","template","order","_links"]},"PackageItemCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PackageItemDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"PackageItemDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["BOOKING","EVENT_SIGNUP","GUEST_SIGNUP","SERIES_SIGNUP","REPLAY"]},"displayName":{"type":"string"},"displayNamePlural":{"type":"string"},"totalItems":{"type":"number"},"constraints":{"$ref":"#/components/schemas/PackageItemConstraintsDto"},"remainingItems":{"type":"number","readOnly":true}},"required":["id","type","displayName","displayNamePlural","totalItems","constraints","remainingItems"]},"PackageItemConstraintsDto":{"type":"object","properties":{"bookingEventSubtype":{"nullable":true,"type":"array","items":{"type":"OPERATIONS"}},"bookingEventCustomType":{"type":"string","nullable":true},"bookingEventCustomTypesMatchAny":{"nullable":true,"type":"array","items":{"type":"string"}},"bookingEventTagsMatchAll":{"nullable":true,"type":"array","items":{"type":"string"}},"bookingEventTagsMatchAny":{"nullable":true,"type":"array","items":{"type":"string"}},"allowKids":{"type":"boolean","nullable":true},"bookingSessionPeriodTypeMatchAny":{"description":"Session period types like PEAK, REDUCED, OFF PEAK, etc.","nullable":true,"type":"array","items":{"type":"PEAK"}},"bookingAreaSlugMatchAny":{"nullable":true,"type":"array","items":{"type":"string"}},"bookingPodIdsMatchAny":{"nullable":true,"type":"array","items":{"type":"string"}}},"required":["bookingEventSubtype","bookingEventCustomType","bookingEventCustomTypesMatchAny","bookingEventTagsMatchAll","bookingEventTagsMatchAny","allowKids","bookingSessionPeriodTypeMatchAny","bookingAreaSlugMatchAny","bookingPodIdsMatchAny"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"PackageItemRedemptionCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PackageItemRedemptionDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"PackageItemRedemptionDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"redemptionDate":{"format":"date-time","type":"string","readOnly":true},"item":{"type":"number","enum":[],"readOnly":true},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"order":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"orderItem":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"cancelationDate":{"format":"date-time","type":"string","readOnly":true,"nullable":true},"_links":{"type":"object"}},"required":["id","redemptionDate","item","user","order","orderItem","cancelationDate","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}/packages":{"get":{"operationId":"MembershipSubscriptionsController_findUserMembershipSubscriptionPackages","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `PackageCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/enrollments

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MembershipEnrollmentDto"}},"_total":{"type":"number"},"_links":{"type":"object"}},"required":["items","_total","_links"]},"MembershipEnrollmentDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string","readOnly":true},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true},"user":{"$ref":"#/components/schemas/ItemRefDto"},"creatorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membership":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"$ref":"#/components/schemas/ItemRefDto"},"isOwner":{"type":"boolean","readOnly":true,"nullable":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"customFee":{"type":"number","nullable":false,"default":0},"_links":{"type":"object"}},"required":["id","displayName","type","user","creatorUser","membership","membershipSubscription","isOwner","errors","customFee","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/enrollments":{"get":{"operationId":"MembershipEnrollmentsController_findUserMembershipEnrollments","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `MembershipEnrollmentCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/enrollments/{membershipEnrollmentId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string","readOnly":true},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true},"user":{"$ref":"#/components/schemas/ItemRefDto"},"creatorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membership":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"$ref":"#/components/schemas/ItemRefDto"},"isOwner":{"type":"boolean","readOnly":true,"nullable":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"customFee":{"type":"number","nullable":false,"default":0},"_links":{"type":"object"}},"required":["id","displayName","type","user","creatorUser","membership","membershipSubscription","isOwner","errors","customFee","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/enrollments/{membershipEnrollmentId}":{"get":{"operationId":"MembershipEnrollmentsController_findUserMembershipEnrollment","parameters":[{"name":"membershipEnrollmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `MembershipSubscription`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/memberships/{membershipSubscriptionId}/enrollments

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MembershipEnrollmentDto"}},"_total":{"type":"number"},"_links":{"type":"object"}},"required":["items","_total","_links"]},"MembershipEnrollmentDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string","readOnly":true},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true},"user":{"$ref":"#/components/schemas/ItemRefDto"},"creatorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membership":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"$ref":"#/components/schemas/ItemRefDto"},"isOwner":{"type":"boolean","readOnly":true,"nullable":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"customFee":{"type":"number","nullable":false,"default":0},"_links":{"type":"object"}},"required":["id","displayName","type","user","creatorUser","membership","membershipSubscription","isOwner","errors","customFee","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}/enrollments":{"get":{"operationId":"MembershipEnrollmentsController_findUserMembershipsSubscriptionEnrollments","parameters":[{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"includeInactive","required":true,"in":"path","schema":{"type":"boolean"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `membershipEnrollmentCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/memberships/{membershipSubscriptionId}/enrollments

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string","readOnly":true},"type":{"type":"string","enum":["GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true},"user":{"$ref":"#/components/schemas/ItemRefDto"},"creatorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membership":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"$ref":"#/components/schemas/ItemRefDto"},"isOwner":{"type":"boolean","readOnly":true,"nullable":true},"createdDate":{"format":"date-time","type":"string"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"customFee":{"type":"number","nullable":false,"default":0},"_links":{"type":"object"}},"required":["id","displayName","type","user","creatorUser","membership","membershipSubscription","isOwner","errors","customFee","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}/enrollments":{"post":{"operationId":"MembershipEnrollmentsController_createUserMembershipsSubscriptionEnrollment","parameters":[{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentDto"}}}},"responses":{"200":{"description":"Returns an `UsersMembershipSubscription`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentDto"}}}},"422":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/memberships/{membershipSubscriptionId}/invitations

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentInvitationCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MembershipEnrollmentInvitationDto"}},"_total":{"type":"number"},"_links":{"type":"object"}},"required":["items","_total","_links"]},"MembershipEnrollmentInvitationDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string","readOnly":true},"acceptedDate":{"format":"date-time","type":"string","readOnly":true},"declinedDate":{"format":"date-time","type":"string","readOnly":true},"membershipSubscription":{"type":"object","readOnly":true},"membership":{"type":"object","readOnly":true},"inviteeEmail":{"type":"string"},"inviter":{"type":"object","readOnly":true},"invitee":{"type":"object","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","status","createdDate","acceptedDate","declinedDate","membershipSubscription","membership","inviteeEmail","inviter","invitee","_links"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}/invitations":{"patch":{"operationId":"MembershipEnrollmentsController_createUserMembershipsSubscriptionEnrollmentInvitation","parameters":[{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentInvitationCollectionDto"}}}},"responses":{"200":{"description":"Returns an `MembershipEnrollmentInvitationCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentInvitationCollectionDto"}}}},"422":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/memberships/{membershipSubscriptionId}/invitations/{invitationId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentInvitationDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string","readOnly":true},"acceptedDate":{"format":"date-time","type":"string","readOnly":true},"declinedDate":{"format":"date-time","type":"string","readOnly":true},"membershipSubscription":{"type":"object","readOnly":true},"membership":{"type":"object","readOnly":true},"inviteeEmail":{"type":"string"},"inviter":{"type":"object","readOnly":true},"invitee":{"type":"object","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","status","createdDate","acceptedDate","declinedDate","membershipSubscription","membership","inviteeEmail","inviter","invitee","_links"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}/invitations/{invitationId}":{"get":{"operationId":"MembershipEnrollmentsController_findUserMembershipsSubscriptionEnrollmentInvitation","parameters":[{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"invitationId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `MembershipEnrollmentInvitation`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentInvitationDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/memberships/{membershipSubscriptionId}/invitations/{invitationId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentInvitationDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string","readOnly":true},"acceptedDate":{"format":"date-time","type":"string","readOnly":true},"declinedDate":{"format":"date-time","type":"string","readOnly":true},"membershipSubscription":{"type":"object","readOnly":true},"membership":{"type":"object","readOnly":true},"inviteeEmail":{"type":"string"},"inviter":{"type":"object","readOnly":true},"invitee":{"type":"object","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","status","createdDate","acceptedDate","declinedDate","membershipSubscription","membership","inviteeEmail","inviter","invitee","_links"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/memberships/{membershipSubscriptionId}/invitations/{invitationId}":{"patch":{"operationId":"MembershipEnrollmentsController_updateUserMembershipsSubscriptionEnrollmentInvitation","parameters":[{"name":"membershipSubscriptionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"invitationId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentInvitationDto"}}}},"responses":{"200":{"description":"Returns a `MembershipEnrollmentInvitation`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentInvitationDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/enrollments/{membershipEnrollmentId}/reactivations

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentReactivationDto":{"type":"object","properties":{"type":{"type":"string","enum":["PREVIEW","ORDER"]},"reason":{"type":"string"},"summary":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/MembershipEnrollmentReactivationSummaryDto"}]}},"required":["type","reason","summary"]},"MembershipEnrollmentReactivationSummaryDto":{"type":"object","properties":{"policy":{"type":"string","enum":["FREE_OF_CHARGE","REACTIVATED_BY_ADMIN"],"readOnly":true},"reactivationTime":{"format":"date-time","type":"string","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["policy","reactivationTime"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/enrollments/{membershipEnrollmentId}/reactivations":{"post":{"operationId":"MembershipEnrollmentsController_createUserMembershipSubscriptionReactivation","parameters":[{"name":"membershipEnrollmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentReactivationDto"}}}},"responses":{"200":{"description":"Returns an `MembershipEnrollmentReactivation`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentReactivationDto"}}}},"422":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/enrollments/{membershipEnrollmentId}/cancellation

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentCancellationDto":{"type":"object","properties":{"type":{"type":"string","enum":["PREVIEW","ORDER"]},"status":{"type":"string","enum":["DRAFT","FAILED","PENDING","CONFIRMED"],"readOnly":true},"reason":{"type":"string"},"extraMemberFee":{"type":"number"},"immediately":{"type":"boolean"},"summary":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/MembershipEnrollmentCancellationSummaryDto"}]}},"required":["type","status","reason","extraMemberFee","immediately","summary"]},"MembershipEnrollmentCancellationSummaryDto":{"type":"object","properties":{"policy":{"type":"string","enum":["FREE_OF_CHARGE","CANCELED_BY_ADMIN"],"readOnly":true},"cancellationTime":{"format":"date-time","type":"string","readOnly":true},"validUntilTime":{"format":"date-time","type":"string","readOnly":true},"cancellationFee":{"type":"number","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"messages":{"readOnly":true,"nullable":true,"description":"Possible messages that may be returned when accepting an invitation. Valid codes are: UMS010, UMS011, UMS012, UMS013","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}}},"required":["policy","cancellationTime","validUntilTime","cancellationFee"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/enrollments/{membershipEnrollmentId}/cancellation":{"post":{"operationId":"MembershipEnrollmentsController_createUserMembershipSubscriptionCancellation","parameters":[{"name":"membershipEnrollmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentCancellationDto"}}}},"responses":{"200":{"description":"Returns an `EventSignupCancellation`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentCancellationDto"}}}},"422":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/enrollments/{membershipEnrollmentId}/pause

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentPauseDto":{"type":"object","properties":{"type":{"type":"string","enum":["PREVIEW","ORDER"]},"status":{"type":"string","enum":["DRAFT","FAILED","PENDING","CONFIRMED"],"readOnly":true},"durationWeeks":{"type":"number","description":"Duration of pause in weeks"},"pauseFee":{"type":"number"},"summary":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/MembershipEnrollmentPauseSummaryDto"}]}},"required":["type","status","durationWeeks","pauseFee","summary"]},"MembershipEnrollmentPauseSummaryDto":{"type":"object","properties":{"pauseStartDate":{"format":"date-time","type":"string","readOnly":true},"pauseEndDate":{"format":"date-time","type":"string","readOnly":true},"pauseDurationWeeks":{"type":"number","readOnly":true},"pauseFee":{"type":"number","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"messages":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageDto"}}},"required":["pauseStartDate","pauseEndDate","pauseDurationWeeks","pauseFee"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/enrollments/{membershipEnrollmentId}/pause":{"post":{"operationId":"MembershipEnrollmentsController_createUserMembershipSubscriptionPause","parameters":[{"name":"membershipEnrollmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentPauseDto"}}}},"responses":{"200":{"description":"Returns a `MembershipEnrollmentPause`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentPauseDto"}}}},"422":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/enrollments/{membershipEnrollmentId}/unpause

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MembershipEnrollmentUnpauseDto":{"type":"object","properties":{"type":{"type":"string","enum":["PREVIEW","ORDER"]},"summary":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/MembershipEnrollmentUnpauseSummaryDto"}]}},"required":["type","summary"]},"MembershipEnrollmentUnpauseSummaryDto":{"type":"object","properties":{"unpauseTime":{"format":"date-time","type":"string","readOnly":true},"actualPauseDurationWeeks":{"type":"number","readOnly":true},"nextChargeDate":{"format":"date-time","type":"string","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["unpauseTime","actualPauseDurationWeeks","nextChargeDate"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}/enrollments/{membershipEnrollmentId}/unpause":{"post":{"operationId":"MembershipEnrollmentsController_createUserMembershipSubscriptionUnpause","parameters":[{"name":"membershipEnrollmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentUnpauseDto"}}}},"responses":{"200":{"description":"Returns a `MembershipEnrollmentUnpause`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipEnrollmentUnpauseDto"}}}},"422":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## GET /users

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserDto"}},"_pagination":{"$ref":"#/components/schemas/PaginationDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_pagination","_links"]},"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}},"PaginationDto":{"type":"object","properties":{"page":{"type":"number"},"ipp":{"type":"number"},"count":{"type":"number"},"total":{"type":"number"}},"required":["page","ipp","count","total"]}}},"paths":{"/users":{"get":{"operationId":"UsersController_find","parameters":[{"name":"search","required":false,"in":"query","schema":{"type":"string"}},{"name":"includePristine","required":false,"in":"query","description":"Applicable only if `areaId` is specified.","schema":{"type":"boolean"}},{"name":"memberSinceMin","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"memberSinceMax","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"tenureMin","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"tenureMax","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"condition","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"page","required":false,"in":"query","schema":{"type":"number"}},{"name":"ipp","required":false,"in":"query","schema":{"type":"number"}},{"name":"strictLocation","required":false,"in":"query","description":"If true, do not bypass location filters for exact email/full-name searches.","schema":{"type":"boolean"}},{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"membershipStatus","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["ACTIVE","PENDING_CANCEL","CANCELLED","VALID","GRACE","HOLD"]}}},{"name":"sort","required":false,"in":"query","description":"If not set, `sort` will be defaulted as `fullName` (ASC)","schema":{"type":"string"}},{"name":"role","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"membershipId","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"membershipAreaId","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"areaId","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returns a `UserCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users

> User Signup: Create a new user account.

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserSignupDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email"},"password":{"type":"string","description":"Minimum requirements: 6 characters long, at least 1 number."},"firstName":{"type":"string"},"lastName":{"type":"string"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"emailMarketingOptIn":{"type":"boolean"},"smsMarketingOptIn":{"type":"boolean"},"requiredAgreements":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"acceptedAgreements":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"phoneVerificationSessionId":{"type":"string","description":"Phone verification session ID from the signup phone verification flow. Required when the tenant has phone number verification enabled on signup."},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","email","errors"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users":{"post":{"operationId":"UserSignupsController_signup","summary":"User Signup: Create a new user account.","parameters":[{"name":"utm_location","required":false,"in":"query","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignupDto"}}}},"responses":{"201":{"description":"Returns the `UserSignup`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignupDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/><br>Possible error codes are:<br>`US001`: The email address is not valid.<br>`US002`: The email address is already in use.<br>`US003`: The password does not meet the minimum requirements.<br>`US004`: Birthday is required.<br>`US005`: Gender is required.<br>`US006`: Gender is too long. (Max 25 characters)<br>`US007`: Must be at least {{minimumAge}} years old to sign up.<br>`US008`: You must accept the liability waiver to sign up.<br>`US009`: Invalid agreement IDs: {{invalidAgreementIds}}"}},"tags":["Users"]}}}}
```

## POST /users/{userId}/dupr/logout

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/dupr/logout":{"post":{"operationId":"UsersDUPRController_handleLogout","parameters":[],"responses":{"200":{"description":"Disconnect the DUPR account from the user"}},"tags":["Users"]}}}}
```

## GET /users/current

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}}}},"paths":{"/users/current":{"get":{"operationId":"UsersController_findCurrentProfile","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returns the logged in `User`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}}}},"paths":{"/users/{userId}":{"get":{"operationId":"UsersController_findUser","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `User`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}}}},"paths":{"/users/{userId}":{"delete":{"operationId":"UsersController_deleteUser","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the deleted `User`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPatchableDto":{"type":"object","properties":{"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"}},"required":["email","description","rolesAreas","membershipType","flags"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/users/{userId}":{"patch":{"operationId":"UsersController_patchUser","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPatchableDto"}}}},"responses":{"200":{"description":"Returns a `User`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"422":{"description":"Returns an `Error`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/activation

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/activation":{"post":{"operationId":"UsersController_createUserActivation","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/activation

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/activation":{"delete":{"operationId":"UsersController_deleteUserActivation","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Users"]}}}}
```

## GET /users/{userId}/favorite-replays

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"EventReplayPaginatedCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"_pagination":{"$ref":"#/components/schemas/PaginationDto"},"_total":{"type":"number","deprecated":true},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_pagination","_total","_links"]},"PaginationDto":{"type":"object","properties":{"page":{"type":"number"},"ipp":{"type":"number"},"count":{"type":"number"},"total":{"type":"number"}},"required":["page","ipp","count","total"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/favorite-replays":{"get":{"operationId":"UsersController_findUserFavoriteReplays","parameters":[{"name":"page","required":false,"in":"query","schema":{"type":"number"}},{"name":"ipp","required":false,"in":"query","schema":{"type":"number"}},{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `EventReplayPaginatedCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventReplayPaginatedCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/coach-profile

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/coach-profile":{"post":{"operationId":"UsersController_createUserCoachProfile","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/coach-profile

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/coach-profile":{"delete":{"operationId":"UsersController_deleteUserCoachProfile","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Users"]}}}}
```

## GET /users/{userId}/contacts

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserContactCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserContactDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"UserContactDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["EMAIL","PHONE_NUMBER"],"readOnly":true},"email":{"type":"string","readOnly":true},"phoneNumber":{"type":"string","readOnly":true}},"required":["id","type","email","phoneNumber"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/contacts":{"get":{"operationId":"UsersController_findUserContacts","parameters":[{"name":"type","required":false,"in":"query","description":"Return only the contacts matching a type or a set of types.","schema":{"type":"array","items":{"type":"string","enum":["EMAIL","PHONE_NUMBER"]}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserContactCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserContactCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/virtual-credits-transactions

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"VirtualCreditsTransactionsPaginatedCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VirtualCreditsTransactionDto"}},"_pagination":{"$ref":"#/components/schemas/PaginationDto"},"_total":{"type":"number","deprecated":true},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_pagination","_total","_links"]},"VirtualCreditsTransactionDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"order":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"createdAt":{"format":"date-time","type":"string","readOnly":true},"amountType":{"type":"string","enum":["INCOME","OUTCOME"]},"amount":{"type":"number"},"balance":{"type":"number","readOnly":true},"source":{"type":"string","enum":["BOOKING","EVENT_SIGNUP","SYSTEM","CANCELLATION","RESCHEDULE","REFUND","CUSTOMER_SERVICE","INVITATION","SQUARE_GIFT_CARD"],"readOnly":true},"reason":{"type":"string"},"updatedBy":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","order","user","createdAt","amountType","amount","balance","source","updatedBy","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"PaginationDto":{"type":"object","properties":{"page":{"type":"number"},"ipp":{"type":"number"},"count":{"type":"number"},"total":{"type":"number"}},"required":["page","ipp","count","total"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/virtual-credits-transactions":{"get":{"operationId":"UserVirtualCreditsTransactionsController_getVirtualCreditsByUser","parameters":[{"name":"page","required":false,"in":"query","schema":{"type":"number"}},{"name":"ipp","required":false,"in":"query","schema":{"type":"number"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `VirtualCreditsTransactionsCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualCreditsTransactionsPaginatedCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/virtual-credits-transactions

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"VirtualCreditsTransactionDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"order":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"createdAt":{"format":"date-time","type":"string","readOnly":true},"amountType":{"type":"string","enum":["INCOME","OUTCOME"]},"amount":{"type":"number"},"balance":{"type":"number","readOnly":true},"source":{"type":"string","enum":["BOOKING","EVENT_SIGNUP","SYSTEM","CANCELLATION","RESCHEDULE","REFUND","CUSTOMER_SERVICE","INVITATION","SQUARE_GIFT_CARD"],"readOnly":true},"reason":{"type":"string"},"updatedBy":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","order","user","createdAt","amountType","amount","balance","source","updatedBy","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}}}},"paths":{"/users/{userId}/virtual-credits-transactions":{"post":{"operationId":"UserVirtualCreditsTransactionsController_postVirtualCreditsTransactions","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualCreditsTransactionDto"}}}},"responses":{"200":{"description":"Returns a `User with updated virtual credits`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/preferences

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/preferences":{"get":{"operationId":"UserPreferencesController_getPreferences","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get the user preferences"}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/preferences

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPreferencesPatchableDto":{"type":"object","properties":{"showUserNameOnEvents":{"type":"boolean"},"showUserRatingOnEvents":{"type":"boolean"},"chatOptIn":{"type":"boolean"},"emailMarketingOptIn":{"type":"boolean"},"smsMarketingOptIn":{"type":"boolean"}},"required":["showUserNameOnEvents","showUserRatingOnEvents","chatOptIn","emailMarketingOptIn","smsMarketingOptIn"]}}},"paths":{"/users/{userId}/preferences":{"patch":{"operationId":"UserPreferencesController_patchPreferences","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferencesPatchableDto"}}}},"responses":{"200":{"description":"Update the user preferences"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/frontchat

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"FrontChatDto":{"type":"object","properties":{"hash":{"type":"string"}},"required":["hash"]}}},"paths":{"/users/{userId}/frontchat":{"get":{"operationId":"UserChatController_getFrontChatUserHash","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `FrontChat`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FrontChatDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/chat

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserChatDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","enum":["INACTIVE","SETUP_PENDING","OPTED_OUT","ACTIVE"]},"handle":{"type":"string","readOnly":true},"displayName":{"type":"string","readOnly":true},"unreadMessages":{"type":"number","readOnly":true},"avatar":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ImageDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"type":"string"}}},"required":["id","status","handle","displayName","unreadMessages","avatar","errors"]},"ImageDto":{"type":"object","properties":{"id":{"type":"string"},"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","small","medium","large","_links"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]}}},"paths":{"/users/{userId}/chat":{"get":{"operationId":"UserChatController_getPreferences","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get the `UserChat`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserChatDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/chat

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserChatPatchableDto":{"type":"object","properties":{"status":{"type":"string","enum":["INACTIVE","SETUP_PENDING","OPTED_OUT","ACTIVE"]},"termsAgreed":{"type":"boolean","writeOnly":true,"nullable":true,"description":"An optional parameter to tell the User is agreeing the \"Terms\" along with the chat activation request."}},"required":["status","termsAgreed"]},"UserChatDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","enum":["INACTIVE","SETUP_PENDING","OPTED_OUT","ACTIVE"]},"handle":{"type":"string","readOnly":true},"displayName":{"type":"string","readOnly":true},"unreadMessages":{"type":"number","readOnly":true},"avatar":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ImageDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"type":"string"}}},"required":["id","status","handle","displayName","unreadMessages","avatar","errors"]},"ImageDto":{"type":"object","properties":{"id":{"type":"string"},"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","small","medium","large","_links"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]}}},"paths":{"/users/{userId}/chat":{"patch":{"operationId":"UserChatController_updatePreferences","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserChatPatchableDto"}}}},"responses":{"200":{"description":"Update the `UserChat`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserChatDto"}}}},"422":{"description":"Possible error codes are:<br>`UC001`: User phone number is required.<br>`UC002`: Terms of Service agreement is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserChatDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/quotas/booking/{areaId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserQuotasBookingAreaDto":{"type":"object","properties":{"selectableUnit":{"type":"string","enum":["HOUR","HALF_HOUR"]},"allowMultiReservationBooking":{"type":"boolean"},"minDurationHours":{"type":"number","enum":[0.5,1],"nullable":false,"description":"The default duration is 0.5."},"maxDurationHours":{"type":"number","nullable":true,"description":"`null` means no limit."},"maxFreeOffPeakHours":{"type":"number","nullable":false,"description":"The default limit is 12."},"maxFutureRegularReservations":{"type":"number","nullable":true,"description":"`null` means no limit.","deprecated":true},"remainingFutureRegularReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate.","deprecated":true},"remainingRegularReservationsByDay":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/UserQuotasBookingAreaDailyCollectionDto"}]},"maxFuturePrivateReservations":{"type":"number","nullable":true,"description":"`null` means no limit."},"remainingFuturePrivateReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate."},"remainingPrivateReservationsByDay":{"$ref":"#/components/schemas/UserQuotasBookingAreaDailyCollectionDto"}},"required":["selectableUnit","allowMultiReservationBooking","minDurationHours","maxDurationHours","maxFreeOffPeakHours","maxFutureRegularReservations","remainingFutureRegularReservations","remainingRegularReservationsByDay","maxFuturePrivateReservations","remainingFuturePrivateReservations","remainingPrivateReservationsByDay"]},"UserQuotasBookingAreaDailyCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserQuotasBookingAreaDailyDto"}}},"required":["items"]},"UserQuotasBookingAreaDailyDto":{"type":"object","properties":{"isoDate":{"type":"string"},"remainingRegularReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate.","deprecated":true},"remainingPrivateReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate."}},"required":["isoDate","remainingRegularReservations","remainingPrivateReservations"]}}},"paths":{"/users/{userId}/quotas/booking/{areaId}":{"get":{"operationId":"UserQuotasController_findUserQuotasBookingByArea","parameters":[{"name":"areaId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserQuotasBookingArea`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserQuotasBookingAreaDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/settings/booking/{areaId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserBookingSettingsDto":{"type":"object","properties":{"strategy":{"type":"string","enum":["spot+","court+"]},"quotas":{"$ref":"#/components/schemas/UserQuotasBookingAreaDto"}},"required":["strategy","quotas"]},"UserQuotasBookingAreaDto":{"type":"object","properties":{"selectableUnit":{"type":"string","enum":["HOUR","HALF_HOUR"]},"allowMultiReservationBooking":{"type":"boolean"},"minDurationHours":{"type":"number","enum":[0.5,1],"nullable":false,"description":"The default duration is 0.5."},"maxDurationHours":{"type":"number","nullable":true,"description":"`null` means no limit."},"maxFreeOffPeakHours":{"type":"number","nullable":false,"description":"The default limit is 12."},"maxFutureRegularReservations":{"type":"number","nullable":true,"description":"`null` means no limit.","deprecated":true},"remainingFutureRegularReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate.","deprecated":true},"remainingRegularReservationsByDay":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/UserQuotasBookingAreaDailyCollectionDto"}]},"maxFuturePrivateReservations":{"type":"number","nullable":true,"description":"`null` means no limit."},"remainingFuturePrivateReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate."},"remainingPrivateReservationsByDay":{"$ref":"#/components/schemas/UserQuotasBookingAreaDailyCollectionDto"}},"required":["selectableUnit","allowMultiReservationBooking","minDurationHours","maxDurationHours","maxFreeOffPeakHours","maxFutureRegularReservations","remainingFutureRegularReservations","remainingRegularReservationsByDay","maxFuturePrivateReservations","remainingFuturePrivateReservations","remainingPrivateReservationsByDay"]},"UserQuotasBookingAreaDailyCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserQuotasBookingAreaDailyDto"}}},"required":["items"]},"UserQuotasBookingAreaDailyDto":{"type":"object","properties":{"isoDate":{"type":"string"},"remainingRegularReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate.","deprecated":true},"remainingPrivateReservations":{"type":"number","nullable":true,"description":"`null` means no limit, so no remaining value is possuble to calculate."}},"required":["isoDate","remainingRegularReservations","remainingPrivateReservations"]}}},"paths":{"/users/{userId}/settings/booking/{areaId}":{"get":{"operationId":"UserQuotasController_findUserBookingSettingsByArea","parameters":[{"name":"areaId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserBookingSettingsDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserBookingSettingsDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/qr-code

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/qr-code":{"get":{"operationId":"UserQRCodesController_getQRCodeUrls","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get the QR code urls for the user"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/qr-code-image/{size}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/qr-code-image/{size}":{"get":{"operationId":"UserQRCodesController_getQRCode","parameters":[{"name":"size","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get the QR code PNG image for the user"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/kids

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserKidCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserKidDto"}},"_total":{"type":"number"}},"required":["items","_total"]},"UserKidDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emergencyContactName":{"type":"string"},"emergencyContactPhoneNumber":{"type":"string"},"selfDismissal":{"type":"boolean"},"pickupAuthorization":{"type":"string"},"allergies":{"type":"string"},"specialInstructions":{"type":"string"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"waiverAccepted":{"type":"boolean","nullable":true,"deprecated":true},"requiredAgreements":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"acceptedAgreements":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","user","firstName","lastName","waiverAccepted","errors"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/kids":{"get":{"operationId":"UserKidsController_getKids","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserKidCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/kids

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserKidDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emergencyContactName":{"type":"string"},"emergencyContactPhoneNumber":{"type":"string"},"selfDismissal":{"type":"boolean"},"pickupAuthorization":{"type":"string"},"allergies":{"type":"string"},"specialInstructions":{"type":"string"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"waiverAccepted":{"type":"boolean","nullable":true,"deprecated":true},"requiredAgreements":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"acceptedAgreements":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","user","firstName","lastName","waiverAccepted","errors"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/kids":{"post":{"operationId":"UserKidsController_createKid","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"utm_location","required":true,"in":"query","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidDto"}}}},"responses":{"201":{"description":"Returns a `UserKid`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/kids/{kidId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserKidDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emergencyContactName":{"type":"string"},"emergencyContactPhoneNumber":{"type":"string"},"selfDismissal":{"type":"boolean"},"pickupAuthorization":{"type":"string"},"allergies":{"type":"string"},"specialInstructions":{"type":"string"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"waiverAccepted":{"type":"boolean","nullable":true,"deprecated":true},"requiredAgreements":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"acceptedAgreements":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","user","firstName","lastName","waiverAccepted","errors"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/kids/{kidId}":{"get":{"operationId":"UserKidsController_getKid","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"kidId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"Returns a `UserKid`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidDto"}}}}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/kids/{kidId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserKidDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emergencyContactName":{"type":"string"},"emergencyContactPhoneNumber":{"type":"string"},"selfDismissal":{"type":"boolean"},"pickupAuthorization":{"type":"string"},"allergies":{"type":"string"},"specialInstructions":{"type":"string"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"waiverAccepted":{"type":"boolean","nullable":true,"deprecated":true},"requiredAgreements":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"acceptedAgreements":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","user","firstName","lastName","waiverAccepted","errors"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/kids/{kidId}":{"delete":{"operationId":"UserKidsController_deleteKid","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"kidId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserKid`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/kids/{kidId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserKidDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emergencyContactName":{"type":"string"},"emergencyContactPhoneNumber":{"type":"string"},"selfDismissal":{"type":"boolean"},"pickupAuthorization":{"type":"string"},"allergies":{"type":"string"},"specialInstructions":{"type":"string"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"waiverAccepted":{"type":"boolean","nullable":true,"deprecated":true},"requiredAgreements":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"acceptedAgreements":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","user","firstName","lastName","waiverAccepted","errors"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/kids/{kidId}":{"patch":{"operationId":"UserKidsController_updateKid","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"kidId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidDto"}}}},"responses":{"200":{"description":"Returns a `UserKid`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserKidDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/kids/{kidId}/invitations

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"EventInvitationCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventInvitationDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventInvitationDto":{"type":"object","properties":{"id":{"type":"string"},"event":{"$ref":"#/components/schemas/ItemRefDto"},"invitation":{"$ref":"#/components/schemas/ItemRefDto"},"messages":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"_links":{"type":"object"}},"required":["id","event","invitation","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/kids/{kidId}/invitations":{"get":{"operationId":"UserKidsController_getKidInvitations","parameters":[{"name":"kidId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns an `EventInvitationCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventInvitationCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/segmentation

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/segmentation":{"get":{"operationId":"UserSegmentationController_getUserSegmentation","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Retrieve `UserSegmentation` info."}},"tags":["Users"]}}}}
```

## GET /users/{userId}/agreements

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserAgreementCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserAgreementDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"UserAgreementDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["TERMS_OF_SERVICE","PRIVACY_POLICY","COVID_19_GUIDELINES","POD_RULES","LIABILITY_WAIVER","AREA_LIABILITY_WAIVER","KIDS_WAIVER","AREA_KIDS_WAIVER"]},"status":{"type":"string","enum":["PENDING","AGREED"]},"agreementReleaseTime":{"format":"date-time","type":"string","readOnly":true},"agreementTime":{"format":"date-time","type":"string","readOnly":true},"agreedBy":{"type":"object","readOnly":true},"area":{"type":"object"},"agreement":{"type":"object","readOnly":true},"kid":{"type":"object"},"_links":{"type":"object"}},"required":["id","type","status","agreementReleaseTime","agreementTime","agreedBy","area","agreement","kid","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/agreements":{"get":{"operationId":"UserAgreementsController_findUserAgreements","parameters":[{"name":"onlyLatest","required":false,"in":"query","description":"Return only the latest agreements for each type and area, regardless of its status","schema":{"type":"boolean"}},{"name":"status","required":false,"in":"query","description":"Return only the user agreements matching a status or a set of status.","schema":{"type":"array","items":{"type":"string","enum":["PENDING","AGREED"]}}},{"name":"type","required":false,"in":"query","description":"Return only the user agreements matching a type or a set of types.","schema":{"type":"array","items":{"type":"string","enum":["TERMS_OF_SERVICE","PRIVACY_POLICY","COVID_19_GUIDELINES","POD_RULES","LIABILITY_WAIVER","AREA_LIABILITY_WAIVER","KIDS_WAIVER","AREA_KIDS_WAIVER"]}}},{"name":"areaId","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserAgreementCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAgreementCollectionDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/agreements

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserAgreementDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["TERMS_OF_SERVICE","PRIVACY_POLICY","COVID_19_GUIDELINES","POD_RULES","LIABILITY_WAIVER","AREA_LIABILITY_WAIVER","KIDS_WAIVER","AREA_KIDS_WAIVER"]},"status":{"type":"string","enum":["PENDING","AGREED"]},"agreementReleaseTime":{"format":"date-time","type":"string","readOnly":true},"agreementTime":{"format":"date-time","type":"string","readOnly":true},"agreedBy":{"type":"object","readOnly":true},"area":{"type":"object"},"agreement":{"type":"object","readOnly":true},"kid":{"type":"object"},"_links":{"type":"object"}},"required":["id","type","status","agreementReleaseTime","agreementTime","agreedBy","area","agreement","kid","_links"]}}},"paths":{"/users/{userId}/agreements":{"post":{"operationId":"UserAgreementsController_createUserAgreement","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAgreementDto"}}}},"responses":{"201":{"description":"Returns a `UserAgreement`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAgreementDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/agreements/required

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserAgreementCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserAgreementDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"UserAgreementDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["TERMS_OF_SERVICE","PRIVACY_POLICY","COVID_19_GUIDELINES","POD_RULES","LIABILITY_WAIVER","AREA_LIABILITY_WAIVER","KIDS_WAIVER","AREA_KIDS_WAIVER"]},"status":{"type":"string","enum":["PENDING","AGREED"]},"agreementReleaseTime":{"format":"date-time","type":"string","readOnly":true},"agreementTime":{"format":"date-time","type":"string","readOnly":true},"agreedBy":{"type":"object","readOnly":true},"area":{"type":"object"},"agreement":{"type":"object","readOnly":true},"kid":{"type":"object"},"_links":{"type":"object"}},"required":["id","type","status","agreementReleaseTime","agreementTime","agreedBy","area","agreement","kid","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/agreements/required":{"get":{"operationId":"UserAgreementsController_findRequiredUserAgreements","parameters":[{"name":"areaId","required":false,"in":"query","explode":true,"schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserAgreementCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAgreementCollectionDto"}}}},"404":{"description":"Unable to fetch the required user agreements."}},"tags":["Users"]}}}}
```

## GET /users/current/feature-flags

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"FeatureFlagsCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FeatureFlagDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"FeatureFlagDto":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"config":{"type":"object"}},"required":["id","enabled"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/current/feature-flags":{"get":{"operationId":"UsersFeatureFlagsController_findCurrentUserFeatureFlags","parameters":[],"responses":{"200":{"description":"Returns the logged in User `FeatureFlags`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureFlagsCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/current/feature-flags/{featureFlagId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"FeatureFlagDto":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"config":{"type":"object"}},"required":["id","enabled"]}}},"paths":{"/users/current/feature-flags/{featureFlagId}":{"get":{"operationId":"UsersFeatureFlagsController_findCurrentUserFeatureFlag","parameters":[{"name":"featureFlagId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the logged in User `FeatureFlag`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureFlagDto"}}}},"404":{"description":"Feature flag not found"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/feature-flags

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"FeatureFlagsCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FeatureFlagDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"FeatureFlagDto":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"config":{"type":"object"}},"required":["id","enabled"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/feature-flags":{"get":{"operationId":"UsersFeatureFlagsController_findUserFeatureFlags","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the given `User` `FeatureFlags`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureFlagsCollectionDto"}}}},"403":{"description":"Forbidden"},"404":{"description":"User not found"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/feature-flags/{featureFlagId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"FeatureFlagDto":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"config":{"type":"object"}},"required":["id","enabled"]}}},"paths":{"/users/{userId}/feature-flags/{featureFlagId}":{"get":{"operationId":"UsersFeatureFlagsController_findUserFeatureFlag","parameters":[{"name":"featureFlagId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the logged in User `FeatureFlag`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureFlagDto"}}}},"403":{"description":"Forbidden"},"404":{"description":"Feature flag not found"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/phone-number

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPhoneNumberDto":{"type":"object","properties":{"phoneNumber":{"type":"string"},"verificationCode":{"type":"string","writeOnly":true},"recaptchaToken":{"type":"string","writeOnly":true},"verificationId":{"type":"string","writeOnly":true},"verificationCodeExpiration":{"format":"date-time","type":"string","readOnly":true},"status":{"type":"string","enum":["VERIFIED","UNVERIFIED","MISSING","INVALID"],"readOnly":true},"smsMarketingOptIn":{"type":"boolean"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["phoneNumber","status","errors","_links"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/phone-number":{"get":{"operationId":"UserPhoneController_getPhoneNumber","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserPhoneNumber`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoneNumberDto"}}}}},"tags":["Users"]}}}}
```

## PUT /users/{userId}/phone-number

> \
> &#x20;     Update \`User\`'s phone number. It's a two-steps process:\
> &#x20;     first the \`phoneNumber\` is sent alone, then the pair \`phoneNumber\` + \`verificationCode\`.\
> &#x20;  &#x20;

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPhoneNumberDto":{"type":"object","properties":{"phoneNumber":{"type":"string"},"verificationCode":{"type":"string","writeOnly":true},"recaptchaToken":{"type":"string","writeOnly":true},"verificationId":{"type":"string","writeOnly":true},"verificationCodeExpiration":{"format":"date-time","type":"string","readOnly":true},"status":{"type":"string","enum":["VERIFIED","UNVERIFIED","MISSING","INVALID"],"readOnly":true},"smsMarketingOptIn":{"type":"boolean"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["phoneNumber","status","errors","_links"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/phone-number":{"put":{"operationId":"UserPhoneController_updatePhoneNumber","summary":"\n      Update `User`'s phone number. It's a two-steps process:\n      first the `phoneNumber` is sent alone, then the pair `phoneNumber` + `verificationCode`.\n    ","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoneNumberDto"}}}},"responses":{"200":{"description":"Returns the updated `UserPhoneNumberDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoneNumberDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/><br>Possible error codes are:<br>`PN001`: Invalid phone number.<br>`PN002`: The phone number is already taken by another account.<br>`PN003`: Invalid verification code.<br>`PN004`: Invalid recaptcha verification.<br>`PN005`: Recaptcha token expired.<br>`PN006`: Too many phone verification attempts for the same phone number, please come back later."}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/phone-number

> \
> &#x20;     Delete (clear) \`User\`'s phone number.\
> &#x20;     admin can delete any user's phone number,\
> &#x20;  &#x20;

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPhoneNumberDto":{"type":"object","properties":{"phoneNumber":{"type":"string"},"verificationCode":{"type":"string","writeOnly":true},"recaptchaToken":{"type":"string","writeOnly":true},"verificationId":{"type":"string","writeOnly":true},"verificationCodeExpiration":{"format":"date-time","type":"string","readOnly":true},"status":{"type":"string","enum":["VERIFIED","UNVERIFIED","MISSING","INVALID"],"readOnly":true},"smsMarketingOptIn":{"type":"boolean"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["phoneNumber","status","errors","_links"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/phone-number":{"delete":{"operationId":"UserPhoneController_deletePhoneNumber","summary":"\n      Delete (clear) `User`'s phone number.\n      admin can delete any user's phone number,\n    ","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoneNumberDto"}}}},"responses":{"200":{"description":"Returns the deleted `UserPhoneNumberDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoneNumberDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of failures.<br/>"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/payment-method

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"PaymentMethodDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["STRIPE","STRIPE_APPLE_PAY"]},"stripe":{"$ref":"#/components/schemas/PaymentMethodStripeDto"},"preferredCard":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardDto"}]},"preferredBankAccount":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentBankAccountDto"}]},"virtualCredits":{"type":"number"},"paymentElement":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","type","paymentElement","_links"]},"PaymentMethodStripeDto":{"type":"object","properties":{"paymentMethodId":{"type":"string"},"userId":{"type":"string"}}},"PaymentCardDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true},"stripe":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardStripeDto"}]},"brand":{"type":"string","readOnly":true},"numberPreview":{"type":"string","readOnly":true},"expirationMonth":{"type":"number","readOnly":true},"expirationYear":{"type":"number","readOnly":true},"funding":{"type":"string","readOnly":true},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","status","stripe","brand","numberPreview","expirationMonth","expirationYear","funding","_links"]},"PaymentCardStripeDto":{"type":"object","properties":{"paymentMethodId":{"type":"string","readOnly":true}},"required":["paymentMethodId"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"PaymentBankAccountDto":{"type":"object","properties":{"id":{"type":"string"},"bankName":{"type":"string"},"accountHolderType":{"type":"string"},"last4":{"type":"string"}},"required":["id","bankName","accountHolderType","last4"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]}}},"paths":{"/users/{userId}/payment-method":{"get":{"operationId":"UserPaymentMethodsController_findPaymentMethod","parameters":[{"name":"isAdminAppliedCharge","required":false,"in":"query","explode":true,"schema":{"type":"boolean"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `PaymentMethod`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/payment-method/stripe/ephemeral-keys

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"PaymentMethodStripeEphemeralKeyDto":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"associated_objects":{"type":"array","items":{"type":"string"}},"created":{"type":"number"},"expires":{"type":"number"},"livemode":{"type":"boolean"},"secret":{"type":"string"}},"required":["id","object","associated_objects","created","expires","livemode","secret"]}}},"paths":{"/users/{userId}/payment-method/stripe/ephemeral-keys":{"post":{"operationId":"UserPaymentMethodsController_createEphemeralKey","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `PaymentMethodStripeEphemeralKeyDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodStripeEphemeralKeyDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/payment-method/stripe/setup-intents

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"PaymentMethodStripeSetupIntentDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"terminal":{"type":"object"},"tokenId":{"type":"string"},"context":{"type":"string","enum":["booking","memberships"],"nullable":true},"ipAddress":{"type":"string","readOnly":true},"userAgent":{"type":"string","readOnly":true},"object":{"type":"string","readOnly":true},"created":{"type":"number","readOnly":true},"clientSecret":{"type":"string","readOnly":true}},"required":["id","tokenId","ipAddress","userAgent","object","created","clientSecret"]}}},"paths":{"/users/{userId}/payment-method/stripe/setup-intents":{"post":{"operationId":"UserPaymentMethodsController_createSetupIntent","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodStripeSetupIntentDto"}}}},"responses":{"200":{"description":"Returns a `PaymentMethodStripeSetupIntentDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodStripeSetupIntentDto"}}}}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/payment-method/default

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPaymentMethodDeletionWrapperDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["STRIPE","STRIPE_APPLE_PAY"]},"stripe":{"$ref":"#/components/schemas/PaymentMethodStripeDto"},"preferredCard":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardDto"}]},"preferredBankAccount":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentBankAccountDto"}]},"virtualCredits":{"type":"number"},"paymentElement":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","type","paymentElement","_links","errors"]},"PaymentMethodStripeDto":{"type":"object","properties":{"paymentMethodId":{"type":"string"},"userId":{"type":"string"}}},"PaymentCardDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true},"stripe":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardStripeDto"}]},"brand":{"type":"string","readOnly":true},"numberPreview":{"type":"string","readOnly":true},"expirationMonth":{"type":"number","readOnly":true},"expirationYear":{"type":"number","readOnly":true},"funding":{"type":"string","readOnly":true},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","status","stripe","brand","numberPreview","expirationMonth","expirationYear","funding","_links"]},"PaymentCardStripeDto":{"type":"object","properties":{"paymentMethodId":{"type":"string","readOnly":true}},"required":["paymentMethodId"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"PaymentBankAccountDto":{"type":"object","properties":{"id":{"type":"string"},"bankName":{"type":"string"},"accountHolderType":{"type":"string"},"last4":{"type":"string"}},"required":["id","bankName","accountHolderType","last4"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/payment-method/default":{"delete":{"operationId":"UserPaymentMethodsController_deleteStripePaymentMethod","parameters":[{"name":"type","required":false,"in":"query","schema":{"enum":["PREVIEW"],"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `PaymentMethod`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentMethodDeletionWrapperDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/profile

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserProfileDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"type":{"type":"string","enum":["REGULAR","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER","COACH"],"readOnly":true},"membershipArea":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"firstName":{"type":"string","readOnly":true},"lastName":{"type":"string","readOnly":true},"gender":{"type":"string","readOnly":true},"birthday":{"format":"date-time","type":"string","readOnly":true},"initials":{"type":"string","readOnly":true},"description":{"type":"string"},"picture":{"type":"object","readOnly":true,"nullable":true},"usattRating":{"type":"number","readOnly":true,"nullable":true},"duprProfileUrl":{"type":"string","readOnly":true,"nullable":true},"memberSince":{"format":"date-time","type":"string","readOnly":true},"membershipSubscription":{"type":"object","nullable":true,"readOnly":true,"deprecated":true},"membershipEnrollment":{"type":"object","nullable":true,"readOnly":true},"kids":{"type":"object","nullable":true,"readOnly":true},"_links":{"type":"object"}},"required":["id","user","type","description","memberSince","kids","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]}}},"paths":{"/users/{userId}/profile":{"get":{"operationId":"UserProfileController_findProfile","parameters":[{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserProfile`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/profile/picture

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImageDto":{"type":"object","properties":{"id":{"type":"string"},"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","small","medium","large","_links"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]}}},"paths":{"/users/{userId}/profile/picture":{"get":{"operationId":"UserProfileController_getProfilePicture","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns an `Image`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/security-picture

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImageDto":{"type":"object","properties":{"id":{"type":"string"},"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","small","medium","large","_links"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]}}},"paths":{"/users/{userId}/security-picture":{"get":{"operationId":"UserProfileController_getSecurityPicture","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns an `Image`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageDto"}}}}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/devices/{deviceId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"DeviceDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"token":{"type":"string"},"name":{"type":"string"},"user":{"type":"object"},"bundle":{"type":"string","writeOnly":true},"platform":{"type":"string","writeOnly":true},"_links":{"type":"object"}},"required":["id","token","user","_links"]}}},"paths":{"/users/{userId}/devices/{deviceId}":{"delete":{"operationId":"UserDevicesController_deleteUserDevices","parameters":[{"name":"deviceId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"Returns the deleted device as `DeviceDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDto"}}}}},"tags":["Users"]}}}}
```

## POST /users/{userId}/devices

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"DeviceDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"token":{"type":"string"},"name":{"type":"string"},"user":{"type":"object"},"bundle":{"type":"string","writeOnly":true},"platform":{"type":"string","writeOnly":true},"_links":{"type":"object"}},"required":["id","token","user","_links"]}}},"paths":{"/users/{userId}/devices":{"post":{"operationId":"UserDevicesController_updateUserDevices","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDto"}}}},"responses":{"201":{"description":"Returns a `DeviceDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/ratings

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserRatingsCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserRatingsDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"UserRatingsDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["DUPR","CUSTOM"],"readOnly":true},"singles":{"type":"number","readOnly":true},"doubles":{"type":"number","readOnly":true},"lastUpdated":{"format":"date-time","type":"string","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","type","singles","doubles","lastUpdated","errors"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/ratings":{"get":{"operationId":"UserRatingsController_getRatings","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserRatingsCollection`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRatingsCollectionDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/ratings

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserRatingsDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["DUPR","CUSTOM"],"readOnly":true},"singles":{"type":"number","readOnly":true},"doubles":{"type":"number","readOnly":true},"lastUpdated":{"format":"date-time","type":"string","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["id","type","singles","doubles","lastUpdated","errors"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/ratings":{"patch":{"operationId":"UserRatingsController_patchRating","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserRating`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRatingsDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/><br>Possible error codes are:<br>`UR000`: User ratings not connected<br>`UR001`: (rating, minRating, maxRating) => `${rating} rating must be between ${minRating} and ${maxRating}.`<br>`UR002`: Your DUPR account is already associated with another user."}},"tags":["Users"]}}}}
```

## GET /users/{userId}/profile/dupr

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/users/{userId}/profile/dupr":{"get":{"operationId":"UserRatingsController_getDuprProfileUrl","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the url to the user`s DUPR profile","content":{"application/json":{"schema":{"type":"string"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/notes

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserNotesDto":{"type":"object","properties":{"notes":{"type":"string"}},"required":["notes"]}}},"paths":{"/users/{userId}/notes":{"get":{"operationId":"UserNotesController_getNotes","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserNotes`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserNotesDto"}}}}},"tags":["Users"]}}}}
```

## PUT /users/{userId}/notes

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserNotesDto":{"type":"object","properties":{"notes":{"type":"string"}},"required":["notes"]}}},"paths":{"/users/{userId}/notes":{"put":{"operationId":"UserNotesController_setNotes","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserNotesDto"}}}},"responses":{"200":{"description":"Returns a `UserNotes`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserNotesDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/>"}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/notes

> \
> &#x20;     Delete (clear) \`User\`'s admin notes.\
> &#x20;     admin can delete any user's notes,\
> &#x20;  &#x20;

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserNotesDto":{"type":"object","properties":{"notes":{"type":"string"}},"required":["notes"]}}},"paths":{"/users/{userId}/notes":{"delete":{"operationId":"UserNotesController_deleteNotes","summary":"\n      Delete (clear) `User`'s admin notes.\n      admin can delete any user's notes,\n    ","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserNotesDto"}}}},"responses":{"200":{"description":"Returns the deleted `UserNotes`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserNotesDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of failures.<br/>"}},"tags":["Users"]}}}}
```

## GET /users/{userId}/payment-elements

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPaymentElementCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/payment-elements":{"get":{"operationId":"UserPaymentElementsController_findPaymentElements","parameters":[{"name":"paymentContext","required":false,"in":"query","explode":true,"schema":{"enum":["booking","memberships"],"type":"string"}},{"name":"isAdminAppliedCharge","required":false,"in":"query","explode":true,"schema":{"type":"boolean"}},{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserPaymentElementCollectionDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentElementCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/payment-elements/{paymentElementId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPaymentElementCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/payment-elements/{paymentElementId}":{"get":{"operationId":"UserPaymentElementsController_findPaymentElement","parameters":[{"name":"paymentElementId","required":true,"in":"path","schema":{"type":"string"}},{"name":"expand","required":false,"in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserPaymentElementCollectionDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentElementCollectionDto"}}}}},"tags":["Users"]}}}}
```

## DELETE /users/{userId}/payment-elements/{paymentElementId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPaymentElementDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"type":{"type":"string","readOnly":true,"enum":["klarna","card","us_bank_account"]},"displayName":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"contextAvailability":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"createdAt":{"format":"date-time","type":"string","readOnly":true},"status":{"type":"string","readOnly":true,"enum":["ACTIVE","INVALID","EXPIRED"]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object","readOnly":true}},"required":["id","user","type","displayName","description","contextAvailability","createdAt","status","errors","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]}}},"paths":{"/users/{userId}/payment-elements/{paymentElementId}":{"delete":{"operationId":"UserPaymentElementsController_deletePaymentElementById","parameters":[{"name":"type","required":false,"in":"query","schema":{"enum":["PREVIEW"],"type":"string"}},{"name":"paymentElementId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Deletes a payment element, and returns the deleted `UserPaymentElementDto` as part of the response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentElementDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/payment-elements/{paymentElementId}/context-availability

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPaymentElementContextAvailabilityCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/payment-elements/{paymentElementId}/context-availability":{"get":{"operationId":"UserPaymentElementsController_findPaymentElementsContextAvailability","parameters":[{"name":"paymentElementId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `UserPaymentElementContextAvailabilityCollectionDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentElementContextAvailabilityCollectionDto"}}}}},"tags":["Users"]}}}}
```

## PATCH /users/{userId}/payment-elements/{paymentElementId}/context-availability/{context}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UserPaymentElementContextAvailabilityPatchableDto":{"type":"object","properties":{"isDefault":{"type":"boolean"}}},"UserPaymentElementContextAvailabilityDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"enum":["booking","memberships"]},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElement":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"isDefault":{"type":"boolean"},"_links":{"type":"object","readOnly":true}},"required":["id","user","paymentElement","isDefault","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]}}},"paths":{"/users/{userId}/payment-elements/{paymentElementId}/context-availability/{context}":{"patch":{"operationId":"UserPaymentElementsController_updatePaymentElementById","parameters":[{"name":"paymentElementId","required":true,"in":"path","schema":{"type":"string"}},{"name":"context","required":true,"in":"path","schema":{"type":"string","enum":["booking","memberships"]}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentElementContextAvailabilityPatchableDto"}}}},"responses":{"200":{"description":"Return the updated payment method context availability `UserPaymentElementContextAvailabilityDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentElementContextAvailabilityDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/settlements

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"CustomerSettlementCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CustomerSettlementDto"}},"_pagination":{"$ref":"#/components/schemas/PaginationDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_pagination","_links"]},"CustomerSettlementDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the settlement"},"code":{"type":"string","description":"Short code derived from the first 8 characters of the settlement id"},"createdDate":{"format":"date-time","type":"string","description":"Date the settlement was created"},"title":{"type":"string","description":"Human-friendly title for the settlement"},"source":{"type":"string","description":"Source type of the settlement (e.g., BOOKING, MEMBERSHIP, EVENT_SIGNUP)","nullable":true},"description":{"type":"string","description":"Description of the settlement","nullable":true},"summary":{"description":"Financial summary of the settlement","allOf":[{"$ref":"#/components/schemas/CustomerSettlementSummaryDto"}]},"payment":{"description":"Reference to the payment used for this settlement","nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"lineItems":{"description":"Line items included in this settlement","allOf":[{"$ref":"#/components/schemas/CustomerSettlementLineItemCollectionDto"}]},"event":{"description":"Reference to the event associated with this settlement","nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"orders":{"description":"Reference to the orders included in this settlement","nullable":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"_links":{"type":"object"}},"required":["id","code","createdDate","title","source","description","summary","payment","lineItems","event","orders","_links"]},"CustomerSettlementSummaryDto":{"type":"object","properties":{"paymentMethod":{"type":"string","description":"Payment method used for the settlement"},"paymentMethodBrand":{"type":"string","description":"Payment method brand (e.g., visa, mastercard)","nullable":true},"paymentMethodLast4":{"type":"string","description":"Last 4 digits of the payment method","nullable":true},"currency":{"type":"string","description":"Currency of the settlement"},"subtotal":{"type":"number","description":"Subtotal before discounts and taxes"},"discounts":{"type":"number","description":"Total discounts applied"},"taxableAmount":{"type":"number","description":"Amount subject to tax"},"taxes":{"description":"Tax breakdown","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"taxAmount":{"type":"number","description":"Total tax amount"},"gross":{"type":"number","description":"Total amount charged"},"virtualCredits":{"type":"number","description":"Virtual credits applied to this transaction"}},"required":["paymentMethod","paymentMethodBrand","paymentMethodLast4","currency","subtotal","discounts","taxableAmount","taxes","taxAmount","gross","virtualCredits"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"CustomerSettlementLineItemCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CustomerSettlementLineItemDto"}},"total":{"type":"number","description":"Total number of line items"}},"required":["items","total"]},"CustomerSettlementLineItemDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the settlement line item"},"description":{"type":"string","description":"Description of the line item"},"quantity":{"type":"number","description":"Quantity of the item"},"unitPrice":{"type":"number","description":"Unit price of the item"},"subtotal":{"type":"number","description":"Subtotal of the item"},"totalDiscount":{"type":"number","description":"Total discount of the item"},"taxableAmount":{"type":"number","description":"Taxable amount of the item"},"taxAmount":{"type":"number","description":"Tax amount of the item"},"taxes":{"description":"Taxes of the item","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"grossAmount":{"type":"number","description":"Gross amount of the item"}},"required":["id","description","quantity","unitPrice","subtotal","totalDiscount","taxableAmount","taxAmount","taxes","grossAmount"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}},"PaginationDto":{"type":"object","properties":{"page":{"type":"number"},"ipp":{"type":"number"},"count":{"type":"number"},"total":{"type":"number"}},"required":["page","ipp","count","total"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]}}},"paths":{"/users/{userId}/settlements":{"get":{"operationId":"SettlementsCustomerController_find","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"source","required":false,"in":"query","schema":{"type":"string"}},{"name":"eventId","required":false,"in":"query","schema":{"type":"string"}},{"name":"createdStartDate","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"createdEndDate","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"page","required":false,"in":"query","schema":{"type":"number"}},{"name":"ipp","required":false,"in":"query","schema":{"type":"number"}},{"name":"sort","required":false,"in":"query","description":"Sort format: -fieldName (DESC) or +fieldName (ASC). Allowed fields: createdAt, createdDate, gross, id","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `CustomerSettlementCollectionDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSettlementCollectionDto"}}}}},"tags":["Users"]}}}}
```

## GET /users/{userId}/settlements/{settlementId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Users","description":"User management, authentication, profiles, and account operations."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"CustomerSettlementDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the settlement"},"code":{"type":"string","description":"Short code derived from the first 8 characters of the settlement id"},"createdDate":{"format":"date-time","type":"string","description":"Date the settlement was created"},"title":{"type":"string","description":"Human-friendly title for the settlement"},"source":{"type":"string","description":"Source type of the settlement (e.g., BOOKING, MEMBERSHIP, EVENT_SIGNUP)","nullable":true},"description":{"type":"string","description":"Description of the settlement","nullable":true},"summary":{"description":"Financial summary of the settlement","allOf":[{"$ref":"#/components/schemas/CustomerSettlementSummaryDto"}]},"payment":{"description":"Reference to the payment used for this settlement","nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"lineItems":{"description":"Line items included in this settlement","allOf":[{"$ref":"#/components/schemas/CustomerSettlementLineItemCollectionDto"}]},"event":{"description":"Reference to the event associated with this settlement","nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"orders":{"description":"Reference to the orders included in this settlement","nullable":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"_links":{"type":"object"}},"required":["id","code","createdDate","title","source","description","summary","payment","lineItems","event","orders","_links"]},"CustomerSettlementSummaryDto":{"type":"object","properties":{"paymentMethod":{"type":"string","description":"Payment method used for the settlement"},"paymentMethodBrand":{"type":"string","description":"Payment method brand (e.g., visa, mastercard)","nullable":true},"paymentMethodLast4":{"type":"string","description":"Last 4 digits of the payment method","nullable":true},"currency":{"type":"string","description":"Currency of the settlement"},"subtotal":{"type":"number","description":"Subtotal before discounts and taxes"},"discounts":{"type":"number","description":"Total discounts applied"},"taxableAmount":{"type":"number","description":"Amount subject to tax"},"taxes":{"description":"Tax breakdown","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"taxAmount":{"type":"number","description":"Total tax amount"},"gross":{"type":"number","description":"Total amount charged"},"virtualCredits":{"type":"number","description":"Virtual credits applied to this transaction"}},"required":["paymentMethod","paymentMethodBrand","paymentMethodLast4","currency","subtotal","discounts","taxableAmount","taxes","taxAmount","gross","virtualCredits"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"CustomerSettlementLineItemCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CustomerSettlementLineItemDto"}},"total":{"type":"number","description":"Total number of line items"}},"required":["items","total"]},"CustomerSettlementLineItemDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the settlement line item"},"description":{"type":"string","description":"Description of the line item"},"quantity":{"type":"number","description":"Quantity of the item"},"unitPrice":{"type":"number","description":"Unit price of the item"},"subtotal":{"type":"number","description":"Subtotal of the item"},"totalDiscount":{"type":"number","description":"Total discount of the item"},"taxableAmount":{"type":"number","description":"Taxable amount of the item"},"taxAmount":{"type":"number","description":"Tax amount of the item"},"taxes":{"description":"Taxes of the item","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"grossAmount":{"type":"number","description":"Gross amount of the item"}},"required":["id","description","quantity","unitPrice","subtotal","totalDiscount","taxableAmount","taxAmount","taxes","grossAmount"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}}}},"paths":{"/users/{userId}/settlements/{settlementId}":{"get":{"operationId":"SettlementsCustomerController_findOne","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}},{"name":"settlementId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `CustomerSettlementDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSettlementDto"}}}}},"tags":["Users"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podplay.app/api/users.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
