---
title: "POST /ond/signup"
method: POST
path: "/ond/signup"
---

# POST /ond/signup

`POST /ond/signup`

## Request body

- object — This class is used to receive registration information from the frontend and save it in the session. To prevent sensitive information from being leaked, @JsonIgnoreProperties is used to exclude password and stripeToken from all JSON output, so they are not saved in the session and are only available when the request is received.
  - `deliveryAddress` NewStreetAddressDto, required
    - `name` string, required
    - `line1` string, required
    - `line2` string
    - `city` string, required
    - `province` string, required
    - `postalCode` string, required
    - `telephone` PhoneNumberServiceNormalizedPhoneNumberNormalizedE164PhoneNumber, required
      - `value` string, required
    - `instructions` string
    - `buildingType` integer
    - `location` Point
      - `latitude` number, double, required
      - `longitude` number, double, required
  - `billingAddress` NewStreetAddressDto, required
    - `name` string, required
    - `line1` string, required
    - `line2` string
    - `city` string, required
    - `province` string, required
    - `postalCode` string, required
    - `telephone` PhoneNumberServiceNormalizedPhoneNumberNormalizedE164PhoneNumber, required
      - `value` string, required
    - `instructions` string
    - `buildingType` integer
    - `location` Point
      - `latitude` number, double, required
      - `longitude` number, double, required
  - `isBillingAddressSameAsDelivery` boolean, required
  - `deliveryDay` 1 | 2 | 3 | 4 | 5 | 6 | 7, required — Represents the days of the week starting with Sunday as 1.
  - `firstName` string, required
  - `lastName` string, required
  - `email` string, required
  - `phone` PhoneNumberServiceNormalizedPhoneNumberNormalizedE164PhoneNumber, required
    - `value` string, required
  - `password` string, required
  - `stripeToken` string, required
  - `captchaToken` string, required
  - `captchaType` 'V3' | 'V2', required
  - `couponCode` string, required
  - `referralMethodId` integer, required
  - `subscribeToMarketingEmail` boolean, required
  - `subscribeToMarketingSms` boolean, required
  - `properties` RegistrationProperties, required
    - `initialLandingPage` string, nullable, required
    - `conversionLandingPage` string, nullable, required
    - `hasBagSubscription` boolean, required
    - `hasProductSubscription` boolean, required
    - `preselectedItems` RegistrationPropertiesOnboardingItem[], required
    - `onboardingItems` RegistrationPropertiesOnboardingItem[], required
    - `ipv4Address` string, required
    - `featureFlags` FeatureFlag[], nullable, required
      - `id` string, required
      - `data` object, required
    - `couponCode` string, nullable, required
  - `guest` Guest
    - `sessionId` string, required
  - `guestCart` GuestShoppingCart
    - `sessionId` string — Get the the sessionId
    - `date` string, date — Get the current date they are shopping for
    - `items` ShoppingCartItem[] — Get the shopping cart items for the current guest.
    - `itemsSubtotal` number — Returns the subtotal of current cart items.
    - `coupon` Coupon
    - `preselectedCartItems` ShoppingCartItem[] — Get the preselected shopping cart items for the current guest.
  - `guestAssignments` GuestFeatureFlagAssignments
    - `sessionId` string — Returns the session ID.
    - `assignments` object — Returns the current feature flag assignments from the session by feature ID.
  - `guestFacts` GuestCustomerFacts
    - `sessionId` string — Returns the session ID.
    - `facts` object — Returns all customer facts stored in the session.
  - `guestRegistrationInfoStorage` GuestRegistrationInfoStorage
    - `sessionId` string — Returns the session ID.
    - `guestRegistrationInfo` GuestRegistrationInfo — This class is used to receive registration information from the frontend and save it in the session. To prevent sensitive information from being leaked, @JsonIgnoreProperties is used to exclude password and stripeToken from all JSON output, so they are not saved in the session and are only available when the request is received.
      - `deliveryAddress` NewStreetAddressDto, required
        - `name` string, required
        - `line1` string, required
        - `line2` string
        - `city` string, required
        - `province` string, required
        - `postalCode` string, required
        - `telephone` PhoneNumberServiceNormalizedPhoneNumberNormalizedE164PhoneNumber, required
          - `value` string, required
        - `instructions` string
        - `buildingType` integer
        - `location` Point
          - `latitude` number, double, required
          - `longitude` number, double, required
      - `billingAddress` NewStreetAddressDto, required
        - `name` string, required
        - `line1` string, required
        - `line2` string
        - `city` string, required
        - `province` string, required
        - `postalCode` string, required
        - `telephone` PhoneNumberServiceNormalizedPhoneNumberNormalizedE164PhoneNumber, required
          - `value` string, required
        - `instructions` string
        - `buildingType` integer
        - `location` Point
          - `latitude` number, double, required
          - `longitude` number, double, required
      - `isBillingAddressSameAsDelivery` boolean, required
      - `deliveryDay` 1 | 2 | 3 | 4 | 5 | 6 | 7, required — Represents the days of the week starting with Sunday as 1.
      - `firstName` string, required
      - `lastName` string, required
      - `email` string, required
      - `phone` PhoneNumberServiceNormalizedPhoneNumberNormalizedE164PhoneNumber, required
        - `value` string, required
      - `password` string, required
      - `stripeToken` string, required
      - `captchaToken` string, required
      - `captchaType` 'V3' | 'V2', required
      - `couponCode` string, required
      - `referralMethodId` integer, required
      - `subscribeToMarketingEmail` boolean, required
      - `subscribeToMarketingSms` boolean, required
      - `properties` RegistrationProperties, required
        - `initialLandingPage` string, nullable, required
        - `conversionLandingPage` string, nullable, required
        - `hasBagSubscription` boolean, required
        - `hasProductSubscription` boolean, required
        - `preselectedItems` RegistrationPropertiesOnboardingItem[], required
        - `onboardingItems` RegistrationPropertiesOnboardingItem[], required
        - `ipv4Address` string, required
        - `featureFlags` FeatureFlag[], nullable, required
          - `id` string, required
          - `data` object, required
        - `couponCode` string, nullable, required

## Response `200`

signup 200 response

- UserCustomer
  - `id` integer, required
  - `originPlatform` OriginPlatform, required
    - `id` integer, required
    - `name` string, required
  - `email` string, required
  - `firstName` string, required
  - `lastName` string, required
  - `membership` UserMembership, required
    - `id` integer, required
    - `userId` integer, required
    - `fee` number, required
    - `isTrial` boolean, required
    - `startDate` string, date, required
    - `endDate` string, date, required
    - `renewedAt` string, date-time, nullable, required
    - `renewalCancelledAt` string, date-time, nullable, required
    - `renewalFailures` integer, required
  - `defaultDay` 1 | 2 | 3 | 4 | 5 | 6 | 7, required — Represents the days of the week starting with Sunday as 1.
  - `deliveryZoneId` integer, required
  - `deliveryAddressId` integer, required
  - `billingAddressId` integer, required
  - `isActive` boolean, required
  - `hasBagSubscription` boolean, required
  - `hasProductSubscription` boolean, required
  - `lastLoginAt` string, date-time, required

---

[API](https://skmtc.dev/mamaearth/apis/mama-earth-api.md) · [All operations](https://skmtc.dev/mamaearth/apis/mama-earth-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mamaearth/mama-earth-api/revisions/42b90383d711/schema)
