Issues

API for managing issues

get
List Issues

https://www.magloft.com/api/portal/v1/issues/:app_id
This endpoint returns a list of all issues that belong to the magazine
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
Query Parameters
screen_type
optional
String
Screen Type
source
optional
String
Source type of issue
url_scheme
optional
String
generator
optional
String
Generator
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

get
Retrieve paginated list of issues

https://www.magloft.com/api/portal/v1/issues/:app_id/page/:page
This endpoint returns a page list of all issues that belong to the magazine
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
page
required
Integer
The page number to list
Query Parameters
per_page
optional
Integer
Number of items to show per page
order_by
optional
Symbol
Field to sort results by
order_dir
optional
Symbol
Direction (asc, desc) to sort results by
filter
optional
String
Text filter to search results by
Response
200: OK
{
"total": 1,
"page": 1,
"records": [
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}
]
}

get
Get Issue

https://www.magloft.com/api/portal/v1/issues/:app_id/:id
This endpoint returns a specific issue by id
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

get
Download Issue

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/download
This endpoint redirects to a specific issue HPUB url
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
null

get
Download a specific issue source

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/source
This endpoint redirects to a specific issue source file url
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
null

post
Create an Issue

https://www.magloft.com/api/portal/v1/issues/:app_id
This endpoint creates a new issue and returns the saved issue
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
Body Parameters
user_id
optional
Integer
Issue User ID
title
optional
String
Issue Title
info
optional
String
Issue information
date
optional
String
Issue publish date
product_id
optional
String
Issue product id
product_id_apple
optional
String
Issue product id (Apple)
product_id_google
optional
String
Issue product id (Google)
product_id_amazon
optional
String
Issue product id (Amazon)
unlock_type
optional
String
Unlock Type
hide_locked
optional
Virtus::Attribute::Boolean
Hide if Locked
price_tier
optional
Integer
Issue price tier
design_id
optional
Integer
Issue typeloft theme id
cover
optional
String
Issue Cover
hpub
optional
String
Issue HPUB Path
source_file
optional
String
Issue Source File
source
optional
String
Source type of issue
category_ids
optional
Array
Issue category IDs
classification_ids
optional
Array
Issue classification IDs
properties
optional
Hash
Issue properties
status
optional
Symbol
create_pages
optional
Virtus::Attribute::Boolean
publish
optional
Virtus::Attribute::Boolean
screen_type
optional
String
file_size
optional
Integer
generator
optional
String
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

put
Update an Issue

https://www.magloft.com/api/portal/v1/issues/:app_id/:id
This endpoint updates a specific issue by id and returns the updated issue
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Body Parameters
title
optional
String
Issue Title
info
optional
String
Issue information
date
optional
String
Issue publish date
product_id
optional
String
Issue product id
product_id_apple
optional
String
Issue product id (Apple)
product_id_google
optional
String
Issue product id (Google)
product_id_amazon
optional
String
Issue product id (Amazon)
unlock_type
optional
String
Unlock Type
hide_locked
optional
Virtus::Attribute::Boolean
Hide if Locked
price_tier
optional
Integer
Issue price tier
cover
optional
String
Issue Cover
hpub
optional
String
Issue HPUB Path
source_file
optional
String
Issue Source File
source
optional
String
Source type of issue
category_ids
optional
Array
Issue category IDs
classification_ids
optional
Array
Issue classification IDs
status
optional
Symbol
jid_status
optional
Symbol
custom_data
optional
Hash
Custom Data Hash
custom_data[language]
optional
String
custom_data[copy_of]
optional
String
screenshots
optional
[String]
properties
optional
Hash
Issue properties
properties[page_turn_tap]
optional
Virtus::Attribute::Boolean
properties[vertical_bounce]
optional
Virtus::Attribute::Boolean
properties[max_zoom_level]
optional
Float
properties[dual_spread]
optional
Virtus::Attribute::Boolean
properties[dual_spread_cover]
optional
Virtus::Attribute::Boolean
properties[default_orientation]
optional
String
properties[orientation_phone]
optional
String
properties[orientation_tablet]
optional
String
properties[converted_to_typeloft]
optional
Virtus::Attribute::Boolean
properties[reverse_page_order]
optional
Virtus::Attribute::Boolean
properties[link_style]
optional
String
properties[allowed_devices]
optional
[String]
properties[allowed_platforms]
optional
[String]
properties[navigator]
optional
Virtus::Attribute::Boolean
properties[cover_colors]
optional
[String]
properties[features]
optional
[String]
properties[web_url]
optional
String
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

post
Clone an Issue

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/clone/:magazine_id
This endpoint creates a new issue by cloning an existing issue and returns the saved issue
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
magazine_id
optional
Integer
Cloned Issue target magazine ID
Body Parameters
user_id
required
Integer
Issue User ID
cloneTitle
required
String
Cloned Issue title
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

post
Sort Issue Articles

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/sort
This endpoint sorts a set of articles of an issue by ids and returns an empty response with status 204
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Body Parameters
article_ids
required
Array
Response
200: OK
null

put
Convert Issue

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/convert
This endpoint converts an issue from PDF, EPUB or Folio
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

put
Pack an issue to HPUB

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/pack
This endpoint pack an issue to HPUB and returns the issue
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

put
Export issue to PDF

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/export_pdf
This endpoint converts a TypeLoft 2 issue to PDF and returns the issue
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

put
Generate Web URL

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/generate_web_url
This endpoint generates a hosted version of an issue
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
{
"id": 1234,
"title": "Welcome to MagLoft",
"info": null,
"hpub": null,
"source_file": null,
"source": "typeloft",
"unlock_type": "free",
"hide_locked": false,
"categories": [
"Sports",
"Business",
"Politics"
],
"category_ids": [
1,
2,
3
],
"classifications": [
"Sports",
"Business",
"Politics"
],
"classification_ids": [
1,
2,
3
],
"product_id": "purchase.issue_123456789",
"product_id_apple": null,
"product_id_google": null,
"product_id_amazon": null,
"screen_type": "issue",
"publication_id": null,
"coupon_code": null,
"dirty": false,
"user_id": null,
"custom_stylesheet": null,
"custom_data": null,
"price_tier": null,
"cover": null,
"generator": "pdfix"
}

put
Process Filename

https://www.magloft.com/api/portal/v1/issues/:app_id/:id/process_links
This endpoint process an issue filename links in TypeLoft Pages and returns an empty response with status 204
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
null

delete
Delete Issue

https://www.magloft.com/api/portal/v1/issues/:app_id/:id
This endpoint deletes a specific issue by id and returns an empty response with status 204
Request
Response
Request
Path Parameters
app_id
required
String
App ID (Publication) to scope this request for.
id
required
Integer
Issue ID
Response
200: OK
null