> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign Up

> Registers a new user.



## OpenAPI

````yaml /api-reference/customer/openapi.json post /api/v1/customer/auth/sign-up
openapi: 3.0.0
info:
  title: DEVMOB Customer API
  description: DEVMOB API
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: Address
    description: Customer addresses
  - name: Auth
    description: Authentication and token lifecycle
  - name: Benefit Program
    description: Fare benefit programs
  - name: Benefit Request
    description: Fare benefit requests and documents
  - name: Checkout
    description: Checkout creation and retrieval
  - name: Credit Grant
    description: Customer credits
  - name: Invite
    description: Invitation preview and acceptance
  - name: Notification
    description: Customer inbox notifications
  - name: Offering
    description: Trip offerings and seat maps
  - name: Order
    description: Customer orders
  - name: OTP
    description: One-time password flows
  - name: Payment
    description: Payments
  - name: Payment Method
    description: Saved payment methods
  - name: Point
    description: Point lookup
  - name: Profile
    description: Authenticated customer profile
  - name: Promotion
    description: Promotions
  - name: Routing
    description: Routing helpers
  - name: Session
    description: Authenticated sessions
  - name: Storage
    description: Storage uploads
  - name: Support
    description: Support cases
  - name: Ticket
    description: Customer tickets
  - name: Trip
    description: Customer trip access
  - name: Trip Review
    description: Trip reviews
paths:
  /api/v1/customer/auth/sign-up:
    post:
      tags:
        - Auth
      summary: Sign Up
      description: Registers a new user.
      operationId: signUp
      parameters:
        - name: fields
          required: false
          in: query
          description: >-
            Comma-separated list of fields to include in the response. Supports
            dot notation for nested projection (e.g.
            `id,name,user.email,trips.route.id`). Unknown fields are silently
            dropped.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignUpRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenPair'
          description: OK
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: required
                    path: name
                message: Bad Request Error
                statusCode: 400
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 400
                    type: number
                  errors:
                    items:
                      properties:
                        message:
                          type: string
                        path:
                          type: string
                      required:
                        - message
                        - path
                      type: object
                    type: array
                required:
                  - message
                  - statusCode
                type: object
          description: Bad Request Error
        '500':
          content:
            application/json:
              example:
                message: Internal Server Error
                statusCode: 500
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 500
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Internal Server Error
components:
  schemas:
    SignUpRequest:
      type: object
      properties:
        email:
          description: Email address
          example: maria@example.com
          type: string
          format: email
          nullable: true
        name:
          type: string
          description: Full name
          example: Maria Silva
        address:
          type: object
          properties:
            city:
              type: string
              description: City
              example: Sao Paulo
            complement:
              type: string
              description: Complement
              example: Apto 42
              nullable: true
            country:
              description: Country
              example: BR
              type: string
            label:
              type: string
              description: Address label
              example: Casa
            lat:
              type: number
              minimum: -90
              maximum: 90
              description: Latitude
              example: -23.55052
            lng:
              type: number
              minimum: -180
              maximum: 180
              description: Longitude
              example: -46.633308
            neighborhood:
              type: string
              description: Neighborhood
              example: Bela Vista
            number:
              type: string
              description: Number
              example: '1000'
            state:
              description: State
              example: SP
              type: string
            street:
              type: string
              description: Street
              example: Av. Paulista
            zipCode:
              description: Zip code
              example: 01310-100
              type: string
          required:
            - city
            - country
            - label
            - lat
            - lng
            - neighborhood
            - number
            - state
            - street
            - zipCode
        birthDate:
          type: string
          format: date
          description: Date of birth
          example: '1990-05-15'
        cpf:
          description: CPF
          example: '36641876870'
          type: string
        password:
          type: string
          minLength: 8
          description: Password
          example: P@ssw0rd!
        phoneDdi:
          description: International dialing code
          example: '55'
          type: string
        phoneIso:
          description: Phone ISO country code
          example: BR
          type: string
        phoneNumber:
          description: Phone number without country code
          example: '99999999999'
          type: string
      required:
        - name
        - address
        - birthDate
        - cpf
        - password
        - phoneDdi
        - phoneIso
        - phoneNumber
      description: Sign-up payload
    TokenPair:
      type: object
      properties:
        accessToken:
          type: string
          description: JWT access token.
        refreshToken:
          type: string
          description: JWT refresh token.
      required:
        - accessToken
        - refreshToken
      description: Token pair.

````