TenantBase Partner API

TenantBase is building an online marketplace that connects qualified tenants searching for space with available space options. By integrating with our API, you will have the opportunity to view our active requirements and provide listing content for consideration by current or future tenants.

The TenantBase Partner API provides programmatic access TenantBase platform features such as:

  1. Connect your existing listing inventory to TenantBase’s platform.
    • Eliminate manual processes and be assured that the most reliable inventory information is available to tenants on our platform.
  1. Machine learning recommendations tailored to tenant requirements and space features.
    • Proactively recommend tenants for your listing based on their requirements, including type of space, size, geography, etc..
    • Receive alerts when new tenants are discovered that would match your listing.
    • Your listing and available spaces will be automatically recommended to matching tenants.

How do I get access to the TenantBase Partner API?

Send an email to engineering@tenantbase.com and we will assist you in setting up your account.

How much does this cost?

We are able to provide the TenantBase platform and service at no cost to our users because fees associated with your lease are paid by building owners when you complete a transaction.

What if I have a suggestion or need help?

The TenantBase Partner API is under rapid development. Feel free to reach out to our team contact engineering@tenantbase.com.

Contact

API Support
engineering@tenantbase.com

Terms of Service: https://www.tenantbase.com/legal/

API Endpoints
Prod:
https://www.tenantbase.com/partner/graphql

Queries

listing

Return single listing related to user.

Returns a LeasingListingType

Name Description
token - String An optional JWT token permitting an action on behalf of a managed user
id - Int!

Example

Query
query listing($token: String, $id: Int!) {
  listing(token: $token, id: $id) {
    id
    publicNotes
    privateNotes
    created
    uuid
    building {
      ...BuildingTypeFragment
    }
    listingType
    latestSource
    website
    access
    accessDetails
    boosted
    searchScope
    rowId
    agents {
      ...ListingAgentTypeFragment
    }
    brochures {
      ...ListingBrochureTypeFragment
    }
    suites {
      ...SuiteTypeFragment
    }
    latestSuiteAvailability
    hasHadDealListingMatches
    offers {
      ...LandlordOfferTypeFragment
    }
    recommendedDeals(before: $before, after: $after, first: $first, last: $last) {
      ...ListingRecommendedDealConnectionFragment
    }
  }
}
Variables
{"token": "xyz789", "id": 123}
Response
{
  "data": {
    "listing": {
      "id": ID,
      "publicNotes": "xyz789",
      "privateNotes": "xyz789",
      "created": DateTime,
      "uuid": "xyz789",
      "building": BuildingType,
      "listingType": ListingTypeEnum,
      "latestSource": ListingLatestSource,
      "website": "abc123",
      "access": ListingAccessTypeEnum,
      "accessDetails": "abc123",
      "boosted": true,
      "searchScope": "abc123",
      "rowId": 987.65,
      "agents": [ListingAgentType],
      "brochures": [ListingBrochureType],
      "suites": [SuiteType],
      "latestSuiteAvailability": "xyz789",
      "hasHadDealListingMatches": true,
      "offers": [LandlordOfferType],
      "recommendedDeals": ListingRecommendedDealConnection
    }
  }
}

managedUsers

Retrieves list of managed users of the given partner account.

Returns a ManagedPartnerUserTypeConnection

Name Description
token - String An optional JWT token permitting an action on behalf of a managed user
externalIds - [String!] If provided, looks up specific managed accounts based off external ids
offset - Int
before - String
after - String
first - Int
last - Int

Example

Query
query managedUsers($token: String, $externalIds: [String!], $offset: Int, $before: String, $after: String, $first: Int, $last: Int) {
  managedUsers(token: $token, externalIds: $externalIds, offset: $offset, before: $before, after: $after, first: $first, last: $last) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ManagedPartnerUserTypeEdgeFragment
    }
  }
}
Variables
{
  "token": "abc123",
  "externalIds": ["xyz789"],
  "offset": 987,
  "before": "abc123",
  "after": "abc123",
  "first": 987,
  "last": 987
}
Response
{
  "data": {
    "managedUsers": {
      "pageInfo": PageInfo,
      "edges": [ManagedPartnerUserTypeEdge]
    }
  }
}

myListings

Return listings related to user.

Returns a LeasingListingTypeConnection

Name Description
token - String An optional JWT token permitting an action on behalf of a managed user
offset - Int
before - String
after - String
first - Int
last - Int

Example

Query
query myListings($token: String, $offset: Int, $before: String, $after: String, $first: Int, $last: Int) {
  myListings(token: $token, offset: $offset, before: $before, after: $after, first: $first, last: $last) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...LeasingListingTypeEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "token": "xyz789",
  "offset": 987,
  "before": "xyz789",
  "after": "abc123",
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "myListings": {
      "pageInfo": PageInfo,
      "edges": [LeasingListingTypeEdge],
      "totalCount": 987
    }
  }
}

tenantBoardDeals

Return a filtered list of deals for one or all markets.

The "market" argument is optional. If not provided, deals in all markets are returned.

Filters include:

leaseTerm - A CSV string containing lease terms.

Choices include:

  • "Less than one year"
  • "1 - 2 Years"
  • "2 - 3 Years"
  • "3 - 5 Years"
  • "5+ Years"
  • "Purchase"
  • "Lease or Purchase"

For example:

leaseTerm: "1 - 2 Years,2 - 3 Years"

market - An integer which maps to a specific market.

Choices include:

  • 1 - Nashville
  • 4 - Chicago
  • 5 - Dallas
  • 6 - Houston
  • 7 - Orange County
  • 8 - Los Angeles
  • 10 - Long Beach
  • 11 - Inland Empire
  • 12 - Atlanta
  • 13 - Austin
  • 14 - Fort Worth
  • 15 - San Antonio
  • 16 - Detroit
  • 17 - Denver
  • 18 - Las Vegas
  • 19 - Reno
  • 20 - Tahoe

For example:

market: 17

pipelineStage - Not used.

size - A CSV string containing an integer-based size range, low and high.

For example:

size: "2000,5000"

spaceType - A CSV string containing valid space types.

Choices include:

  • "Creative"
  • "Flex"
  • "General"
  • "Manufacturing"
  • "Medical"
  • "Restaurant"
  • "Storefront"
  • "Warehouse"

For example:

spaceType: "Flex,Warehouse"
Returns a TenantBoardDealTypeConnection

Name Description
token - String An optional JWT token permitting an action on behalf of a managed user
market - Int
offset - Int
before - String
after - String
first - Int
last - Int
dealId - Float
leaseTerm - String
pipelineStage - String
size - String
spaceType - String

Example

Query
query tenantBoardDeals($token: String, $market: Int, $offset: Int, $before: String, $after: String, $first: Int, $last: Int, $dealId: Float, $leaseTerm: String, $pipelineStage: String, $size: String, $spaceType: String) {
  tenantBoardDeals(token: $token, market: $market, offset: $offset, before: $before, after: $after, first: $first, last: $last, dealId: $dealId, leaseTerm: $leaseTerm, pipelineStage: $pipelineStage, size: $size, spaceType: $spaceType) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...TenantBoardDealTypeEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "token": "abc123",
  "market": 123,
  "offset": 987,
  "before": "abc123",
  "after": "xyz789",
  "first": 123,
  "last": 123,
  "dealId": 987.65,
  "leaseTerm": "xyz789",
  "pipelineStage": "xyz789",
  "size": "xyz789",
  "spaceType": "abc123"
}
Response
{
  "data": {
    "tenantBoardDeals": {
      "pageInfo": PageInfo,
      "edges": [TenantBoardDealTypeEdge],
      "totalCount": 123
    }
  }
}

