openapi: 3.0.0
servers:
  - url: //api.ote-godaddy.com
info:
  title: ""
  version: 1.0.0
  x-apisguru-categories:
    - hosting
  x-origin:
    - format: swagger
      url: https://developer.godaddy.com/swagger/swagger_shoppers.json
      version: "2.0"
  x-providerName: ote-godaddy.com
  x-serviceName: shoppers
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg
tags:
  - description: ""
    name: v1
paths:
  /v1/shoppers/subaccount:
    post:
      operationId: createSubaccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SubaccountCreate"
          application/xml:
            schema:
              $ref: "#/components/schemas/SubaccountCreate"
          text/xml:
            schema:
              $ref: "#/components/schemas/SubaccountCreate"
        description: The subaccount to create
        required: true
      responses:
        "200":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ShopperId"
            application/json:
              schema:
                $ref: "#/components/schemas/ShopperId"
            application/xml:
              schema:
                $ref: "#/components/schemas/ShopperId"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ShopperId"
            text/xml:
              schema:
                $ref: "#/components/schemas/ShopperId"
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "422":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: "`subaccount` does not fulfill the schema"
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Create a Subaccount owned by the authenticated Reseller
      tags:
        - v1
  "/v1/shoppers/{shopperId}":
    delete:
      description: <strong>Notes:</strong><ul><li>Shopper deletion is not supported in OTE</li><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>
      operationId: delete
      parameters:
        - description: "The ID of the shopper to delete. Must agree with the shopper id on the token or header, if present. *Note*: **shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)"
          in: path
          name: shopperId
          required: true
          schema:
            maxLength: 10
            type: string
        - description: The client IP of the user who originated the request leading to this call.
          in: query
          name: auditClientIp
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "404":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Resource not found
        "409":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Active and locked shoppers cannot be deleted
        "422":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Shopper ID is not supplied or invalid
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Request the deletion of a shopper profile
      tags:
        - v1
    get:
      description: <strong>Notes:</strong><ul><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>
      operationId: get
      parameters:
        - description: Shopper whose details are to be retrieved
          in: path
          name: shopperId
          required: true
          schema:
            type: string
        - description: Additional properties to be included in the response shopper object
          explode: false
          in: query
          name: includes
          schema:
            items:
              enum:
                - customerId
              type: string
            type: array
          style: form
      responses:
        "200":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Shopper"
            application/json:
              schema:
                $ref: "#/components/schemas/Shopper"
            application/xml:
              schema:
                $ref: "#/components/schemas/Shopper"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Shopper"
            text/xml:
              schema:
                $ref: "#/components/schemas/Shopper"
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "404":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Resource not found
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Get details for the specified Shopper
      tags:
        - v1
    post:
      description: <strong>Notes:</strong><ul><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>
      operationId: update
      parameters:
        - description: The ID of the Shopper to update
          in: path
          name: shopperId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ShopperUpdate"
          application/xml:
            schema:
              $ref: "#/components/schemas/ShopperUpdate"
          text/xml:
            schema:
              $ref: "#/components/schemas/ShopperUpdate"
        description: The Shopper details to update
        required: true
      responses:
        "200":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ShopperId"
            application/json:
              schema:
                $ref: "#/components/schemas/ShopperId"
            application/xml:
              schema:
                $ref: "#/components/schemas/ShopperId"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ShopperId"
            text/xml:
              schema:
                $ref: "#/components/schemas/ShopperId"
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "404":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Resource not found
        "422":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: "`Shopper` does not fulfill the schema"
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Update details for the specified Shopper
      tags:
        - v1
  "/v1/shoppers/{shopperId}/factors/password":
    put:
      description: <strong>Notes:</strong><ul><li>Password set is only supported by API Resellers setting subaccount passwords.</li><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>
      operationId: changePassword
      parameters:
        - description: Shopper whose password will be set
          in: path
          name: shopperId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Secret"
        description: The value to set the subaccount's password to
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ShopperId"
          description: Request was successful
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PasswordError"
          description: Request was not successful
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Set subaccount's password
      tags:
        - v1
  "/v1/shoppers/{shopperId}/status":
    get:
      description: <strong>Notes:</strong><ul><li>**shopperId** is **not the same** as **customerId**. **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>
      operationId: getStatus
      parameters:
        - description: The ID of the shopper to retrieve. Must agree with the shopper id on the token or header, if present
          in: path
          name: shopperId
          required: true
          schema:
            maxLength: 10
            type: string
        - description: The client IP of the user who originated the request leading to this call.
          in: query
          name: auditClientIp
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ShopperStatus"
            application/json:
              schema:
                $ref: "#/components/schemas/ShopperStatus"
            application/xml:
              schema:
                $ref: "#/components/schemas/ShopperStatus"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ShopperStatus"
            text/xml:
              schema:
                $ref: "#/components/schemas/ShopperStatus"
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "404":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Resource not found
        "422":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Shopper ID is not supplied or invalid
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Get details for the specified Shopper
      tags:
        - v1
