Storable Reporting API

Asynchronous report requests at the facility and company level.

OpenAPI Specification

storable-reporting-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Storable Edge (storEDGE) Delinquency & Auctions Reporting 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: Reporting
  description: Asynchronous report requests at the facility and company level.
paths:
  /{facility_id}/report_requests:
    post:
      operationId: createFacilityReportRequest
      tags:
      - Reporting
      summary: Request a facility-level report bundle
      parameters:
      - $ref: '#/components/parameters/facilityId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportRequestInput'
      responses:
        '202':
          description: Report request accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportRequest'
  /{facility_id}/report_requests/{id}:
    get:
      operationId: getFacilityReportRequest
      tags:
      - Reporting
      summary: Get the status of a facility-level report request
      parameters:
      - $ref: '#/components/parameters/facilityId'
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Report request status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportRequest'
  /{facility_id}/report_requests/{id}/completed_json:
    get:
      operationId: getFacilityReportRequestResult
      tags:
      - Reporting
      summary: Get the completed JSON result of a facility-level report request
      parameters:
      - $ref: '#/components/parameters/facilityId'
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Completed report data.
  /companies/{company_id}/report_requests:
    post:
      operationId: createCompanyReportRequest
      tags:
      - Reporting
      summary: Request a company-level report bundle across facilities
      parameters:
      - $ref: '#/components/parameters/companyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportRequestInput'
      responses:
        '202':
          description: Report request accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportRequest'
components:
  schemas:
    ReportRequest:
      type: object
      properties:
        id:
          type: string
        report_type:
          type: string
        status:
          type: string
          enum:
          - pending
          - processing
          - completed
          - failed
        created_at:
          type: string
          format: date-time
    ReportRequestInput:
      type: object
      properties:
        report_type:
          type: string
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
  parameters:
    companyId:
      name: company_id
      in: path
      required: true
      description: The storEDGE company (multi-facility account) ID.
      schema:
        type: string
    facilityId:
      name: facility_id
      in: path
      required: true
      description: The storEDGE facility ID the request is scoped to.
      schema:
        type: string
  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.'