Portfolio Export [Legacy]

❗️

This Portfolio Export API endpoint is deprecated.

11/2021 update:
While there are currently no plans to sunset this API endpoint, no new features will be added to this endpoint as of 11/2021. Please use our next-gen APIs at https://readme.vts.com/reference.

Introduction

This is the central repository for information on exporting data for your office parks, properties, spaces, leases, and terms from VTS. On this page, you will find a sample of our XML formatting; a list of elements with description; and tutorials to help you get started with an API integration.

To start using the VTS Portfolio Export API, the API consumer must have an API key and an API secret to authenticate requests. VTS will provide these credentials to authorized API consumers. If you would like to test whether your credentials are valid, please refer to the Authentication section.

Requests

To start the export of a portfolio the API can be accessed by sending an HTTP request to https://app.vts.com/api/portfolio/v1/portfolio_exports with the Authorization header described in the Authentication section (also shown below)

curl -u <API Key>:<API Secret> -X POST https://app.vts.com/api/portfolio/v1/portfolio_exports
curl -u <API Key>:<API Secret> -X POST https://sandbox.vts.com/api/portfolio/v1/portfolio_exports

📘

Make sure to replace and with your API key and API Secret, respectively.

The above command returns XML structured like this:

<PortfolioExport>
  <status>submitted</status>
  <jobid>12345</jobid>
</PortfolioExport>
NodeTypeDefinition
statusstringStatus of the portfolio export that was created:

submitted - waiting to be processed
processing - currently being processed
completed - finished and successful
failed - there was an error with the export
jobidstringunique identifier of the portfolio export, used to check the export’s status and retrieve data

Portfolio Export Status

To check the status of a portfolio export, use GET to see the results:

curl -u <API Key>:<API Secret> https://api.vts.com/api/portfolio/v1/portfolio_exports/<jobid>

📘

Remember — Replace , and with actual values

The XML response should be as follows:

<PortfolioExport>
    <jobid>12345</jobid>
    <status>completed</status>
</PortfolioExport>

Portfolio Export Data

To view the data of a completed portfolio export once its status is "completed", run the below command. A sample of the response can be found at the end of this page.

🚧

You may only view the data of a portfolio export once it is complete.

curl -u <API Key>:<API Secret> https://api.vts.com/api/portfolio/v1/portfolio_exports/<jobid>/data
curl -u <API Key>:<API Secret> https://sandbox.vts.com/api/portfolio/v1/portfolio_exports/<jobid>/data

Status Codes

The VTS API uses the following status and error codes:

StatusDescription
200Success – The request was successful
202Accepted – The request was accepted and will be processed
401Unauthorized - incorrect credentials
403Forbidden – API Key and/or API Secret is missing or incorrect
404Not Found – The specified resource could not be found
500Internal Server Error – We had a problem with our server and have been notified. Try again later

Portfolio Export Data Elements

Office Parks

NodeTypeDescription
NameTextName of the Office Park
SourceIDTextSourceID of the Office Park
PropertiesArrayAn array of the Properties' sourceids that exist under this Office Park

Properties

NodeTypeDescription
IdIntegerVTS assigned unique ID for that building
ClientCompanyIdIntegerVTS assigned client company ID for that building
ClientCompanyNameStringClient Company that this building belongs to.
AddressArray of XML string nodesString nodes that break down the address of this property into City, State, Street, PostalCode, and Country
BuildingClassStringClass of the building
CreatedDateDateTimeVTS generated creation time of this property object in the database
UpdatedAtDateTimeVTS generated timestamp of when the property was last updated (either by a user or by system background jobs)
FundStringWhat fund this building belongs to
DescriptionTextDescription of the building
HasOfficeBooleanWhether or not this building has Office-type space. User generated.
HasRetailBooleanWhether or not this building has Retail-type space. User generated
HasIndustrialBooleanWhether or not this building has Industrial-type space. User generated.
LeasingCompanyStringUser-generated string for the company responsible for leasing this building.
ManagingCompanyStringUser-generated string for the company responsible for managing this building
Number of floorsIntegerUser-generated field for how many floors this building has.
OwnerStringUser-generated field for the owner of this building
RBAIntegerUser-generated field for the rentable building area
SubmarketStringUser-assigned field for the submarket of this building.
MarketStringUser-assigned field for the market of this building.
VacantAreaStringVTS-generated amount for how much area there is vacant in the building, based on the RBA of your building less the sum of the occupied spaces' areas.
RemovedBooleanWhether or not this building is removed from the VTS app.
FloorsXML ArrayXML array of the floor objects in VTS. See below.
SpacesXML ArrayXML array of the space objects (and their leases) in VTS. See below.

