Open API v2 / Member Areas / Member Areas

Member Areas

Every request needs a bearer token: Authorization: Bearer <token>. Base URL https://your-site.webinone.com. New to field types? See the type reference.

GET/api/v2/admin/member-areas#

Retrieves a list of member areas by using a "where" filtering

Parameters
Wherestring · query
JSON filter expression. Combine operators ($eq, $contains, $gt, $in, …) with $and / $or.
Order_Bystring · query
Sort field. Prefix with - for descending; comma-separate for tie-breakers.
Semantic_Querystring · query
Natural-language search, ranked by relevance.
Min_Scorenumber · query
Lowest relevance score to include when using Semantic_Query.
Offsetinteger · query
Number of items to skip before returning results. Defaults to 0.
Limitinteger · query
Maximum number of items to return. Defaults to 100.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the secure zone.
LandingPageIdinteger
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
CountPaidSubscribersinteger
Number of users who have already paid.
MembersCountinteger
Total number of participants.
ExpiryDateTimestring · date-time
Expiry timestamp (ISO 8601).
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryAfterinteger
Expiry after.
AccessTypestring · nullable
Sets the access type to this Secure Zone.
PaymentIntervalstring · nullable
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone.
Pricesarray of objects
An array of objects with prices for different currencies/countries.
curl "https://your-site.webinone.com/api/v2/admin/member-areas" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "Items": [
    {
      "Id": 1,
      "Name": "Example",
      "LandingPageId": 1,
      "CountPaidSubscribers": 0,
      "MembersCount": 0,
      "ExpiryDateTime": "2026-07-01T00: 00: 00Z",
      "ExpiryDateOption": "string",
      "ExpiryAfter": 0,
      "AccessType": "string",
      "PaymentInterval": "string",
      "Prices": [
        {
          "Value": 0,
          "CurrencyCountry": {
            "Hash": 0,
            "CurrencyId": "USD",
            "Currency": "USD",
            "CountryId": "string",
            "CountryAbbreviation": "string"
          }
        }
      ]
    }
  ],
  "TotalItemsCount": 0
}
POST/api/v2/admin/member-areas#

Creates a new member area

Body parameters
Namestringrequired
Name of the secure zone.
LandingPageIdinteger · nullable
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryDateTimestring · date-time · nullable
Expiry timestamp (ISO 8601).
ExpiryAfterinteger · nullable
Expiry after.
AccessTypeenum
Sets the access type to this Secure Zone. "Free Access" allows subscriptions without requiring payment. "Paid Access" allows pricing to be assigned to the Secure Zone via subscription forms.Possible values: FreePaid
PaymentIntervalenum
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone. "Weekly" billing recurs every week from initial subscription date. "Monthly" billing recurs every month from initial subscription date. "Yearly" billing recurs every year from initial subscription date. "Daily" billing recurs every day from initial subscription date.Possible values: NoneDailyWeeklyFortnightlyMonthlyQuarterlyHalfYearlyYearly
Pricesarray of objects
An array of objects with prices for different currencies/countries. Available for AccessType=Paid. If AccessType=Free, an empty array is returned.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the secure zone.
LandingPageIdinteger
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
CountPaidSubscribersinteger
Number of users who have already paid.
MembersCountinteger
Total number of participants.
ExpiryDateTimestring · date-time
Expiry timestamp (ISO 8601).
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryAfterinteger
Expiry after.
AccessTypestring · nullable
Sets the access type to this Secure Zone.
PaymentIntervalstring · nullable
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone.
Pricesarray of objects
An array of objects with prices for different currencies/countries.
curl -X POST "https://your-site.webinone.com/api/v2/admin/member-areas" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"Name":"Example","LandingPageId":1,"ExpiryDateOption":"string","ExpiryDateTime":"2026-07-01T00:00:00Z","ExpiryAfter":0,"AccessType":"Free","PaymentInterval":"None","Prices":[{"Value":0,"CurrencyCountry":{"Hash":0,"CurrencyId":"USD","Currency":"USD","CountryId":"string","CountryAbbreviation":"string"}}]}'
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "LandingPageId": 1,
  "CountPaidSubscribers": 0,
  "MembersCount": 0,
  "ExpiryDateTime": "2026-07-01T00: 00: 00Z",
  "ExpiryDateOption": "string",
  "ExpiryAfter": 0,
  "AccessType": "string",
  "PaymentInterval": "string",
  "Prices": [
    {
      "Value": 0,
      "CurrencyCountry": {
        "Hash": 0,
        "CurrencyId": "USD",
        "Currency": "USD",
        "CountryId": "string",
        "CountryAbbreviation": "string"
      }
    }
  ]
}
GET/api/v2/admin/member-areas/{id}#

