> ## Documentation Index
> Fetch the complete documentation index at: https://api.loanscape.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch single application

> Fetch a specific application, specifying the `applicationId` and the fields you'd like to retrieve.<Info>By default, only `applicationId` is returned. Optionally request further fields by passing them in the `fields` parameter in the query. Fields within the `tpo`,  `licensing` and `los` objects should be specifically requested with the format `tpo.name`, `licensing.tradeNames`, `los.loanCriteria`, etc.<br/><br/>You can return all available fields by passing `fields=*`<br/><br/>Note: access to `licensing` is a premium feature - contact the Loanscape team to confirm that you have access.<br/><br/>**For example, to specify all possible fields:**<br/>`https://app.loanscape.io/api/v1.0/applications/<applicationId>?fields=status,tag,channels,assignedAccountExecutive,assignedUsers,nextRenewalDate,dateCreated,dateApproved,dateRenewed,dateStatusUpdated,tpo.companyId,tpo.name,tpo.nmls,tpo.address,tpo.businessStructure,tpo.ein,tpo.stockSymbol,tpo.ncua,tpo.fdic,tpo.pointOfContact,tpo.team,tpo.owners,tpo.suretyBonds,tpo.eoInsurance,tpo.affiliations,tpo.industryApprovals,licensing.tradeNames,licensing.licensedStates,licensing.stateLicenses,licensing.processors,licensing.loanOfficers,licensing.branches,los.users,los.compensation,los.loanCriteria`</Info>



## OpenAPI

````yaml GET /applications/{applicationId}
openapi: 3.0.1
info:
  title: Loanscape API
  description: >-
    The Loanscape API allows lenders to fetch data for their applications on
    Loanscape.
  license:
    name: UNLICENSED
  version: 1.0.0
servers:
  - url: https://app.loanscape.io/api/v1.0
security:
  - apiKeyAuth: []