Floors

NodeTypeDescription
FloorNameStringThe name of the floor as appears on the stacking plan
FloorPositionIntegerThe order of the floor as it appears on the stacking plan
RentableAreaIntegerThe total area of the floorplate as it appears on the stacking plan

Spaces

NodeTypeDescription
AvailabilityDateDateWhen the space is available
AvailabilityTypeEnumOne of either:
- immediate
- arranged
- specified
- not available
DescriptionTextDescription of the space
FloorCompositionEnumOne of either:
- partial
- entire
InternalNotesTextInternal notes on the space
ListingDateDateUser-generated for when the space was listed on
MaximumContiguousIntegerMaximum contiguous area of this suite
MinimumDivisibleIntegerMinimum divisible area of this suite
PriceIsNegotiableBooleanWhether or not the price is negotiable
RemovedBooleanWhether or not this suite is removed
RentalPayTypeEnumWhat unit the marketed rent is being listed at
RentalRateMaxDecimalMax rental rate it is being listed as
RentalRateMinDecimalMinimum rental rate it is being listed as
RemeasuredSpaceAvailableIntegerRemeasured space available
SourceIDStringSystem-generated sourceID for this suite
SuiteStringName of the space
TransactionTypeEnumWhether this space is for:
- sale
- lease
VacantOnDateDateThe user-generated date for when this suite is vacant
MarketRentDecimalUser-generated field to memorialize the comparable market rent for this suite.
CreatedAtDateTimeSystem-generated datetime for when this space as created
UpdatedAtDateTimeSystem-generated datetime for when this space was last updated. Includes user updates as well as system background jobs.
TokenizedIDStringUnique tokenized string slug for this space
PublicFlagBooleanWhether or not this space's marketing page is listed on the VTS marketing page
SpaceTypeEnumThe type of space this is. Options are:
- Amenities
- Education
- Flex
- Industrial / Warehouse
- Lab
- Leisure
- Manufacturing
- Medical Office
- Office
- Other
- Parking
- Residential
- Restaurant
- Retail
- Rooftop
- Storage
- Telecom
LeaseXML ArrayThe current in-place Lease on this space.

Leases

NodeTypeDescription
LeaseExpirationDateDateWhen the Lease will expire
LeaseCommencementDateDateWhen the Lease commenced
ExecutionDateDateWhen the Lease was executed
LeaseTermIntegerHow many months the lease is for (user generated)
LeaseStructureEnumStructure of the lease.
- Triple Net
- Full Service Gross
- Modified Gross
SourceIdStringClient system-generated sourceId of the lease.
IndustryEnumThe industry of the lease. See Industry section under Import API for full list
CreatedAtDateTimeSystem-generated datetime for when the Lease was created
UpdatedAtDateTimeSystem-generaated datetime for when the Lease was last updated (either by user or by system background jobs)
RightsXML ArrayXML Array of nodes. See below.
LeaseDealTermsXML ArrayXML Array of nodes. See below.
TenantXML NodesXML node of the VTS-ID and Company name of the actual tenant on this lease.
IDStringVTS generated identification number for the specific lease

Rights

