Skip to content

API Documentation

Technical documentation for developers integrating with the Fitor API.

UNSTABLE API

The Fitor API is currently UNSTABLE and may change without notice.

Breaking changes can occur at any time. We recommend:

  • Not building production integrations without contacting us first
  • Monitoring our changelog for updates
  • Testing thoroughly after any system updates

Overview

Fitor provides a REST API for programmatic access to property management data and operations.

API Type

AttributeValue
ProtocolREST (JSON)
AuthenticationOAuth 2.0 / Bearer Token
FormatJSON
EncodingUTF-8

Route pattern

Every resource is namespaced by module and version:

/{module}/v{version}/{resource}

For example /rental/v1/leases, /billing/v1/invoices. There is no single generic /api base path — the module name is part of every route.

Getting Access

Request API Access

To obtain API credentials:

  1. Contact us at [email protected]
  2. Describe your integration use case
  3. We will provide:
    • Client ID
    • Client Secret
    • OpenAPI 3 schema documentation

Authentication

All API requests require authentication via Bearer token:

http
Authorization: Bearer <your_access_token>

OpenAPI Schema

Full API documentation is available as an OpenAPI 3.0 specification.

To request the schema:

  1. Email [email protected]
  2. Include your organization name
  3. Describe your integration needs
  4. We will send the schema file

The schema includes:

  • All available endpoints
  • Request/response formats
  • Data models
  • Authentication details

Rate Limiting

LimitValue
Requests per minute120 (sliding window)

There is no separate hourly or burst bucket — a single 120/minute sliding window applies. A request over the limit gets 429 Too Many Requests with a Retry-After header (seconds to wait):

http
HTTP/1.1 429 Too Many Requests
Retry-After: 12
json
{
  "error": "rate_limited",
  "message": "Too many requests. Retry after 12 seconds.",
  "retryAfter": 12
}

Available Modules

The API provides access to the following modules:

Module code (route prefix)Description
rentalProperties, leases, tenants
billingInvoices, payments, accounts
accountingVouchers, transactions, reports
accounts-payablePurchase invoices, payment proposals
maintenanceWork orders, requests
vendorSupplier management
documentFile management
assetFixed asset register

Error Handling

HTTP Status Codes

CodeMeaning
200Success
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
422Validation Error
429Rate Limited
500Server Error

Error Response Format

Errors follow RFC 7807 Problem Details:

json
{
  "type": "https://fitor.fi/errors/validation",
  "title": "Validation Error",
  "status": 422,
  "detail": "The request contains invalid data.",
  "errorCode": "VALIDATION_FAILED",
  "violations": [
    {
      "propertyPath": "email",
      "message": "This value is not a valid email address.",
      "code": "INVALID_EMAIL"
    }
  ]
}

errorCode is the stable machine-readable identifier to key integration logic on — title/detail/message are English prose for developers and may change wording without notice.

Webhooks

Webhooks are available for real-time event notifications.

Contact [email protected] to configure webhooks for:

  • Invoice created/paid
  • Lease signed/terminated
  • Work order completed
  • Payment received

Support

Technical Support

For API-related questions:

Changelog

API changes are communicated via:

  • Email to registered developers
  • Changelog in the API documentation

Terms of Use

By using the Fitor API, you agree to:

  • Use the API only for authorized purposes
  • Not exceed rate limits
  • Not attempt to access unauthorized data
  • Maintain security of your credentials

Contact Us

For API access, documentation, or support:

Email: [email protected]

Include:

  • Your organization name
  • Intended use case
  • Contact information