whoAmI

Returns a UserType

Name Description
token - String An optional JWT token permitting an action on behalf of a managed user

Example

Query
query whoAmI($token: String) {
  whoAmI(token: $token) {
    id
    password
    lastLogin
    isSuperuser
    username
    firstName
    lastName
    email
    isStaff
    isActive
    dateJoined
    buildingphotoSet {
      ...BuildingPhotoTypeFragment
    }
    suitephotoSet {
      ...SuitePhotoTypeFragment
    }
    floorplanphotoSet {
      ...FloorplanPhotoTypeFragment
    }
    searchparameters {
      ...SearchParametersTypeFragment
    }
    advisor {
      ...AdvisorTypeFragment
    }
    offerfeedbackSet {
      ...OfferFeedbackTypeFragment
    }
    alertpreference {
      ...AlertPreferenceTypeFragment
    }
    leasingalertpreference {
      ...LeasingAlertPreferenceTypeFragment
    }
    tenantleadSet(offset: $offset, before: $before, after: $after, first: $first, last: $last) {
      ...TenantLeadTypeConnectionFragment
    }
    rowId
  }
}
Variables
{"token": "abc123"}
Response
{
  "data": {
    "whoAmI": {
      "id": ID,
      "password": "abc123",
      "lastLogin": DateTime,
      "isSuperuser": true,
      "username": "abc123",
      "firstName": "abc123",
      "lastName": "abc123",
      "email": "xyz789",
      "isStaff": false,
      "isActive": true,
      "dateJoined": DateTime,
      "buildingphotoSet": [BuildingPhotoType],
      "suitephotoSet": [SuitePhotoType],
      "floorplanphotoSet": [FloorplanPhotoType],
      "searchparameters": SearchParametersType,
      "advisor": AdvisorType,
      "offerfeedbackSet": [OfferFeedbackType],
      "alertpreference": AlertPreferenceType,
      "leasingalertpreference": LeasingAlertPreferenceType,
      "tenantleadSet": TenantLeadTypeConnection,
      "rowId": 987.65
    }
  }
}

Mutations

createListing

Create a new listing for suites in a building.

Returns a CreateListingPayload

Name Description
input - CreateListingInput!

Example

