Storable Units & Rates API
Unit inventory, unit groups/types, and tiered rate management.
Unit inventory, unit groups/types, and tiered rate management.
openapi: 3.0.3
info:
title: Storable Edge (storEDGE) Delinquency & Auctions Units & Rates API
description: A representative OpenAPI reference for the Storable Edge (storEDGE) REST API, the modern property-management API in the Storable brand family (SiteLink, storEDGE, SpareFoot). The endpoint paths, HTTP methods, and parameter names below are taken from Storable's public v1 API reference at https://api.storedgefms.com/docs/v1.html. That page enumerates roughly 150 endpoints across tenants, units, ledgers, leads, move-ins/outs, gate access, insurance, tasks, documents/eSign, delinquency/auctions, and reporting; this document models a representative subset of those confirmed paths per resource area rather than every documented route. Response/request body schemas below are reasonably modeled from the named resources (tenant, unit, ledger, lead, etc.) since the source page documents endpoints and parameters but was not captured with full field-by-field JSON schemas - treat schema properties as illustrative, not a verbatim contract. All calls are scoped to a facility (or company) by path parameter and authenticated with one-legged OAuth 1.0 (API access key + secret issued to a storEDGE customer, used as the OAuth consumer key/secret with no additional handshake).
version: '1.0'
contact:
name: Storable
url: https://www.storable.com/products/edge/
servers:
- url: https://api.storedgefms.com/v1
description: Storable Edge (storEDGE) production API, one-legged OAuth 1.0
security:
- oauth1: []
tags:
- name: Units & Rates
description: Unit inventory, unit groups/types, and tiered rate management.
paths:
/{facility_id}/units:
get:
operationId: listUnits
tags:
- Units & Rates
summary: List units
parameters:
- $ref: '#/components/parameters/facilityId'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/perPage'
responses:
'200':
description: A page of units.
content:
application/json:
schema:
type: object
properties:
meta:
$ref: '#/components/schemas/Meta'
units:
type: array
items:
$ref: '#/components/schemas/Unit'
post:
operationId: createUnit
tags:
- Units & Rates
summary: Create a unit
parameters:
- $ref: '#/components/parameters/facilityId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnitInput'
responses:
'201':
description: Unit created.
/{facility_id}/units/available:
get:
operationId: listAvailableUnits
tags:
- Units & Rates
summary: List units available for rent
parameters:
- $ref: '#/components/parameters/facilityId'
responses:
'200':
description: Available units.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Unit'
/{facility_id}/units/bulk_create:
post:
operationId: bulkCreateUnits
tags:
- Units & Rates
summary: Bulk create units
parameters:
- $ref: '#/components/parameters/facilityId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
units:
type: array
items:
$ref: '#/components/schemas/UnitInput'
responses:
'201':
description: Units created.
/{facility_id}/units/bulk_update:
put:
operationId: bulkUpdateUnits
tags:
- Units & Rates
summary: Bulk update units
parameters:
- $ref: '#/components/parameters/facilityId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
units:
type: array
items:
$ref: '#/components/schemas/UnitInput'
responses:
'200':
description: Units updated.
/{facility_id}/units/rate_history:
get:
operationId: getUnitRateHistory
tags:
- Units & Rates
summary: Get historical unit rates
parameters:
- $ref: '#/components/parameters/facilityId'
responses:
'200':
description: Rate history entries.
/{facility_id}/units/{unit_id}/future_scheduled_rates:
get:
operationId: getFutureScheduledRates
tags:
- Units & Rates
summary: Get future scheduled rate changes for a unit
parameters:
- $ref: '#/components/parameters/facilityId'
- name: unit_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Scheduled rate changes.
/{facility_id}/unit_groups:
get:
operationId: listUnitGroups
tags:
- Units & Rates
summary: List unit groups
parameters:
- $ref: '#/components/parameters/facilityId'
responses:
'200':
description: Unit groups.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitGroup'
post:
operationId: createUnitGroup
tags:
- Units & Rates
summary: Create a unit group
parameters:
- $ref: '#/components/parameters/facilityId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnitGroup'
responses:
'201':
description: Unit group created.
/{facility_id}/unit_group_tier_rates:
get:
operationId: listUnitGroupTierRates
tags:
- Units & Rates
summary: List tiered rates for unit groups
parameters:
- $ref: '#/components/parameters/facilityId'
responses:
'200':
description: Unit group tier rates.
/{facility_id}/unit_group_tier_rates/update:
put:
operationId: updateUnitGroupTierRates
tags:
- Units & Rates
summary: Update tiered rates for unit groups
parameters:
- $ref: '#/components/parameters/facilityId'
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Tier rates updated.
/{facility_id}/discount_plans:
get:
operationId: listDiscountPlans
tags:
- Units & Rates
summary: List discount plans
parameters:
- $ref: '#/components/parameters/facilityId'
responses:
'200':
description: Discount plans.
components:
parameters:
perPage:
name: per_page
in: query
description: Items per page for paginated collection endpoints (default 100).
schema:
type: integer
default: 100
page:
name: page
in: query
description: Page number for paginated collection endpoints.
schema:
type: integer
default: 1
facilityId:
name: facility_id
in: path
required: true
description: The storEDGE facility ID the request is scoped to.
schema:
type: string
schemas:
Unit:
type: object
properties:
id:
type: string
unit_number:
type: string
unit_group_id:
type: string
unit_type_id:
type: string
width:
type: number
length:
type: number
standard_rate:
type: number
web_rate:
type: number
status:
type: string
enum:
- available
- rented
- unrentable
UnitGroup:
type: object
properties:
id:
type: string
name:
type: string
max_rate:
type: number
Meta:
type: object
description: Every storEDGE response body includes a meta hash with request parameters, method, pagination, and status/error details.
properties:
status_code:
type: integer
status_message:
type: string
error_code:
type: integer
nullable: true
request_id:
type: string
page:
type: integer
per_page:
type: integer
total_count:
type: integer
UnitInput:
type: object
properties:
unit_number:
type: string
unit_group_id:
type: string
unit_type_id:
type: string
width:
type: number
length:
type: number
standard_rate:
type: number
securitySchemes:
oauth1:
type: http
scheme: oauth1
description: 'Non-standard OpenAPI representation of storEDGE''s actual scheme: one-legged OAuth 1.0. The API access key issued to a storEDGE customer is used as the OAuth consumer key and the API secret key as the consumer secret, signing each request; there is no three-legged redirect/token exchange.'