# Create an application

Create an application with the provided data

Endpoint: POST /application/{product-id}
Version: 1.0.8
Security: bearer-jwt

## Path parameters:

  - `product-id` (string, required)
    The product id provided by RAI.

## Header parameters:

  - `API-Version` (string)

## Request fields (application/json):

  - `applicant` (object, required)

  - `applicant.identity` (object, required)

  - `applicant.identity.name` (object, required)

  - `applicant.identity.name.first` (string, required)
    Example: John

  - `applicant.identity.name.last` (string, required)
    Example: Smith

  - `applicant.identity.name.middle` (string | null)
    Example: James

  - `applicant.identity.birthDate` (string, required)
    The person's date of birth.
    Example: 2000-01-31

  - `applicant.identity.socialSecurityNumber` (string, required)
    Either a clear 9-digit SSN or an encrypted string

  - `applicant.email` (string, required)
    The person's email.
    Example: myemail@email.com

  - `applicant.phoneNumber` (string, required)
    10 digits phone number.
    Example: 1234567890

  - `applicant.address` (object, required)

  - `applicant.address.line1` (string, required)
    The first line.
    Example: 1 Main St

  - `applicant.address.line2` (string | null)
    The optional second line.
    Example: Apt 35

  - `applicant.address.city` (string, required)
    The city name.
    Example: Dallas

  - `applicant.address.state` (string, required)
    The state abbreviation.
    Example: TX

  - `applicant.address.zipCode` (string, required)
    The 5 digit zip code.
    Example: 75000

  - `applicant.income` (object, required)

  - `applicant.income.annualIncome` (integer, required)
    The annual income (in whole US Dollar).
    Example: 30000

  - `applicant.income.source` (string, required)
    The income source.
    Enum: "Employment", "Inheritance", "Trust", "Investment", "Retirement", "SocialSecurity", "Unemployment", "Other"

  - `applicant.expenses` (object, required)

  - `applicant.expenses.monthlyHousing` (integer, required)
    The monthly housing expense (in whole US Dollar).
    Example: 1000

  - `applicant.maritalStatus` (string | null)
    The applicant's optional marital status.
    Enum: "Married", "NotMarried"

  - `spouse` (any)

  - `spouse.email` (string, required)
    The person's email.
    Example: myemail@email.com

  - `consents` (object, required)

  - `consents.contact` (object, required)

  - `consents.contact.allowEmailContact` (boolean, required)
    Consent to contact via email.
    Example: true

  - `consents.contact.allowPhoneContact` (boolean, required)
    Consent to contact via phone.
    Example: true

  - `consents.contact.allowSmsContact` (boolean, required)
    Consent to contact via SMS.
    Example: true

  - `consents.shareDataWithFI` (boolean, required)
    Consent to share data with the financial institution.
    Example: true

  - `consents.softPull` (boolean, required)
    Consent to perform a soft-pull from the credit bureau.
    Example: true

  - `metadata` (any)

  - `metadata.membershipType` (string | null)
    The membership type of the applicant.
    Enum: "Member", "NonMember"

  - `metadata.referralChannel` (string | null)
    The referral channel through which the applicant was referred.
    Enum: "Web", "Branch", "Phone", "Other"

  - `metadata.creditInquiry` (string | null)
    The credit inquiry type for the applicant.
    Enum: "Soft", "Hard"

## Response 200 fields (application/json):

  - `id` (string, required)
    The application id.
    Example: 2bb04ce6-daeb-422b-b8fd-686aa09e2c88

  - `url` (string, required)
    The application url to redirect to.
    Example: https://apply.groundworkcard.com/app/wizard/2bb04ce6-daeb-422b-b8fd-686aa09e2c88

  - `status` (string, required)
    The application status.
    Enum: "Pending", "Approved", "Declined"

## Response 400 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 404 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 500 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 503 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

