Subscriptions

Get the effective subscription

Returns the terms the company is actually on: every price, limit, and feature switch from its plan, with any negotiated override already applied. This is the one place to read what a company is allowed to do and what it is charged for.

GET
https://services.magicdoor.com/subscriptions/company-portal/subscriptions/effective

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Response

200 · The company's effective terms. A company with no subscription on file is put on the free plan and gets its terms back, rather than an error.

subscriptionPlanKeystringrequired

Which plan the company is on, by the plan's key.

subscriptionTypeenum<string>required

The tier the plan belongs to.

freeadvancedprofessional
planVersionstringrequired

Which revision of that plan the terms come from. Plans are versioned, so two companies on the same plan key can be on different terms.

statusenum<string>required

active is a subscription in good standing. cancellationRequest means the company has asked to cancel but is still being served. inactive means the subscription is not running.

activecancellationRequestinactive
hasContractbooleanrequired

True when the company is on a term contract rather than month to month.

contractEndDatestring · date

The day the contract runs to. Absent when there is no contract or no end date has been set.

cancelAtContractEndbooleanrequired

True when the subscription is set to stop when the contract runs out instead of renewing.

saasFeePerUnitnumberrequired

The monthly software fee per lease, in dollars. The monthly charge is this multiplied by the company's active lease count, but never fewer leases than minimumSubscriptionLeases. Ignored entirely when fixedSaasPrice is present.

fixedSaasPricenumber

A flat monthly software fee in dollars, agreed instead of per-lease pricing. When present it is the whole software charge and saasFeePerUnit is not used — including when it is 0.00, which means no software fee at all. Absent for per-lease pricing.

minimumSubscriptionLeasesintegerrequired

The lease count the monthly software fee is billed on when the company has fewer active leases than this. A company with 3 leases and a minimum of 10 pays for 10.

maximumLeaseinteger

The plan's cap on lease count. Absent when the plan sets no cap.

minimumDaysBetweenSweepsintegerrequired

How far apart the days in a bank account's sweep schedule must be. A schedule with two days closer together than this is rejected.

tenantTransactionFeenumberrequired

What MagicDoor charges the company per tenant payment, in dollars.

outgoingAchFeenumberrequired

What MagicDoor charges per outgoing ACH transfer, in dollars.

achReturnFeenumberrequired

What MagicDoor charges when an ACH payment is returned, in dollars.

creditCardDisputeFeenumberrequired

What MagicDoor charges when a card payment is disputed, in dollars.

zellePaymentFeenumberrequired

What MagicDoor charges per Zelle payment, in dollars.

maximumSingleTenantTransactionAmountnumber

The largest single tenant payment allowed, in dollars. Absent means no limit.

maximumTenantPaymentsVolumenumber

The ceiling on tenant payment volume, in dollars. Absent means no limit.

maximumOutgoingAchTransactionAmountnumber

The largest single outgoing ACH transfer allowed, in dollars. Absent means no limit.

maximumOutgoingAchTransactionTotalVolumenumber

The ceiling on outgoing ACH volume, in dollars. Absent means no limit.

allowCreditCardbooleanrequired

Whether tenants may pay by card.

allowAchbooleanrequired

Whether tenants may pay by ACH bank transfer.

allowZellebooleanrequired

Whether Zelle payments may be recorded.

allowConvenienceFeesbooleanrequired

Whether the company may pass a convenience fee on to the payer.

creditCardFeePercentnumberrequired

The legacy card fee rate, used only by the older Stripe integration. For anything current, read the cardProcessing… rates below instead.

cardProcessingCreditPercentnumberrequired

Rate on a consumer credit card (Visa, Mastercard, Discover), as a fraction — 0.0335 is 3.35%.

cardProcessingCreditFixedAmountnumberrequired

Flat amount added per consumer credit card transaction, in dollars.

cardProcessingAmexCreditPercentnumberrequired

Rate on an American Express consumer credit card, as a fraction — 0.0385 is 3.85%.

cardProcessingAmexCreditFixedAmountnumberrequired

Flat amount added per American Express consumer credit transaction, in dollars.

