> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get one Tariff

> Retrieve a single Tariff record by its Id.

A **Tariff** (also called a Plan) is a membership plan that customers can sign up to in exchange for access to a coworking space and other benefits. Tariffs are the foundation for contracts — every time a customer signs up to a plan, Nexudus generates a `CoworkerContract` for that member based on the plan's settings.

Plans define billing frequency (in months or weeks via `InvoiceEvery` / `InvoiceEveryWeeks`), pricing, cancellation rules, and limits on check-ins, booking minutes, visitor passes, and hours. Members are invoiced at the end of each billing cycle. Plans can include benefits such as day passes, booking credits, and money credits — these are configured through `CoworkerExtraService` and `Product` entities linked to the contract.

Use `SystemTariffType` to categorise the plan (e.g. FullTimeHotDesk, VirtualOffice, Storage). Use `Visible` to control whether the plan appears on the members portal. Plans can optionally require identity checks before activation, enforce contract terms, support pausing, and define delivery handling preferences for virtual office mail.

When you edit a plan, changes impact all members signed up to that plan. To customise settings for an individual member, edit their `CoworkerContract` instead.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`Tariff-Read`** role.
</Note>

## Path Parameters

<ParamField path="id" type="integer" required>
  The Id of the Tariff record to retrieve.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/billing/tariffs/87654321" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/billing/tariffs/87654321',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const record = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/billing/tariffs/87654321',
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  record = response.json()
  ```
</CodeGroup>

## Response

### 200

<ResponseField name="BusinessId" type="integer">
  ID of the business linked to this record.
</ResponseField>

<ResponseField name="BusinessName" type="string">
  Business name.
</ResponseField>

<ResponseField name="Name" type="string">
  Plan name.
</ResponseField>

<ResponseField name="SystemTariffType" type="integer">
  Category of the plan: FullTimePrivateOffice, PartTimePrivateOffice, FullTimeDedicatedDesk, PartTimeDedicatedDesk, FullTimeHotDesk, PartTimeHotDesk, FullTimeOther, PartTimeOther, Storage, VirtualOffice, Virtual, or Other. See `eTariffType` enum values: `1` = FullTimePrivateOffice, `2` = PartTimePrivateOffice, `3` = FullTimeDedicatedDesk, `4` = PartTimeDedicatedDesk, `5` = FullTimeHotDesk, `6` = PartTimeHotDesk, `7` = FullTimeOther, `8` = PartTimeOther, `9` = Storage, `10` = VirtualOffice, `11` = Virtual, `99` = Other.
</ResponseField>

<ResponseField name="Price" type="number">
  Recurring price charged per billing cycle.
</ResponseField>

<ResponseField name="DefaultInvoicingDay" type="integer">
  Day of the month on which invoices are generated for members on this plan.
</ResponseField>

<ResponseField name="Visible" type="boolean">
  Whether the plan is visible to customers on the members portal and mobile app.
</ResponseField>

<ResponseField name="AvailableToAi" type="boolean">
  Whether this plan is available to any AI channels (Email, Chat or WhatsApp) for recommendations for private offices;.
</ResponseField>

<ResponseField name="NotesForAi" type="string">
  Custom notes provided to the AI assistant when describing this plan.
</ResponseField>

<ResponseField name="ShowPriceForAi" type="boolean">
  Whether to show the plan price to the AI assistant.
</ResponseField>

<ResponseField name="PriceForAi" type="number">
  Custom price shown to the AI assistant instead of the actual price.
</ResponseField>

<ResponseField name="UseTimePasses" type="boolean">
  Whether this plan uses time passes for check-in access.
</ResponseField>

<ResponseField name="Description" type="string">
  Plan description shown to customers.
</ResponseField>

<ResponseField name="InvoiceLineDisplayAs" type="string">
  Custom text shown on the invoice line instead of the plan name.
</ResponseField>

<ResponseField name="SignUpFee" type="number">
  One-off fee charged when a customer first signs up to this plan.
</ResponseField>

<ResponseField name="CurrencyId" type="integer">
  ID of the currency linked to this record.
</ResponseField>

<ResponseField name="CurrencyCode" type="string">
  Currency code.
</ResponseField>

<ResponseField name="TaxRateId" type="integer">
  Standard tax rate applied to charges on this plan.
</ResponseField>

<ResponseField name="ReducedTaxRateId" type="integer">
  Reduced tax rate applied when applicable.
</ResponseField>

<ResponseField name="ExemptTaxRateId" type="integer">
  Tax-exempt rate applied when applicable.
</ResponseField>

<ResponseField name="FinancialAccountId" type="integer">
  Financial account used for revenue tracking.
</ResponseField>

<ResponseField name="TermsAndConditions" type="string">
  Terms and conditions text that members must accept when signing up.
</ResponseField>

<ResponseField name="ContractDocumentFileName" type="string">
  File name of the contract document template.
</ResponseField>

<ResponseField name="NewContractDocumentUrl" type="string">
  URL to upload a new contract document template.
</ResponseField>

<ResponseField name="ClearContractDocumentFile" type="boolean">
  Set to true to remove the uploaded contract document file.
</ResponseField>

<ResponseField name="CancellationPeriod" type="integer">
  Number of days' notice required before a contract can be cancelled.
</ResponseField>

<ResponseField name="DisplayOrder" type="integer">
  Display order on the members portal (lower numbers appear first).
</ResponseField>

<ResponseField name="GroupName" type="string">
  Group name used to visually group plans together on the members portal.
</ResponseField>

<ResponseField name="DisablePortalCancellations" type="boolean">
  Prevents members from cancelling this plan through the members portal.
</ResponseField>

<ResponseField name="SubscribersLimit" type="integer">
  Maximum number of members that can be signed up to this plan at any time.
</ResponseField>

<ResponseField name="CancellationLimitDays" type="integer">
  Minimum number of days a contract must be active before it can be cancelled.
</ResponseField>

<ResponseField name="DefaultContractTerm" type="integer">
  Default minimum contract term in months for new sign-ups.
</ResponseField>

<ResponseField name="CancelMemeberAccountAfter" type="integer">
  Number of days after contract cancellation before the member account is deactivated.
</ResponseField>

<ResponseField name="CheckinPricePlanLimit" type="integer">
  Maximum number of check-ins included per billing cycle.
</ResponseField>

<ResponseField name="CheckinMonthLimit" type="integer">
  Maximum number of check-ins allowed per month.
</ResponseField>

<ResponseField name="CheckinWeekLimit" type="integer">
  Maximum number of check-ins allowed per week.
</ResponseField>

<ResponseField name="VisitorMonthLimit" type="integer">
  Maximum number of visitor passes allowed per month.
</ResponseField>

<ResponseField name="VisitorWeekLimit" type="integer">
  Maximum number of visitor passes allowed per week.
</ResponseField>

<ResponseField name="VisitorDayLimit" type="integer">
  Maximum number of visitor passes allowed per day.
</ResponseField>

<ResponseField name="HoursPricePlanLimit" type="integer">
  Maximum number of hours included per billing cycle.
</ResponseField>

<ResponseField name="HoursMonthLimit" type="integer">
  Maximum number of hours allowed per month.
</ResponseField>

<ResponseField name="HoursWeekLimit" type="integer">
  Maximum number of hours allowed per week.
</ResponseField>

<ResponseField name="BookingMinuteWeekLimit" type="integer">
  Maximum booking minutes allowed per week.
</ResponseField>

<ResponseField name="BookingMinuteMonthLimit" type="integer">
  Maximum booking minutes allowed per month.
</ResponseField>

<ResponseField name="DiscountExtraServices" type="number">
  Discount percentage for extra services.
</ResponseField>

<ResponseField name="DiscountTimePasses" type="number">
  Discount percentage for time passes.
</ResponseField>

<ResponseField name="DiscountCharges" type="number">
  Discount percentage for charges.
</ResponseField>

<ResponseField name="InvoiceEvery" type="integer">
  Billing cycle length in months. Set to 0 if billing by weeks instead.
</ResponseField>

<ResponseField name="InvoiceEveryWeeks" type="integer">
  Billing cycle length in weeks. Set to 0 if billing by months instead.
</ResponseField>

<ResponseField name="AutoCancelAfter" type="integer">
  Number of days after which the contract is automatically cancelled if not paid.
</ResponseField>

<ResponseField name="AdvanceInvoiceCycles" type="integer">
  Number of billing cycles to invoice in advance.
</ResponseField>

<ResponseField name="ProrateDayOfMonth" type="integer">
  Day of the month used to align billing cycles when prorating.
</ResponseField>

<ResponseField name="ProrateDaysBefore" type="integer">
  Number of days before the prorate day to start prorating.
</ResponseField>

<ResponseField name="ProrateCancellations" type="boolean">
  Whether to prorate the final invoice when a contract is cancelled mid-cycle.
</ResponseField>

<ResponseField name="ChargeAndExtend" type="integer">
  Number of days to extend a contract after payment is received.
</ResponseField>

<ResponseField name="ExcludeFromInvoice" type="boolean">
  Whether to exclude this plan's charges from member invoices.
</ResponseField>

<ResponseField name="AutoRaiseInvoices" type="boolean">
  Whether to automatically generate invoices at the end of each billing cycle.
</ResponseField>

<ResponseField name="RaiseInvoiceEvery" type="integer">
  Raise invoice every N months.
</ResponseField>

<ResponseField name="RaiseInvoiceEveryWeeks" type="integer">
  Raise invoice every N weeks.
</ResponseField>

<ResponseField name="MinimumPrice" type="number">
  Minimum total amount charged per billing cycle regardless of usage.
</ResponseField>

<ResponseField name="MinimumPriceIncludeTimePasses" type="boolean">
  Whether time pass charges count towards the minimum price.
</ResponseField>

<ResponseField name="MinimumPriceIncludeExtraServices" type="boolean">
  Whether extra service charges count towards the minimum price.
</ResponseField>

<ResponseField name="MinimumPriceIncludeEvents" type="boolean">
  Whether event charges count towards the minimum price.
</ResponseField>

<ResponseField name="Archived" type="boolean">
  Whether the plan is archived and no longer available for new sign-ups.
</ResponseField>

<ResponseField name="Starred" type="boolean">
  Whether the plan is starred (highlighted) on the members portal.
</ResponseField>

<ResponseField name="KeepNewAccountsOnHold" type="boolean">
  Whether new sign-ups are kept on hold until manually approved.
</ResponseField>

<ResponseField name="CanBePaused" type="boolean">
  Whether members can pause their contract on this plan.
</ResponseField>

<ResponseField name="PauseYearlyLimit" type="integer">
  Maximum number of times a contract can be paused per year.
</ResponseField>

<ResponseField name="PauseCyclesLimit" type="integer">
  Maximum number of billing cycles a contract can be paused for.
</ResponseField>

<ResponseField name="BookingDueDateStrategy" type="integer">
  Strategy for determining when booking charges are due: RenewalDate, BookingEndDate, BookingCreationDate, or NextNthOfMonth. See `eTariffBookingDueDateStrategy` enum values: `1` = RenewalDate, `2` = BookingEndDate, `3` = BookingCreationDate, `4` = NextNthOfMonth.
</ResponseField>

<ResponseField name="BookingDueDateDayOfMonth" type="integer">
  Day of the month used when BookingDueDateStrategy is NextNthOfMonth.
</ResponseField>

<ResponseField name="TotalSignUpPrice" type="number">
  Calculated total price at sign-up including the plan price and sign-up fee.
</ResponseField>

<ResponseField name="TotalPrice" type="number">
  Calculated total recurring price per billing cycle.
</ResponseField>

<ResponseField name="IsVirtualOffice" type="boolean">
  Whether this is a virtual office plan with mail handling features.
</ResponseField>

<ResponseField name="WaitForIdentityChecksToActivate" type="boolean">
  Whether to keep the contract on hold until all required identity checks are completed.
</ResponseField>

<ResponseField name="RequestAddressIdentityCheck" type="boolean">
  Whether to request an address identity check from members signing up to this plan.
</ResponseField>

<ResponseField name="AddressIdentityCheckDescription" type="string">
  Instructions shown to members when completing the address identity check.
</ResponseField>

<ResponseField name="AddressIdentityCheckProvider" type="integer">
  Provider used for address identity checks: Manual or StripeIdentity. See `eIdentityCheckProvider` enum values: `1` = Manual, `2` = StripeIdentity.
</ResponseField>

<ResponseField name="KeepPausedIfAddressMismatch" type="boolean">
  Whether to keep the contract paused if the address identity check reveals a mismatch.
</ResponseField>

<ResponseField name="AddressIdentityCheckRepeatPattern" type="integer">
  How often to repeat the address identity check: Never, Every3Months, Every6Months, Every12Months, or Every24Months. See `eIdentityCheckRepeatPattern` enum values: `1` = Never, `2` = Every3Months, `3` = Every6Months, `4` = Every12Months, `5` = Every24Months.
</ResponseField>

<ResponseField name="RequestIdentityCheck" type="boolean">
  Whether to request an identity (ID document) check from members signing up to this plan.
</ResponseField>

<ResponseField name="IdentityCheckProvider" type="integer">
  Provider used for identity checks: Manual or StripeIdentity. See `eIdentityCheckProvider` enum values: `1` = Manual, `2` = StripeIdentity.
</ResponseField>

<ResponseField name="IdentityCheckRepeatPattern" type="integer">
  How often to repeat the identity check: Never, Every3Months, Every6Months, Every12Months, or Every24Months. See `eIdentityCheckRepeatPattern` enum values: `1` = Never, `2` = Every3Months, `3` = Every6Months, `4` = Every12Months, `5` = Every24Months.
</ResponseField>

<ResponseField name="IdentityCheckDescription" type="string">
  Instructions shown to members when completing the identity check.
</ResponseField>

<ResponseField name="RequestAmlCheck" type="boolean">
  Whether to request an AML check from members signing up to this plan.
</ResponseField>

<ResponseField name="AmlCheckOpenSanctionsEnabled" type="boolean">
  Whether to enable AML checks against the OpenSanctions dataset.
</ResponseField>

<ResponseField name="AmlCheckPappersEnabled" type="boolean">
  Whether to enable AML checks against the Pappers dataset.
</ResponseField>

<ResponseField name="AmlCheckOpenSanctionsDataset" type="string">
  Which OpenSanctions dataset to check against for AML screening (e.g. 'default').
</ResponseField>

<ResponseField name="AmlCheckScoreThreshold" type="number">
  Score threshold for AML checks, between 0 and 1. Matches with a score above this threshold will be considered a positive match. Default is 0.7.
</ResponseField>

<ResponseField name="SendOnBoardingFormByEmail" type="boolean">
  Whether to email the onboarding form to new members signing up to this plan.
</ResponseField>

<ResponseField name="FormPageId" type="integer">
  ID of the onboarding form page sent to new members.
</ResponseField>

<ResponseField name="FormPageName" type="string">
  Form page name.
</ResponseField>

<ResponseField name="ProductsStore" type="integer[]">
  Product IDs for mail stored for collection (virtual office).
</ResponseField>

<ResponseField name="ProductsForward" type="integer[]">
  Product IDs for mail forwarding (virtual office).
</ResponseField>

<ResponseField name="ProductsRecycle" type="integer[]">
  Product IDs for mail recycling (virtual office).
</ResponseField>

<ResponseField name="ProductsShred" type="integer[]">
  Product IDs for mail shredding (virtual office).
</ResponseField>

<ResponseField name="ProductsScan" type="integer[]">
  Product IDs for mail scanning (virtual office).
</ResponseField>

<ResponseField name="ProductsReturn" type="integer[]">
  Product IDs for returning mail to sender (virtual office).
</ResponseField>

<ResponseField name="ProductsDeposit" type="integer[]">
  Product IDs for check deposits (virtual office).
</ResponseField>

<ResponseField name="ProductsCollect" type="integer[]">
  Product IDs for mail collection (virtual office).
</ResponseField>

<ResponseField name="DeliveryPreferencesMail" type="integer">
  Allowed handling preferences for mail deliveries (virtual office).
</ResponseField>

<ResponseField name="DeliveryPreferencesParcels" type="integer">
  Allowed handling preferences for parcel deliveries (virtual office).
</ResponseField>

<ResponseField name="DeliveryPreferencesChecks" type="integer">
  Allowed handling preferences for check deliveries (virtual office).
</ResponseField>

<ResponseField name="DeliveryPreferencesPublicity" type="integer">
  Allowed handling preferences for publicity deliveries (virtual office).
</ResponseField>

<ResponseField name="DeliveryPreferencesOther" type="integer">
  Allowed handling preferences for other deliveries (virtual office).
</ResponseField>

<ResponseField name="MaximumDeliveryStorageDays" type="integer">
  Maximum number of days deliveries are stored before being returned (virtual office).
</ResponseField>

<ResponseField name="MaximumCompanyAliases" type="integer">
  Maximum number of company name aliases allowed for mail handling (virtual office).
</ResponseField>

<ResponseField name="MaximumRecipients" type="integer">
  Maximum number of mail recipients allowed (virtual office).
</ResponseField>

<ResponseField name="MaximumAddresses" type="integer">
  Maximum number of forwarding addresses allowed (virtual office).
</ResponseField>

<ResponseField name="TransferProductsToContract" type="boolean">
  Whether to automatically transfer mail handling products to the member's contract.
</ResponseField>

<ResponseField name="Id" type="integer">
  Unique record identifier.
</ResponseField>

<ResponseField name="UniqueId" type="string">
  UUID of the record.
</ResponseField>

<ResponseField name="CreatedOn" type="string">
  Date and time the record was created (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedOn" type="string">
  Date and time the record was last updated (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedBy" type="string">
  Email of the user who last updated this record.
</ResponseField>

<ResponseField name="IsNew" type="boolean">
  Whether the record was recently created.
</ResponseField>

<ResponseField name="SystemId" type="string">
  External system identifier.
</ResponseField>

```json Example Response theme={null}
{
  "BusinessId": 0,
  "BusinessName": null,
  "Name": "",
  "SystemTariffType": 0,
  "Price": 0,
  "DefaultInvoicingDay": null,
  "Visible": false,
  "AvailableToAi": false,
  "NotesForAi": null,
  "ShowPriceForAi": false,
  "PriceForAi": null,
  "UseTimePasses": false,
  "Description": null,
  "InvoiceLineDisplayAs": null,
  "SignUpFee": null,
  "CurrencyId": 0,
  "CurrencyCode": null,
  "TaxRateId": null,
  "ReducedTaxRateId": null,
  "ExemptTaxRateId": null,
  "FinancialAccountId": null,
  "TermsAndConditions": null,
  "ContractDocumentFileName": null,
  "NewContractDocumentUrl": null,
  "ClearContractDocumentFile": null,
  "CancellationPeriod": 0,
  "DisplayOrder": 0,
  "GroupName": null,
  "DisablePortalCancellations": false,
  "SubscribersLimit": null,
  "CancellationLimitDays": null,
  "DefaultContractTerm": null,
  "CancelMemeberAccountAfter": null,
  "CheckinPricePlanLimit": null,
  "CheckinMonthLimit": null,
  "CheckinWeekLimit": null,
  "VisitorMonthLimit": null,
  "VisitorWeekLimit": null,
  "VisitorDayLimit": null,
  "HoursPricePlanLimit": null,
  "HoursMonthLimit": null,
  "HoursWeekLimit": null,
  "BookingMinuteWeekLimit": null,
  "BookingMinuteMonthLimit": null,
  "DiscountExtraServices": null,
  "DiscountTimePasses": null,
  "DiscountCharges": null,
  "InvoiceEvery": 0,
  "InvoiceEveryWeeks": 0,
  "AutoCancelAfter": null,
  "AdvanceInvoiceCycles": null,
  "ProrateDayOfMonth": null,
  "ProrateDaysBefore": null,
  "ProrateCancellations": false,
  "ChargeAndExtend": null,
  "ExcludeFromInvoice": null,
  "AutoRaiseInvoices": false,
  "RaiseInvoiceEvery": null,
  "RaiseInvoiceEveryWeeks": null,
  "MinimumPrice": null,
  "MinimumPriceIncludeTimePasses": false,
  "MinimumPriceIncludeExtraServices": false,
  "MinimumPriceIncludeEvents": false,
  "Archived": false,
  "Starred": false,
  "KeepNewAccountsOnHold": false,
  "CanBePaused": false,
  "PauseYearlyLimit": null,
  "PauseCyclesLimit": null,
  "BookingDueDateStrategy": 0,
  "BookingDueDateDayOfMonth": null,
  "TotalSignUpPrice": 0,
  "TotalPrice": 0,
  "IsVirtualOffice": false,
  "WaitForIdentityChecksToActivate": false,
  "RequestAddressIdentityCheck": false,
  "AddressIdentityCheckDescription": null,
  "AddressIdentityCheckProvider": 0,
  "KeepPausedIfAddressMismatch": false,
  "AddressIdentityCheckRepeatPattern": 0,
  "RequestIdentityCheck": false,
  "IdentityCheckProvider": 0,
  "IdentityCheckRepeatPattern": 0,
  "IdentityCheckDescription": null,
  "RequestAmlCheck": false,
  "AmlCheckOpenSanctionsEnabled": false,
  "AmlCheckPappersEnabled": false,
  "AmlCheckOpenSanctionsDataset": null,
  "AmlCheckScoreThreshold": null,
  "SendOnBoardingFormByEmail": false,
  "FormPageId": null,
  "FormPageName": null,
  "ProductsStore": [],
  "ProductsForward": [],
  "ProductsRecycle": [],
  "ProductsShred": [],
  "ProductsScan": [],
  "ProductsReturn": [],
  "ProductsDeposit": [],
  "ProductsCollect": [],
  "DeliveryPreferencesMail": 0,
  "DeliveryPreferencesParcels": 0,
  "DeliveryPreferencesChecks": 0,
  "DeliveryPreferencesPublicity": 0,
  "DeliveryPreferencesOther": 0,
  "MaximumDeliveryStorageDays": null,
  "MaximumCompanyAliases": null,
  "MaximumRecipients": null,
  "MaximumAddresses": null,
  "TransferProductsToContract": false,
  "Id": 87654321,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "CreatedOn": "2025-01-10T08:00:00Z",
  "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "UpdatedBy": "admin@example.com",
  "IsNew": false,
  "SystemId": null,
  "ToStringText": "Tariff Example",
  "LocalizationDetails": null,
  "CustomFields": null
}
```