components:
  schemas:
    Error:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        fields:
          description: List of the specific fields, and the errors found with their contents
          items:
            $ref: "#/components/schemas/ErrorField"
          type: array
        message:
          description: Human-readable, English description of the error
          type: string
      required:
        - code
    ErrorField:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        message:
          description: Human-readable, English description of the problem with the contents of the field
          type: string
        path:
          description: |-
            <ul>
            <li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>
            <strong style='margin-left: 12px;'>OR</strong>
            <li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>
            </ul>
          format: json-path
          type: string
        pathRelated:
          description: JSONPath referring to a field containing an error, which is referenced by `path`
          format: json-path
          type: string
      required:
        - path
        - code
    ErrorLimit:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        fields:
          description: List of the specific fields, and the errors found with their contents
          items:
            $ref: "#/components/schemas/ErrorField"
          type: array
        message:
          description: Human-readable, English description of the error
          type: string
        retryAfterSec:
          description: Number of seconds to wait before attempting a similar request
          format: integer-positive
          type: integer
      required:
        - retryAfterSec
        - code
    PasswordError:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          enum:
            - PW_BLACK_LIST
            - PW_TOO_SHORT
            - PW_TOO_LONG
            - PW_MISSING_UC
            - PW_MISSING_NUM
            - PW_RECENTLY_USED
            - PW_NOT_UNIQUE
          format: constant
          type: string
        message:
          description: Human-readable, English description of the error
          type: string
        type:
          description: Response type, always 'error'
          type: string
    Secret:
      properties:
        secret:
          description: The secret value used to set a subaccount's password
          example: P@55w0rd+
          type: string
    Shopper:
      properties:
        customerId:
          description: Identifier for the Customer record associated with this Shopper record. This is an alternate identifier that some systems use to identify an individual shopper record
          type: string
        email:
          format: email
          type: string
        externalId:
          type: integer
        marketId:
          default: en-US
          format: bcp-47
          type: string
        nameFirst:
          type: string
        nameLast:
          type: string
        shopperId:
          type: string
      required:
        - shopperId
        - nameFirst
        - nameLast
        - email
        - marketId
    ShopperId:
      properties:
        customerId:
          description: Identifier for the Customer record associated with this Shopper record. This is an alternate identifier that some systems use to identify an individual shopper record
          type: string
        shopperId:
          type: string
      required:
        - shopperId
    ShopperStatus:
      properties:
        billingState:
          description: "Indicates the billing state of the Shopper.<br />ABANDONED: The shopper has not been billed in at least 10 years and has no active subscriptions.<br />INACTIVE: The shopper has been billed within the last 10 years but has no active subscriptions.<br />ACTIVE: The shopper has at least one active subscription."
          enum:
            - ABANDONED
            - INACTIVE
            - ACTIVE
          type: string
    ShopperUpdate:
      properties:
        email:
          format: email
          type: string
        externalId:
          type: integer
        marketId:
          enum:
            - da-DK
            - de-AT
            - de-CH
            - de-DE
            - el-GR
            - en-AE
            - en-AU
            - en-CA
            - en-GB
            - en-HK
            - en-IE
            - en-IL
            - en-IN
            - en-MY
            - en-NZ
            - en-PH
            - en-PK
            - en-SG
            - en-US
            - en-ZA
            - es-AR
            - es-CL
            - es-CO
            - es-ES
            - es-MX
            - es-PE
            - es-US
            - es-VE
            - fi-FI
            - fr-BE
            - fr-CA
            - fr-CH
            - fr-FR
            - hi-IN
            - id-ID
            - it-CH
            - it-IT
            - ja-JP
            - ko-KR
            - mr-IN
            - nb-NO
            - nl-BE
            - nl-NL
            - pl-PL
            - pt-BR
            - pt-PT
            - ru-RU
            - sv-SE
            - ta-IN
            - th-TH
            - tr-TR
            - uk-UA
            - vi-VN
            - zh-HK
            - zh-SG
            - zh-TW
          format: bcp-47
          maxLength: 50
          type: string
        nameFirst:
          type: string
        nameLast:
          type: string
    SubaccountCreate:
      properties:
        email:
          format: email
          type: string
        externalId:
          type: integer
        marketId:
          default: en-US
          enum:
            - da-DK
            - de-AT
            - de-CH
            - de-DE
            - el-GR
            - en-AE
            - en-AU
            - en-CA
            - en-GB
            - en-HK
            - en-IE
            - en-IL
            - en-IN
            - en-MY
            - en-NZ
            - en-PH
            - en-PK
            - en-SG
            - en-US
            - en-ZA
            - es-AR
            - es-CL
            - es-CO
            - es-ES
            - es-MX
            - es-PE
            - es-US
            - es-VE
            - fi-FI
            - fr-BE
            - fr-CA
            - fr-CH
            - fr-FR
            - hi-IN
            - id-ID
            - it-CH
            - it-IT
            - ja-JP
            - ko-KR
            - mr-IN
            - nb-NO
            - nl-BE
            - nl-NL
            - pl-PL
            - pt-BR
            - pt-PT
            - ru-RU
            - sv-SE
            - ta-IN
            - th-TH
            - tr-TR
            - uk-UA
            - vi-VN
            - zh-HK
            - zh-SG
            - zh-TW
          format: bcp-47
          maxLength: 50
          type: string
        nameFirst:
          type: string
        nameLast:
          type: string
        password:
          format: shopper-password
          type: string
      required:
        - email
        - password
        - nameFirst
        - nameLast
