Storable Units & Rates API

Unit inventory, unit groups/types, and tiered rate management.

Operations 12

GET /{facility_id}/units List units #
POST /{facility_id}/units Create a unit #
GET /{facility_id}/units/available List units available for rent #
POST /{facility_id}/units/bulk_create Bulk create units #
PUT /{facility_id}/units/bulk_update Bulk update units #
GET /{facility_id}/units/rate_history Get historical unit rates #
GET /{facility_id}/units/{unit_id}/future_scheduled_rates Get future scheduled rate changes for a unit #
GET /{facility_id}/unit_groups List unit groups #
POST /{facility_id}/unit_groups Create a unit group #
GET /{facility_id}/unit_group_tier_rates List tiered rates for unit groups #
PUT /{facility_id}/unit_group_tier_rates/update Update tiered rates for unit groups #
GET /{facility_id}/discount_plans List discount plans #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/storable-units-rates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

storable-units-rates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Storable Edge (storEDGE) 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).
  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:
  schemas:
    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
          - 'null'
        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
    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
  parameters:
    facilityId:
      name: facility_id
      in: path
      required: true
      description: The storEDGE facility ID the request is scoped to.
      schema:
        type: string
    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
  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.'