Retrieves a single member area

Parameters
idinteger · pathrequired
Member area id.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the secure zone.
LandingPageIdinteger
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
CountPaidSubscribersinteger
Number of users who have already paid.
MembersCountinteger
Total number of participants.
ExpiryDateTimestring · date-time
Expiry timestamp (ISO 8601).
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryAfterinteger
Expiry after.
AccessTypestring · nullable
Sets the access type to this Secure Zone.
PaymentIntervalstring · nullable
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone.
Pricesarray of objects
An array of objects with prices for different currencies/countries.
curl "https://your-site.webinone.com/api/v2/admin/member-areas/1" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "LandingPageId": 1,
  "CountPaidSubscribers": 0,
  "MembersCount": 0,
  "ExpiryDateTime": "2026-07-01T00: 00: 00Z",
  "ExpiryDateOption": "string",
  "ExpiryAfter": 0,
  "AccessType": "string",
  "PaymentInterval": "string",
  "Prices": [
    {
      "Value": 0,
      "CurrencyCountry": {
        "Hash": 0,
        "CurrencyId": "USD",
        "Currency": "USD",
        "CountryId": "string",
        "CountryAbbreviation": "string"
      }
    }
  ]
}
PUT/api/v2/admin/member-areas/{id}#

Updates an existing member area

Parameters
idinteger · pathrequired
Existent member area id.
Body parameters
Namestringrequired
Name of the secure zone.
LandingPageIdinteger · nullable
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryDateTimestring · date-time · nullable
Expiry timestamp (ISO 8601).
ExpiryAfterinteger · nullable
Expiry after.
AccessTypeenum
Sets the access type to this Secure Zone. "Free Access" allows subscriptions without requiring payment. "Paid Access" allows pricing to be assigned to the Secure Zone via subscription forms.Possible values: FreePaid
PaymentIntervalenum
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone. "Weekly" billing recurs every week from initial subscription date. "Monthly" billing recurs every month from initial subscription date. "Yearly" billing recurs every year from initial subscription date. "Daily" billing recurs every day from initial subscription date.Possible values: NoneDailyWeeklyFortnightlyMonthlyQuarterlyHalfYearlyYearly
Pricesarray of objects
An array of objects with prices for different currencies/countries. Available for AccessType=Paid. If AccessType=Free, an empty array is returned.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the secure zone.
LandingPageIdinteger
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
CountPaidSubscribersinteger
Number of users who have already paid.
MembersCountinteger
Total number of participants.
ExpiryDateTimestring · date-time
Expiry timestamp (ISO 8601).
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryAfterinteger
Expiry after.
AccessTypestring · nullable
Sets the access type to this Secure Zone.
PaymentIntervalstring · nullable
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone.
Pricesarray of objects
An array of objects with prices for different currencies/countries.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/member-areas/1" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"Name":"Example","LandingPageId":1,"ExpiryDateOption":"string","ExpiryDateTime":"2026-07-01T00:00:00Z","ExpiryAfter":0,"AccessType":"Free","PaymentInterval":"None","Prices":[{"Value":0,"CurrencyCountry":{"Hash":0,"CurrencyId":"USD","Currency":"USD","CountryId":"string","CountryAbbreviation":"string"}}]}'
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "LandingPageId": 1,
  "CountPaidSubscribers": 0,
  "MembersCount": 0,
  "ExpiryDateTime": "2026-07-01T00: 00: 00Z",
  "ExpiryDateOption": "string",
  "ExpiryAfter": 0,
  "AccessType": "string",
  "PaymentInterval": "string",
  "Prices": [
    {
      "Value": 0,
      "CurrencyCountry": {
        "Hash": 0,
        "CurrencyId": "USD",
        "Currency": "USD",
        "CountryId": "string",
        "CountryAbbreviation": "string"
      }
    }
  ]
}
DELETE/api/v2/admin/member-areas/{id}#

Deletes an existing member area

Parameters
idinteger · pathrequired
Existent member area id.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/member-areas/1" \
  -H "Authorization: Bearer <token>"
POST/api/v2/admin/member-areas/{id}/add-members#

Creates a new member area members

Parameters
idstring · pathrequired
Existent member area id.
Body parameters
SendNotificationboolean
If true, the system will automatically send an email notification to each user about granting access.
MemberIdsarray of strings
A list of unique user IDs that are granted access.
SecureZonePointerobject
Reference to the secure zone the listed members are being added to.
curl -X POST "https://your-site.webinone.com/api/v2/admin/member-areas/1/add-members" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"SendNotification":false,"MemberIds":["string"],"SecureZonePointer":{"Pointer":0,"TypeId":1,"InstanceId":1,"DbTypeId":1,"DbInstanceId":1}}'
GET/api/v2/admin/member-areas/{id}/content#

