Snappt Applicant Sessions API

The Applicant Sessions API from Snappt — 8 operation(s) for applicant sessions.

Business capability
Tenant Application & Screening BC-4950.40

Operations 12

POST /session/public Create an applicant session
GET /session/property Retrieve information about the property
GET /session/application Retrieve application data
PUT /session/application Update application data
GET /session/documents List application documents
POST /session/documents Upload an application document
PUT /session/documents/{id} Update an application document type
GET /session/documents/{id} Retrieve an application document
DELETE /session/documents/{id} Remove an application document
GET /session/documents/{id}/thumbnail Retrieve a thumbnail for a specific document
POST /session/submit Submit application
POST /session Create an applicant session

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/snappt-applicant-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

snappt-applicant-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.75.3
  title: Snappt Applicant Sessions API
  description: Welcome to the Snappt API! API endpoints require a Snappt partner API key passed in the HTTP Authorization header.
servers:
- url: https://enterprise-api.demo.snappt.com
security:
- {}
- bearerAuth: []
tags:
- name: Applicant Sessions
paths:
  /session/public:
    post:
      tags:
      - Applicant Sessions
      summary: Create an applicant session
      description: Make a request to this API to begin a new applicant session and obtain a session token you can use to update applicant info, upload documents, and submit the application for processing.
      parameters:
      - schema:
          type: string
          enum:
          - leasing_team
          - unauthenticated_user
          default: unauthenticated_user
        required: false
        name: applicationType
        in: query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicPostSessionBody'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPostSessionResponse'
        '400':
          description: The request payload or query string parameter you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /session/property:
    get:
      tags:
      - Applicant Sessions
      summary: Retrieve information about the property
      security:
      - snapptSessionAuth: []
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  shortId:
                    type: string
                  name:
                    type: string
                  entityName:
                    type:
                    - string
                    - 'null'
                  logo:
                    type:
                    - string
                    - 'null'
                  phone:
                    type:
                    - string
                    - 'null'
                  phoneIsRequired:
                    type:
                    - boolean
                    - 'null'
                  website:
                    type:
                    - string
                    - 'null'
                  unit:
                    type:
                    - string
                    - 'null'
                  unitIsRequired:
                    type:
                    - boolean
                    - 'null'
                  address:
                    type: string
                  city:
                    type: string
                  state:
                    type:
                    - string
                    - 'null'
                  zip:
                    type: string
                  status:
                    type: string
                    enum:
                    - ACTIVE
                    - ARCHIVED
                    - DISABLED
                  supportedDoctypes:
                    type:
                    - object
                    - 'null'
                    properties:
                      paystub:
                        type: number
                      bank_statement:
                        type: number
                      cash_app_statement:
                        type: number
                      credit_debit_card_statement:
                        type: number
                      department_of_veterans_affairs_benefit_letter:
                        type: number
                      investment_account:
                        type: number
                      social_security_benefits_letter:
                        type: number
                      social_security_statement:
                        type: number
                      tax_transcript:
                        type: number
                      utility_bill:
                        type: number
                      payroll_statement:
                        type: number
                      bank_linking_verification_of_income:
                        type: number
                      tax_return_linking_report:
                        type: number
                      w2:
                        type: number
                      child_support:
                        type: number
                      financial_aid:
                        type: number
                      offer_letter:
                        type: number
                      student_visa:
                        type: number
                  bankStatement:
                    type:
                    - number
                    - 'null'
                  paystub:
                    type:
                    - number
                    - 'null'
                  email:
                    type:
                    - string
                    - 'null'
                    format: email
                  companyId:
                    type:
                    - string
                    - 'null'
                    format: uuid
                  companyShortId:
                    type:
                    - string
                    - 'null'
                  pmcName:
                    type:
                    - string
                    - 'null'
                  applicantLink:
                    type: string
                  leasingTeamLink:
                    type: string
                  isLinkedToYardi:
                    type:
                    - boolean
                    - 'null'
                  identityVerificationEnabled:
                    type:
                    - boolean
                    - 'null'
                  incomeVerificationEnabled:
                    type:
                    - boolean
                    - 'null'
                  assetVerificationEnabled:
                    type:
                    - boolean
                    - 'null'
                  payrollLinkingEnabled:
                    type:
                    - boolean
                    - 'null'
                  bankLinkingEnabled:
                    type:
                    - boolean
                    - 'null'
                  insertedAt:
                    type: string
                    description: An ISO-formattted datetime
                  updatedAt:
                    type: string
                    description: An ISO-formattted datetime
                required:
                - id
                - shortId
                - name
                - entityName
                - logo
                - phone
                - phoneIsRequired
                - website
                - unit
                - unitIsRequired
                - address
                - city
                - state
                - zip
                - status
                - bankStatement
                - paystub
                - email
                - companyId
                - companyShortId
                - applicantLink
                - leasingTeamLink
                - isLinkedToYardi
                - identityVerificationEnabled
                - insertedAt
                - updatedAt
                additionalProperties: false
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /session/application:
    get:
      tags:
      - Applicant Sessions
      summary: Retrieve application data
      security:
      - snapptSessionAuth: []
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationResponse'
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
    put:
      tags:
      - Applicant Sessions
      summary: Update application data
      security:
      - snapptSessionAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                identityId:
                  type:
                  - string
                  - 'null'
                  format: uuid
                type:
                  type: string
                  enum:
                  - leasing_team
                  - unauthenticated_user
                unit:
                  type:
                  - string
                  - 'null'
                firstName:
                  type:
                  - string
                  - 'null'
                middleInitial:
                  type:
                  - string
                  - 'null'
                lastName:
                  type:
                  - string
                  - 'null'
                email:
                  type:
                  - string
                  - 'null'
                notificationEmail:
                  type:
                  - string
                  - 'null'
                phone:
                  type:
                  - string
                  - 'null'
                hasPreviouslySubmitted:
                  type:
                  - boolean
                  - 'null'
                metadata:
                  type: object
                applicantDetailId:
                  type:
                  - string
                  - 'null'
                  format: uuid
                prefilledFields:
                  type:
                  - array
                  - 'null'
                  items:
                    type: string
                propertyShortId:
                  type:
                  - string
                  - 'null'
                companyShortId:
                  type:
                  - string
                  - 'null'
                hasRentalHistory:
                  type:
                  - boolean
                  - 'null'
                rentalHistories:
                  type:
                  - array
                  - 'null'
                  items:
                    type: object
                    properties:
                      streetAddress:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      zip:
                        type: string
                      managementName:
                        type: string
                      managementPhone:
                        type: string
                      managementEmail:
                        type: string
                      monthlyAmount:
                        type: string
                      leaseStart:
                        type: string
                      leaseEnd:
                        type:
                        - string
                        - 'null'
                      currentResidence:
                        type:
                        - boolean
                        - 'null'
                    required:
                    - streetAddress
                    - city
                    - state
                    - zip
                    - managementName
                    - managementPhone
                    - monthlyAmount
                    - leaseStart
                    - leaseEnd
                    - currentResidence
                isTaxReturnConnected:
                  type:
                  - boolean
                  - 'null'
                taxReturnData:
                  type:
                  - object
                  - 'null'
                  properties:
                    id:
                      type: string
                    provider:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        url:
                          type: string
                        icon:
                          type: string
                        logo:
                          type: string
                        category:
                          type: string
                        display_name:
                          type: string
                        record_types:
                          type: array
                          items:
                            type: string
                        primary_color:
                          type: string
                      required:
                      - id
                    name:
                      type: string
                    externalId:
                      type: string
                    taxYear:
                      type: number
                    status:
                      type: string
                    data:
                      type: object
                      properties:
                        name:
                          type: string
                        tax_year:
                          type: number
                      additionalProperties: {}
                  required:
                  - id
                  - name
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    identityId:
                      type:
                      - string
                      - 'null'
                      format: uuid
                    type:
                      type: string
                      enum:
                      - leasing_team
                      - unauthenticated_user
                    unit:
                      type:
                      - string
                      - 'null'
                    firstName:
                      type:
                      - string
                      - 'null'
                    middleInitial:
                      type:
                      - string
                      - 'null'
                    lastName:
                      type:
                      - string
                      - 'null'
                    email:
                      type:
                      - string
                      - 'null'
                    notificationEmail:
                      type:
                      - string
                      - 'null'
                    phone:
                      type:
                      - string
                      - 'null'
                    hasPreviouslySubmitted:
                      type:
                      - boolean
                      - 'null'
                    metadata:
                      type: object
                    applicantDetailId:
                      type:
                      - string
                      - 'null'
                      format: uuid
                    prefilledFields:
                      type:
                      - array
                      - 'null'
                      items:
                        type: string
                    propertyShortId:
                      type:
                      - string
                      - 'null'
                    companyShortId:
                      type:
                      - string
                      - 'null'
                    hasRentalHistory:
                      type:
                      - boolean
                      - 'null'
                    rentalHistories:
                      type:
                      - array
                      - 'null'
                      items:
                        type: object
                        properties:
                          streetAddress:
                            type: string
                          city:
                            type: string
                          state:
                            type: string
                          zip:
                            type: string
                          managementName:
                            type: string
                          managementPhone:
                            type: string
                          managementEmail:
                            type: string
                          monthlyAmount:
                            type: string
                          leaseStart:
                            type: string
                          leaseEnd:
                            type:
                            - string
                            - 'null'
                          currentResidence:
                            type:
                            - boolean
                            - 'null'
                        required:
                        - streetAddress
                        - city
                        - state
                        - zip
                        - managementName
                        - managementPhone
                        - monthlyAmount
                        - leaseStart
                        - leaseEnd
                        - currentResidence
                    isTaxReturnConnected:
                      type:
                      - boolean
                      - 'null'
                    taxReturnData:
                      type:
                      - object
                      - 'null'
                      properties:
                        id:
                          type: string
                        provider:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            url:
                              type: string
                            icon:
                              type: string
                            logo:
                              type: string
                            category:
                              type: string
                            display_name:
                              type: string
                            record_types:
                              type: array
                              items:
                                type: string
                            primary_color:
                              type: string
                          required:
                          - id
                        name:
                          type: string
                        externalId:
                          type: string
                        taxYear:
                          type: number
                        status:
                          type: string
                        data:
                          type: object
                          properties:
                            name:
                              type: string
                            tax_year:
                              type: number
                          additionalProperties: {}
                      required:
                      - id
                      - name
                  required:
                  - id
                  - identityId
                  - type
                  - firstName
                  - lastName
                  - email
                  - applicantDetailId
                  - propertyShortId
                  - companyShortId
                  - rentalHistories
                  - isTaxReturnConnected
                  - taxReturnData
                - type: object
                  properties:
                    error:
                      type: string
                  required:
                  - error
        '400':
          description: The request payload or query string parameter you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /session/documents:
    get:
      tags:
      - Applicant Sessions
      summary: List application documents
      security:
      - snapptSessionAuth: []
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProofResponse'
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
    post:
      tags:
      - Applicant Sessions
      summary: Upload an application document
      description: This API expects multipart/form-data. You should provide a single file as `upload` and specify the document type. Uploaded documents must be PDFs
      security:
      - snapptSessionAuth: []
      parameters:
      - schema:
          type: boolean
          description: Hold the POST request open while preliminary checks are performed on the document. This is a feature preview and will soon become the default. If you pass checks=true, you do not need to wait to call the /submit endpoint after a successful upload.
          example: true
        required: false
        name: checks
        in: query
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                type:
                  type: string
                  example: BANK_STATEMENT
                  enum:
                  - BANK_STATEMENT
                  - PAYSTUB
                  - OTHER
                fileName:
                  type: string
                upload:
                  type: string
                  description: The file being uploaded
                  format: binary
                  example: <<PDF document data>>
              required:
              - type
              additionalProperties: false
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    fileName:
                      type: string
                    unauthenticatedSessionId:
                      type: string
                      format: uuid
                    insertedAt:
                      type: string
                      description: An ISO-formattted datetime
                    type:
                      type: string
                      example: BANK_STATEMENT
                      enum:
                      - BANK_STATEMENT
                      - PAYSTUB
                      - OTHER
                    processStatus:
                      type: string
                      enum:
                      - IN_QUEUE
                      - IN_PROCESS
                      - PASSED
                      - FAILED
                      - SUCCESS
                    result:
                      type: string
                      enum:
                      - PENDING
                      - CLEAN
                      - EDITED
                      - UNDETERMINED
                  required:
                  - id
                  - unauthenticatedSessionId
                  - insertedAt
                  - type
                  - processStatus
                  - result
                - type: object
                  properties:
                    statusCode:
                      type: number
                    error:
                      type: string
                    failedChecks:
                      type: array
                      items:
                        type: string
                        enum:
                        - PDFParseError
                        - PrintToPDFError
                        - PdfContainsTextError
                        - PageLimitError
                        - PDFTooLargeError
                        - UnsupportedFileNameError
                        - UnsupportedFileTypeError
                        - EncryptedPdfError
                        - GenericError
                        - DuplicateDocumentError
                  required:
                  - error
                  - failedChecks
        '400':
          description: The request payload or query string parameter you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /session/documents/{id}:
    put:
      tags:
      - Applicant Sessions
      summary: Update an application document type
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  example: BANK_STATEMENT
                  enum:
                  - BANK_STATEMENT
                  - PAYSTUB
                  - OTHER
              required:
              - type
              additionalProperties: false
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    fileName:
                      type: string
                    unauthenticatedSessionId:
                      type: string
                      format: uuid
                    insertedAt:
                      type: string
                      description: An ISO-formattted datetime
                    type:
                      type: string
                      example: BANK_STATEMENT
                      enum:
                      - BANK_STATEMENT
                      - PAYSTUB
                      - OTHER
                    processStatus:
                      type: string
                      enum:
                      - IN_QUEUE
                      - IN_PROCESS
                      - PASSED
                      - FAILED
                      - SUCCESS
                    result:
                      type: string
                      enum:
                      - PENDING
                      - CLEAN
                      - EDITED
                      - UNDETERMINED
                  required:
                  - id
                  - unauthenticatedSessionId
                  - insertedAt
                  - type
                  - processStatus
                  - result
                - type: object
                  properties:
                    error:
                      type: string
                  required:
                  - error
        '400':
          description: The request payload or query string parameter you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '404':
          description: The item you requested could not be found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
    get:
      tags:
      - Applicant Sessions
      summary: Retrieve an application document
      description: This API returns the application document that matches the provided id.
      security:
      - snapptSessionAuth: []
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: id
        in: path
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProofResponse'
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '404':
          description: The item you requested could not be found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
    delete:
      tags:
      - Applicant Sessions
      summary: Remove an application document
      security:
      - snapptSessionAuth: []
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: id
        in: path
      responses:
        '204':
          description: No content - successful operation
        '401':
          description: The Authorization header or Snappt applicant session token you passed was not valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '404':
          description: The item you requested could not be found
          content:

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/snappt/refs/heads/main/openapi/snappt-applicant-sessions-api-openapi.yml