# Create cardholder

> Create a cardholder under the merchant account.

```yaml
openapi: 3.1.0
info:
  title: Create cardholder
  version: 1.0.0
  description: Create a cardholder under the merchant account.
paths:
  /api/v1/merchant/cardholder/createCardholder:
    post:
      summary: Create cardholder
      description: Create a cardholder under the merchant account.
      parameters:
        - name: ApiKey
          in: header
          required: true
          description: Issuing API key request header assigned by Onerway.
          schema:
            type: string
            description: Issuing API key request header assigned by Onerway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                merchantNo:
                  type: integer
                  description: Merchant number assigned by Onerway.
                clientRequestId:
                  type: string
                  description: Idempotent request ID.
                firstName:
                  type: string
                  description: Cardholder first name.
                lastName:
                  type: string
                  description: Cardholder last name.
                email:
                  type: string
                  description: Cardholder email address.
                  x-onerway-constraints:
                    - kind: rule
                      text: Must be a valid email address.
                mobile:
                  type: string
                  description: Cardholder mobile number.
                mobileAreaCode:
                  type: string
                  description: Mobile area code.
                birthDay:
                  type: string
                  description: Date of birth.
                nationality:
                  type: string
                  description: Nationality as an ISO 3166-1 alpha-2 code.
                addressRegionCode:
                  type: string
                  description: Address country or region code.
                addressStateCode:
                  type: string
                  description: State or province code.
                addressCityCode:
                  type: string
                  description: City code.
                addressDetailLine1:
                  type: string
                  description: Address line 1.
                addressDetailLine2:
                  type: string
                  description: Address line 2.
                addressPostalCode:
                  type: string
                  description: Postal code.
                remark:
                  type: string
                  description: Remark.
              required:
                - merchantNo
                - clientRequestId
                - firstName
                - lastName
                - email
            examples:
              default:
                summary: Create cardholder
                value:
                  addressCityCode: SZ
                  addressDetailLine1: Example address line 1
                  addressPostalCode: "518000"
                  addressRegionCode: CN
                  addressStateCode: GD
                  birthDay: 1990-01-01
                  clientRequestId: REQ_CH_20260101_001
                  email: example_cardholder@example.com
                  firstName: Alex
                  lastName: Chen
                  merchantNo: 88888
                  mobile: "13800138000"
                  mobileAreaCode: "+86"
                  nationality: CN
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  respCode:
                    type: string
                    description: Business response code. `20000` means success.
                  respMsg:
                    type: string
                    description: Response message.
                  data:
                    type:
                      - object
                      - "null"
                    properties:
                      cardholderId:
                        type: integer
                        description: Cardholder ID generated by Onerway.
                      firstName:
                        type: string
                        description: Cardholder first name.
                      lastName:
                        type: string
                        description: Cardholder last name.
                      email:
                        type: string
                        description: Cardholder email address.
                      mobile:
                        type:
                          - string
                          - "null"
                        description: Cardholder mobile number.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No mobile number is provided.
                            zh: 未提供手机号时返回 `null`。
                      mobileAreaCode:
                        type:
                          - string
                          - "null"
                        description: Mobile area code.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No mobile area code is provided.
                            zh: 未提供手机号区号时返回 `null`。
                      birthDay:
                        type:
                          - string
                          - "null"
                        description: Date of birth.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No date of birth is provided.
                            zh: 未提供出生日期时返回 `null`。
                      nationality:
                        type:
                          - string
                          - "null"
                        description: Nationality as an ISO 3166-1 alpha-2 code.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No nationality is provided.
                            zh: 未提供国籍时返回 `null`。
                      addressRegionCode:
                        type:
                          - string
                          - "null"
                        description: Address country or region code.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No address region is provided.
                            zh: 未提供地址国家或地区时返回 `null`。
                      addressStateCode:
                        type:
                          - string
                          - "null"
                        description: State or province code.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No state or province is provided.
                            zh: 未提供州 / 省代码时返回 `null`。
                      addressCityCode:
                        type:
                          - string
                          - "null"
                        description: City code.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No city is provided.
                            zh: 未提供城市代码时返回 `null`。
                      addressDetailLine1:
                        type:
                          - string
                          - "null"
                        description: Address line 1.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No address line is provided.
                            zh: 未提供地址行时返回 `null`。
                      addressDetailLine2:
                        type:
                          - string
                          - "null"
                        description: Address line 2.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No address line 2 is provided.
                            zh: 未提供地址行 2 时返回 `null`。
                      addressPostalCode:
                        type:
                          - string
                          - "null"
                        description: Postal code.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No postal code is provided.
                            zh: 未提供邮编时返回 `null`。
                      remark:
                        type:
                          - string
                          - "null"
                        description: Remark.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: No remark is provided.
                            zh: 未提供备注时返回 `null`。
                    description: Cardholder information.
                    x-onerway-value:
                      nullable: true
                      when:
                        en: Returned as `null` when cardholder creation fails.
                        zh: 创建持卡人失败时返回 `null`。
              examples:
                success:
                  summary: Success
                  value:
                    respCode: "20000"
                    respMsg: success
                    data:
                      cardholderId: 300001
                      firstName: Alex
                      lastName: Chen
                      email: example_cardholder@example.com
                      mobile: "13800138000"
                      mobileAreaCode: "+86"
                      birthDay: 1990-01-01
                      nationality: CN
                      addressRegionCode: CN
                      addressStateCode: GD
                      addressCityCode: SZ
                      addressDetailLine1: Example address line 1
                      addressDetailLine2: null
                      addressPostalCode: "518000"
                      remark: null
```
