post: operationId: PostCustomers summary: Create a Customer description: Creates a Customer account. requestBody: content: application/json: schema: required: - first_name - last_name - email - password properties: first_name: description: The Customer's first name. type: string last_name: description: The Customer's last name. type: string email: description: The email of the customer. type: string format: email password: description: The Customer's password. type: string format: password phone: description: The Customer's phone number. type: string x-codeSamples: - lang: JavaScript label: JS Client source: $ref: ../code_samples/JavaScript/customers/postundefined - lang: Shell label: cURL source: $ref: ../code_samples/Shell/customers/postundefined tags: - Customer responses: '200': description: OK content: application/json: schema: properties: customer: $ref: ../components/schemas/customer.yaml '400': $ref: ../components/responses/400_error.yaml '404': $ref: ../components/responses/not_found_error.yaml '409': $ref: ../components/responses/invalid_state_error.yaml '422': description: A customer with the same email exists content: application/json: schema: properties: code: type: string description: The error code type: type: string description: The type of error message: type: string description: Human-readable message with details about the error example: code: invalid_request_error type: duplicate_error message: >- A customer with the given email already has an account. Log in instead '500': $ref: ../components/responses/500_error.yaml