Query
mutation createListing($input: CreateListingInput!) {
  createListing(input: $input) {
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": CreateListingInput}
Response
{
  "data": {
    "createListing": {
      "listing": ListingType,
      "clientMutationId": "abc123"
    }
  }
}

createListingSuite

Create a new suite for an existing listing.

Returns a CreateListingSuitePayload

Name Description
input - CreateListingSuiteInput!

Example

Query
mutation createListingSuite($input: CreateListingSuiteInput!) {
  createListingSuite(input: $input) {
    suite {
      ...SuiteTypeFragment
    }
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": CreateListingSuiteInput}
Response
{
  "data": {
    "createListingSuite": {
      "suite": SuiteType,
      "listing": ListingType,
      "clientMutationId": "xyz789"
    }
  }
}

createManagedUser

Create a new managed API user.

Returns a CreateManagedUserPayload

Name Description
input - CreateManagedUserInput!

Example

Query
mutation createManagedUser($input: CreateManagedUserInput!) {
  createManagedUser(input: $input) {
    created
    clientMutationId
  }
}
Variables
{"input": CreateManagedUserInput}
Response
{
  "data": {
    "createManagedUser": {"created": false, "clientMutationId": "abc123"}
  }
}

createOffer

Create an offer based on specified Deal and Listing.

Returns a CreateOfferPayload

Name Description
input - CreateOfferInput!

Example

Query
mutation createOffer($input: CreateOfferInput!) {
  createOffer(input: $input) {
    offer {
      ...LandlordOfferTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": CreateOfferInput}
Response
{
  "data": {
    "createOffer": {
      "offer": LandlordOfferType,
      "clientMutationId": "abc123"
    }
  }
}

createTenantLead

Create a new tenant lead from partner referral.

Returns a CreateTenantLeadPayload

Name Description
input - CreateTenantLeadInput!

Example

Query
mutation createTenantLead($input: CreateTenantLeadInput!) {
  createTenantLead(input: $input) {
    tenantLead {
      ...TenantLeadTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": CreateTenantLeadInput}
Response
{
  "data": {
    "createTenantLead": {
      "tenantLead": TenantLeadType,
      "clientMutationId": "xyz789"
    }
  }
}

hidePhoto

Update either a building, suite, or floorplan photo.

Returns a HidePhotoPayload

Name Description
input - HidePhotoInput!

Example

Query
mutation hidePhoto($input: HidePhotoInput!) {
  hidePhoto(input: $input) {
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": HidePhotoInput}
Response
{
  "data": {
    "hidePhoto": {
      "listing": ListingType,
      "clientMutationId": "xyz789"
    }
  }
}

managedTokenAuth

Obtain JSON Web Token on behalf of a user mutation.

Example

Query
mutation managedTokenAuth($input: ObtainManagedJSONWebTokenInput!) {
  managedTokenAuth(input: $input) {
    payload
    refreshExpiresIn
    clientMutationId
    token
    refreshToken
  }
}
Variables
{"input": ObtainManagedJSONWebTokenInput}
Response
{
  "data": {
    "managedTokenAuth": {
      "payload": GenericScalar,
      "refreshExpiresIn": 987,
      "clientMutationId": "abc123",
      "token": "xyz789",
      "refreshToken": "xyz789"
    }
  }
}

refreshToken

Returns a RefreshPayload

Name Description
input - RefreshInput!

Example

Query
mutation refreshToken($input: RefreshInput!) {
  refreshToken(input: $input) {
    payload
    refreshExpiresIn
    clientMutationId
    token
    refreshToken
  }
}
Variables
{"input": RefreshInput}
Response
{
  "data": {
    "refreshToken": {
      "payload": GenericScalar,
      "refreshExpiresIn": 987,
      "clientMutationId": "abc123",
      "token": "abc123",
      "refreshToken": "abc123"
    }
  }
}

removeListing

Remove listing from user's inventory.

Returns a RemoveListingPayload

Name Description
input - RemoveListingInput!

Example

Query
mutation removeListing($input: RemoveListingInput!) {
  removeListing(input: $input) {
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": RemoveListingInput}
Response
{
  "data": {
    "removeListing": {
      "listing": ListingType,
      "clientMutationId": "abc123"
    }
  }
}

revokeToken

Returns a RevokePayload

Name Description
input - RevokeInput!

Example

Query
mutation revokeToken($input: RevokeInput!) {
  revokeToken(input: $input) {
    revoked
    clientMutationId
  }
}
Variables
{"input": RevokeInput}
Response
{"data": {"revokeToken": {"revoked": 987, "clientMutationId": "xyz789"}}}

sortPhotos

Sort either building, suite, or floorplan photos.

Returns a SortPhotosPayload

Name Description
input - SortPhotosInput!

Example

Query
mutation sortPhotos($input: SortPhotosInput!) {
  sortPhotos(input: $input) {
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": SortPhotosInput}
Response
{
  "data": {
    "sortPhotos": {
      "listing": ListingType,
      "clientMutationId": "xyz789"
    }
  }
}

tokenAuth

Obtain JSON Web Token mutation

Returns an ObtainJSONWebTokenPayload

Name Description
input - ObtainJSONWebTokenInput!

Example

Query
mutation tokenAuth($input: ObtainJSONWebTokenInput!) {
  tokenAuth(input: $input) {
    payload
    refreshExpiresIn
    clientMutationId
    token
    refreshToken
  }
}
Variables
{"input": ObtainJSONWebTokenInput}
Response
{
  "data": {
    "tokenAuth": {
      "payload": GenericScalar,
      "refreshExpiresIn": 987,
      "clientMutationId": "abc123",
      "token": "abc123",
      "refreshToken": "xyz789"
    }
  }
}

updateListing

Update listing attributes.

Returns an UpdateListingPayload

Name Description
input - UpdateListingInput!

Example

Query
mutation updateListing($input: UpdateListingInput!) {
  updateListing(input: $input) {
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": UpdateListingInput}
Response
{
  "data": {
    "updateListing": {
      "listing": ListingType,
      "clientMutationId": "abc123"
    }
  }
}

updateSuite

Update suite attributes.

Returns an UpdateSuitePayload

Name Description
input - UpdateSuiteInput!

Example

Query
mutation updateSuite($input: UpdateSuiteInput!) {
  updateSuite(input: $input) {
    suite {
      ...SuiteTypeFragment
    }
    listing {
      ...ListingTypeFragment
    }
    clientMutationId
  }
}
Variables
{"input": UpdateSuiteInput}
Response
{
  "data": {
    "updateSuite": {
      "suite": SuiteType,
      "listing": ListingType,
      "clientMutationId": "abc123"
    }
  }
}

verifyToken

Returns a VerifyPayload

Name Description
input - VerifyInput!

Example

Query
mutation verifyToken($input: VerifyInput!) {
  verifyToken(input: $input) {
    payload
    clientMutationId
  }
}
Variables
{"input": VerifyInput}
Response
{
  "data": {
    "verifyToken": {
      "payload": GenericScalar,
      "clientMutationId": "abc123"
    }
  }
}

Types

AddressInput

Input Field Description
city - String!
state - String!
street - String!
Example
{"city": "abc123", "state": "abc123", "street": "abc123"}

AdvisorOnboardingCompletionType

Fields related to an advisor's onboarding completion progress.

Field Name Description
id - ID!
hasAcceptedOneDeal - Boolean

Indicates that the advisor has accepted at least one deal through TenantBase platform. If value is None, it indicates that this is not yet applicable to the advisor - they are not the owner or proposed owner on any deal.

hasCompletedBrokerProfile - Boolean!

Indicates that the advisor has completed their broker profile.

hasCompletedLeadPreferences - Boolean!

Indicates that the advisor has filled out their lead preferences.

hasUploadedPhoto - Boolean!

Indicates that the advisor has uploaded a profile picture.

Example
{
  "id": ID,
  "hasAcceptedOneDeal": true,
  "hasCompletedBrokerProfile": true,
  "hasCompletedLeadPreferences": false,
  "hasUploadedPhoto": false
}

AdvisorType

TenantBase representation of brokers/advisors.

Field Name Description
id - ID!

The ID of the object.

rowId - Float!
bio - String!

The advisor's biographical information as markdown text.

bioRendered - String!

The advisor's biographical information formatted as HTML.

company - String!

The name of the brokerage where the advisor works.

email - String!

The advisor's email address.

firstName - String!

The advisor's first name.

lastName - String!

The advisor's last name.

leadBounds - GeoJSONMultiPolygon

The geographical region where the advisor handles deals.

leadSuiteKind - [SuiteKindTypeEnum!]!

The types of space that the advisor specializes in. This is currently limited to a single polygon, but we might extend it to support multipolygons in the future.

licenseNumber - String!

The advisor's real estate license number.

linkedinUrl - String!

The URL of the advisor's LinkedIn profile.

market - MarketType

The advisor's primary market.

marketOther - String!

A free-form representation of the advisor's market that is used when none of the core TenantBase markets are a fit. This can be used as a fallback when market is null.

meetingLink - String!

A URL for scheduling meetings with the advisor.

onboardingCompletion - AdvisorOnboardingCompletionType!

Details about the advisor's onboarding progress.

phoneNumber - String!

The advisor's phone number.

photoUrl - String!

A URL pointing to the advisor's public profile picture.

userIsAdvisor - Boolean!

Whether the user making the request is the advisor.

Example
{
  "id": ID,
  "rowId": 123.45,
  "bio": "abc123",
  "bioRendered": "abc123",
  "company": "xyz789",
  "email": "abc123",
  "firstName": "xyz789",
  "lastName": "abc123",
  "leadBounds": GeoJSONMultiPolygon,
  "leadSuiteKind": [SuiteKindTypeEnum],
  "licenseNumber": "abc123",
  "linkedinUrl": "xyz789",
  "market": MarketType,
  "marketOther": "xyz789",
  "meetingLink": "xyz789",
  "onboardingCompletion": AdvisorOnboardingCompletionType,
  "phoneNumber": "abc123",
  "photoUrl": "xyz789",
  "userIsAdvisor": true
}

AgentCreateInput

Input Field Description
name - String!
email - String!
phone - String!
company - CompanyCreateInput
Example
{
  "name": "xyz789",
  "email": "xyz789",
  "phone": "abc123",
  "company": CompanyCreateInput
}

AlertFrequencyTypeEnum

Enum Value Description

NEVER

never

DAILY

daily

WEEKLY

weekly

AlertPreferenceFrequency

An enumeration.

Enum Value Description

NEVER

never

DAILY

daily

WEEKLY

weekly

AlertPreferenceLayout

An enumeration.

Enum Value Description

ANY

Any

OFFICE

Mostly office

HALF

Half office

OPEN

Open

AlertPreferenceType

Represents a user's alert preferences.

Field Name Description
frequency - AlertPreferenceFrequency!
market - MarketType!
layout - AlertPreferenceLayout!
id - ID!

The ID of the object.

rowId - Float!
kind - [SuiteKindLegacyType!]!
monthlyBudgetRange - IntegerRangeType
officeCountRange - IntegerRangeType
sizeRange - IntegerRangeType
submarkets - [SubmarketType!]!
Example
{
  "frequency": AlertPreferenceFrequency,
  "market": MarketType,
  "layout": AlertPreferenceLayout,
  "id": ID,
  "rowId": 987.65,
  "kind": [SuiteKindLegacyType],
  "monthlyBudgetRange": IntegerRangeType,
  "officeCountRange": IntegerRangeType,
  "sizeRange": IntegerRangeType,
  "submarkets": [SubmarketType]
}

Boolean

The Boolean scalar type represents true or false.

Example
false

BuildingAccess

An enumeration.

Enum Value Description

CALL_FOR_SHOWING

Call For Showing

LOCKBOX_AND_CODE

Lockbox and Code

LOCKBOX_AND_KEY

Lockbox and Key

LEASING_MANAGER_ON_SITE

Leasing Manager On-site

KEY_AT_LEASING_OFFICE

Key at Leasing Office

OPEN_DURING_BUSINESS_HOURS

Open During Business Hours

OTHER

Other

BuildingInput

Input Field Description
id - Int
street - String
city - String
state - String
postalCode - String
name - String
Example
{
  "id": 123,
  "street": "xyz789",
  "city": "xyz789",
  "state": "abc123",
  "postalCode": "abc123",
  "name": "xyz789"
}

BuildingKind

An enumeration.

Enum Value Description

STANDARD

Standard

SHARED_SUITE

Shared Suite

BuildingPhotoType

Field Name Description
created - DateTime!
photoFile - String!
source - String
sourceId - String
sortOrder - Int!
hidden - Boolean!
rowId - Float!
id - Int!
isApproved - Boolean
isHidden - Boolean!
photoUrl - String!

Arguments

Example
{
  "created": DateTime,
  "photoFile": "abc123",
  "source": "xyz789",
  "sourceId": "abc123",
  "sortOrder": 123,
  "hidden": false,
  "rowId": 987.65,
  "id": 123,
  "isApproved": false,
  "isHidden": true,
  "photoUrl": "xyz789"
}

BuildingSearchScope

An enumeration.

Enum Value Description

BROKER_SEARCH

Broker Search

TENANT_SITE

Tenant Site

APPROVED_FOR_MARKETING

Approved For Marketing

BuildingType

Field Name Description
id - Int!
created - DateTime!
modified - DateTime!
name - String!
website - String!

A reference page with the building's suite availability, likely a page on the landlord's website.

kind - BuildingKind!
access - BuildingAccess!
accessDetails - String!
street - String!
city - String!
state - String!
postalCode - String!
location - GeoJSONPoint!
boosted - Boolean!
searchScope - BuildingSearchScope!
duplicate - Boolean!
rowId - Float!
photos - [BuildingPhotoType!]!
suites - [SuiteType!]!
Example
{
  "id": 123,
  "created": DateTime,
  "modified": DateTime,
  "name": "xyz789",
  "website": "abc123",
  "kind": BuildingKind,
  "access": BuildingAccess,
  "accessDetails": "xyz789",
  "street": "xyz789",
  "city": "abc123",
  "state": "abc123",
  "postalCode": "xyz789",
  "location": GeoJSONPoint,
  "boosted": false,
  "searchScope": BuildingSearchScope,
  "duplicate": true,
  "rowId": 987.65,
  "photos": [BuildingPhotoType],
  "suites": [SuiteType]
}

BuildingUpdateInput

Input Field Description
name - String!
Example
{"name": "abc123"}

CompanyCreateInput

Input Field Description
name - String!
website - String default = ""
Example
{
  "name": "xyz789",
  "website": ""
}

CompanyType

Field Name Description
id - Int!
name - String!
website - String!
Example
{"id": 987, "name": "abc123", "website": "abc123"}

CreateListingInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

listingData - ListingCreateInput!
clientMutationId - String
Example
{
  "token": "xyz789",
  "listingData": ListingCreateInput,
  "clientMutationId": "xyz789"
}

CreateListingPayload

Create a new listing for suites in a building.

Field Name Description
listing - ListingType!
clientMutationId - String
Example
{"listing": ListingType, "clientMutationId": "abc123"}

CreateListingSuiteInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

listingData - ListingCreateSuiteInput!
clientMutationId - String
Example
{
  "token": "xyz789",
  "listingData": ListingCreateSuiteInput,
  "clientMutationId": "abc123"
}

CreateListingSuitePayload

Create a new suite for an existing listing.

Field Name Description
suite - SuiteType!
listing - ListingType!
clientMutationId - String
Example
{
  "suite": SuiteType,
  "listing": ListingType,
  "clientMutationId": "abc123"
}

CreateManagedUserInput

Input Field Description
company - String!

The name of the user's company.

email - String!

The user's email address. This will be stored in an obfuscated format and the user will never be emailed.

externalId - String!

A unique identifier for the user, such as the user's primary key from an external database.

firstName - String!

The user's first name.

lastName - String!

The user's last name.

phoneNumber - String!

The user's work phone number.

clientMutationId - String
Example
{
  "company": "xyz789",
  "email": "xyz789",
  "externalId": "xyz789",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "phoneNumber": "abc123",
  "clientMutationId": "abc123"
}

CreateManagedUserPayload

Create a new managed API user.

Field Name Description
created - Boolean!

Indicates that the user was successfully created.

clientMutationId - String
Example
{"created": true, "clientMutationId": "xyz789"}

CreateOfferInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

offerData - OfferCreateInput!
clientMutationId - String
Example
{
  "token": "xyz789",
  "offerData": OfferCreateInput,
  "clientMutationId": "xyz789"
}

CreateOfferPayload

Create an offer based on specified Deal and Listing.

Field Name Description
offer - LandlordOfferType!
clientMutationId - String
Example
{"offer": LandlordOfferType, "clientMutationId": "abc123"}

CreateTenantLeadInput

Input Field Description
tenantLeadData - TenantLeadCreateInput!
clientMutationId - String
Example
{
  "tenantLeadData": TenantLeadCreateInput,
  "clientMutationId": "xyz789"
}

CreateTenantLeadPayload

Create a new tenant lead from partner referral.

Field Name Description
tenantLead - TenantLeadType!
clientMutationId - String
Example
{
  "tenantLead": TenantLeadType,
  "clientMutationId": "xyz789"
}

DateTime

The DateTime scalar type represents a DateTime value as specified by iso8601.

Example
object

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

FloorplanPhotoType

Field Name Description
created - DateTime!
photoFile - String!
source - String
sourceId - String
sortOrder - Int!
hidden - Boolean!
rowId - Float!
id - Int!
isApproved - Boolean
isHidden - Boolean!
photoUrl - String!

Arguments

Example
{
  "created": DateTime,
  "photoFile": "xyz789",
  "source": "xyz789",
  "sourceId": "abc123",
  "sortOrder": 987,
  "hidden": false,
  "rowId": 123.45,
  "id": 123,
  "isApproved": false,
  "isHidden": true,
  "photoUrl": "xyz789"
}

GenericScalar

The GenericScalar scalar type represents a generic GraphQL scalar value that could be: String, Boolean, Int, Float, List or Object.

Example
object

GeoJSONMultiPolygon

A GeoJSON MultiPolygon object.

Example
object

GeoJSONPoint

A GeoJSON Point object.

Example
object

GeoJSONPolygon

A GeoJSON Polygon object.

Example
object

HidePhotoInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

photoData - PhotoUpdateInput!
listingId - Int!
clientMutationId - String
Example
{
  "token": "abc123",
  "photoData": PhotoUpdateInput,
  "listingId": 123,
  "clientMutationId": "xyz789"
}

HidePhotoPayload

Update either a building, suite, or floorplan photo.

Field Name Description
listing - ListingType!
clientMutationId - String
Example
{"listing": ListingType, "clientMutationId": "xyz789"}

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
object

IdRequiredInput

Input Field Description
id - Int!
Example
{"id": 123}

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31 - 1) and 2^31 - 1 since represented in JSON as double-precision floating point numbers specifiedby IEEE 754.

Example
123

IntegerRangeType

An integer range including lower and upper bounds for the range.

Field Name Description
lower - Int

The lower bound of the range.

upper - Int

The upper bound of the range.

Example
{"lower": 987, "upper": 123}

LandlordOfferType

Type definition for landlord Offer information

Field Name Description
id - ID!

The ID of the object.

rowId - Float!
offerId - Int!
created - DateTime!
modified - DateTime!
listing - ListingType!
comments - String!
brokerLandlordResponseText - String!
brokerResponse - Int
brokerTenantResponseText - String!
concessions - String!
deal - TenantBoardDealType!
feedback - [OfferFeedbackType!]!
Example
{
  "id": ID,
  "rowId": 123.45,
  "offerId": 987,
  "created": DateTime,
  "modified": DateTime,
  "listing": ListingType,
  "comments": "abc123",
  "brokerLandlordResponseText": "xyz789",
  "brokerResponse": 987,
  "brokerTenantResponseText": "abc123",
  "concessions": "abc123",
  "deal": TenantBoardDealType,
  "feedback": [OfferFeedbackType]
}

LeasingAlertPreferenceType

Field Name Description
id - ID!

The ID of the object.

created - DateTime!
modified - DateTime!
user - UserType!
frequency - AlertFrequencyTypeEnum!
rowId - Float!
Example
{
  "id": ID,
  "created": DateTime,
  "modified": DateTime,
  "user": UserType,
  "frequency": AlertFrequencyTypeEnum,
  "rowId": 987.65
}

LeasingListingType

Field Name Description
id - ID!

The ID of the object.

publicNotes - String!
privateNotes - String!
created - DateTime!
uuid - String!
building - BuildingType!
listingType - ListingTypeEnum!
latestSource - ListingLatestSource!
website - String!

A reference page with the listing's suite availability, likely a page on the landlord's website.

access - ListingAccessTypeEnum!
accessDetails - String!
boosted - Boolean!
searchScope - String!
rowId - Float!
agents - [ListingAgentType!]!
brochures - [ListingBrochureType!]!
suites - [SuiteType!]!
latestSuiteAvailability - String
hasHadDealListingMatches - Boolean!
offers - [LandlordOfferType!]!
recommendedDeals - ListingRecommendedDealConnection

Arguments

before - String

after - String

first - Int

last - Int

Example
{
  "id": ID,
  "publicNotes": "abc123",
  "privateNotes": "abc123",
  "created": DateTime,
  "uuid": "xyz789",
  "building": BuildingType,
  "listingType": ListingTypeEnum,
  "latestSource": ListingLatestSource,
  "website": "xyz789",
  "access": ListingAccessTypeEnum,
  "accessDetails": "xyz789",
  "boosted": false,
  "searchScope": "xyz789",
  "rowId": 123.45,
  "agents": [ListingAgentType],
  "brochures": [ListingBrochureType],
  "suites": [SuiteType],
  "latestSuiteAvailability": "abc123",
  "hasHadDealListingMatches": true,
  "offers": [LandlordOfferType],
  "recommendedDeals": ListingRecommendedDealConnection
}

LeasingListingTypeConnection

Return listings related to user via ListingClaim

Field Name Description
pageInfo - PageInfo!

Pagination data for this connection.

edges - [LeasingListingTypeEdge]!

Contains the nodes in this connection.

totalCount - Int

Number of items in the queryset.

Example
{
  "pageInfo": PageInfo,
  "edges": [LeasingListingTypeEdge],
  "totalCount": 987
}

LeasingListingTypeEdge

A Relay edge containing a LeasingListingType and its cursor.

Field Name Description
node - LeasingListingType

The item at the end of the edge

cursor - String!

A cursor for use in pagination

Example
{"node": LeasingListingType, "cursor": "abc123"}

ListingAccessTypeEnum

Enum Value Description

CALL

Call For Showing

LOCKBOX_CODE

Lockbox and Code

LOCKBOX_KEY

Lockbox and Key

MANAGER

Leasing Manager On-site

KEY

Key at Leasing Office

OPEN

Open During Business Hours

OTHER

Other

ListingAgentType

Field Name Description
id - ID!
listing - LeasingListingType!
primary - Boolean!
rowId - Float!
company - CompanyType
contactType - String!
contactedBy - Int!
dateLastContacted - String!
email - String
isPrimary - Boolean!
name - String!
phone - String!
user - Int!
Example
{
  "id": ID,
  "listing": LeasingListingType,
  "primary": true,
  "rowId": 987.65,
  "company": CompanyType,
  "contactType": "xyz789",
  "contactedBy": 987,
  "dateLastContacted": "xyz789",
  "email": "abc123",
  "isPrimary": false,
  "name": "xyz789",
  "phone": "abc123",
  "user": 123
}

ListingBrochureType

Field Name Description
created - DateTime!
brochureFile - String!
source - String
rowId - Float!
Example
{
  "created": DateTime,
  "brochureFile": "abc123",
  "source": "xyz789",
  "rowId": 987.65
}

ListingCreateInput

Field Name Description
access - object
accessDetails - object
agents - object
boosted - object
building - object
listingType - object
publicNotes - object
searchScope - object
suites - object
website - object
Example
{
  "access": "\"Call For Showing\"",
  "accessDetails": "",
  "agents": [],
  "boosted": false,
  "building": BuildingInput,
  "listingType": "\"Direct Lease\"",
  "publicNotes": "",
  "searchScope": "tenant_site",
  "suites": [],
  "website": ""
}

ListingCreateSuiteInput

Input Field Description
id - Int!
suiteData - SuiteCreateInput!
Example
{"id": 987, "suiteData": SuiteCreateInput}

ListingLatestSource

An enumeration.

Enum Value Description

BROKER_CALL

Listing Broker / Owner

MARKETING_EMAIL_BLAST

Marketing email blast

BUILDOUTAPI

BuildOut

COMPANY_WEBSITE

Company website

VERSIONISTA

Versionista

LEASING_PORTAL

Leasing Portal

TENANTBOARD_SUBMISSION

TenantBoard Submission

FORTYTWOFLOORSCSV

42Floors

AIRCRECSV

AIR CRE

BOXERCSV

Boxer

CREXICSV

CREXi

YARDIMATRIXCSV

Yardi Matrix

COMMGATE

CommGate

CATYLIST

Catylist

MLS

MLS

TENANTBASE_BROKER

TenantBase Broker

NEWS_STORY_PRESS_RELEASE

News Story / Press Release

INVENTORY

Inventory

CORRECTION_AUDITS

Correction/Audits

UNKNOWN

Unknown

SIMPLEYAML

Test

ListingRecommendedDealConnection

Field Name Description
pageInfo - PageInfo!

Pagination data for this connection.

edges - [ListingRecommendedDealEdge]!

Contains the nodes in this connection.

Example
{
  "pageInfo": PageInfo,
  "edges": [ListingRecommendedDealEdge]
}

ListingRecommendedDealEdge

A Relay edge containing a ListingRecommendedDeal and its cursor.

Field Name Description
node - TenantBoardDealType

The item at the end of the edge

cursor - String!

A cursor for use in pagination

isNewDeal - Boolean!
Example
{
  "node": TenantBoardDealType,
  "cursor": "xyz789",
  "isNewDeal": true
}

ListingType

Field Name Description
id - ID!
publicNotes - String!
privateNotes - String!
created - DateTime!
uuid - String!
building - BuildingType!
listingType - ListingTypeEnum!
latestSource - ListingLatestSource!
website - String!

A reference page with the listing's suite availability, likely a page on the landlord's website.

access - ListingAccessTypeEnum!
accessDetails - String!
boosted - Boolean!
searchScope - String!
rowId - Float!
agents - [ListingAgentType!]!
brochures - [ListingBrochureType!]!
suites - [SuiteType!]!
latestSuiteAvailability - String
Example
{
  "id": ID,
  "publicNotes": "xyz789",
  "privateNotes": "xyz789",
  "created": DateTime,
  "uuid": "xyz789",
  "building": BuildingType,
  "listingType": ListingTypeEnum,
  "latestSource": ListingLatestSource,
  "website": "xyz789",
  "access": ListingAccessTypeEnum,
  "accessDetails": "abc123",
  "boosted": false,
  "searchScope": "xyz789",
  "rowId": 987.65,
  "agents": [ListingAgentType],
  "brochures": [ListingBrochureType],
  "suites": [SuiteType],
  "latestSuiteAvailability": "abc123"
}

ListingTypeEnum

Enum Value Description

DIRECT_LEASE

Direct Lease

SUBLEASE

Sublease

COWORKING

Co-Working

SALE

Sale

ListingUpdateInput

Input Field Description
id - Int!
access - ListingAccessTypeEnum
accessDetails - String
boosted - Boolean
building - BuildingUpdateInput
listingType - ListingTypeEnum
publicNotes - String
searchScope - String
website - String
Example
{
  "id": 987,
  "access": ListingAccessTypeEnum,
  "accessDetails": "abc123",
  "boosted": false,
  "building": BuildingUpdateInput,
  "listingType": ListingTypeEnum,
  "publicNotes": "abc123",
  "searchScope": "xyz789",
  "website": "xyz789"
}

ManagedPartnerUserType

Field Name Description
id - ID!

The ID of the object.

firstName - String!
lastName - String!
email - String!
rowId - Float!
externalId - String
partnerSource - String
Example
{
  "id": ID,
  "firstName": "xyz789",
  "lastName": "abc123",
  "email": "abc123",
  "rowId": 123.45,
  "externalId": "abc123",
  "partnerSource": "abc123"
}

ManagedPartnerUserTypeConnection

Field Name Description
pageInfo - PageInfo!

Pagination data for this connection.

edges - [ManagedPartnerUserTypeEdge]!

Contains the nodes in this connection.

Example
{
  "pageInfo": PageInfo,
  "edges": [ManagedPartnerUserTypeEdge]
}

ManagedPartnerUserTypeEdge

A Relay edge containing a ManagedPartnerUserType and its cursor.

Field Name Description
node - ManagedPartnerUserType

The item at the end of the edge

cursor - String!

A cursor for use in pagination

Example
{"node": ManagedPartnerUserType, "cursor": "abc123"}

MarketState

An enumeration.

Enum Value Description

AL

Alabama

AK

Alaska

AS

American Samoa

AZ

Arizona

AR

Arkansas

AA

Armed Forces Americas

AE

Armed Forces Europe

AP

Armed Forces Pacific

CA

California

CO

Colorado

CT

Connecticut

DE

Delaware

DC

District of Columbia

FL

Florida

GA

Georgia

GU

Guam

HI

Hawaii

ID

Idaho

IL

Illinois

IN

Indiana

IA

Iowa

KS

Kansas

KY

Kentucky

LA

Louisiana

ME

Maine

MD

Maryland

MA

Massachusetts

MI

Michigan

MN

Minnesota

MS

Mississippi

MO

Missouri

MT

Montana

NE

Nebraska

NV

Nevada

NH

New Hampshire

NJ

New Jersey

NM

New Mexico

NY

New York

NC

North Carolina

ND

North Dakota

MP

Northern Mariana Islands

OH

Ohio

OK

Oklahoma

OR

Oregon

PA

Pennsylvania

PR

Puerto Rico

RI

Rhode Island

SC

South Carolina

SD

South Dakota

TN

Tennessee

TX

Texas

UT

Utah

VT

Vermont

VI

Virgin Islands

VA

Virginia

WA

Washington

WV

West Virginia

WI

Wisconsin

WY

Wyoming

MarketType

TenantBase Representation of Active Markets

Field Name Description
name - String!
state - MarketState!
bounds - GeoJSONPolygon!
id - ID!

The ID of the object.

rowId - Float!
Example
{
  "name": "abc123",
  "state": MarketState,
  "bounds": GeoJSONPolygon,
  "id": ID,
  "rowId": 987.65
}

ObtainJSONWebTokenInput

Input Field Description
clientMutationId - String
username - String!
password - String!
Example
{"clientMutationId": "xyz789", "username": "abc123", "password": "abc123"}

ObtainJSONWebTokenPayload

Obtain JSON Web Token mutation

Field Name Description
payload - GenericScalar!
refreshExpiresIn - Int!
clientMutationId - String
token - String!
refreshToken - String!
Example
{
  "payload": GenericScalar,
  "refreshExpiresIn": 987,
  "clientMutationId": "abc123",
  "token": "xyz789",
  "refreshToken": "xyz789"
}

ObtainManagedJSONWebTokenInput

Input Field Description
externalId - String!

The external ID for the managed user as specified when the user was created.

clientMutationId - String
Example
{"externalId": "abc123", "clientMutationId": "xyz789"}

ObtainManagedJSONWebTokenPayload

Obtain JSON Web Token on behalf of a user mutation.

Field Name Description
payload - GenericScalar!
refreshExpiresIn - Int!
clientMutationId - String
token - String!
refreshToken - String!
Example
{
  "payload": GenericScalar,
  "refreshExpiresIn": 987,
  "clientMutationId": "xyz789",
  "token": "abc123",
  "refreshToken": "abc123"
}

OfferCreateInput

Input Field Description
comments - String!
concessions - String!
dealId - Float!
listingId - Int!
Example
{
  "comments": "xyz789",
  "concessions": "abc123",
  "dealId": 123.45,
  "listingId": 123
}

OfferFeedbackType

Type definition for client Offer feedback

Field Name Description
rowId - Float!
id - Int!
created - DateTime!
modified - DateTime!
toUserId - Int!
viewed - Boolean!
response - Int
responseText - String!
Example
{
  "rowId": 123.45,
  "id": 123,
  "created": DateTime,
  "modified": DateTime,
  "toUserId": 123,
  "viewed": true,
  "response": 123,
  "responseText": "abc123"
}

PageInfo

The Relay compliant PageInfo type, containing data necessary to paginate this connection.

Field Name Description
hasNextPage - Boolean!

When paginating forwards, are there more items?

hasPreviousPage - Boolean!

When paginating backwards, are there more items?

startCursor - String

When paginating backwards, the cursor to continue.

endCursor - String

When paginating forwards, the cursor to continue.

Example
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "startCursor": "xyz789",
  "endCursor": "abc123"
}

PhotoAliasTypeEnum

An enumeration.

Enum Value Description

ADVISOR

ADVISOR_LARGE

BUILDING_CARD

EMAIL

EMAIL_SIGNATURE_LOGO

HOMEPAGE_HERO

LEASING_CARD

LEASING_THUMB

LIGHTBOX

LIGHTBOX_THUMB

NO_CROP_THUMB

ORIGINAL

PhotoSortInput

Input Field Description
id - Int!
photoType - PhotoTypeEnum!
Example
{"id": 123, "photoType": PhotoTypeEnum}

PhotoTypeEnum

Enum Value Description

BUILDING

building

SUITE

suite

FLOORPLAN

floorplan

PhotoUpdateInput

Input Field Description
id - Int!
photoType - PhotoTypeEnum!
hidden - Boolean!
Example
{"id": 123, "photoType": PhotoTypeEnum, "hidden": true}

RateType

TenantBase RateTypes have several components, specified in a GraphQL query, e.g.:

    rate: {
        rate_type: "NNN"
        asking_rate: 500.0
        pass_throughs: 5.2
    }

NOTE: RateType field names are not camelCased like other GraphQL types.

RateType Fields

  • asking_rate - Float. The periodic $/sf/year rate for a lease.
  • rate_type - String. The rate structure type of the lease.
    • "Flat" - Flat monthly rate for the suite, not on a per-sf basis. In $/month.
    • "Gross" - Gross, no passthroughs.
    • "IG" - Industrial Gross.
    • "IGUnknownPass" - Industrial Gross with unknown passthroughs.
    • "MG" - Modified Gross.
    • "MGUnknownPass" - Modified Gross with unknown passthroughs.
    • "Net" - Generic Net lease; unsure about the structure of the nets.
    • "NetUnknownPass" - Net with unknown passthroughs.
    • "N" - Single Net
    • "NN" - Double Net
    • "NNUnknownPass" - Double Net with unknown passthroughs.
    • "NNN" - Triple Net
    • "NNNUnknownPass" - Triple Net with unknown passthroughs.
    • "PlusE" - Plus E.
    • "Unknown" - No rate information provided.
  • pass_throughs - Float. Costs of ownership passed through to tenant, in $/sf/year.
  • total_rate - Float. The periodic $/month rate for a lease.

Table of RateType rate_types and their required "amount" fields

rate_type
"Flat" total_rate
"Gross" asking_rate
"IG" asking_rate pass_throughs
"IGUnknownPass" asking_rate
"MG" asking_rate pass_throughs
"MGUnknownPass" asking_rate
"Net" asking_rate pass_throughs
"NetUnknownPass" asking_rate
"N" asking_rate pass_throughs
"NN" asking_rate pass_throughs
"NNUnknownPass" asking_rate
"NNN" asking_rate pass_throughs
"NNNUnknownPass" asking_rate
"PlusE" asking_rate
"Unknown"
"UnknownWithRate" asking_rate

NOTE: Non-required fields for each rate type will be ignored.

Example
object

RefreshInput

Input Field Description
refreshToken - String
clientMutationId - String
Example
{"refreshToken": "xyz789", "clientMutationId": "abc123"}

RefreshPayload

Field Name Description
payload - GenericScalar!
refreshExpiresIn - Int!
clientMutationId - String
token - String!
refreshToken - String!
Example
{
  "payload": GenericScalar,
  "refreshExpiresIn": 123,
  "clientMutationId": "xyz789",
  "token": "xyz789",
  "refreshToken": "abc123"
}

RemoveListingInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

listingData - IdRequiredInput!
clientMutationId - String
Example
{
  "token": "abc123",
  "listingData": IdRequiredInput,
  "clientMutationId": "abc123"
}

RemoveListingPayload

Remove listing from user's inventory.

Field Name Description
listing - ListingType!
clientMutationId - String
Example
{"listing": ListingType, "clientMutationId": "xyz789"}

RevokeInput

Input Field Description
refreshToken - String
clientMutationId - String
Example
{"refreshToken": "xyz789", "clientMutationId": "xyz789"}

RevokePayload

Field Name Description
revoked - Int!
clientMutationId - String
Example
{"revoked": 987, "clientMutationId": "xyz789"}

SearchParametersFocusType

An enumeration.

Enum Value Description

SUBMARKET

submarket

COORDINATES

coordinates

SearchParametersLayout

An enumeration.

Enum Value Description

ANY

Any

OFFICE

Mostly office

HALF

Half office

OPEN

Open

SearchParametersType

Represents a user's alert preferences.

Field Name Description
market - MarketType!
focusType - SearchParametersFocusType!
layout - SearchParametersLayout!
id - ID!

The ID of the object.

rowId - Float!
focusSubmarkets - [SubmarketType!]!
kind - [SuiteKindLegacyType!]!
monthlyBudgetRange - IntegerRangeType
officeCountRange - IntegerRangeType
sizeRange - IntegerRangeType
Example
{
  "market": MarketType,
  "focusType": SearchParametersFocusType,
  "layout": SearchParametersLayout,
  "id": ID,
  "rowId": 123.45,
  "focusSubmarkets": [SubmarketType],
  "kind": [SuiteKindLegacyType],
  "monthlyBudgetRange": IntegerRangeType,
  "officeCountRange": IntegerRangeType,
  "sizeRange": IntegerRangeType
}

SortPhotosInput

Field Name Description
token - object

An optional JWT token permitting an action on behalf of a managed user.

photos - object
listingId - object
clientMutationId - object
Example
{
  "token": "abc123",
  "photos": [PhotoSortInput],
  "listingId": 123,
  "clientMutationId": "abc123"
}

SortPhotosPayload

Sort either building, suite, or floorplan photos.

Field Name Description
listing - ListingType!
clientMutationId - String
Example
{"listing": ListingType, "clientMutationId": "xyz789"}

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

SubmarketType

Represents a submarket within a market.

Field Name Description
market - MarketType!
name - String!
bounds - GeoJSONPolygon!
id - ID!

The ID of the object.

rowId - Float!
Example
{
  "market": MarketType,
  "name": "xyz789",
  "bounds": GeoJSONPolygon,
  "id": ID,
  "rowId": 123.45
}

SuiteCreateInput

Field Name Description
isAvailable - object
clearHeightFeet - object
docks - object
dockComments - object
driveIns - object
driveInComments - object
kind - object
layout - object
minimumTermMonths - object
number - object
officeCount - object
publicNotes - object
rate - object
rsf - object
Example
{
  "isAvailable": true,
  "clearHeightFeet": 123,
  "docks": 987,
  "dockComments": "",
  "driveIns": 123,
  "driveInComments": "",
  "kind": [SuiteKindTypeEnum],
  "layout": "",
  "minimumTermMonths": 987,
  "number": "",
  "officeCount": 123,
  "publicNotes": "",
  "rate": RateType,
  "rsf": 123
}

SuiteKindLegacyType

Field Name Description
id - Int!
name - String!
slug - String!
rowId - Float!
Example
{"id": 987, "name": "abc123", "slug": "xyz789", "rowId": 987.65}

SuiteKindTypeEnum

Enum Value Description

COWORKING

executive-suite-coworking

CREATIVE_OFFICE

creative

FLEX

flex

GENERAL_OFFICE

general

MANUFACTURING

manufacturing

MEDICAL_OFFICE

medical

RESTAURANT

restaurant

STOREFRONT

storefront

WAREHOUSE

warehouse

SuitePhotoType

Field Name Description
created - DateTime!
photoFile - String!
source - String
sourceId - String
sortOrder - Int!
hidden - Boolean!
rowId - Float!
id - Int!
isApproved - Boolean
isHidden - Boolean!
photoUrl - String!

Arguments

Example
{
  "created": DateTime,
  "photoFile": "abc123",
  "source": "xyz789",
  "sourceId": "abc123",
  "sortOrder": 987,
  "hidden": true,
  "rowId": 987.65,
  "id": 987,
  "isApproved": true,
  "isHidden": true,
  "photoUrl": "xyz789"
}

SuiteType

Field Name Description
id - Int!
number - String!
rsf - Int!
rate - RateType!
rowId - Float!
clearHeightFeet - Int
docks - Int
dockComments - String!
driveIns - Int
driveInComments - String!
floorplanPhotos - [FloorplanPhotoType!]!
isAvailable - Boolean!
kind - [SuiteKindTypeEnum!]!
layout - String!
minimumTermMonths - Int
officeCount - Int
photos - [SuitePhotoType!]!
publicNotes - String!
rentEstimate - Float!
Example
{
  "id": 987,
  "number": "abc123",
  "rsf": 123,
  "rate": RateType,
  "rowId": 123.45,
  "clearHeightFeet": 123,
  "docks": 987,
  "dockComments": "abc123",
  "driveIns": 987,
  "driveInComments": "abc123",
  "floorplanPhotos": [FloorplanPhotoType],
  "isAvailable": true,
  "kind": [SuiteKindTypeEnum],
  "layout": "xyz789",
  "minimumTermMonths": 987,
  "officeCount": 987,
  "photos": [SuitePhotoType],
  "publicNotes": "xyz789",
  "rentEstimate": 123.45
}

SuiteUpdateInput

Field Name Description
id - object
clearHeightFeet - object
docks - object
dockComments - object
driveIns - object
driveInComments - object
isAvailable - object
kind - object
layout - object
minimumTermMonths - object
number - object
officeCount - object
publicNotes - object
rate - object
rsf - object
Example
{
  "id": 987,
  "clearHeightFeet": 123,
  "docks": 123,
  "dockComments": "abc123",
  "driveIns": 987,
  "driveInComments": "xyz789",
  "isAvailable": true,
  "kind": [SuiteKindTypeEnum],
  "layout": "abc123",
  "minimumTermMonths": 987,
  "number": "xyz789",
  "officeCount": 987,
  "publicNotes": "xyz789",
  "rate": RateType,
  "rsf": 123
}

TenantBoardDealType

Type definition for TenantBoard (public) Deal information

Field Name Description
dealId - Float!
id - ID!

The ID of the object.

advisors - [AdvisorType!]!
contactdealId - String!
created - String!
dealName - String!
desiredLocation - String
industry - String
leaseStartDate - String
leaseTerm - String
leaseTermMonths - Int
market - MarketType
maturity - String
pipelineStage - String!
signUpSf - String
spaceSizeHigh - Float
spaceSizeLow - Float
spaceType - String
tenantbaseUserIds - [Int!]!
transactionType - String
useOfSpace - String
hasOffers - Boolean!
locations - GeoJSONMultiPolygon
rowId - Float!
Example
{
  "dealId": 987.65,
  "id": ID,
  "advisors": [AdvisorType],
  "contactdealId": "abc123",
  "created": "abc123",
  "dealName": "abc123",
  "desiredLocation": "abc123",
  "industry": "xyz789",
  "leaseStartDate": "xyz789",
  "leaseTerm": "xyz789",
  "leaseTermMonths": 987,
  "market": MarketType,
  "maturity": "xyz789",
  "pipelineStage": "xyz789",
  "signUpSf": "xyz789",
  "spaceSizeHigh": 987.65,
  "spaceSizeLow": 987.65,
  "spaceType": "abc123",
  "tenantbaseUserIds": [987],
  "transactionType": "xyz789",
  "useOfSpace": "abc123",
  "hasOffers": false,
  "locations": GeoJSONMultiPolygon,
  "rowId": 123.45
}

TenantBoardDealTypeConnection

Return a filtered list of deals for one or all markets

Field Name Description
pageInfo - PageInfo!

Pagination data for this connection.

edges - [TenantBoardDealTypeEdge]!

Contains the nodes in this connection.

totalCount - Int

Number of items in the queryset.

Example
{
  "pageInfo": PageInfo,
  "edges": [TenantBoardDealTypeEdge],
  "totalCount": 123
}

TenantBoardDealTypeEdge

A Relay edge containing a TenantBoardDealType and its cursor.

Field Name Description
node - TenantBoardDealType

The item at the end of the edge

cursor - String!

A cursor for use in pagination

Example
{"node": TenantBoardDealType, "cursor": "xyz789"}

TenantLeadCreateInput

Input Field Description
buildingAddressOfInterest - AddressInput!
company - String
email - String!
message - String
name - String!
phone - String!
Example
{
  "buildingAddressOfInterest": AddressInput,
  "company": "xyz789",
  "email": "xyz789",
  "message": "xyz789",
  "name": "abc123",
  "phone": "xyz789"
}

TenantLeadType

Lead referral from data partner.

Field Name Description
email - String
leadAlreadyExists - Boolean
id - ID!

The ID of the object.

rowId - Float!
Example
{
  "email": "abc123",
  "leadAlreadyExists": false,
  "id": ID,
  "rowId": 987.65
}

TenantLeadTypeConnection

Field Name Description
pageInfo - PageInfo!

Pagination data for this connection.

edges - [TenantLeadTypeEdge]!

Contains the nodes in this connection.

Example
{
  "pageInfo": PageInfo,
  "edges": [TenantLeadTypeEdge]
}

TenantLeadTypeEdge

A Relay edge containing a TenantLeadType and its cursor.

Field Name Description
node - TenantLeadType

The item at the end of the edge

cursor - String!

A cursor for use in pagination

Example
{"node": TenantLeadType, "cursor": "abc123"}

UpdateListingInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

listingData - ListingUpdateInput!
clientMutationId - String
Example
{
  "token": "xyz789",
  "listingData": ListingUpdateInput,
  "clientMutationId": "xyz789"
}

UpdateListingPayload

Update listing attributes.

Field Name Description
listing - ListingType!
clientMutationId - String
Example
{"listing": ListingType, "clientMutationId": "xyz789"}

UpdateSuiteInput

Input Field Description
token - String

An optional JWT token permitting an action on behalf of a managed user.

suiteData - SuiteUpdateInput!
clientMutationId - String
Example
{
  "token": "xyz789",
  "suiteData": SuiteUpdateInput,
  "clientMutationId": "abc123"
}

UpdateSuitePayload

Update suite attributes.

Field Name Description
suite - SuiteType!
listing - ListingType!
clientMutationId - String
Example
{
  "suite": SuiteType,
  "listing": ListingType,
  "clientMutationId": "abc123"
}

UserType

Field Name Description
id - ID!
password - String!
lastLogin - DateTime
isSuperuser - Boolean!

Designates that this user has all permissions without explicitly assigning them.

username - String!

Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.

firstName - String!
lastName - String!
email - String!
isStaff - Boolean!

Designates whether the user can log into this admin site.

isActive - Boolean!

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

dateJoined - DateTime!
buildingphotoSet - [BuildingPhotoType!]!
suitephotoSet - [SuitePhotoType!]!
floorplanphotoSet - [FloorplanPhotoType!]!
searchparameters - SearchParametersType
advisor - AdvisorType
offerfeedbackSet - [OfferFeedbackType!]!
alertpreference - AlertPreferenceType
leasingalertpreference - LeasingAlertPreferenceType
tenantleadSet - TenantLeadTypeConnection!

Arguments

offset - Int

before - String

after - String

first - Int

last - Int

rowId - Float!
Example
{
  "id": ID,
  "password": "xyz789",
  "lastLogin": DateTime,
  "isSuperuser": false,
  "username": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "email": "abc123",
  "isStaff": true,
  "isActive": true,
  "dateJoined": DateTime,
  "buildingphotoSet": [BuildingPhotoType],
  "suitephotoSet": [SuitePhotoType],
  "floorplanphotoSet": [FloorplanPhotoType],
  "searchparameters": SearchParametersType,
  "advisor": AdvisorType,
  "offerfeedbackSet": [OfferFeedbackType],
  "alertpreference": AlertPreferenceType,
  "leasingalertpreference": LeasingAlertPreferenceType,
  "tenantleadSet": TenantLeadTypeConnection,
  "rowId": 987.65
}

VerifyInput

Input Field Description
token - String
clientMutationId - String
Example
{"token": "xyz789", "clientMutationId": "abc123"}

VerifyPayload

Field Name Description
payload - GenericScalar!
clientMutationId - String
Example
{"payload": GenericScalar, "clientMutationId": "xyz789"}