{"swagger":"2.0","info":{"version":"v2","title":"Wallit Public API","description":"\nThis is the public-facing API for Wallit, a micropayment paywall service.\n\n## API Applications ##\nAn **API application** (or **API consumer**) is any service or application that uses this API. API applications must first register themselves with Wallit. Any Wallit user can create an API\napplication and register it on the [My Applications](https://manageui.wallit.io/ApiApplication) page. Wallit gives every API application a **client identifier** and a **secret key**. These\nare used for authentication and authorization.\n\n## Authentication and Authorization ##\nAuthentication and authorization occurs using any of the standard OAuth2 grant types/authentication flows.\n\n* **User flows**. When using the following flows, a specific user authorizes the API consumer to access API\nresources on their behalf:\n    * Authorization code - designed for server-side applications that can secure the secret key\n    * Implicit - designed for mobile and client-side applications that cannot secure the secret key\n* **Application flow**. When using the following flow, no user interaction is involved. The API consumer is accessing API resources with their own security context, rather than that of a\nspecific user:\n    * Client credentials - designed for automated systems who need property-level access\n\nThe authentication flow dictates who the **principal** will be for subsequent API requests.\n\n## OAuth2 Authorization Code Flow ##\nThe authorization code flow works as follows.\n\nThe initial consumer request to the `/Authorize` endpoint looks like:\n\n    https://accessui.wallit.io/OAuth2/Authorize?client_id=[Client ID]&redirect_uri=[Redirect URI]&response_type=token&scope=[Scope]\n\n* The `[Client ID]` is the API key available from the [My Applications](https://manageui.wallit.io/ApiApplication) page on Manage UI.\n* The `[Redirect URI]` should be encoded. The URI must also be a registered redirect URI for the application (which can be set up on [My Applications](https://manageui.wallit.io/ApiApplication)).\n* The `[Scope]` should be a space delimited list of scopes, such as `users.read subscriptions.read`.\n* An optional `state` parameter can also be included.\n\nOnce the user authorizes the application, we redirect the user to the [Redirect URI]. We append to that URL a `code` parameter with the authorization code and, optionally, a `state` parameter, like:\n\n    https://www.apiconsumer.com/SSO?code=[Code]\n\nThe API consumer then makes a request to the `/Token` endpoint. This request must be an HTTP POST and should have a `Content-type` of `application/x-www-form-urlencoded`. The request should look like:\n\n    POST https://accessui.wallit.io/OAuth2/Token HTTP/1.1\n    Content-type: application/x-www-form-urlencoded; charset=utf-8\n    \n    code=[Code]&redirect_uri=[Redirect URI]&grant_type=authorization_code\n\n* `[Code]` should be the authorization code returned in the previous step.\n* The `[Redirect URI]` should be encoded. The URI must also be a registered redirect URI for the application (which can be set up on [My Applications](https://manageui.wallit.io/ApiApplication)).\n\nAdditionally, the client ID and client secret of the API application must be sent. This can be done in one of two ways:\n* Add an `Authorization` header to the request that contains the base64 encoded client ID, a semicolon, and client secret. So the header would be `Authorization: Basic ` followed by the result of a base64 string like `[Client ID]:[Client Secret]`.\n* Add two additional parameters to the request body called `client_id` and `client_secret`, so the request body would look like: `code=[Code]&redirect_uri=[Redirect URI]&grant_type=authorization_code&client_id=[Client ID]&client_secret=[Client Secret]`.\n\nThis POST request will return a JSON object like:\n\n    {\"access_token\":\"[Access Token]\",\"token_type\":\"bearer\",\"expires_in\":1199,\"refresh_token\":\"[Refresh Token]\"}\n\n## OAuth2 Client Credentials Flow ##\nTo use the Client Credentials flow with property-level access, a property administrator must first authorize the API application on the [My Applications](https://manageui.wallit.io/ApiApplication)\npage. The property administrator can then choose which scopes to authorize for the API application.\n\nA request to generate a token with the client credentials flow would look like:\n\n    POST https://accessui.wallit.io/OAuth2/Token HTTP/1.1\n    Content-type: application/x-www-form-urlencoded; charset=utf-8\n    \n    client_id=[Client ID]&client_secret=[Client Secret]&grant_type=client_credentials\n\n* `[Client ID]` should be the API key for the application.\n* `[Client Secret]` should be the secret key for the application.\n\n## Scopes and Access Policies ##\nScopes determine what actions a given API application can take. The API application requests scopes when an access token is created (via OAuth2), and those requested scopes apply for the \nlifespan of the access token. In user authentication flows, the user must also authorize all of the scopes requested by the API application. For instance, the `users.read` scope authorizes \nan API application to access user data; any API application that wants to read user data must request this scope when the access token is created.\n\nThere are some scopes that are not available to public API applications and are reserved for internal API applications. For instance, public API applications cannot delete users and cannot\nrequest to use the `users.delete` scope. If a public API application requests the `users.delete` scope, their access token request is rejected.\n\nAccess policies determine what data is available for a given API request. Every API request has a **principal** that's determined by the authentication flow. When a user authentication flow\nis used, the principal is a user and API requests can only see data that user has access to. For instance, if that user is a property administrator, API requests will have access to lots of\ndata about that property; but if the user isn't a property administrator, they can only see very limited data about that property. When an application authentication flow is used, the\nprincipal is the application. If the application has been authorized for access to a property, it can see all the same data about that property that an administrator can. If not, it has very\nlimited access to that property's data.\n\nThis Swagger definition lists the required scope for each endpoint and documents the access policy for each endpoint.\n\nWhen testing the API using Swagger UI, select the **implicit** scope when presented with a list of scopes.\n\n## Ids and 'me' ##\nThe value `me` can be used in place of a `userId` or `applicationId` to indicate the current principal. For instance, if a user authentication flow is used, `/users/me` will return the\nauthenticated user. This applies to all endpoints and HTTP verbs that take a `userId` or `applicationId` in the URL. For instance, `/users/me/subscriptions` will return subscriptions for \nthe authenticated user. If the principal is invalid (like calling `/applications/me` after a user authentication flow), a 404 is returned.\n\n## Redirect URIs ##\nIf you're using the **authorization code** or **implicit** flow, you must specify redirect URIs on your [Wallit API application](https://manageui.wallit.io/ApiApplication). Any URI that a\nuser will be redirected to after authorizing your application must be listed and must use HTTPS.\n\n## Throttling ##\nAPI requests using user flows are throttled by user. API requests using application flows are throttled by application. API requests that don't have a principal are throttled by IP address.\nThe default rate is 300 requests over a 60 second span.\n\n## Readable and Writable Models ##\nMost endpoints have similar, but slightly different, models used for different types of actions. Generally, there is a readable model used for `GET` operations that includes several fields that aren't\nin the model used for `PUT` or `PATCH` operations. For instance, when getting a `user`, the resulting object has `id`, `displayName`, and `lastModified` fields. These fields can't be updated,\nhowever, so they do not exist in the model user for user `PUT` or `PATCH` operations.\n\n## Filters ##\nFilters consist of one or combinations of a field name, an operator, and a value. Multiple filters are separated by commas. The `filters` URL paramter should be properly URL encoded.\n\nFor example, to return users with a first name of \"John\", you could use a filter like `firstName=John`. This would be URL enocded as `filters=firstName%3DJohn`. To add a second filter that\nlimits the results to users with a last name of \"Smith\", the filter would be `firstName=John,lastName=Smith`. This would be URL encoded as `filters=firstName%3DJohn%2ClastName%3DSmith`.\n\nValid operators are: equals (\n    =\n), greater than (\n    >\n), less than (\n    <\n), greater than or equal to (\n    >=\n), less than or equal to (\n    <=\n), and not equals (\n    !=\n).\n\nReserved characters are: greater than sign ( \n    >\n), less than sign (\n    <\n), equals sign (\n    =\n), exclamation point (\n    !\n), semicolon (\n    ;\n), comma (\n    ,\n), left parenthesis (\n    (\n), right parenthesis (\n    )\n), and backslash (\n    \\\n). Any reserved character used in filter values must be escaped with a backslash.\n\nAt the moment, all filters are ANDed together; there isn't currently support for ORing.\n\n## Sorting ##\nSorting is performed with the `order` parameter. Prefixing a hyphen to a field name will sort it in descending order. Multiple sort fields are separated by commas. For instance, to sort on \ndescending last names and then ascending first names, use `order=-lastName,firstName`.\n\n## Expanding Related Objects ##\nBy default, returned objects include don't include related objects. For instance, a subscription will only return data that belongs to that subscription. You may, however, want to work with\ndata on a related object, such as a subscription group. The `expand` parameter lets you specify additional objects to return in the results. A request against `/users/subscriptions` with an\nexpand value of `subscriptionGroup`, for instance, would include the `subscriptionGroup` object in the results. If object expansion isn't performed, the property will be null.\n\nValues on related objects can be used in filtering and sorting, even if the object is not expanded. For instance, attempting to sort subscriptions on `subscriptionGroup.Name` will work even\nif `subscriptionGroup` isn't expanded.\n\nAll predecessor relationships must be expanded for a given expansion to work. For instance, a subscription that just has an expand value of `subscriptionGroup.property` will not expand any\nobjects. In order to expand `property`, `subscriptionGroup` must also be expanded, so the value for the `expand` parameter would be `subscriptionGroup,subscriptionGroup.property`.\n","contact":{"url":"https://wallit.io","email":"support@wallit.io"}},"host":"api.wallit.io","schemes":["https"],"paths":{"/api/v2/applications/{applicationId}":{"get":{"tags":["/applications"],"summary":"Gets a specific application","description":"### Access Policy ###\r\n* If the principal is an internal application, all applications can be returned.\r\n* If the principal is any other application, just that application can be returned.\r\n* If the principal is a user, all that user's applications can be returned.\r\n* If the principal is a global admin user, all applications can be returned.","operationId":"Applications_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"applicationId","in":"path","description":"The ID of a specific application, or the value 'me' for the principal","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/Application"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["applications.read"],"oauth2_authorization_code":["applications.read"],"oauth2_resource_owned_password_credentials":["applications.read"],"oauth2_client_credentials":["applications.read"]}]}},"/api/v2/properties/{propertyId}/activePurchases":{"get":{"tags":["/properties/activePurchases"],"summary":"Gets an array of active purchases for a property","description":"An active purchase is one that currently provides access to a user. Purchases that have expired or been refunded are not included. To get additional information \r\non a specific active purchase, use the /properties/purchases endpoint.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `resource`: expands the resource for the purchase (requires \"resources.read\" scope).\r\n* `resource.property`: expands the property for the resource (requires \"resources.read\" and \"properties.read\" scopes).\r\n* `user`: expands the user who made the purchase (requires \"users.read\" scope).","operationId":"PropertiesActivePurchases_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose purchases should be returned","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedPurchase"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the propertyId is invalid or the principal does not have access to the specified property","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["purchases.read"],"oauth2_authorization_code":["purchases.read"],"oauth2_resource_owned_password_credentials":["purchases.read"],"oauth2_client_credentials":["purchases.read"]}]}},"/api/v2/properties/{propertyId}/activeSubscriptions":{"get":{"tags":["/properties/activeSubscriptions"],"summary":"Gets an array of active subscriptions for a property","description":"An active subscription is one that currently provides access to a user. Subscriptions that have expired or been refunded are not included. To get additional information \r\non a specific active subscription, use the /properties/subscriptions endpoint.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `subscriptionGroup`: expands the subscription group for the subscription (requires \"subscriptionGroups.read\" scope).\r\n* `subscriptionGroup.property`: expands the property for the subscription group (requires \"subscriptionGroups.read\" and \"properties.read\" scopes).\r\n* `user`: expands the user who owns the subscription (requires \"users.read\" scope).","operationId":"PropertiesActiveSubscriptions_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose subscriptions should be returned","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedSubscription"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the propertyId is invalid or the principal does not have access to the specified property","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptions.read"],"oauth2_authorization_code":["subscriptions.read"],"oauth2_resource_owned_password_credentials":["subscriptions.read"],"oauth2_client_credentials":["subscriptions.read"]}]}},"/api/v2/properties/{propertyId}/externalSubscribers/{subscriberKey}":{"get":{"tags":["/properties/externalSubscribers"],"summary":"Gets a specific external subscriber","description":"### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* There are no expandable objects.","operationId":"PropertiesExternalSubscribers_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose external subscribers should be returned","required":true,"type":"string"},{"name":"subscriberKey","in":"path","description":"The key of the external subscriber to return","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedExternalSubscriber"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["properties.read","externalSubscribers.read"],"oauth2_authorization_code":["properties.read","externalSubscribers.read"],"oauth2_resource_owned_password_credentials":["properties.read","externalSubscribers.read"],"oauth2_client_credentials":["properties.read","externalSubscribers.read"]}]},"patch":{"tags":["/properties/externalSubscribers"],"summary":"Updates an external subscriber using \"Merge Patch\" (send only the fields that need updating)","description":"The subscriberKey field should not be provided in the PATCH payload but will be returned in the response.","operationId":"PropertiesExternalSubscribers_Patch","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property to which the external subscriber belongs","required":true,"type":"string"},{"name":"subscriberKey","in":"path","description":"The key of the external subscriber","required":true,"type":"string"},{"name":"value","in":"body","description":"The fields and values to update","required":true,"schema":{"$ref":"#/definitions/PropertyScopedWritableExternalSubscriber"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/PropertyScopedExternalSubscriber"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["properties.read","externalSubscribers.update"],"oauth2_authorization_code":["properties.read","externalSubscribers.update"],"oauth2_resource_owned_password_credentials":["properties.read","externalSubscribers.update"],"oauth2_client_credentials":["properties.read","externalSubscribers.update"]}]}},"/api/v2/properties/{propertyId}/externalSubscribers":{"post":{"tags":["/properties/externalSubscribers"],"summary":"Creates a new external subscriber","operationId":"PropertiesExternalSubscribers_Post","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property on which to create the external subscriber","required":true,"type":"string"},{"name":"value","in":"body","description":"The new external subscriber to create","required":true,"schema":{"$ref":"#/definitions/PropertyScopedWritableExternalSubscriber"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"201":{"description":"Successful response","schema":{"$ref":"#/definitions/PropertyScopedExternalSubscriber"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"409":{"description":"Conflict","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["properties.read","externalSubscribers.create"],"oauth2_authorization_code":["properties.read","externalSubscribers.create"],"oauth2_resource_owned_password_credentials":["properties.read","externalSubscribers.create"],"oauth2_client_credentials":["properties.read","externalSubscribers.create"]}]}},"/api/v2/properties/{propertyId}/linkedExternalSubscribers":{"get":{"tags":["/properties/linkedExternalSubscribers"],"summary":"Gets an array of linked external subscribers for a property","description":"A linked external subscriber is created when an end user links their account to a merchant-supplied external subscriber. This endpoint returns just the linked external subscribers,\r\nnot any of the demographic data created when the user was linked to the external subscriber.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `property`: expands the property for the linked external subscriber (requires the \"properties.read\" scope).\r\n* `user`: expands the user linked to the external subscriber (requires the \"users.read\" scope).","operationId":"PropertiesLinkedExternalSubscribers_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose subscriptions should be returned","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedLinkedExternalSubscriber"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the propertyId is invalid or the principal does not have access to the specified property","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["linkedExternalSubscribers.read"],"oauth2_authorization_code":["linkedExternalSubscribers.read"],"oauth2_resource_owned_password_credentials":["linkedExternalSubscribers.read"],"oauth2_client_credentials":["linkedExternalSubscribers.read"]}]}},"/api/v2/properties/{propertyId}/linkedExternalSubscribers/{linkedExternalSubscriberId}":{"get":{"tags":["/properties/linkedExternalSubscribers"],"summary":"Gets a specific linked external subscriber","description":"The linked external subscriber is identified by its ID, not by the subscriber key.\r\n\r\nThis endpoint returns the demographic data provided by the user when they linked their account to the external subscriber.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `property`: expands the property for the linked external subscriber (requires the \"properties.read\" scope).\r\n* `user`: expands the user linked to the external subscriber (requires the \"users.read\" scope).","operationId":"PropertiesLinkedExternalSubscribers_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property to which the resource belongs","required":true,"type":"string"},{"name":"linkedExternalSubscriberId","in":"path","description":"The ID of the linked external subscriber to return","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedLinkedExternalSubscriberWithDemographicFields"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["linkedExternalSubscribers.read"],"oauth2_authorization_code":["linkedExternalSubscribers.read"],"oauth2_resource_owned_password_credentials":["linkedExternalSubscribers.read"],"oauth2_client_credentials":["linkedExternalSubscribers.read"]}]}},"/api/v2/properties/{propertyId}/purchases":{"get":{"tags":["/properties/purchases"],"summary":"Gets an array of purchases for a property","description":"This will return all purchases, including ones that may not be active. To only return active purchases, use the /property/activePurchases endpoint instead.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `resource`: expands the resource for the purchase (requires the \"resources.read\" scope).\r\n* `resource.property`: expands the property for the resource for the purchase (requires the \"resources.read\" and \"properties.read\" scopes).\r\n* `user`: expands the user who made the purchase (requires the \"users.read\" scope).","operationId":"PropertiesPurchases_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose purchases should be returned","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedPurchase"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the propertyId is invalid or the principal does not have access to the specified property","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["purchases.read"],"oauth2_authorization_code":["purchases.read"],"oauth2_resource_owned_password_credentials":["purchases.read"],"oauth2_client_credentials":["purchases.read"]}]}},"/api/v2/properties/{propertyId}/purchases/{purchaseId}":{"get":{"tags":["/properties/purchases"],"summary":"Gets a specific purchase","description":"### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `resource`: expands the resource for the purchase (requires the \"resources.read\" scope).\r\n* `resource.property`: expands the property for the resource for the purchase (requires the \"resources.read\" and \"properties.read\" scopes).\r\n* `user`: expands the user who made the purchase (requires the \"users.read\" scope).","operationId":"PropertiesPurchases_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose purchases should be returned","required":true,"type":"string"},{"name":"purchaseId","in":"path","description":"The ID of the purchase to return","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedPurchase"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["purchases.read"],"oauth2_authorization_code":["purchases.read"],"oauth2_resource_owned_password_credentials":["purchases.read"],"oauth2_client_credentials":["purchases.read"]}]}},"/api/v2/properties/{propertyId}/subscriptionAdjustments/changeCustomFields":{"post":{"tags":["/properties/subscriptionAdjustments"],"summary":"Changes custom fields on an external fulfillment subscription","description":"Changes the custom fields, which include things like a print address, for an external fulfillment subscription. This method isn't supported for other types of subscriptions. When\r\nsetting the demographic fields, you must set them all -- there's no merge/patch type of operation here, the entire set of demographic fields gets replaced at once. The current\r\nfields can be retrieved using the `GET /api/v2/properties/{propertyId}/subscriptions/{subscriptionId}` endpoint.\r\n\r\nMost types of demographic fields can be directly edited. The exception is address fields. An address consists of a set of fields -- Name, Line1, Line2, City, State, PostalCode, and\r\nCountry. You cannot edit the individual fields on an address, you must instead create a new address. This requires an unusual syntax. To create a new address and apply it to\r\na single subscription, it would look something like:\r\n`\"customFieldValues\": { \"Address\": \"New\", \"Address_AdditionalData\": \"{ ExistingAddresses: [], NewAddress: { 'AddressName': 'New', 'Line1': '456 Main St.', 'Line2': '', 'City':' Milwaukee', 'State': 'WI', 'PostalCode': '98765', 'Country': 'US' } }\" } }`\r\n\r\nNote that you should (but are not required to) use a unique address name (where \"New\" is used as the address name in the example JSON above).\r\n\r\nIf the call to changeCustomFields is not changing any address fields, the name of the address should still be included. For instance, if a call to get the subscription details returns\r\nseveral fields starting with `Address_` as well as a field called `Address` with a value of `Home`, then the POST to this method should just include `\"Address\": \"Home\"`. Any of\r\nthe fields that begin with `Address_` will be ignored by this request.\r\n\r\n### Access Policy ###\r\n* The principal must be a property.","operationId":"PropertiesSubscriptionAdjustments_ChangeCustomFields","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"requestData","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/ChangeCustomFieldsRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionAdjustments.create"],"oauth2_authorization_code":["subscriptionAdjustments.create"],"oauth2_resource_owned_password_credentials":["subscriptionAdjustments.create"],"oauth2_client_credentials":["subscriptionAdjustments.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionAdjustments/extend":{"post":{"tags":["/properties/subscriptionAdjustments"],"summary":"Extends a subscription","description":"An extension changes the expiration date on the subscription to a date further in the future. No new subscription record is created.\r\n\r\n### Access Policy ###\r\n* The principal must be a property.","operationId":"PropertiesSubscriptionAdjustments_Extend","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"requestData","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/ExtendRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionAdjustments.create"],"oauth2_authorization_code":["subscriptionAdjustments.create"],"oauth2_resource_owned_password_credentials":["subscriptionAdjustments.create"],"oauth2_client_credentials":["subscriptionAdjustments.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionAdjustments/cancel":{"post":{"tags":["/properties/subscriptionAdjustments"],"summary":"Cancels a subscription","description":"A cancellation changes the expiration date on the subscription to an earlier date. No new subscription record is created.\r\n\r\n### Access Policy ###\r\n* The principal must be a property.","operationId":"PropertiesSubscriptionAdjustments_Cancel","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"requestData","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/CancelRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionAdjustments.create"],"oauth2_authorization_code":["subscriptionAdjustments.create"],"oauth2_resource_owned_password_credentials":["subscriptionAdjustments.create"],"oauth2_client_credentials":["subscriptionAdjustments.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionAdjustments/stop":{"post":{"tags":["/properties/subscriptionAdjustments"],"summary":"Stops an external fulfillment subscription","description":"A stop marks the print portion of an external fulfillment subscription as inactive until a resume is applied.\r\n\r\n### Access Policy ###\r\n* The principal must be a property.","operationId":"PropertiesSubscriptionAdjustments_Stop","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"requestData","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/StopRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionAdjustments.create"],"oauth2_authorization_code":["subscriptionAdjustments.create"],"oauth2_resource_owned_password_credentials":["subscriptionAdjustments.create"],"oauth2_client_credentials":["subscriptionAdjustments.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionAdjustments/resume":{"post":{"tags":["/properties/subscriptionAdjustments"],"summary":"Resumes a stopped external fulfillment subscription","description":"A resume marks the print portion of an external fulfillment subscription as active (after having previously been marked inactive by a stop).\r\n\r\n### Access Policy ###\r\n* The principal must be a property.","operationId":"PropertiesSubscriptionAdjustments_Resume","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"requestData","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/ResumeRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionAdjustments.create"],"oauth2_authorization_code":["subscriptionAdjustments.create"],"oauth2_resource_owned_password_credentials":["subscriptionAdjustments.create"],"oauth2_client_credentials":["subscriptionAdjustments.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionAdjustments/hold":{"post":{"tags":["/properties/subscriptionAdjustments"],"summary":"Holds an external fulfillment subscription","description":"A hold marks an external fulfillment subscription as inactive for a discrete time period. It essentially performs a stop and resume in a single operation. \r\n\r\n### Access Policy ###\r\n* The principal must be a property.","operationId":"PropertiesSubscriptionAdjustments_Hold","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"requestData","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/HoldRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionAdjustments.create"],"oauth2_authorization_code":["subscriptionAdjustments.create"],"oauth2_resource_owned_password_credentials":["subscriptionAdjustments.create"],"oauth2_client_credentials":["subscriptionAdjustments.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionGroups":{"get":{"tags":["/properties/subscriptionGroups"],"summary":"Gets an array of subscription groups for a property","description":"This will return all subscription groups for a property.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `property`: expands the property to which the subscription group belongs (requires the \"properties.read\" scope).","operationId":"PropertiesSubscriptionGroups_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose subscription groups should be returned","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedSubscriptionGroup"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the propertyId is invalid or the principal does not have access to the specified property","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionGroups.read"],"oauth2_authorization_code":["subscriptionGroups.read"],"oauth2_resource_owned_password_credentials":["subscriptionGroups.read"],"oauth2_client_credentials":["subscriptionGroups.read"]}]},"post":{"tags":["/properties/subscriptionGroups"],"summary":"Creates a new subscription group","operationId":"PropertiesSubscriptionGroups_Post","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property on which to create the subscription group","required":true,"type":"string"},{"name":"value","in":"body","description":"The new subscription group to create","required":true,"schema":{"$ref":"#/definitions/PropertyScopedWritableSubscriptionGroup"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"201":{"description":"Successful response","schema":{"$ref":"#/definitions/PropertyScopedSubscriptionGroup"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["properties.read","subscriptionGroups.create"],"oauth2_authorization_code":["properties.read","subscriptionGroups.create"],"oauth2_resource_owned_password_credentials":["properties.read","subscriptionGroups.create"],"oauth2_client_credentials":["properties.read","subscriptionGroups.create"]}]}},"/api/v2/properties/{propertyId}/subscriptionGroups/{subscriptionGroupId}":{"get":{"tags":["/properties/subscriptionGroups"],"summary":"Gets a specific subscription group","description":"### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `property`: expands the property to which the subscription group belongs (requires the \"properties.read\" scope).","operationId":"PropertiesSubscriptionGroups_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose subscriptions should be returned","required":true,"type":"string"},{"name":"subscriptionGroupId","in":"path","description":"The ID of the subscription group to return","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedSubscriptionGroup"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptionGroups.read"],"oauth2_authorization_code":["subscriptionGroups.read"],"oauth2_resource_owned_password_credentials":["subscriptionGroups.read"],"oauth2_client_credentials":["subscriptionGroups.read"]}]},"delete":{"tags":["/properties/subscriptionGroups"],"summary":"Deletes a specific subscription group","operationId":"PropertiesSubscriptionGroups_Delete","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property to which the subscription group belongs","required":true,"type":"string"},{"name":"subscriptionGroupId","in":"path","description":"The ID of a specific subscription group","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["properties.read","subscriptionGroups.delete"],"oauth2_authorization_code":["properties.read","subscriptionGroups.delete"],"oauth2_resource_owned_password_credentials":["properties.read","subscriptionGroups.delete"],"oauth2_client_credentials":["properties.read","subscriptionGroups.delete"]}]},"patch":{"tags":["/properties/subscriptionGroups"],"summary":"Updates a single subscription group using \"Merge Patch\" (send only the fields that need updating)","operationId":"PropertiesSubscriptionGroups_Patch","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property to which the subscription group belongs","required":true,"type":"string"},{"name":"subscriptionGroupId","in":"path","description":"The ID of a specific subscription group","required":true,"type":"string"},{"name":"value","in":"body","description":"The fields and values to update","required":true,"schema":{"$ref":"#/definitions/PropertyScopedWritableSubscriptionGroup"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/PropertyScopedSubscriptionGroup"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["properties.read","subscriptionGroups.update"],"oauth2_authorization_code":["properties.read","subscriptionGroups.update"],"oauth2_resource_owned_password_credentials":["properties.read","subscriptionGroups.update"],"oauth2_client_credentials":["properties.read","subscriptionGroups.update"]}]}},"/api/v2/properties/{propertyId}/subscriptions":{"get":{"tags":["/properties/subscriptions"],"summary":"Gets an array of subscriptions for a property","description":"This will return all subscriptions, including ones that may not be active. To only return active subscriptions, use the /property/activeSubscriptions endpoint instead. Demographic fields are not included for external fulfillment subscriptions.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties.\r\n\r\n### Expandable Objects ###\r\n* `subscriptionGroup`: expands the subscription group for the subscription (requires the \"subscriptionGroups.read\" scope).\r\n* `user`: expands the user who owns the subscription (requires the \"users.read\" scope).","operationId":"PropertiesSubscriptions_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose subscriptions should be returned","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedSubscription"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the propertyId is invalid or the principal does not have access to the specified property","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptions.read"],"oauth2_authorization_code":["subscriptions.read"],"oauth2_resource_owned_password_credentials":["subscriptions.read"],"oauth2_client_credentials":["subscriptions.read"]}]},"post":{"tags":["/properties/subscriptions"],"summary":"Creates a new subscription","description":"This endpoint can only be used to create complimentary subscription. If the subscription group specified is not complimentary, a 400 will be returned.\r\n### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties. This endpoint will include demographic fields for external \r\nfulfillment subscriptions.","operationId":"PropertiesSubscriptions_Post","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","required":true,"type":"string"},{"name":"value","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/PropertyScopedCreatableSubscription"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"201":{"description":"Successful response","schema":{"$ref":"#/definitions/PropertyScopedSubscription"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptions.create"],"oauth2_authorization_code":["subscriptions.create"],"oauth2_resource_owned_password_credentials":["subscriptions.create"],"oauth2_client_credentials":["subscriptions.create"]}]}},"/api/v2/properties/{propertyId}/subscriptions/{subscriptionId}":{"get":{"tags":["/properties/subscriptions"],"summary":"Gets a specific subscription","description":"### Access Policy ###\r\n* The principal must have access to the property, following the access policy defined for /properties. This endpoint will include demographic fields for external \r\nfulfillment subscriptions.\r\n\r\n### Expandable Objects ###\r\n* `subscriptionGroup`: expands the subscription group for the subscription (requires the \"subscriptionGroups.read\" scope).\r\n* `user`: expands the user who owns the subscription (requires the \"users.read\" scope).","operationId":"PropertiesSubscriptions_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"propertyId","in":"path","description":"The ID of the property whose subscriptions should be returned","required":true,"type":"string"},{"name":"subscriptionId","in":"path","description":"The ID of the subscription to return","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/PropertyScopedSubscription"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["subscriptions.read"],"oauth2_authorization_code":["subscriptions.read"],"oauth2_resource_owned_password_credentials":["subscriptions.read"],"oauth2_client_credentials":["subscriptions.read"]}]}},"/api/v2/users":{"get":{"tags":["/users"],"summary":"Gets an array of users","description":"### Access Policy ###\r\n* If the principal is a user, just that user is returned.\r\n* If the principal is a global admin user, all users are returned.\r\n* If the principal is an application, no users are returned.\r\n* If the principal is an internal application, all users are returned.","operationId":"Users_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/User"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read"],"oauth2_authorization_code":["users.read"],"oauth2_resource_owned_password_credentials":["users.read"],"oauth2_client_credentials":["users.read"]}]},"post":{"tags":["/users"],"summary":"Creates a new user","description":"### Access Policy ###\r\n* No principal is required.","operationId":"Users_Post","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"value","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/WritableUser"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"201":{"description":"Successful response","schema":{"$ref":"#/definitions/User"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":[],"oauth2_authorization_code":[],"oauth2_resource_owned_password_credentials":[],"oauth2_client_credentials":[]}]}},"/api/v2/users/{userId}":{"get":{"tags":["/users"],"summary":"Gets a specific user","description":"### Access Policy ###\r\n* If the principal is a user, just that user can be returned.\r\n* If the principal is a global admin user, all users can be returned.\r\n* If the principal is an application, no users can be returned.\r\n* If the principal is an internal application, all users can be returned.","operationId":"Users_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of a specific user, or the value 'me' for the principal","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/User"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read"],"oauth2_authorization_code":["users.read"],"oauth2_resource_owned_password_credentials":["users.read"],"oauth2_client_credentials":["users.read"]}]},"delete":{"tags":["/users"],"summary":"Deletes a specific user","description":"Users are never fully deleted (so we can maintain their transaction history), just deactivated.\r\n\r\n### Scope Restrictions ###\r\n* The required scope is only available to internal applications.\r\n\r\n### Access Policy ###\r\n* If the principal is a user, just that user can be deleted.\r\n* If the principal is a global admin user, all users can be deleted.\r\n* If the principal is an application, no users can be deleted.\r\n* If the principal is an internal application, all users can be deleted.","operationId":"Users_Delete","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of a specific user","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Object"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"204":{"description":"Successful response","headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.delete"],"oauth2_authorization_code":["users.delete"],"oauth2_resource_owned_password_credentials":["users.delete"],"oauth2_client_credentials":["users.delete"]}]},"patch":{"tags":["/users"],"summary":"Updates a single user using \"merge patch\" (send only the fields that need updating)","description":"### Access Policy ###\r\n* If the principal is a user, just that user can be updated.\r\n* If the principal is a global admin user, all users can be updated.\r\n* If the principal is an application, no users can be updated.\r\n* If the principal is an internal application, all users can be updated.","operationId":"Users_Patch","consumes":["application/json","text/json","text/html","application/x-www-form-urlencoded"],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of a specific user","required":true,"type":"string"},{"name":"value","in":"body","description":"The object containing the data to be merged","required":true,"schema":{"$ref":"#/definitions/WritableUser"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/User"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad request (validation failed)","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.update"],"oauth2_authorization_code":["users.update"],"oauth2_resource_owned_password_credentials":["users.update"],"oauth2_client_credentials":["users.update"]}]}},"/api/v2/users/{userId}/activeSubscriptions":{"get":{"tags":["/users/activeSubscriptions"],"summary":"Gets an array of active subscriptions for a user","description":"An active subscription is one that currently provides access to a user. Subscriptions that have expired or been refunded are not included. To get additional information \r\non a specific active subscription, use the /users/subscriptions endpoint.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the user, following the access policy defined for /users.\r\n\r\n### Expandable Objects ###\r\n* `subscriptionGroup`: expands the subscription group for the subscription.","operationId":"UsersActiveSubscriptions_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of the user whose subscriptions should be returned, or the value 'me' for the principal","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/UserScopedSubscription"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the userId is invalid or the principal does not have access to the specified user","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read","subscriptions.read"],"oauth2_authorization_code":["users.read","subscriptions.read"],"oauth2_resource_owned_password_credentials":["users.read","subscriptions.read"],"oauth2_client_credentials":["users.read","subscriptions.read"]}]}},"/api/v2/users/{userId}/propertyAccess":{"get":{"tags":["/users/propertyAccess"],"summary":"Gets an array of properties the user has access to","description":"This will return all properties the user has property level access to. This does not include any sort of access granted at the resource or subscription level.\r\n\r\n### Access Policy ###\r\n* The principal must have access to the user, following the access policy defined for /users.\r\n\r\n### Expandable Objects ###\r\n* `property`: expands the property to which the user has access.","operationId":"UsersPropertyAccess_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of the user whose property access rights should be returned, or the value 'me' for the principal","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/UserScopedPropertyAccess"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the userId is invalid or the principal does not have access to the specified user","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read","propertyAccess.read"],"oauth2_authorization_code":["users.read","propertyAccess.read"],"oauth2_resource_owned_password_credentials":["users.read","propertyAccess.read"],"oauth2_client_credentials":["users.read","propertyAccess.read"]}]}},"/api/v2/users/{userId}/propertyAccess/{propertyId}":{"get":{"tags":["/users/propertyAccess"],"summary":"Gets property access for a specific property","description":"### Access Policy ###\r\n* The principal must have access to the user, following the access policy defined for /users.\r\n\r\n### Expandable Objects ###\r\n* `property`: expands the property to which the user has access.","operationId":"UsersPropertyAccess_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of the user whose property access rights should be returned, or the value 'me' for the principal","required":true,"type":"string"},{"name":"propertyId","in":"path","description":"The ID of the property","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/UserScopedPropertyAccess"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read","propertyAccess.read"],"oauth2_authorization_code":["users.read","propertyAccess.read"],"oauth2_resource_owned_password_credentials":["users.read","propertyAccess.read"],"oauth2_client_credentials":["users.read","propertyAccess.read"]}]}},"/api/v2/users/{userId}/subscriptions":{"get":{"tags":["/users/subscriptions"],"summary":"Gets an array of subscriptions for a user","description":"This will return all subscriptions, including ones that may not be active. To only return active subscriptions, use the /users/activeSubscriptions endpoint instead.\r\n### Access Policy ###\r\n* The principal must have access to the user, following the access policy defined for /users.\r\n\r\n### Expandable Objects ###\r\n* `subscriptionGroup`: expands the subscription group for the subscription.","operationId":"UsersSubscriptions_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of the user whose subscriptions should be returned, or the value 'me' for the principal","required":true,"type":"string"},{"name":"order","in":"query","description":"A comma-delimited list of fields to sort the results on. See the \"Sorting\" section above for more details","required":false,"type":"string"},{"name":"limit","in":"query","description":"Total number of returned results","required":false,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"The offset from the beginning of the results","required":false,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A comma-delimited list of filters to apply to the result. See the \"Filters\" section above for more details","required":false,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/UserScopedSubscription"}},"headers":{"Link":{"description":"The pagination link header defined by RFC 5988","type":"string"},"X-Total-Count":{"description":"The total number of results","type":"integer"},"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found. This usually indicates that the userId is invalid or the principal does not have access to the specified user","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read","subscriptions.read"],"oauth2_authorization_code":["users.read","subscriptions.read"],"oauth2_resource_owned_password_credentials":["users.read","subscriptions.read"],"oauth2_client_credentials":["users.read","subscriptions.read"]}]}},"/api/v2/users/{userId}/subscriptions/{subscriptionId}":{"get":{"tags":["/users/subscriptions"],"summary":"Gets a specific subscription","description":"### Access Policy ###\r\n* The principal must have access to the user, following the access policy defined for /users.\r\n\r\n### Expandable Objects ###\r\n* `subscriptionGroup`: expands the subscription group for the subscription.","operationId":"UsersSubscriptions_Get","consumes":[],"produces":["application/json","text/json","text/html"],"parameters":[{"name":"userId","in":"path","description":"The ID of the user whose subscriptions should be returned, or the value 'me' for the principal","required":true,"type":"string"},{"name":"subscriptionId","in":"path","description":"The ID of the subscription to return","required":true,"type":"string"},{"name":"expand","in":"query","description":"A comma-delimited list of objects to expand. See the \"Expanding Related Objects\" section above for more details","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"$ref":"#/definitions/UserScopedSubscription"}},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"404":{"description":"Item not found","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}},"429":{"description":"Too many requests","schema":{"$ref":"#/definitions/Error"},"headers":{"X-Rate-Limit-Limit":{"description":"The number of allowed requests in the current period","type":"integer"},"X-Rate-Limit-Remaining":{"description":"The number of remaining requests in the current period","type":"integer"},"X-Rate-Limit-Reset":{"description":"The number of seconds left in the current period","type":"integer"}}}},"deprecated":false,"security":[{"oauth2_implicit":["users.read","subscriptions.read"],"oauth2_authorization_code":["users.read","subscriptions.read"],"oauth2_resource_owned_password_credentials":["users.read","subscriptions.read"],"oauth2_client_credentials":["users.read","subscriptions.read"]}]}}},"definitions":{"Object":{"type":"object","properties":{}},"Application":{"type":"object","properties":{"id":{"type":"string"},"secretKey":{"type":"string"},"lastModified":{"format":"date-time","type":"string"},"scopeSet":{"type":"string"},"title":{"type":"string"},"websiteUrl":{"type":"string"},"redirectUris":{"type":"array","items":{"type":"string"}}},"example":{"id":"a5a8b1bc-8b19-4283-bea6-4d3d249bc442","secretKey":"a7DSHj38a7*@#fdsHA*Mrev907avsHA*ha8fydfy8hi","lastModified":"0001-01-01T00:00:00","scopeSet":"Public","title":"My Application","websiteUrl":"https://www.my-application.com","redirectUris":["https://www.mysite.com/OAuthHandler"]}},"PropertyScopedPurchase":{"description":"Represents a single Wallit purchase.","type":"object","properties":{"id":{"description":"A unique identifier for the purchase. This is assigned by Wallit and cannot be changed.","type":"string"},"resourceId":{"description":"A unique identifier of the resource for the purchase.","type":"string"},"resource":{"$ref":"#/definitions/UserScopedResource","description":"The resource for the purchase."},"userId":{"description":"A unique identifier of the user who made the purchase.","type":"string"},"user":{"$ref":"#/definitions/PropertyScopedUser","description":"The user who made the purchase."},"timestamp":{"format":"date-time","description":"The time and date when the purchase was made.","type":"string"},"expirationDate":{"format":"date-time","description":"The time and date when the access granted by the purchase expires.","type":"string"},"refunded":{"description":"Returns true if the purchase has been refunded and no longer honored.","type":"boolean"}}},"UserScopedResource":{"description":"Represents a single Wallit resource.","type":"object","properties":{"id":{"description":"A unique identifier for the resource. This is assigned by Wallit and cannot be changed.","type":"string"},"propertyId":{"description":"A unique identifier for the property to which the resource belongs.","type":"string"},"property":{"$ref":"#/definitions/UserScopedProperty","description":"The property to which the resource belongs"},"name":{"description":"The internal name for the resource. This name is never displayed to end users","type":"string"},"title":{"description":"The public-facing title for the resource","type":"string"},"url":{"description":"The URL of the resource","type":"string"},"byline":{"description":"The byline of the resource","type":"string"},"publicationDate":{"format":"date-time","description":"The publication date of the resource","type":"string"},"externalKey":{"description":"The external key of the resource. This is the key used in access requests to identify the resource","type":"string"}}},"PropertyScopedUser":{"description":"Represents a single Wallit user.","type":"object","properties":{"id":{"description":"A unique identifier for the user. This is assigned by Wallit and cannot be changed. It's not a username","type":"string"},"emailAddress":{"description":"The user's display name, usually the first name plus last name. If you're displaying the real name of the user, you should use this value","type":"string"}}},"UserScopedProperty":{"description":"Represents a single Wallit property","type":"object","properties":{"id":{"description":"A unique identifier for the property. This is assigned by Wallit and cannot be changed","type":"string"},"name":{"description":"The internal name of the property. The name is never displayed to end users","type":"string"},"title":{"description":"The visible, public title of the property","type":"string"}}},"Error":{"type":"object","properties":{"error":{"type":"string"},"details":{"type":"string"}}},"PropertyScopedSubscription":{"description":"Represents a single Wallit subscription. Note that a new subscription is created every time a user renews a subscription.","type":"object","properties":{"id":{"description":"A unique identifier for the subscription. This is assigned by Wallit and cannot be changed.","type":"string"},"subscriptionGroupId":{"description":"A unique identifier of the subscription group for the subscription.","type":"string"},"subscriptionGroup":{"$ref":"#/definitions/PropertyScopedSubscriptionGroup","description":"The subscription group for the subscription."},"userId":{"description":"A unique identifier of the user to whom the subscription belongs.","type":"string"},"user":{"$ref":"#/definitions/PropertyScopedUser","description":"The user to whom the subscription belongs."},"timestamp":{"format":"date-time","description":"The time and date when the subscription was created.","type":"string"},"expiration":{"format":"date-time","description":"The date on which the subscription expires. Note that there might be a newer subscription with a more recent expiration date.","type":"string"},"refunded":{"description":"Returns true if the subscription has been refunded and no longer honored","type":"boolean"},"printInactive":{"description":"Returns true if the print portion of a subscription is inactive (an external fulfillment subscription with a stop or a hold).","type":"boolean"},"demographicFields":{"description":"Returns the demographic fields for an external fulfillment subscription. This only applies to external fulfillment subscriptions, and only on certain endpoints.","type":"object","additionalProperties":{"type":"string"}},"lastModified":{"format":"date-time","description":"Returns the date and time when the subscription was last modified.","type":"string"}}},"PropertyScopedSubscriptionGroup":{"description":"Represents a single Wallit subscription group.","type":"object","properties":{"id":{"description":"A unique identifier for the subscription group. This is assigned by Wallit and cannot be changed.","type":"string"},"propertyId":{"description":"A unique identifier for the property to which the subscription group belongs.","type":"string"},"property":{"$ref":"#/definitions/PropertyScopedProperty","description":"The property to which the subscription group belongs"},"name":{"description":"The internal name for the subscription group. This name is never displayed to end users","type":"string"},"title":{"description":"The public-facing title for the subscription group","type":"string"},"price":{"format":"double","description":"The cost of the subscription group","type":"number"},"period":{"description":"The period for which the subscription group is purchased - used in conjunction with \"duration\"","enum":["Years","Months","Weeks","Days","Hours"],"type":"string"},"duration":{"format":"int32","description":"The duration for which the subscription group is purchased - used in conjunction with \"period\"","type":"integer"},"type":{"description":"The type of the subscription group","enum":["Standard","ExternalAutomatic","ExternalEligible","ExternalFulfillment","Shared","Complimentary"],"type":"string"},"externalKey":{"description":"The external key for the subscription group, which can be used to identify it more easily than with the subscriptionId","type":"string"},"autoRenewByDefault":{"description":"The subscription group can be set to have new subscriptions auto renew by default","type":"boolean"}},"example":{"id":"8610b5f0-a3df-40d7-a175-f5faa627246b","propertyId":"1a399808-8d93-4d33-b5ee-1285d59f84fb","name":"One Month Digital","title":"Basic Subscription","price":5.00,"period":"Months","duration":1,"type":"Standard","autoRenewByDefault":true}},"PropertyScopedProperty":{"description":"Represents a single Wallit property","type":"object","properties":{"id":{"description":"A unique identifier for the property. This is assigned by Wallit and cannot be changed","type":"string"},"name":{"description":"The internal name of the property. The name is never displayed to end users","type":"string"},"title":{"description":"The visible, public title of the property","type":"string"},"enableDynamicResourceCreation":{"description":"Set to true if dynamic resource creation is enabled for the property","type":"boolean"},"enableMeteredPricing":{"description":"Set to true if the metered pricing is enabled for the property","type":"boolean"},"enableMandatoryAuthentication":{"description":"Set to true if mandatory authentication is enabled for the property","type":"boolean"},"enableExternalSubscribers":{"description":"Set to true if external subscribers are enabled for the property","type":"boolean"},"enableExternalFulfillmentSubscriptions":{"description":"Set to true if external fulfillment subscriptions are enabled for the property","type":"boolean"},"meteredPricingPeriod":{"description":"If metered pricing is enabled, the period during which a single meter lasts","enum":["Monthly","Weekly","Daily","Hourly"],"type":"string"},"meteredPricingLimit":{"format":"int32","description":"If metered pricing is enabled, the number of hits allowed in the meter period","type":"integer"},"meteredPricingAdBlockerLimit":{"format":"int32","description":"If metered pricing is enabled, the number of hits allowed in the meter period for users with an active ad blocker","type":"integer"}}},"PropertyScopedExternalSubscriber":{"description":"Returns a single Wallit external subscriber","type":"object","properties":{"subscriberKey":{"description":"The subscriber key. This could be a string, integer, GUID, etc. depending on the key defined by the external system that's integrating with Wallit","type":"string"},"maximumLinkedUsers":{"format":"int32","description":"The maximum number of Wallit users that can be linked to this external subscriber","type":"integer"},"validationFields":{"description":"The validation fields that a Wallit user provides to link themselves to this external subscriber","type":"object","additionalProperties":{"type":"string"}},"automaticSubscriptions":{"type":"array","items":{"$ref":"#/definitions/WritableAutomaticSubscription"}},"eligibleSubscriptions":{"type":"array","items":{"$ref":"#/definitions/WritableEligibleSubscription"}},"externalFulfillmentSubscriptions":{"type":"array","items":{"$ref":"#/definitions/WritableExternalFulfillmentSubscription"}}}},"WritableAutomaticSubscription":{"type":"object","properties":{"subscriptionGroupKey":{"type":"string"},"expirationDate":{"format":"date-time","type":"string"}}},"WritableEligibleSubscription":{"type":"object","properties":{"subscriptionGroupKey":{"type":"string"},"eligibilityEndDate":{"format":"date-time","type":"string"}}},"WritableExternalFulfillmentSubscription":{"type":"object","properties":{"subscriptionGroupKey":{"type":"string"},"expirationDate":{"format":"date-time","type":"string"},"demographicFields":{"type":"array","items":{"$ref":"#/definitions/WritableDemographicField"}}}},"WritableDemographicField":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"PropertyScopedWritableExternalSubscriber":{"description":"Returns a single Wallit external subscriber","type":"object","properties":{"subscriberKey":{"description":"The subscriber key. This could be a string, integer, GUID, etc. depending on the key defined by the external system that's integrating with Wallit","type":"string"},"maximumLinkedUsers":{"format":"int32","description":"The maximum number of Wallit users that can be linked to this external subscriber","type":"integer"},"validationFields":{"description":"The validation fields that a Wallit user provides to link themselves to this external subscriber","type":"object","additionalProperties":{"type":"string"}},"automaticSubscriptions":{"type":"array","items":{"$ref":"#/definitions/WritableAutomaticSubscription"}},"eligibleSubscriptions":{"type":"array","items":{"$ref":"#/definitions/WritableEligibleSubscription"}},"externalFulfillmentSubscriptions":{"type":"array","items":{"$ref":"#/definitions/WritableExternalFulfillmentSubscription"}}}},"PropertyScopedLinkedExternalSubscriber":{"description":"Represents a single linked external subscriber","type":"object","properties":{"id":{"description":"A unique identifier for the linked external subscriber. This is assigned by Wallit and cannot be changed.","type":"string"},"subscriberKey":{"description":"The merchant-supplied subscriber key for the external subscriber linked to this user.","type":"string"},"primaryUser":{"description":"Indicates if this user is the primary user for the external subscriber.","type":"boolean"},"propertyId":{"description":"A unique identifier for the property to which the linked external subscriber belongs.","type":"string"},"property":{"$ref":"#/definitions/PropertyScopedProperty","description":"The property to which the linked external subscriber belongs."},"userId":{"description":"A unique identifier of the user to whom the external subscriber is linked,","type":"string"},"user":{"$ref":"#/definitions/PropertyScopedUser","description":"The user to whom the external subscriber is linked."},"lastModified":{"format":"date-time","description":"The time the linked external subscriber was last modified. This is usually the time when the user was initially linked to the external subscriber.","type":"string"}}},"PropertyScopedLinkedExternalSubscriberWithDemographicFields":{"description":"Represents a single linked external subscriber with their demographic fields","type":"object","properties":{"demographicFields":{"description":"A dictionary of the demograpic fields values provided by the user when they linked their account to the external subscriber","type":"object","additionalProperties":{"type":"string"}},"id":{"description":"A unique identifier for the linked external subscriber. This is assigned by Wallit and cannot be changed.","type":"string"},"subscriberKey":{"description":"The merchant-supplied subscriber key for the external subscriber linked to this user.","type":"string"},"primaryUser":{"description":"Indicates if this user is the primary user for the external subscriber.","type":"boolean"},"propertyId":{"description":"A unique identifier for the property to which the linked external subscriber belongs.","type":"string"},"property":{"$ref":"#/definitions/PropertyScopedProperty","description":"The property to which the linked external subscriber belongs."},"userId":{"description":"A unique identifier of the user to whom the external subscriber is linked,","type":"string"},"user":{"$ref":"#/definitions/PropertyScopedUser","description":"The user to whom the external subscriber is linked."},"lastModified":{"format":"date-time","description":"The time the linked external subscriber was last modified. This is usually the time when the user was initially linked to the external subscriber.","type":"string"}}},"ChangeCustomFieldsRequest":{"type":"object","properties":{"customFieldValues":{"type":"object","additionalProperties":{"type":"string"}},"subscriptionGroupID":{"description":"The subscription group to which the adjustment will be applied","type":"string"},"userID":{"description":"The user to which the adjustment will be applied","type":"string"},"note":{"description":"A note that's logged with the subscription adjustment explaining why the adjustment was made","type":"string"},"financialAdjustmentType":{"description":"The type of financial adjustment to perform as part of the adjustment. This can empty/null if there is no financial adjustment, or \"Credit\" or \"Charge\"","type":"string"},"creditAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Credit\", the amount to credit the user","type":"number"},"chargeAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Charge\", the amount to charge the user","type":"number"}}},"ExtendRequest":{"type":"object","properties":{"expiration":{"format":"date-time","description":"The new expiration date for the subscription","type":"string"},"subscriptionGroupID":{"description":"The subscription group to which the adjustment will be applied","type":"string"},"userID":{"description":"The user to which the adjustment will be applied","type":"string"},"note":{"description":"A note that's logged with the subscription adjustment explaining why the adjustment was made","type":"string"},"financialAdjustmentType":{"description":"The type of financial adjustment to perform as part of the adjustment. This can empty/null if there is no financial adjustment, or \"Credit\" or \"Charge\"","type":"string"},"creditAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Credit\", the amount to credit the user","type":"number"},"chargeAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Charge\", the amount to charge the user","type":"number"}}},"CancelRequest":{"type":"object","properties":{"expiration":{"format":"date-time","description":"The new expiration date for the subscription","type":"string"},"subscriptionGroupID":{"description":"The subscription group to which the adjustment will be applied","type":"string"},"userID":{"description":"The user to which the adjustment will be applied","type":"string"},"note":{"description":"A note that's logged with the subscription adjustment explaining why the adjustment was made","type":"string"},"financialAdjustmentType":{"description":"The type of financial adjustment to perform as part of the adjustment. This can empty/null if there is no financial adjustment, or \"Credit\" or \"Charge\"","type":"string"},"creditAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Credit\", the amount to credit the user","type":"number"},"chargeAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Charge\", the amount to charge the user","type":"number"}}},"StopRequest":{"type":"object","properties":{"stopTimestamp":{"format":"date-time","description":"The date and time at which to apply the stop","type":"string"},"subscriptionGroupID":{"description":"The subscription group to which the adjustment will be applied","type":"string"},"userID":{"description":"The user to which the adjustment will be applied","type":"string"},"note":{"description":"A note that's logged with the subscription adjustment explaining why the adjustment was made","type":"string"},"financialAdjustmentType":{"description":"The type of financial adjustment to perform as part of the adjustment. This can empty/null if there is no financial adjustment, or \"Credit\" or \"Charge\"","type":"string"},"creditAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Credit\", the amount to credit the user","type":"number"},"chargeAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Charge\", the amount to charge the user","type":"number"}}},"ResumeRequest":{"type":"object","properties":{"resumeTimestamp":{"format":"date-time","description":"The date and time at which to apply the resume (and end the stop)","type":"string"},"subscriptionGroupID":{"description":"The subscription group to which the adjustment will be applied","type":"string"},"userID":{"description":"The user to which the adjustment will be applied","type":"string"},"note":{"description":"A note that's logged with the subscription adjustment explaining why the adjustment was made","type":"string"},"financialAdjustmentType":{"description":"The type of financial adjustment to perform as part of the adjustment. This can empty/null if there is no financial adjustment, or \"Credit\" or \"Charge\"","type":"string"},"creditAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Credit\", the amount to credit the user","type":"number"},"chargeAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Charge\", the amount to charge the user","type":"number"}}},"HoldRequest":{"type":"object","properties":{"holdStartTimestamp":{"format":"date-time","description":"The date and time at which to apply the hold","type":"string"},"holdEndTimestamp":{"format":"date-time","description":"The date and time at which to lift the hold","type":"string"},"subscriptionGroupID":{"description":"The subscription group to which the adjustment will be applied","type":"string"},"userID":{"description":"The user to which the adjustment will be applied","type":"string"},"note":{"description":"A note that's logged with the subscription adjustment explaining why the adjustment was made","type":"string"},"financialAdjustmentType":{"description":"The type of financial adjustment to perform as part of the adjustment. This can empty/null if there is no financial adjustment, or \"Credit\" or \"Charge\"","type":"string"},"creditAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Credit\", the amount to credit the user","type":"number"},"chargeAmount":{"format":"double","description":"If the financialAdjustmentType is set to \"Charge\", the amount to charge the user","type":"number"}}},"PropertyScopedWritableSubscriptionGroup":{"type":"object","properties":{"name":{"description":"The internal name for the subscription group. This name is never displayed to end users","type":"string"},"title":{"description":"The public-facing title for the subscription group","type":"string"},"price":{"format":"double","description":"The cost of the subscription group","type":"number"},"period":{"description":"The period for which the subscription group is purchased - used in conjunction with \"duration\"","enum":["Years","Months","Weeks","Days","Hours"],"type":"string"},"duration":{"format":"int32","description":"The duration for which the subscription group is purchased - used in conjunction with \"period\"","type":"integer"},"type":{"description":"The type of the subscription group","enum":["Standard","ExternalAutomatic","ExternalEligible","ExternalFulfillment","Shared","Complimentary"],"type":"string"},"externalKey":{"description":"The external key for the subscription group, which can be used to identify it more easily than with the subscriptionId","type":"string"},"autoRenewByDefault":{"description":"The subscription group can be set to have new subscriptions auto renew by default","type":"boolean"}}},"PropertyScopedCreatableSubscription":{"type":"object","properties":{"subscriptionGroupId":{"description":"A unique identifier of the subscription group for the subscription.","type":"string"},"userId":{"description":"A unique identifier of the user to whom the subscription belongs.","type":"string"},"expiration":{"format":"date-time","description":"The date on which the subscription expires.","type":"string"}}},"User":{"description":"Represents a single Wallit user.","type":"object","properties":{"id":{"description":"A unique identifier for the user. This is assigned by Wallit and cannot be changed. It's not a username","type":"string"},"displayName":{"description":"The user's display name, usually the first name plus last name. If you're displaying the real name of the user, you should use this value","type":"string"},"displayUserName":{"description":"The user's username or email address, depending on which is in use for their account. If you're displaying a username for the user, you should use this value","type":"string"},"pictureUrl":{"description":"The user's profile picture","type":"string"},"lastModified":{"format":"date-time","description":"When the user was last modified","type":"string"},"firstName":{"description":"The user's first name","type":"string"},"lastName":{"description":"The user's last name","type":"string"},"middleName":{"description":"The user's middle name","type":"string"},"emailAddress":{"description":"The user's e-mail address","type":"string"},"phoneNumber":{"description":"The user's phone number","type":"string"},"postalCode":{"description":"The user's postal code","type":"string"},"gender":{"description":"The user's gender","type":"string"},"raceEthnicity":{"description":"The user's race or ethnicity","type":"string"},"birthDate":{"format":"date-time","description":"The user's date of birth","type":"string"}},"example":{"id":"5e1f5c26-5559-43d1-a8c7-85b252a0253f","displayName":"John Doe","displayUserName":"jdoe","lastModified":"2016-09-02T17:42:33.323","firstName":"John","lastName":"Doe","middleName":"Quincy","emailAddress":"johndoe@test.com","phoneNumber":"123-456-7890","postalCode":"53211","gender":"M","raceEthnicity":"W","birthDate":"1950-12-25T00:00:00"}},"WritableUser":{"type":"object","properties":{"firstName":{"description":"The user's first name","type":"string"},"lastName":{"description":"The user's last name","type":"string"},"middleName":{"description":"The user's middle name","type":"string"},"emailAddress":{"description":"The user's e-mail address","type":"string"},"phoneNumber":{"description":"The user's phone number","type":"string"},"postalCode":{"description":"The user's postal code","type":"string"},"gender":{"description":"The user's gender","type":"string"},"raceEthnicity":{"description":"The user's race or ethnicity","type":"string"},"birthDate":{"format":"date-time","description":"The user's date of birth","type":"string"}},"example":{"firstName":"John","lastName":"Doe","middleName":"Quincy","emailAddress":"johndoe@test.com","phoneNumber":"123-456-7890","postalCode":"53211","gender":"M","raceEthnicity":"W","birthDate":"1950-12-25T00:00:00"}},"UserScopedSubscription":{"description":"Represents a single Wallit subscription. Note that a new subscription is created every time a user renews a subscription.","type":"object","properties":{"id":{"description":"A unique identifier for the subscription. This is assigned by Wallit and cannot be changed.","type":"string"},"subscriptionGroupId":{"description":"A unique identifier of the subscription group for the subscription.","type":"string"},"subscriptionGroup":{"$ref":"#/definitions/UserScopedSubscriptionGroup","description":"The subscription group for the subscription."},"expiration":{"format":"date-time","description":"The date on which the subscription expires. Note that there might be a newer subscription with a more recent expiration date.","type":"string"},"refunded":{"description":"Returns true if the subscription has been refunded and no longer honored","type":"boolean"},"printInactive":{"description":"Returns true if the print portion of a subscription is inactive (an external fulfillment subscription with a stop or a hold)","type":"boolean"},"autoRenew":{"description":"Whether or not the subscription should automatically renew","type":"boolean"},"renewalNotifications":{"description":"Whether or not renewal notification emails should be sent to the user","type":"boolean"}},"example":{"id":"c6c80940-4196-e611-becb-bc305bd0d54e","subscriptionGroupId":"8610b5f0-a3df-40d7-a175-f5faa627246b","expiration":"2016-11-15T12:00:00","refunded":false,"printInactive":false,"autoRenew":true,"renewalNotifications":true}},"UserScopedSubscriptionGroup":{"description":"Represents a single Wallit subscription group.","type":"object","properties":{"id":{"description":"A unique identifier for the subscription group. This is assigned by Wallit and cannot be changed.","type":"string"},"propertyId":{"description":"A unique identifier for the property to which the subscription group belongs.","type":"string"},"property":{"$ref":"#/definitions/UserScopedProperty","description":"The property to which the subscription group belongs"},"name":{"description":"The internal name for the subscription group. This name is never displayed to end users","type":"string"},"title":{"description":"The public-facing title for the subscription group","type":"string"},"type":{"description":"The type of the subscription group","enum":["Standard","ExternalAutomatic","ExternalEligible","ExternalFulfillment","Shared","Complimentary"],"type":"string"},"externalKey":{"description":"The external key for the subscription group, which can be used ot identify it more easily than with the subscriptionId","type":"string"}}},"UserScopedPropertyAccess":{"description":"Represents a property that a user has access to at a property-wide level (instead of at the resource level)","type":"object","properties":{"id":{"description":"A unique identifier for the property. This is assigned by Wallit and cannot be changed.","type":"string"},"accessType":{"description":"The level of access the user has on the property.","enum":["Administrator","Manager","Guest"],"type":"string"}}}},"securityDefinitions":{"oauth2_implicit":{"type":"oauth2","description":"OAuth2 Implicit Grant","flow":"implicit","authorizationUrl":"https://accessui.wallit.io/OAuth2/Authorize","tokenUrl":"https://accessui.wallit.io/OAuth2/Token","scopes":{"users.read":"Retrieve basic data about you, like your name, email address, and profile picture","users.update":"Update your basic data, like your name and email address","users.delete":"Delete users","applications.read":"Retrieve basic data about applications, like title and redirect URIs","applications.create":"Create new applications","applications.update":"Update basic data about applications, like title and redirect URIs","applications.delete":"Delete applications","properties.read":"Retrieve basic data about properties","properties.create":"Create new properties","properties.update":"Update basic data about properties","properties.delete":"Delete properties","pricingGroups.read":"Retrieve basic data about pricing groups","pricingGroups.create":"Create new pricing groups","pricingGroups.update":"Update basic data about pricing groups","pricingGroups.delete":"Delete pricing groups","resources.read":"Retrieve your property's resources, including their metadata and pricing","resources.create":"Create new resources","resources.update":"Update basic data about resources","resources.delete":"Delete resources","purchases.read":"Retrieve your purchases, including what resources you purchases and when","subscriptionGroups.read":"Retrieve your property's subscription groups, including their cost and duration","subscriptionGroups.create":"Create new subscription groups on your properties","subscriptionGroups.update":"Update your property's subscription groups, including their cost and duration","subscriptionGroups.delete":"Delete your property's subscription groups","subscriptions.read":"Retrieve your subscriptions, including their expiration dates and renewal settings","propertyAccess.read":"Retrieve data about which properties you have access to","resourceAccess.request":"Request access to resources on your behalf","externalSubscribers.read":"Retrieve external subscribers","externalSubscribers.create":"Create external subscribers","externalSubscribers.update":"Update external subscribers","linkedExternalSubscribers.read":"Retrieve linked external subscribers","subscriptionAdjustments.create":"Adjust existing subscriptions"}},"oauth2_authorization_code":{"type":"oauth2","description":"OAuth2 Authorization Code Grant","flow":"accessCode","authorizationUrl":"https://accessui.wallit.io/OAuth2/Authorize","tokenUrl":"https://accessui.wallit.io/OAuth2/Token","scopes":{"users.read":"Retrieve basic data about you, like your name, email address, and profile picture","users.update":"Update your basic data, like your name and email address","users.delete":"Delete users","applications.read":"Retrieve basic data about applications, like title and redirect URIs","applications.create":"Create new applications","applications.update":"Update basic data about applications, like title and redirect URIs","applications.delete":"Delete applications","properties.read":"Retrieve basic data about properties","properties.create":"Create new properties","properties.update":"Update basic data about properties","properties.delete":"Delete properties","pricingGroups.read":"Retrieve basic data about pricing groups","pricingGroups.create":"Create new pricing groups","pricingGroups.update":"Update basic data about pricing groups","pricingGroups.delete":"Delete pricing groups","resources.read":"Retrieve your property's resources, including their metadata and pricing","resources.create":"Create new resources","resources.update":"Update basic data about resources","resources.delete":"Delete resources","purchases.read":"Retrieve your purchases, including what resources you purchases and when","subscriptionGroups.read":"Retrieve your property's subscription groups, including their cost and duration","subscriptionGroups.create":"Create new subscription groups on your properties","subscriptionGroups.update":"Update your property's subscription groups, including their cost and duration","subscriptionGroups.delete":"Delete your property's subscription groups","subscriptions.read":"Retrieve your subscriptions, including their expiration dates and renewal settings","propertyAccess.read":"Retrieve data about which properties you have access to","resourceAccess.request":"Request access to resources on your behalf","externalSubscribers.read":"Retrieve external subscribers","externalSubscribers.create":"Create external subscribers","externalSubscribers.update":"Update external subscribers","linkedExternalSubscribers.read":"Retrieve linked external subscribers","subscriptionAdjustments.create":"Adjust existing subscriptions"}},"oauth2_client_credentials":{"type":"oauth2","description":"OAuth2 Client Credentials Grant","flow":"application","authorizationUrl":"https://accessui.wallit.io/OAuth2/Authorize","tokenUrl":"https://accessui.wallit.io/OAuth2/Token","scopes":{"applications.read":"Retrieve basic data about applications, like title and redirect URIs","applications.create":"Create new applications","applications.update":"Update basic data about applications, like title and redirect URIs","applications.delete":"Delete applications","properties.read":"Retrieve basic data about properties","properties.create":"Create new properties","properties.update":"Update basic data about properties","properties.delete":"Delete properties","pricingGroups.read":"Retrieve basic data about pricing groups","pricingGroups.create":"Create new pricing groups","pricingGroups.update":"Update basic data about pricing groups","pricingGroups.delete":"Delete pricing groups","resources.read":"Retrieve your property's resources, including their metadata and pricing","resources.create":"Create new resources","resources.update":"Update basic data about resources","resources.delete":"Delete resources","purchases.read":"Retrieve your purchases, including what resources you purchases and when","subscriptionGroups.read":"Retrieve your property's subscription groups, including their cost and duration","subscriptionGroups.create":"Create new subscription groups on your properties","subscriptionGroups.update":"Update your property's subscription groups, including their cost and duration","subscriptionGroups.delete":"Delete your property's subscription groups","subscriptions.read":"Retrieve your subscriptions, including their expiration dates and renewal settings","subscriptions.create":"Create new subscriptions on your behalf","propertyAccess.read":"Retrieve data about which properties you have access to","externalSubscribers.read":"Retrieve external subscribers","externalSubscribers.create":"Create external subscribers","externalSubscribers.update":"Update external subscribers","linkedExternalSubscribers.read":"Retrieve linked external subscribers","subscriptionAdjustments.create":"Adjust existing subscriptions"}}}}