NodeTypeDescription
TypeEnumThe type of Right this Lease has. One of:
- audit rights
- break
- cap on rates
- contraction
- co-tenancy
- exclusive
- exclusive use
- expansion
- generator rights
- go dark
- kick out
- landlord & tenant act 1954
- make good
- must lease
- other
- parking
- purchase
- radius
- relocation
- renewal
- rent review
- rights to terminate
- rofn
- rofo
- rofr
- set off rights
- signage
- special provisions
- storage
- sublease
- use
DescriptionTextDescription set on the Right
EffectiveDateDateWhen the Right is effective
NoticeStartDateDateFirst day notice can be given (if applicable)
NoticeEndDateDateLast day notice can be given (if applicable)
RoleTypeEnumOne of either tenant or landlord. Only applicable for certain rights.
FeeIntegerFee that must be paid. Typically only applicable for terminations
RateTypeEnumOne of
- % of FMV
- $/sf
RateNoteStringNote on the Rate
MinSqFtIntegerMinimum square footage. Applicable for certain Rights.
MaxSqFtIntegerMaximum square footage. Applicable for certain Rights.
TenantImprovementDecimalTenant Improvement on the Right. Typically applicable for Expansion.
ExpansionEndDateDateLast date for Expansion
TargetsXML arrayNode describing which target spaces/floors/properties this right can target. Typically targeting is done by Object SourceID.

LeaseDealTerms

NodeTypeDescription
RentableAreaIntegerArea of the space that the individual lease deal term covers
SecurityDepositDecimalAmount of Security deposit on that lease deal term
NEROverrideDecimalOverriden NER of the Lease Deal Term
MiscDescriptionTextDescription on that lease deal term
SourceIDStringIdentifier used by VTS for integrated data
IsMonthToMonthBooleanWhether or not this lease term is in a month to month status
MoveOutDateDateThe move out date for this lease
RetailXML ArrayXML Array with Retail-specific fields for retail lease terms
BaseRentsXML ArrayXML Array of all BaseRents as part of this lease term
FreeRentsXML ArrayXML Array of all FreeRents as part of this lease term
OpExsXML ArrayXML Array of all OpExs as part of this lease term
RealEstateTaxesXML ArrayXML Array of all RealEstateTaxes as part of this lease term
OtherRevenuesXML ArrayXML Array of all OtherRevenue as part of this lease term

Individual nodes

NodeTypeDescription
StartDateDateStarting date of the rent schedule
EndDateDateEnding date of the rent schedule
AmountDecimalAmount of rent for that period
UnitsstringWhat unit the amount of rent is in.

FreeRent

NodeTypeDescription
StartDateDateStarting date of the free rent
EndDateDateEnding date of the free rent
AmountDecimalAmount of free rent
UnitsstringWhat unit the amount of free rent is in.
FreeRentTypestringType of free rent. Either gross or net

OpEx

NodeTypeDescription
StartDateDateStarting date of the expense period
EndDateDateEnding date of the expense period
AmountdecimalAmount of the Operational Expense
UnitsstringWhat unit the amount of rent is in.

RealEstateTax

Sample Response