paths:
  /applications/{applicationId}:
    get:
      description: >-
        Fetch a specific application, specifying the `applicationId` and the
        fields you'd like to retrieve.<Info>By default, only `applicationId` is
        returned. Optionally request further fields by passing them in the
        `fields` parameter in the query. Fields within the `tpo`,  `licensing`
        and `los` objects should be specifically requested with the format
        `tpo.name`, `licensing.tradeNames`, `los.loanCriteria`,
        etc.<br/><br/>You can return all available fields by passing
        `fields=*`<br/><br/>Note: access to `licensing` is a premium feature -
        contact the Loanscape team to confirm that you have
        access.<br/><br/>**For example, to specify all possible
        fields:**<br/>`https://app.loanscape.io/api/v1.0/applications/<applicationId>?fields=status,tag,channels,assignedAccountExecutive,assignedUsers,nextRenewalDate,dateCreated,dateApproved,dateRenewed,dateStatusUpdated,tpo.companyId,tpo.name,tpo.nmls,tpo.address,tpo.businessStructure,tpo.ein,tpo.stockSymbol,tpo.ncua,tpo.fdic,tpo.pointOfContact,tpo.team,tpo.owners,tpo.suretyBonds,tpo.eoInsurance,tpo.affiliations,tpo.industryApprovals,licensing.tradeNames,licensing.licensedStates,licensing.stateLicenses,licensing.processors,licensing.loanOfficers,licensing.branches,los.users,los.compensation,los.loanCriteria`</Info>
      parameters:
        - name: applicationId
          in: path
          description: >-
            The applicationId of the application to fetch. Try passing
            `test_65b0dc2d39f534a1253` for a demo application while passing
            `test/key` for `X-API-KEY`
          required: true
          schema:
            type: string
        - name: fields
          in: query
          description: >-
            Additional fields to fetch. Separate multiple fields with commas.
            Leave this blank to only return `applicationId` or pass `fields=*`
            to return all available fields.
          required: false
          schema:
            type: string
          style: form
      responses:
        '200':
          description: Application data returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FullApplication'
        '400':
          description: Error returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    FullApplication:
      type: object
      properties:
        applicationId:
          description: The application's unique identifier.
          type: string
        status:
          description: >-
            The status of the application: `pending`, `active`,
            `pending_renewal`, `deactivated`, `denied` or `discarded`
          type: string
        tag:
          description: The tag assigned by the lender's team.
          type: string
        channels:
          description: >-
            The status and details of each channel associated with the
            application.
          type: array
          items:
            type: object
            properties:
              title:
                type: string
                description: E.g. `Non-Del Correspondent`, `Warehouse`, etc.
              status:
                type: string
                description: >-
                  The status of the channel: `pending`, `approved`,
                  `deactivated` or `denied`.
              dateApplied:
                type: string
                description: >-
                  The date that the channel was added or restored to pending
                  status.
              dateApproved:
                type: string
                description: >-
                  The date that this channel was initially approved. (On the
                  Loanscape website, within the "Channels" section of an
                  application, the date shown under the "Date Approved" column
                  will be either dateApproved or dateRenewed, whichever is
                  latest. In the API, this is strictly the date of initial
                  approval.)
              dateRenewed:
                type: string
                description: >-
                  The date that the application was last renewed, with this
                  channel selected as part of the renewal.
              dateStatusUpdated:
                type: string
              yearlyRenewalDate:
                type: string
        assignedAccountExecutive:
          description: Details of the assigned account executive on the lender's team.
          type: object
          properties:
            userId:
              type: string
            name:
              type: string
            email:
              type: string
            phone:
              type: string
        assignedUsers:
          description: Details of the assigned users on the lender's team.
          type: array
          items:
            type: object
            properties:
              userId:
                type: string
              name:
                type: string
              email:
                type: string
              phone:
                type: string
        nextRenewalDate:
          description: >-
            The date that the next yearly document is due from the TPO. Only
            available for applications with status `active` or
            `pending_renewal`.
          type: string
        dateCreated:
          description: >-
            The date that the application was created. This is an ISO string
            (e.g. 2011-10-05T14:48:00.000Z).
          type: string
        dateApproved:
          description: >-
            The date that the application was first approved. This is an ISO
            string (e.g. 2011-10-05T14:48:00.000Z). (On the Loanscape website,
            the date shown under the "Date Approved" column will be either
            dateApproved or dateRenewed, whichever is latest. In the API, this
            is strictly the date of initial approval.)
          type: string
        dateRenewed:
          description: >-
            The date that the application was last renewed. If this is present,
            or if an application has status `pending_renewal`, it is a renewal
            application. This is an ISO string (e.g. 2011-10-05T14:48:00.000Z).
          type: string
        dateStatusUpdated:
          description: >-
            The date that the application's status was last updated (for
            example, renewed or deactivated). This is an ISO string (e.g.
            2011-10-05T14:48:00.000Z).
          type: string
        tpo:
          type: object
          description: Details of the TPO's company.
          properties:
            companyId:
              type: string
            name:
              type: string
            nmls:
              type: string
            address:
              type: object
              properties:
                line1:
                  type: string
                line2:
                  type: string
                city:
                  type: string
                state:
                  type: string
                zip:
                  type: string
            businessStructure:
              type: string
              description: >-
                Options: `llc`, `c-corp`, `s-corp`, `sole-proprietorship`, `lp`,
                `llp`, `general-partnership`, `partnership`, `lllp`, `trust`,
                `publicly-traded-corporation`, `bank`, `credit-union`,
                `non-profit-corporation`
            ein:
              type: string
              description: >-
                Present for all business structure types besides
                `sole-proprietorship`
            stockSymbol:
              type: string
              description: >-
                Present when `businessStructure` is
                `publicly-traded-corporation`
            ncua:
              type: string
              description: Present when `businessStructure` is `credit-union`
            fdic:
              type: string
              description: Present when `businessStructure` is `bank`
            pointOfContact:
              type: object
              description: The point of contact indicated on the TPO's company.
              properties:
                userId:
                  type: string
                name:
                  type: string
                email:
                  type: string
                phone:
                  type: string
            team:
              type: array
              items:
                type: object
                properties:
                  userId:
                    type: string
                  name:
                    type: string
                  email:
                    type: string
                  phone:
                    type: string
                  roles:
                    type: array
                    items:
                      type: string
                  isAuthorizedSigner:
                    type: boolean
            owners:
              type: array
              description: >-
                Required as part of the company profile for all TPOs besides
                those with a `businessStructure` of
                `publicly-traded-corporation`, `bank`, `credit-union` or
                `non-profit-corporation`
              items:
                type: object
                properties:
                  entityType:
                    type: string
                    description: >-
                      Options: `individual`, `llc`, `c-corp`, `s-corp`,
                      `sole-proprietorship`, `lp`, `llp`, `general-partnership`,
                      `partnership`, `lllp`, `trust`,
                      `publicly-traded-corporation`, `bank`, `credit-union`,
                      `non-profit-corporation`
                  name:
                    type: string
                  percentOwnership:
                    type: number
                    description: >-
                      A number between 0 and 100 reflecting percent (e.g. `50`,
                      equivalent to 50%).
                  address:
                    type: object
                    description: Present when `entityType` is `individual`.
                    properties:
                      line1:
                        type: string
                      line2:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      zip:
                        type: string
                  dateOfBirth:
                    type: string
                    description: >-
                      Takes the format `MM/DD/YYYY`. Present when `entityType`
                      is `individual`
                  nmls:
                    type: string
                    description: Optionally present when `entityType` is `individual`
                  ein:
                    type: string
                    description: >-
                      Present for all entity types besides `individual` and
                      `sole-proprietorship`
                  stockSymbol:
                    type: string
                    description: Present when `entityType` is `publicly-traded-corporation`
                  ncua:
                    type: string
                    description: Present when `entityType` is `credit-union`
                  fdic:
                    type: string
                    description: Present when `entityType` is `bank`
            suretyBonds:
              type: array
              items:
                type: object
                properties:
                  company:
                    type: string
                  amount:
                    description: Amount is a number (e.g. 500) and indicates US dollars.
                    type: number
                  states:
                    type: array
                    items:
                      type: string
                  expiryDate:
                    type: string
            eoInsurance:
              type: array
              items:
                type: object
                properties:
                  company:
                    type: string
                  amount:
                    description: >-
                      E&O insurance covering the TPO. Amount is a number (e.g.
                      500) and indicates US dollars.
                    type: number
                  states:
                    type: array
                    items:
                      type: string
                  expiryDate:
                    type: string
            affiliations:
              type: array
              items:
                type: object
                properties:
                  affiliationType:
                    type: string
                  companyName:
                    type: string
                  address:
                    type: object
                    properties:
                      line1:
                        type: string
                      line2:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      zip:
                        type: string
                  stateOfIncorporation:
                    type: string
                  stateOfOperation:
                    type: string
                  percentOwnership:
                    description: >-
                      Number given indicates percent as an integer, not a
                      decimal. For example, 50 indicates 50%.
                    type: number
            industryApprovals:
              type: object
              properties:
                fha:
                  type: string
                va:
                  type: string
                fannieMae:
                  type: string
                freddieMac:
                  type: string
                ginnieMae:
                  type: string
                mers:
                  type: string
                usda:
                  type: string
        licensing:
          type: object
          description: >-
            Licensing information for the TPO, their branches and their
            individuals - synced with NMLS. Access to licensing information is a
            premium feature - contact the Loanscape team to confirm that you
            have access.
          properties:
            tradeNames:
              type: array
              description: >-
                Synced with NMLS. Will not be returned if the TPO has a missing
                or invalid company NMLS (`tpo.nmls`)
              items:
                type: object
                properties:
                  name:
                    type: string
                  states:
                    type: array
                    items:
                      type: string
            licensedStates:
              type: array
              description: >-
                Synced with NMLS. Will not be returned if the TPO has a missing
                or invalid company NMLS (`tpo.nmls`)
              items:
                type: string
            stateLicenses:
              type: array
              description: >-
                Synced with NMLS. Will not be returned if the TPO has a missing
                or invalid company NMLS (`tpo.nmls`)
              items:
                type: object
                properties:
                  licenseId:
                    type: string
                  licenseType:
                    type: string
                  licenseNumber:
                    type: string
                    description: (optional)
                  status:
                    type: string
                  regulator:
                    type: string
                  state:
                    type: string
                  issueDate:
                    type: string
                  statusDate:
                    type: string
            processors:
              type: array
              description: >-
                Processor information is provided directly by TPO managers via
                Loanscape.
              items:
                type: object
                properties:
                  processorId:
                    type: string
                    description: >-
                      A unique identifier for this processor. Use this as a
                      unique identifier instead of `nmls` (which is only present
                      on processors where `isContractProcessor` is `true`).
                  name:
                    type: string
                  email:
                    type: string
                  phone:
                    type: string
                  isContractProcessor:
                    type: boolean
                  nmls:
                    type: string
                    description: >-
                      NMLS is only provided if the processor is a contract
                      processor.
            loanOfficers:
              type: array
              description: >-
                Synced with NMLS. Cannot be requested with the `Fetch all
                applications` endpoint - only when fetching an individual
                application. Will not be returned if the TPO has a missing or
                invalid company NMLS (`tpo.nmls`). TPO managers can add the
                `email` and `phone` fields to synced loan officers via Loanscape
                - all loan officers are still returned here, even if they do not
                have contact information filled in. In Loanscape, TPOs *are*
                able to manually add loan officers which have not yet appeared
                in NMLS records - such "manually added" cases are *not* returned
                here.
              items:
                type: object
                properties:
                  nmls:
                    type: string
                    description: >-
                      You can use this `nmls` as a unique identifier for this
                      loan officer.
                  name:
                    type: string
                  email:
                    type: string
                  phone:
                    type: string
                  otherNames:
                    type: array
                    items:
                      type: string
                  licensedStates:
                    type: array
                    items:
                      type: string
                  stateLicenses:
                    type: array
                    items:
                      type: object
                      properties:
                        licenseId:
                          type: string
                        licenseType:
                          type: string
                        licenseNumber:
                          type: string
                        status:
                          type: string
                        regulator:
                          type: string
                        state:
                          type: string
                        issueDate:
                          type: string
                        statusDate:
                          type: string
                  federalRegistrations:
                    type: array
                    items:
                      type: object
                      properties:
                        registrationId:
                          type: string
                        regulator:
                          type: string
                        statusDate:
                          type: string
                  locations:
                    type: array
                    description: >-
                      This refers to the office locations that the loan officer
                      works at. The `locationType` can be `main` (the company's
                      main address), `work` (a personal office address) or
                      `branch`. If `locationType` is `branch`, the `nmls` field
                      refers to the branch NMLS and can be connected to a branch
                      in `tpo.branches`. If `locationType` is `main` or `work`,
                      the `nmls` field refers to the company NMLS.
                    items:
                      type: object
                      properties:
                        locationType:
                          type: string
                        nmls:
                          type: string
                        address:
                          type: object
                          properties:
                            line1:
                              type: string
                            city:
                              type: string
                            state:
                              type: string
                            zip:
                              type: string
                        startDate:
                          type: string
            branches:
              type: array
              description: >-
                Synced with NMLS. Will not be returned if the TPO has a missing
                or invalid company NMLS (`tpo.nmls`). Cannot be requested with
                the `Fetch all applications` endpoint - only when fetching an
                individual application.
              items:
                type: object
                properties:
                  nmls:
                    type: string
                  address:
                    type: object
                    properties:
                      line1:
                        type: string
                      line2:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      zip:
                        type: string
                  managers:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        nmls:
                          type: string
                  tradeNames:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        states:
                          type: array
                          items:
                            type: string
                  licensedStates:
                    type: array
                    items:
                      type: string
                  stateLicenses:
                    type: array
                    items:
                      type: object
                      properties:
                        licenseId:
                          type: string
                        licenseType:
                          type: string
                        licenseNumber:
                          type: string
                        status:
                          type: string
                        regulator:
                          type: string
                        state:
                          type: string
                        issueDate:
                          type: string
                        statusDate:
                          type: string
        los:
          type: object
          description: >-
            LOS information for the TPO - `los.users`, `los.compensation` and
            `los.loanCriteria`. This data is only available if the **LOS Access
            and/or Compensation** document has been enabled for your company and
            is active in the TPO's application. If you're not sure, reach out to
            the Loanscape team for guidance. You should read the [Advanced
            (Licensing and LOS)](/pages/advanced-features) page to learn more
            about how the LOS data works and how to use it.
          properties:
            users:
              type: array
              description: >-
                Users with access to the LOS as defined in the **LOS Access**
                section of an application. This section is visible if the **LOS
                Access** document is active for that TPO. These users are pulled
                from a TPO's licensed loan officers (synced with NMLS), manually
                added loan officers and manually added processors. Users with
                the `No Access` persona are not returned. Users without an
                `email` provided are not returned.
              items:
                type: object
                properties:
                  userId:
                    type: string
                    description: >-
                      A unique identifier for this user. You should use this as
                      a unique identifier instead of `nmls`, as not all users
                      will have an `nmls` (for example, some processors and
                      manually added loan officers). If this user was synced
                      from NMLS records (or added manually by the TPO as a loan
                      officer with an NMLS), their `userId` *will* be identical
                      to their NMLS. TPOs who are not licensed with NMLS can
                      manually add loan officers without an NMLS. For users
                      added as processors, or loan officers without an NMLS,
                      their `userId` will be a 24-character hexadecimal string
                      e.g. `6757857b1fbd7eb458a27fec`.
                  personas:
                    type: array
                    description: >-
                      These are defined per lender but the standard personas are
                      `Admin`, `Loan Officer` and `Processor`
                    items:
                      type: string
                  nmls:
                    type: string
                    description: >-
                      Often but not always present (for example, not present for
                      a manually added processor who is not a contract
                      processor, or a loan officer manually added by a TPO who
                      is not licensed with NMLS).
                  name:
                    type: string
                  email:
                    type: string
                    description: >-
                      Provided by the TPO - individuals will only show in
                      `los.users` if an email has been provided. (There may be
                      licensed loan officers who do *not* appear in `los.users`
                      because no email has been provided.)
                  phone:
                    type: string
                    description: >-
                      Provided by the TPO - will almost always be present, as
                      phone is also required when a TPO provides the email
                      address for an individual.
                  canViewAllLoans:
                    type: boolean
                    description: >-
                      `true` if their checkbox "Can view team's loans" is
                      selected.
            compensation:
              type: array
              description: >-
                The latest approved compensation amounts per channel as provided
                in the **Compensation** section of an application. This section
                is visible if the **Compensation** document is active for that
                TPO.
              items:
                type: object
                properties:
                  channel:
                    type: string
                    description: >-
                      The name of the channel, as seen in Loanscape e.g.
                      `Wholesale/Broker`
                    items:
                      type: string
                  value:
                    type: string
                    description: >-
                      The percentage amount, presented as a string - exactly as
                      seen in Loanscape but with the `%` character stripped, if
                      present. For example, if `3.00%` is seen in Loanscape,
                      `3.00` will be returned here.
                  dateUpdated:
                    type: string
                    description: >-
                      The date that this channel's value was last updated. This
                      is an ISO string (e.g. 2011-10-05T14:48:00.000Z)
            loanCriteria:
              type: object
              description: >-
                The data submitted for each TPO within the **Loan Criteria**
                section. This section is visible if the **LOS Access** document
                is active for that TPO.
              properties:
                loanTypes:
                  type: array
                  description: >-
                    An array of strings. Each string is returned exactly as
                    specified in Loanscape, e.g. `Conventional` or `Non-QM -
                    Full Doc`
                  items:
                    type: string
                approvedLoanPurposes:
                  type: array
                  description: >-
                    An array of strings. Each string is returned exactly as
                    specified in Loanscape, e.g. `Construction-Perm` or `Other`
                  items:
                    type: string
    Error:
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        [Generate an API key on
        Loanscape](http://app.loanscape.io/dashboard/settings/developers) or
        pass `test/key` to try with demo data.

````