Table of Contents
Introduction and Overview
API Documentation
API Documentation
All of the publicly-accessible API’s are documented on this page. If you have any questions, have feedback or corrections, please contact us.
Resource Access API
The Resource Access API is used for access control, validating a user’s access to content.
https://accessapi.imoneza.com
/api/Resource/{accessKey}/{resourceKey}
GET
Returns access data about a resource based on its resource key
Parameters
Name | Located in | Description | Type |
---|---|---|---|
accessKey | path | Your Resource Access API access key. |
String |
resourceKey | path | The external key for the resource being accessed. |
String |
ResourceURL | query | A URL for the resource. If dynamic resource creation needs to occur, this URL will be spidered by iMoneza to gather resource data. |
String |
UserToken | query | An existing user token that was stored as a cookie. This value can be empty if the user doesn’t have an existing user token cookie, but the parameter is required. |
String |
IP | query | The IP address of the user requesting a resource. This parameter is optional. The IP address can be IPv4 or IPv6. |
String |
AdBlockerStatus | query | The result of any ad blocker detection performed by the API consumer. |
String
|
UseLegacyPaywall | query | Whether or not to use the legacy paywall. |
Boolean |
Responses
200 A resource access object
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/TemporaryUserToken/{accessKey}/{temporaryUserToken}
GET
Returns resource access data based on a temporary user token.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
accessKey | path | Your Resource Access API access key. |
String |
temporaryUserToken | path | A temporary user token that was passed to the page in the iMonezaTUT URL parameter. |
String |
ResourceKey | query | The external key for the resource being accessed. |
String |
ResourceURL | query | A URL for the resource. If dynamic resource creation needs to occur, this URL will be spidered by iMoneza to gather resource data. |
String |
IP | query | The IP address of the user requesting a resource. This parameter is optional. The IP address can be IPv4 or IPv6. |
String |
AdBlockerStatus | query | The result of any ad blocker detection performed by the API consumer. |
String
|
UseLegacyPaywall | query | Whether or not to use the legacy paywall. |
Boolean |
Responses
200 A resource access object
401 Authentication Failure
403 Not Authorized
404 Item Not found
Resource Management API
This API is used for managing resource data, providing merchants access to certain resource-level configuration without needing to use the Management UI.
https://manageapi.imoneza.com
/api/Property/{propertyID}
GET
Returns property information including access information and subscription & pricing groups.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
propertyID | path | The Property ID for this request. |
String |
Responses
200 A property object
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{propertyID}/Resource
GET
Returns all the resources belonging to a property.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
propertyID | path | The Property ID for this request. |
String |
Responses
200 An array of resource objects
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{propertyID}/Resource/{externalKey}
PUT
Creates/Updates a resource, identified by an external key.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
propertyID | path | The Property ID for this request. |
String |
externalKey | path | The external key or public identifier of a resource. |
String |
ExternalKey | formData | The external key or public identifier of a resource. |
String |
Name | formData | The internal name of the resource (required only on creation) |
String |
Active | formData | Boolean of whether this item is active |
Boolean |
URL | formData | The URL of the resource |
String |
Title | formData | The title of the resource |
String |
Byline | formData | Who authored the resource |
String |
Description | formData | Description of the resource that appears if the paywall type is set to “Modal” |
String |
PublicationDate | formData | The publication date of the resource |
String |
PricingGroup | formData | Update or set the pricing group for the resource (required only on creation) (see special formatting notes below) |
String |
PricingModel | formData | The resource pricing model |
String
|
Price | formData | The price of the resource |
Number |
ExpirationPeriodUnit | formData | Expiration Period Unit |
String
|
ExpirationPeriodValue | formData | Expiration Period Value |
String |
TargetConversionRate | formData | Target Conversion Rate |
String |
TargetConversionPriceFloor | formData | Target Conversion Price Floor |
String |
TargetConversionHitsPerRecalculationPeriod | formData | Target Conversion Hits Per Recalculation Period |
String |
PaywallDescription | formData | The description of the resource that will appear on the Purchase Options step on the paywall |
String |
PaywallShortDescription | formData | The short description of the resource that will appear at the top of paywall after the Purchase Options step |
String |
Responses
200 Successful creation or updating of the item.
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/ExternalSubscriber/{subscriberKey}
PUT
Adds or updates a single external subscriber.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The api key for this request. |
String |
subscriberKey | path | The subscriber key |
String |
SubscriberKey | formData | The subscriber key |
String |
MaximumLinkedUsers | formData | Maximum Linked Users |
String |
ValidationFields | formData | Array of objects with two properties - |
String |
EligibleSubscriptions | formData | An array of objects with two properties - |
String |
AutomaticSubscriptions | formData | An array of objects with two properties - |
String |
Responses
200 A subscriber element containing only the demographic fields
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/ExternalSubscriber/{subscriberKey}/LinkedUser
GET
Retrieves a single external subscriber and linked iMoneza users.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
subscriberKey | path | The subscriber key |
String |
Responses
200 A subscriber element
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/ExternalSubscriberImport
POST
Add or update multiple external subscribers.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
data | formData | Contains a property called |
String |
Responses
200 A queue element
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/ExternalSubscriberExport
POST
Begins an external subscriber export.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
StartDate | formData | The timestamp of the beginning of the list |
String |
EndDate | formData | The timestamp of the end of the list |
String |
Responses
200 A queue element
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/ExternalFulfillmentSubscriptionExport
POST
Begins an external fulfillment export of subscribers eligible at the date given.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
SubscriptionGroupID | formData | The subscription group ID that needs to be fulfilled |
String |
AsOfDate | formData | The timestamp indicating the point in time to retrieve active subscriptions from. |
String |
NotificationEmailAddress | formData | An optional email address that will be notified when this finishes. |
String |
Responses
200 A queue element
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/CallbackResult/{ExternalSubscriberLinkedCallbackToken}
GET
Retrieve data about an iMoneza user after an external subscriber is linked
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
ExternalSubscriberLinkedCallbackToken | path | This is the token retrieved from the callback of type |
String |
Responses
200 A data element with a subscriber element child (the `Subscriptions` element will always be empty)
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/CallbackResult/{EligibleSubscriptionPurchasedCallbackToken}
GET
Retrieve data about a subscription purchase
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
EligibleSubscriptionPurchasedCallbackToken | path | This is the token retrieved from the callback of type |
String |
Responses
200 A data element with a subscriber element child
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/CallbackResult/{ExternalSubscriberImportCompletedCallbackToken}
GET
Retrieve information about the external subscriber import including any errors that occurred.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
ExternalSubscriberImportCompletedCallbackToken | path | This is the token retrieved from the callback of type |
String |
Responses
200 A status object
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/CallbackResult/{ExternalSubscriberExportCompletedCallbackToken}
GET
Retrieve the external subscriber export.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
ExternalSubscriberExportCompletedCallbackToken | path | This is the token retrieved from the callback of type |
String |
Responses
200 An array of external subscribers
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/CallbackResult/{ExternalFulfillmentSubscriptionExportCallbackToken}
GET
Retrieve the external fulfillment subscription export.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
ExternalFulfillmentSubscriptionExportCallbackToken | path | This is the token retrieved from the callback of type |
String |
Responses
200 An array of external fulfillment subscriptions
401 Authentication Failure
403 Not Authorized
404 Item Not found
/api/Property/{apiKey}/CallbackResult/{ExternalFulfillmentSubscriptionPurchasedCallbackToken}
GET
Retrieve the external fulfillment information after a user has purchased one.
Parameters
Name | Located in | Description | Type |
---|---|---|---|
apiKey | path | The Property ID for this request. |
String |
ExternalFulfillmentSubscriptionPurchasedCallbackToken | path | This is the token retrieved from the callback of type |
String |
Responses
200 An object indicating the subscription data and demographic fields that the merchant has defined.
401 Authentication Failure
403 Not Authorized
404 Item Not found
SPECIAL NOTES
When executing a PUT request on a resource, it will either create or update the item. Any subsequent calls with that external ID
will update only the parameters sent. For example, if the next request contains only the Title
property, all other properties
will remain the same, only the Title
will be changed. The ExternalKey
cannot be changed with this request.
To change the pricing group that a resource belongs to, the pricing group ID should be sent. All other data sent in
a PricingGroup
object will be ignored. For instance, the following would change the pricing group:
{
"PricingGroup": {
"PricingGroupID": "15bf02c5-d106-e411-acf1-bc305bd0d54e"
}
}
Pricing tiers are stored as an array called ResourcePricingTiers
. If that object is null or not-defined, pricing tiers
are not updated; if that array is present, then all existing pricing tiers are replaced by the array. So if any pricing
tiers are set, then all pricing tiers must be set. For example:
{
"ExternalKey": "Article1",
"ResourcePricingTiers": [
{
"Tier": 0,
"Price": 0.00
},
{
"Tier": 2,
"Price": 0.18
},
{
"Tier": 5,
"Price": 0.50
},
{
"Tier": 10,
"Price": 0.72
}
]
}