<?xml version="1.0" encoding="UTF-8"?>
<PortfolioExport>
    <jobid>7967180d445af95d</jobid>
    <PortfolioData>
        <OfficeParks>
            <OfficePark>
                <Name>Parkside Terrace</Name>
                <SourceID/>
                <CreatedDate>2014-03-13T01:01:56Z</CreatedDate>
                <Properties>
                    <SourceId>ABC123</SourceId>
                    <SourceId>XYZ456</SourceId>
                    <SourceId>...</SourceId>
                </Properties>
            </OfficePark>
            <OfficePark>
                ...
            </OfficePark>

        </OfficeParks>
        <Properties>
            
            <Property>
                <Id>15483</Id>
                <ClientCompanyID>23</ClientCompanyID>
                <ClientCompanyName>VTS Sales Demo Account</ClientCompanyName>
                <SourceID>ABC123</SourceID>
                <Name>Parkside Place</Name>
                <Address>
                    <City>Dallas</City>
                    <State>TX</State>
                    <Street1>1717 Main Street</Street1>
                    <PostalCode>75201</PostalCode>
                    <Country>United States</Country>
                </Address>
                <BuildingClass>A</BuildingClass>
                <CreatedDate>2016-02-05T13:22:33Z</CreatedDate>
                <UpdatedAt>2017-06-14T14:42:02Z</UpdatedAt>
                <Fund/>
                <Description>Parkside is the ultimate location for both work and play.</Description>
                <HasOffice>true</HasOffice>
                <HasRetail>false</HasRetail>
                <HasIndustrial>false</HasIndustrial>
                <LeasingCompany/>
                <ManagingCompany>LPC Realty Advisors</ManagingCompany>
                <NumberOfFloors>15</NumberOfFloors>
                <Owner/>
                <RBA>198000</RBA>
                <Submarket/>
                <Market>south</Market>
                <VacantArea>78665</VacantArea>
                <LeaseRollArea>69236</LeaseRollArea>
                <SpaceAvailable>13810</SpaceAvailable>
                <OfficeParkID/>
                <YearBuilt>1984</YearBuilt>
                <TokenizedID>parkside-place-1717-main-street</TokenizedID>
                <LeasingActivityEnabled>true</LeasingActivityEnabled>
                <OccupiedSquareFeet>119335</OccupiedSquareFeet>
                <VacancyRate>0</VacancyRate>
                <Removed>false</Removed>
                <Floors>
                    <Floor>
                        <FloorName>1</FloorName>
                        <FloorPosition>1</FloorPosition>
                        <RentableArea>16500</RentableArea>
                    </Floor>
                    <Floor>
                        <FloorName>2</FloorName>
                        <FloorPosition>2</FloorPosition>
                        <RentableArea>16500</RentableArea>
                    </Floor>
                    
                    <Floor>
                        ...
                    </Floor>

                </Floors>
                <Spaces>
                    
                    <Space>
                        <AvailabilityDate>2017-01-01</AvailabilityDate>
                        <AvailabilityType>immediate</AvailabilityType>
                        <Description>Generic office space</Description>
                        <FloorComposition>partial</FloorComposition>
                        <FloorName>2</FloorName>
                        <FloorPosition>2</FloorPosition>
                        <InternalNotes>Needs renovation</InternalNotes>
                        <ListingDate>2017-01-01</ListingDate>
                        <MaximumContiguous>10000</MaximumContiguous>
                        <MinimumDivisible>5000</MinimumDivisible>
                        <OccupancyStatus>vacant</OccupancyStatus>
                        <PriceIsNegotiable>false</PriceIsNegotiable>
                        <Removed>false</Removed>
                        <RentalPayType>psf_year</RentalPayType>
                        <RentalRateMax>17.5</RentalRateMax>
                        <RentalRateMin>16.5</RentalRateMin>
                        <RemeasuredSpaceAvailable>9000</RemeasuredSpaceAvailable>
                        <SourceID>ABC123~201B</SourceID>
                        <SpaceAvailable>9668</SpaceAvailable>
                        <SpaceCondition>pre-existing</SpaceCondition>
                        <Suite>201B</Suite>
                        <TransactionType>lease</TransactionType>
                        <VacantOnDate>2016-12-31</VacantOnDate>
                        <MarketRent>17.0</MarketRent>
                        <CreatedAt>2016-02-05T14:03:42Z</CreatedAt>
                        <UpdatedAt>2016-05-16T08:31:06Z</UpdatedAt>
                        <TokenizedID>parkside-place-1717-main-street-2nd-floor-unit-201B-aa189423ae</TokenizedID>
                        <PublicFlag>false</PublicFlag>
                        <SpaceType>office</SpaceType>
                        <Lease>
                            <LeaseExpirationDate>2027-08-31</LeaseExpirationDate>
                            <LeaseCommencementDate>2017-03-01</LeaseCommencementDate>
                            <ExecutionDate>2017-01-31</ExecutionDate>
                            <LeaseTerm>126</LeaseTerm>
                            <LeaseStructure>triple net</LeaseStructure>
                            <SourceID/>
                            <Industry>retail</Industry>
                            <CreatedAt>2017-02-17T19:20:38Z</CreatedAt>
                            <UpdatedAt>2017-02-17T19:20:38Z</UpdatedAt>
                            <Rights>
                                <Right>
                                    <Type>rofr</Type>
                                    <Description>This is a right of first refusal</Description>
                                    <EffectiveDate>2016-01-01</EffectiveDate>
                                    <NoticeStartDate>2017-01-01</NoticeStartDate>
                                    <NoticeEndDate>2017-03-01</NoticeEndDate>
                                    <RoleType/>
                                    <Fee/>
                                    <Term/>
                                    <RateType>fixed</RateType>
                                    <RateNote/>
                                    <MinSqFt/>
                                    <MaxSqFt/>
                                    <TenantImprovement/>
                                    <ExpansionEndDate/>
                                    <Targets>
                                        <Target_Properties>
                                            <Target_Property>
                                                <TargetSourceID>XYZ456</TargetSourceID>
                                                <EntireBuilding>false</EntireBuilding>
                                                <Target_Floors/>
                                                <Target_Spaces>
                                                    <TargetSourceID>XYZ456~552A</TargetSourceID>
                                                </Target_Spaces>
                                            </Target_Property>
                                        </Target_Properties>
                                    </Targets>
                                </Right>
                                
                                <Right>
                                    ...
                                </Right>

                            </Rights>
                            <LeaseDealTerms>
                                <LeaseDealTerm>
                                    <RentableArea>9668</RentableArea>
                                    <SecurityDeposit/>
                                    <NEROverride/>
                                    <MiscDescription/>
                                    <SourceID/>
                                    <Retail>
                                        <AnnualSalesGrowthRate/>
                                        <PercentRate/>
                                        <EstimatedSales/>
                                        <UnnaturalBreakpoint/>
                                    </Retail>
                                    <BaseRents>
                                        <BaseRent>
                                            <StartDate>2017-03-01</StartDate>
                                            <EndDate>2018-02-28</EndDate>
                                            <Amount>20947.33</Amount>
                                            <Units>month</Units>
                                        </BaseRent>
                                        <BaseRent>
                                            <StartDate>2018-03-01</StartDate>
                                            <EndDate>2019-02-28</EndDate>
                                            <Amount>21954.42</Amount>
                                            <Units>month</Units>
                                        </BaseRent>
                                        <BaseRent>
                                            <StartDate>2019-03-01</StartDate>
                                            <EndDate>2020-02-29</EndDate>
                                            <Amount>22961.5</Amount>
                                            <Units>month</Units>
                                        </BaseRent>
                                        <BaseRent>
                                            ...
                                        </BaseRent>
                                    </BaseRents>
                                    <FreeRents>
                                        <FreeRent>
                                            <StartDate>2017-03-01</StartDate>
                                            <EndDate>2017-08-31</EndDate>
                                            <Amount>-26587.0</Amount>
                                            <Units>month</Units>
                                            <FreeRentType>net</FreeRentType>
                                            <Percentage>100.0</Percentage>
                                        </FreeRent>
                                        <FreeRent>
                                            ...
                                        </FreeRent>
                                    </FreeRents>
                                    <OpExs>
                                        <OpEx>
                                            <StartDate>2017-03-01</StartDate>
                                            <EndDate>2027-08-31</EndDate>
                                            <Amount>-1611.33</Amount>
                                            <Units>month</Units>
                                            <LeaseType/>
                                            <Description/>
                                        </OpEx>
                                    </OpExs>
                                    <RealEstateTaxes>
                                        <RealEstateTax>
                                            <StartDate>2017-03-01</StartDate>
                                            <EndDate>2027-08-31</EndDate>
                                            <Amount>-4028.33</Amount>
                                            <Units>month</Units>
                                            <LeaseType/>
                                            <Description/>
                                        </RealEstateTax>
                                    </RealEstateTaxes>
                                    <OtherRevenues/>
                                </LeaseDealTerm>
                            </LeaseDealTerms>
                            <Tenant>
                                <Id>408320</Id>
                                <CompanyName>Amazon, Inc</CompanyName>
                            </Tenant>
                        </Lease>
                    </Space>
                    
                    <Space>
                        ...
                    </Space>
                </Spaces>
            </Property>
            

            <Property>
                ...
            </Property>
        </Properties>
    </PortfolioData>
</PortfolioExport>

This document is proprietary and confidential. No part of this document may be disclosed in any manner to a third party without the prior written consent of View the Space Inc.


Interested in using our Next-Generation API Suite? Request Access by emailing [email protected]