openapi: 3.1.0
info:
  title: Gizmo
  description: Gizmo REST API
  version: 1.0.0
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
security:
  - bearerAuth: []
servers:
  - url: https://core.usegizmo.com/v1
    description: Gizmo Production API
paths:
  /applications/{id}:
    get:
      operationId: getApplication
      responses:
        '200':
          description: The retrieved Application
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  createdAt:
                    type: number
                  updatedAt:
                    type: number
                  status:
                    type: string
                    enum:
                      - NEW
                      - ATTEMPTED
                      - CONTACTED
                      - CREDIT_PULLED
                      - PRE_APPROVED
                      - APPLICATION
                      - PROCESSING
                      - SUBMITTAL
                      - RESUBMITTAL
                      - CONDITIONALLY_APPROVED
                      - FINAL_APPROVED
                      - DOCS_OUT
                      - FUNDED
                      - PURCHASED
                      - COMPLETED
                      - WITHDRAWN
                      - DENIED
                  primaryBorrowerFirstName:
                    type: string
                  primaryBorrowerLastName:
                    type: string
                  primaryBorrowerEmail:
                    type: string
                  primaryBorrowerPhone:
                    type: string
                  subjectPropertyState:
                    type: string
                    enum:
                      - al
                      - ak
                      - az
                      - ar
                      - ca
                      - co
                      - ct
                      - de
                      - dc
                      - fl
                      - ga
                      - hi
                      - id
                      - il
                      - in
                      - ia
                      - ks
                      - ky
                      - la
                      - me
                      - md
                      - ma
                      - mi
                      - mn
                      - ms
                      - mo
                      - mt
                      - ne
                      - nv
                      - nh
                      - nj
                      - nm
                      - ny
                      - nc
                      - nd
                      - oh
                      - ok
                      - or
                      - pa
                      - ri
                      - sc
                      - sd
                      - tn
                      - tx
                      - ut
                      - vt
                      - va
                      - wa
                      - wv
                      - wi
                      - wy
                  losId:
                    type: string
                required:
                  - id
                  - createdAt
                  - updatedAt
                  - status
                  - primaryBorrowerFirstName
                  - primaryBorrowerLastName
                  - primaryBorrowerEmail
                  - primaryBorrowerPhone
                  - subjectPropertyState
      summary: Get Application
      tags:
        - Application
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                createdAt:
                  type: number
                updatedAt:
                  type: number
                status:
                  type: string
                  enum:
                    - NEW
                    - ATTEMPTED
                    - CONTACTED
                    - CREDIT_PULLED
                    - PRE_APPROVED
                    - APPLICATION
                    - PROCESSING
                    - SUBMITTAL
                    - RESUBMITTAL
                    - CONDITIONALLY_APPROVED
                    - FINAL_APPROVED
                    - DOCS_OUT
                    - FUNDED
                    - PURCHASED
                    - COMPLETED
                    - WITHDRAWN
                    - DENIED
                primaryBorrowerFirstName:
                  type: string
                primaryBorrowerLastName:
                  type: string
                primaryBorrowerEmail:
                  type: string
                primaryBorrowerPhone:
                  type: string
                subjectPropertyState:
                  type: string
                  enum:
                    - al
                    - ak
                    - az
                    - ar
                    - ca
                    - co
                    - ct
                    - de
                    - dc
                    - fl
                    - ga
                    - hi
                    - id
                    - il
                    - in
                    - ia
                    - ks
                    - ky
                    - la
                    - me
                    - md
                    - ma
                    - mi
                    - mn
                    - ms
                    - mo
                    - mt
                    - ne
                    - nv
                    - nh
                    - nj
                    - nm
                    - ny
                    - nc
                    - nd
                    - oh
                    - ok
                    - or
                    - pa
                    - ri
                    - sc
                    - sd
                    - tn
                    - tx
                    - ut
                    - vt
                    - va
                    - wa
                    - wv
                    - wi
                    - wy
                losId:
                  type: string
              required:
                - id
                - createdAt
                - updatedAt
                - status
                - primaryBorrowerFirstName
                - primaryBorrowerLastName
                - primaryBorrowerEmail
                - primaryBorrowerPhone
                - subjectPropertyState
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
    patch:
      operationId: updateApplication
      responses:
        '200':
          description: The updated Application
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  createdAt:
                    type: number
                  updatedAt:
                    type: number
                  status:
                    type: string
                    enum:
                      - NEW
                      - ATTEMPTED
                      - CONTACTED
                      - CREDIT_PULLED
                      - PRE_APPROVED
                      - APPLICATION
                      - PROCESSING
                      - SUBMITTAL
                      - RESUBMITTAL
                      - CONDITIONALLY_APPROVED
                      - FINAL_APPROVED
                      - DOCS_OUT
                      - FUNDED
                      - PURCHASED
                      - COMPLETED
                      - WITHDRAWN
                      - DENIED
                  primaryBorrowerFirstName:
                    type: string
                  primaryBorrowerLastName:
                    type: string
                  primaryBorrowerEmail:
                    type: string
                  primaryBorrowerPhone:
                    type: string
                  subjectPropertyState:
                    type: string
                    enum:
                      - al
                      - ak
                      - az
                      - ar
                      - ca
                      - co
                      - ct
                      - de
                      - dc
                      - fl
                      - ga
                      - hi
                      - id
                      - il
                      - in
                      - ia
                      - ks
                      - ky
                      - la
                      - me
                      - md
                      - ma
                      - mi
                      - mn
                      - ms
                      - mo
                      - mt
                      - ne
                      - nv
                      - nh
                      - nj
                      - nm
                      - ny
                      - nc
                      - nd
                      - oh
                      - ok
                      - or
                      - pa
                      - ri
                      - sc
                      - sd
                      - tn
                      - tx
                      - ut
                      - vt
                      - va
                      - wa
                      - wv
                      - wi
                      - wy
                  losId:
                    type: string
                required:
                  - id
                  - createdAt
                  - updatedAt
                  - status
                  - primaryBorrowerFirstName
                  - primaryBorrowerLastName
                  - primaryBorrowerEmail
                  - primaryBorrowerPhone
                  - subjectPropertyState
      summary: Update Application
      tags:
        - Application
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                createdAt:
                  type: number
                updatedAt:
                  type: number
                status:
                  type: string
                  enum:
                    - NEW
                    - ATTEMPTED
                    - CONTACTED
                    - CREDIT_PULLED
                    - PRE_APPROVED
                    - APPLICATION
                    - PROCESSING
                    - SUBMITTAL
                    - RESUBMITTAL
                    - CONDITIONALLY_APPROVED
                    - FINAL_APPROVED
                    - DOCS_OUT
                    - FUNDED
                    - PURCHASED
                    - COMPLETED
                    - WITHDRAWN
                    - DENIED
                primaryBorrowerFirstName:
                  type: string
                primaryBorrowerLastName:
                  type: string
                primaryBorrowerEmail:
                  type: string
                primaryBorrowerPhone:
                  type: string
                subjectPropertyState:
                  type: string
                  enum:
                    - al
                    - ak
                    - az
                    - ar
                    - ca
                    - co
                    - ct
                    - de
                    - dc
                    - fl
                    - ga
                    - hi
                    - id
                    - il
                    - in
                    - ia
                    - ks
                    - ky
                    - la
                    - me
                    - md
                    - ma
                    - mi
                    - mn
                    - ms
                    - mo
                    - mt
                    - ne
                    - nv
                    - nh
                    - nj
                    - nm
                    - ny
                    - nc
                    - nd
                    - oh
                    - ok
                    - or
                    - pa
                    - ri
                    - sc
                    - sd
                    - tn
                    - tx
                    - ut
                    - vt
                    - va
                    - wa
                    - wv
                    - wi
                    - wy
                losId:
                  type: string
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
  /applications:
    post:
      operationId: createApplication
      responses:
        '200':
          description: The created Application ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                required:
                  - id
      summary: Create Application
      tags:
        - Application
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - NEW
                    - ATTEMPTED
                    - CONTACTED
                    - CREDIT_PULLED
                    - PRE_APPROVED
                    - APPLICATION
                    - PROCESSING
                    - SUBMITTAL
                    - RESUBMITTAL
                    - CONDITIONALLY_APPROVED
                    - FINAL_APPROVED
                    - DOCS_OUT
                    - FUNDED
                    - PURCHASED
                    - COMPLETED
                    - WITHDRAWN
                    - DENIED
                primaryBorrowerFirstName:
                  type: string
                primaryBorrowerLastName:
                  type: string
                primaryBorrowerEmail:
                  type: string
                primaryBorrowerPhone:
                  type: string
                subjectPropertyState:
                  type: string
                  enum:
                    - al
                    - ak
                    - az
                    - ar
                    - ca
                    - co
                    - ct
                    - de
                    - dc
                    - fl
                    - ga
                    - hi
                    - id
                    - il
                    - in
                    - ia
                    - ks
                    - ky
                    - la
                    - me
                    - md
                    - ma
                    - mi
                    - mn
                    - ms
                    - mo
                    - mt
                    - ne
                    - nv
                    - nh
                    - nj
                    - nm
                    - ny
                    - nc
                    - nd
                    - oh
                    - ok
                    - or
                    - pa
                    - ri
                    - sc
                    - sd
                    - tn
                    - tx
                    - ut
                    - vt
                    - va
                    - wa
                    - wv
                    - wi
                    - wy
                losId:
                  type: string
              required:
                - status
                - primaryBorrowerFirstName
                - primaryBorrowerLastName
                - primaryBorrowerEmail
                - primaryBorrowerPhone
                - subjectPropertyState