Retrieves a list of member area content

Parameters
idstring · pathrequired
Resource identifier.
moduleIdinteger · query
ModuleId.
moduleAliasstring · query
ModuleAlias.
Response
Securedarray of objects
The content URLs that are currently protected by the secure zone and require membership to access.
UnSecuredarray of objects
The content URLs that are publicly accessible and not protected by the secure zone.
curl "https://your-site.webinone.com/api/v2/admin/member-areas/1/content" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "Secured": [
    {
      "Id": "string",
      "Url": "https://example.com"
    }
  ],
  "UnSecured": [
    {
      "Id": "string",
      "Url": "https://example.com"
    }
  ]
}
POST/api/v2/admin/member-areas/{id}/content#

Creates a new member area content

Parameters
idstring · pathrequired
Existent member area id.
Body parameters
ContentIdsarray of strings
An array of unique identifiers. Can contain page IDs, content blocks, or media files.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the secure zone.
LandingPageIdinteger
Selecting a Page here determines the page to redirect a user to after a Secure Zone signup form submission.
CountPaidSubscribersinteger
Number of users who have already paid.
MembersCountinteger
Total number of participants.
ExpiryDateTimestring · date-time
Expiry timestamp (ISO 8601).
ExpiryDateOptionstring · nullable
Expiry date option.
ExpiryAfterinteger
Expiry after.
AccessTypestring · nullable
Sets the access type to this Secure Zone.
PaymentIntervalstring · nullable
When 'Paid Access' type is applied, this option allows a billing recursion to the Secure Zone.
Pricesarray of objects
An array of objects with prices for different currencies/countries.
curl -X POST "https://your-site.webinone.com/api/v2/admin/member-areas/1/content" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"ContentIds":["string"]}'
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "LandingPageId": 1,
  "CountPaidSubscribers": 0,
  "MembersCount": 0,
  "ExpiryDateTime": "2026-07-01T00: 00: 00Z",
  "ExpiryDateOption": "string",
  "ExpiryAfter": 0,
  "AccessType": "string",
  "PaymentInterval": "string",
  "Prices": [
    {
      "Value": 0,
      "CurrencyCountry": {
        "Hash": 0,
        "CurrencyId": "USD",
        "Currency": "USD",
        "CountryId": "string",
        "CountryAbbreviation": "string"
      }
    }
  ]
}
DELETE/api/v2/admin/member-areas/{id}/content#

Deletes an existing member area content

Parameters
idstring · pathrequired
Existent member area id.
Body parameters
ContentIdsarray of strings
An array of unique identifiers. Can contain page IDs, content blocks, or media files.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/member-areas/1/content" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"ContentIds":["string"]}'
GET/api/v2/admin/member-areas/{id}/files#

Retrieves a list of member area files

Parameters
idstring · pathrequired
Existent member area id.
Response
FolderContentarray of objects
Files and folders available within the secure zone's storage location.
SecureZoneSecuredContentarray of objects
The content items that have been explicitly secured behind this member area.
curl "https://your-site.webinone.com/api/v2/admin/member-areas/1/files" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "FolderContent": [
    {
      "LocationPath": "string",
      "Name": "Example",
      "SizeBytes": 0,
      "Content": "string",
      "Extension": "string",
      "IsEmpty": false,
      "Url": "https://example.com",
      "LastWriteTime": "2026-07-01T00: 00: 00Z",
      "IsFolder": false,
      "SecureZoneIds": [
        "string"
      ]
    }
  ],
  "SecureZoneSecuredContent": [
    {
      "Id": "string",
      "Url": "https://example.com",
      "Extension": "string",
      "SecureZoneIds": [
        "string"
      ]
    }
  ]
}
GET/api/v2/admin/member-areas/{id}/members#

Retrieves a list of member area members