cardProcessingBusinessCreditPercentnumberrequired

Rate on a business or commercial credit card, as a fraction — 0.0425 is 4.25%.

cardProcessingBusinessCreditFixedAmountnumberrequired

Flat amount added per business credit card transaction, in dollars.

cardProcessingDebitPercentnumberrequired

Rate on a regulated consumer debit card, as a fraction — 0.019 is 1.9%.

cardProcessingDebitFixedAmountnumberrequired

Flat amount added per regulated consumer debit transaction, in dollars.

cardProcessingExemptDebitPercentnumberrequired

Rate on a consumer debit card that is exempt from regulation, or whose type could not be determined, as a fraction — 0.0295 is 2.95%.

cardProcessingExemptDebitFixedAmountnumberrequired

Flat amount added per exempt or unknown consumer debit transaction, in dollars.

cardProcessingBusinessDebitPercentnumberrequired

Rate on a business or commercial debit card, as a fraction — 0.0315 is 3.15%.

cardProcessingBusinessDebitFixedAmountnumberrequired

Flat amount added per business debit card transaction, in dollars.

allowCustomDomainsbooleanrequired

Whether the company may point its own domain at its MagicDoor website.

websiteMaxCustomPagesinteger

How many custom pages the company's website may have. Absent means no limit.

globalAiEnabledbooleanrequired

Whether the company's AI features are switched on.

enableAiRunbooksbooleanrequired

Whether AI runbooks are available to the company.

liveSupportEnabledbooleanrequired

Whether the company can reach MagicDoor support live.

ticketSupportEnabledbooleanrequired

Whether the company can raise support tickets.

supportHoursPerMonthintegerrequired

Hours of support included each month under the plan.

monthlyTcrFeenumberrequired

Monthly fee for the texting campaign registration that carriers require, in dollars.

tcrRegistrationFeenumberrequired

One-off fee to register for texting, in dollars.

textingCostPerMessagenumberrequired

What each text message costs the company, in dollars.

transunionCreditReportFeenumberrequired

What a TransUnion credit report costs, in dollars.

transunionCriminalReportFeenumberrequired

What a TransUnion criminal report costs, in dollars.

transunionEvictionsReportFeenumberrequired

What a TransUnion eviction report costs, in dollars.

damageWaiverCostnumberrequired

What MagicDoor charges the company per damage waiver, in dollars.

residentBenefitBundleCostsobjectrequired

What each resident benefit bundle costs the company per month, in dollars, keyed by the bundle's catalog key. A bundle missing from the map is charged the catalog's own default. Empty when nothing has been priced specially for this company.

bankFeedMonthlyFeenumberrequired

Monthly fee per connected bank login, in dollars. One login can cover several accounts and is still billed once. Charged on the 1st for every active connection.

bankFeedManualRefreshFeenumberrequired

What a manual bank feed refresh costs once the free monthly allowance is used up, in dollars.

bankFeedFreeRefreshQuotaintegerrequired

How many manual bank feed refreshes are free each month.

401 · The access token is missing, expired, or not valid.

Every value here starts life on a subscription plan, and a company can be given a negotiated override on almost any of them. This endpoint hands you the result of that merge — the override where one exists, the plan's value where it does not. There is no way to tell from the response which is which, and there does not need to be: these are the numbers the company is actually on.

The response is a snapshot, not a subscription to changes. Read it when you need it rather than caching it for long.

Rates are fractions, not percentages

Every field whose name ends in Percent is a fraction: 0.0335 means 3.35%. Multiply by 100 before showing it to anyone. The FixedAmount fields beside them are plain dollar amounts added on top of the rate.

Two shapes, and fixedSaasPrice decides which:

  • fixedSaasPrice present — that is the whole monthly software fee, whatever the lease count. A fixed price of 0.00 is a real answer: no software fee.
  • fixedSaasPrice absent — the fee is saasFeePerUnit multiplied by the company's active leases, floored at minimumSubscriptionLeases. A company with 12 active leases, a per-lease fee of 2.50, and a minimum of 25 is charged for 25 leases.