Parameters
idinteger · pathrequired
Existent member area id.
Wherestring · query
JSON filter expression. Combine operators ($eq, $contains, $gt, $in, …) with $and / $or.
Order_Bystring · query
Sort field. Prefix with - for descending; comma-separate for tie-breakers.
Semantic_Querystring · query
Natural-language search, ranked by relevance.
Min_Scorenumber · query
Lowest relevance score to include when using Semantic_Query.
Offsetinteger · query
Number of items to skip before returning results. Defaults to 0.
Limitinteger · query
Maximum number of items to return. Defaults to 100.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
FirstNamestring · nullable
The member's first name.
LastNamestring · nullable
The member's last name.
Emailstring · nullable
Email address.
CreatedDateTimestring · date-time
When the record was created (ISO 8601). Read-only.
ExpiryDateTimestring · date-time
Expiry timestamp (ISO 8601).
curl "https://your-site.webinone.com/api/v2/admin/member-areas/1/members" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "Items": [
    {
      "Id": 1,
      "FirstName": "Example",
      "LastName": "Example",
      "Email": "user@example.com",
      "CreatedDateTime": "2026-07-01T00: 00: 00Z",
      "ExpiryDateTime": "2026-07-01T00: 00: 00Z"
    }
  ],
  "TotalItemsCount": 0
}
DELETE/api/v2/admin/member-areas/{id}/remove-members#

Deletes an existing member area members

Parameters
idinteger · pathrequired
Existent member area id.
Body parameters
MemberIdsarray of strings
A list of unique user IDs that are granted access.
SecureZonePointerobject
Reference to the secure zone the members are being managed in.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/member-areas/1/remove-members" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"MemberIds":["string"],"SecureZonePointer":{"Pointer":0,"TypeId":1,"InstanceId":1,"DbTypeId":1,"DbInstanceId":1}}'
PUT/api/v2/admin/member-areas/{id}/secure#

Updates an existing member area secure content

Parameters
idstring · pathrequired
Existent member area id.
Body parameters
Urlstringrequired
The direct path or CDN link to the hosted file (e.g., /assets/docs/manual.pdf).
Extensionstring · nullable
The file format identifier (e.g., pdf, mp4, zip). Used for UI icons and filtering.
SecureZoneIdsarray of strings
A list of Secure Zone IDs that have permission to view or download this file.
Response
Idstring · nullable
Unique identifier. Technical record number in the database. Read-only.
Urlstring
The direct path or CDN link to the hosted file (e.g., /assets/docs/manual.pdf).
Extensionstring · nullable
The file format identifier (e.g., pdf, mp4, zip). Used for UI icons and filtering.
SecureZoneIdsarray of strings
A list of Secure Zone IDs that have permission to view or download this file.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/member-areas/1/secure" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '[{"Url":"https://example.com","Extension":"string","SecureZoneIds":["string"]}]'
Response · 200
[
  {
    "Id": "string",
    "Url": "https://example.com",
    "Extension": "string",
    "SecureZoneIds": [
      "string"
    ]
  }
]
PUT/api/v2/admin/member-areas/{id}/unsecure#

Updates an existing member area unsecure content

Parameters
idstring · pathrequired
Existent member area id.
Body parameters
Urlstringrequired
The direct path or CDN link to the hosted file (e.g., /assets/docs/manual.pdf).
Extensionstring · nullable
The file format identifier (e.g., pdf, mp4, zip). Used for UI icons and filtering.
SecureZoneIdsarray of strings
A list of Secure Zone IDs that have permission to view or download this file.
Response
Idstring · nullable
Unique identifier. Technical record number in the database. Read-only.
Urlstring
The direct path or CDN link to the hosted file (e.g., /assets/docs/manual.pdf).
Extensionstring · nullable
The file format identifier (e.g., pdf, mp4, zip). Used for UI icons and filtering.
SecureZoneIdsarray of strings
A list of Secure Zone IDs that have permission to view or download this file.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/member-areas/1/unsecure" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '[{"Url":"https://example.com","Extension":"string","SecureZoneIds":["string"]}]'
Response · 200
[
  {
    "Id": "string",
    "Url": "https://example.com",
    "Extension": "string",
    "SecureZoneIds": [
      "string"
    ]
  }
]
GET/api/v2/admin/member-areas/options#

Retrieves a single member areas options

Response
ExpiryOptionsarray of strings
The available access-expiry options that can be applied to a subscription.
AccessTypearray of strings
Sets the access type to this Secure Zone.
RenuwalRatearray of objects
The available renewal (billing) intervals and whether each is enabled for the secure zone.
CountryCurrencyarray of objects
Determines for which market they are applied.
curl "https://your-site.webinone.com/api/v2/admin/member-areas/options" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "ExpiryOptions": [
    "string"
  ],
  "AccessType": [
    "string"
  ],
  "RenuwalRate": [
    {
      "AccessType": "None",
      "IsEnable": false,
      "DisplayName": "Example"
    }
  ],
  "CountryCurrency": [
    {
      "Hash": 0,
      "CurrencyId": "USD",
      "Currency": "USD",
      "CountryId": "string",
      "CountryAbbreviation": "string"
    }
  ]
}