Most Livefyre Apps are powered by a high-availability Collection of curated Content. Use these APIs to create and manage Collections and make custom Apps to visualize their Contents.
gethttps://{networkName}.bootstrap.fyre.co/bs3/{network}/{siteId}/{b64articleId}/bootstrap.html
The Bootstrap HTML API will return an HTML fragment of a given Collection that you can include in your web page's HTTP response. Useful if you want your content indexed by search engine crawlers that can't execute JavaScript. Once the content is displayed in the browser, the HTML fragment will be replaced with the full, interactive widget, allowing the user to post content. Note: This call is available only for Comments, Live Blog, and Review Collection types.
name | required | type | description |
---|---|---|---|
network | true | string | Network of the Collection (e.g. labs.fyre.co) |
siteId | true | string | Site ID of the Collection (e.g. 303617) |
b64articleId | true | string | Article ID of the Collection, base64url-encoded |
An HTML representation of this Collection's App.
gethttps://{networkName}.bootstrap.fyre.co/api/v3.0/collection/{collectionId}/
Returns information about a given Collection.
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID for the Collection ID to query. For example: '10633838'. |
Collection Info
property | type | description |
---|---|---|
status | string | |
code | string | |
data | object | |
data.title | string | |
data.url | string | |
data.checksum | string | |
data.tags | array | |
data.tags.[] | string | |
data.id | string | |
data.siteId | string | |
data.articleId | string | |
data.collectionMeta | string |
{
"status": "ok",
"code": 200,
"data": {
"title": "apitest-1399945598",
"url": "http://livefyre.com/",
"checksum": "some encrypted value",
"tags": [],
"id": 80048736,
"siteId": 333682,
"articleId": "apitest-1399945598",
"collectionMeta": "some encrypted value"
}
}
gethttps://{networkName}.bootstrap.fyre.co/bs3/v3.1/{network}/{siteId}/{b64articleId}/init
Returns an expanded Collection metadata set. The init call will return an error if the Collection was not already created using the Create endpoint.
name | required | type | description |
---|---|---|---|
network | true | string | Your Livefyre provided network. For example: labs.fyre.co. |
siteId | true | string | The Livefyre-provided ID for the website or application to which the Collection belongs. (For example: 303617.) |
b64articleId | true | string | The article ID you chose to uniquely identify a Collection in your site, encoded using Base64. |
Collection Info +Plus
property | type | description |
---|---|---|
headDocument | object | |
headDocument.content | array | |
headDocument.content.[] | object | A snapshot of a Content item |
headDocument.content.[].source | integer | Content provided by Livefyre can originate from social providers other than Livefyre (e.g. Twitter, Facebook). The sources and the enumerated values that correspond to them are:
|
headDocument.content.[].type | integer | Enum indicating the type of Content that this object is.
|
headDocument.content.[].vis | integer | Enum indicating the visibility of the Content. Not all content is visible to everyone. For example, moderators can see content that has yet to be approved, and “bozod” content is visible only to their trollish authors.
|
headDocument.content.[].collectionId | string | ID of a Collection that contains this Content item |
headDocument.content.[].content | object | |
headDocument.content.[].content.bodyHtml | string | The main message of the Content, as an HTML string. |
headDocument.content.[].content.authorId | string | ID of the Author of this Content |
headDocument.content.[].content.parentId | string | If this Content is in reply to or a part of some other Content, then this will be the ID of that other Content. Otherwise, it will be an empty string. |
headDocument.content.[].content.updatedAt | number | Unix Epoch time of when this Content item was last updated |
headDocument.content.[].content.createdAt | number | Unix Epoch time of when this Content was first created |
headDocument.content.[].content.id | string | ID of this Content item |
headDocument.content.[].content.attachments | array | |
headDocument.content.[].content.attachments.[] | object | http://oembed.com/ |
headDocument.content.[].content.attachments.[].provider_url | string | |
headDocument.content.[].content.attachments.[].title | string | |
headDocument.content.[].content.attachments.[].url | string | |
headDocument.content.[].content.attachments.[].type | string | |
headDocument.content.[].content.attachments.[].thumbnail_width | number | |
headDocument.content.[].content.attachments.[].height | number | |
headDocument.content.[].content.attachments.[].width | number | |
headDocument.content.[].content.attachments.[].version | string | |
headDocument.content.[].content.attachments.[].link | string | |
headDocument.content.[].content.attachments.[].author_name | string | |
headDocument.content.[].content.attachments.[].provider_name | string | |
headDocument.content.[].content.attachments.[].thumbnail_url | string | |
headDocument.content.[].content.attachments.[].thumbnail_height | number | |
headDocument.content.[].content.attachments.[].author_url | string | |
headDocument.content.[].content.annotations | object | |
headDocument.content.[].content.annotations.likedBy | array | Present when the Content has been liked |
headDocument.content.[].content.annotations.likedBy.[] | string | ID of Author who liked the Message |
headDocument.content.[].content.annotations.featuredmessage | object | Present when the Content has been featured |
headDocument.content.[].content.annotations.featuredmessage.authorId | string | ID of Author who featured the Content |
headDocument.content.[].content.annotations.featuredmessage.value | string | When featured from Livefyre Apps, this is the UNIX epoch time of when it was featured |
headDocument.content.[].content.annotations.featuredmessage.collectionId | string | ID of Livefyre Collection in which this Content is featured |
headDocument.content.[].content.annotations.geocode | object | Describes a location associated with the Content |
headDocument.content.[].content.annotations.geocode.latitude | number | latitude |
headDocument.content.[].content.annotations.geocode.longitude | number | longitude |
headDocument.followers | array | |
headDocument.followers.[] | string | |
headDocument.authors | object | |
networkSettings | object | |
networkSettings.editMode | number | |
networkSettings.liShareEnabled | boolean | |
networkSettings.featuredReaderEnabled | boolean | |
networkSettings.premoderated | boolean | |
networkSettings.hovercardsEnabled | boolean | |
networkSettings.nestLevel | number | |
networkSettings.streamType | number | |
networkSettings.reviewRepliesEnabled | boolean | |
networkSettings.commentsEnabled | boolean | |
networkSettings.mediaDisplay | number | |
networkSettings.richTextEnabled | boolean | |
networkSettings.editCommentInterval | number | |
networkSettings.allowGuestComments | boolean | |
networkSettings.taggingEnabled | boolean | |
networkSettings.repliesEnabled | boolean | |
networkSettings.topContentDisplay | number | |
networkSettings.featuringEnabled | boolean | |
networkSettings.charLimit | number | |
networkSettings.xxHtmlBlob | string | |
networkSettings.twitterShareEnabled | boolean | |
networkSettings.highVelocityMode | boolean | |
networkSettings.allowEditComments | boolean | |
networkSettings.enabled | boolean | |
networkSettings.fbShareEnabled | boolean | |
networkSettings.mediaUploadEnabled | boolean | |
networkSettings.throttleStream | boolean | |
networkSettings.rawHtml | boolean | |
siteSettings | object | |
siteSettings.allowGuestComments | boolean | |
siteSettings.premoderated | boolean | |
siteSettings.nestLevel | number | |
siteSettings.enabled | boolean | |
collectionSettings | object | |
collectionSettings.networkId | string | |
collectionSettings.archiveInfo | object | Contains metadata about the rest of the comments in the stream. |
collectionSettings.archiveInfo.nPages | number | The total number of pages. |
collectionSettings.archiveInfo.pageInfo | object | The earliest two and most recent five pages are accessed by an explicit URL provided in pageInfo. The keys of pageInfo are zero-based array indexes into the array of pages, ordered from earliest (zero) to lastest. The values are objects with the following keys:
|
collectionSettings.followers | number | The number of users following the stream. |
collectionSettings.allowEditComments | boolean | |
collectionSettings.collectionId | string | |
collectionSettings.url | string | |
collectionSettings.checksum | string | |
collectionSettings.bootstrapUrl | string | A URL path relative to the init.js request domain that indicates where to request the most recent content in the Collection. |
collectionSettings.numVisible | number | The number of visible comments in the Collection. |
collectionSettings.editCommentInterval | number | |
collectionSettings.topics | array | |
collectionSettings.topics.[] | string | |
collectionSettings.nestLevel | number | The number of thread nest levels that have been configured for this Collection. |
collectionSettings.siteId | string | |
collectionSettings.allowGuestComments | boolean | |
collectionSettings.title | string | |
collectionSettings.config | object | |
collectionSettings.event | number | The ID of the last event that occurred within the Collection. |
collectionSettings.commentsDisabled | boolean |
{
"headDocument": {
"content": [],
"followers": [],
"authors": {}
},
"networkSettings": {
"editMode": 1,
"liShareEnabled": false,
"featuredReaderEnabled": true,
"premoderated": false,
"hovercardsEnabled": true,
"nestLevel": 2,
"streamType": 1,
"reviewRepliesEnabled": true,
"commentsEnabled": true,
"mediaDisplay": 1,
"richTextEnabled": true,
"editCommentInterval": 5,
"allowGuestComments": false,
"taggingEnabled": true,
"repliesEnabled": true,
"topContentDisplay": 2,
"featuringEnabled": true,
"charLimit": 8000,
"xxHtmlBlob": "",
"twitterShareEnabled": true,
"highVelocityMode": false,
"allowEditComments": true,
"enabled": true,
"fbShareEnabled": true,
"mediaUploadEnabled": true,
"throttleStream": false,
"rawHtml": true
},
"siteSettings": {
"allowGuestComments": false,
"premoderated": false,
"nestLevel": 2,
"enabled": true
},
"collectionSettings": {
"networkId": "client-solutions.fyre.co",
"archiveInfo": {
"nPages": 0,
"pageInfo": {}
},
"followers": 0,
"allowEditComments": false,
"collectionId": "80126169",
"url": "http://livefyre.com/",
"checksum": "",
"bootstrapUrl": "/client-solutions.fyre.co/333682/YXBpdGVzdC0xNDAwMDAyNjcx/head.json",
"numVisible": 0,
"editCommentInterval": 0,
"data": [],
"topics": [],
"nestLevel": 0,
"siteId": "333682",
"allowGuestComments": false,
"title": "apitest-1400002671",
"config": {},
"event": 0,
"commentsDisabled": false
}
}
gethttps://{networkName}.admin.fyre.co/api/v3.0/collections/settings/
Retrieves the settings for a Collection.
name | required | type | description |
---|---|---|---|
lftoken | true | string | A Livefyre Authentication Token of a user with owner level Network access. |
collectionId | true | string | The ID for the Collection ID you wish to query. For example: '10633838'. |
Collection Info
property | type | description |
---|---|---|
status | string | |
code | number | |
data | object | |
data.stream_type_changes_enabled | object | |
data.stream_type_changes_enabled.scope | string | |
data.stream_type_changes_enabled.value | boolean | |
data.network | object | |
data.network.liShareEnabled | boolean | |
data.network.premoderated | boolean | |
data.network.media_upload_enabled | boolean | |
data.network.nestLevel | number | |
data.network.streamType | number | |
data.network.high_velocity_mode | boolean | |
data.network.commentsEnabled | boolean | |
data.network.edit_review_replies | boolean | |
data.network.richTextEnabled | boolean | |
data.network.editCommentInterval | number | |
data.network.allowGuestComments | boolean | |
data.network.throttle_stream | boolean | |
data.network.fbCurateEnabled | boolean | |
data.network.repliesEnabled | boolean | |
data.network.review_replies_enabled | boolean | |
data.network.curateEnabled | boolean | |
data.network.charLimit | number | |
data.network.allowEditComments | boolean | |
data.network.media_display | number | |
data.network.featured_reader_enabled | boolean | |
data.network.manualCurateEnabled | boolean | |
data.network.media_display_changes_enabled | boolean | |
data.network.feedCurateEnabled | boolean | |
data.network.high_velocity_changes_enabled | boolean | |
data.network.enabled | boolean | |
data.network.media_premoderated | boolean | |
data.network.fbShareEnabled | boolean | |
data.network.edit_mode | number | |
data.network.throttle_stream_changes_enabled | boolean | |
data.network.fbFanpageCurateEnabled | boolean | |
data.network.twitterShareEnabled | boolean | |
data.admin_search_poll_interval | object | |
data.admin_search_poll_interval.scope | string | |
data.admin_search_poll_interval.value | number | |
data.collectionId | string | |
data.stream_type | object | |
data.stream_type.scope | string | |
data.stream_type.value | number | |
data.replies_enabled | object | |
data.replies_enabled.scope | string | |
data.replies_enabled.value | nullboolean | |
data.scheduled_rules | object | |
data.scheduled_rules.commenting_enabled | object | |
data.scheduled_rules.commenting_enabled.scope | string | |
data.scheduled_rules.commenting_enabled.value | boolean | |
data.site | object | |
data.site.allowGuestComments | boolean | |
data.site.enabled | boolean | |
data.site.premoderated | boolean | |
data.site.nestLevel | number | |
data.nest_level | object | |
data.nest_level.scope | string | |
data.nest_level.value | number | |
data.site_defaults | object | |
data.site_defaults.premoderated | boolean | |
data.site_defaults.nest_level | number |
{
"status": "ok",
"code": 200,
"data": {
"stream_type_changes_enabled": {
"scope": "global",
"value": true
},
"network": {
"liShareEnabled": false,
"premoderated": false,
"media_upload_enabled": false,
"nestLevel": 4,
"streamType": 1,
"high_velocity_mode": false,
"commentsEnabled": true,
"edit_review_replies": true,
"richTextEnabled": true,
"editCommentInterval": 5,
"allowGuestComments": false,
"throttle_stream": false,
"fbCurateEnabled": false,
"repliesEnabled": true,
"review_replies_enabled": true,
"curateEnabled": false,
"charLimit": 8000,
"allowEditComments": false,
"media_display": 1,
"featured_reader_enabled": true,
"manualCurateEnabled": false,
"media_display_changes_enabled": true,
"feedCurateEnabled": false,
"high_velocity_changes_enabled": true,
"enabled": true,
"media_premoderated": false,
"fbShareEnabled": true,
"edit_mode": 0,
"throttle_stream_changes_enabled": true,
"fbFanpageCurateEnabled": false,
"twitterShareEnabled": true
},
"admin_search_poll_interval": {
"scope": "global",
"value": 10000
},
"collectionId": "83157721",
"stream_type": {
"scope": "collection",
"value": 1
},
"replies_enabled": {
"scope": "collection",
"value": null
},
"scheduled_rules": {},
"commenting_enabled": {
"scope": "collection",
"value": true
},
"site": {
"allowGuestComments": false,
"enabled": true,
"premoderated": false,
"nestLevel": 4
},
"nest_level": {
"scope": "collection",
"value": 4
},
"site_defaults": {
"premoderated": false,
"nest_level": 4
}
}
}
posthttps://{networkName}.admin.fyre.co/api/v3.0/collections/settings/{collectionId}/{setting}
Changes a Setting on a Collection
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID for the Collection ID to query. For example: '10633838'. |
setting | true | string | The setting to change |
Collection Info
{
"status": "ok",
"code": 200,
"data": {
"commenting_enabled": true,
"collectionId": "10670877"
}
}
gethttps://{networkName}.stream1.fyre.co/v3.1/collection/{collectionId}/{lastEventId}/
Get recent updates about changes to the Collection and its Contents. This API uses a technique called long polling to stream updates in near-real-time. That means that it is normal for this API not to respond immediately.
name | required | type | description |
---|---|---|---|
collectionId | true | number | ID of the Collection to fetch updates from |
lastEventId | true | string | The last Event ID you've seen. The response will include updates that occurred after this Event. Each response includes the highest Event ID it contains, so you can provide that to the next request. To initiate streaming, you can get a Collection's latest event ID from the Collection Info Plus API response. |
Stream Updates
property | type | description |
---|---|---|
timeout | boolean | If this is true, then the API has responded at the end of its default timeout period because no new updates occurred. In this case, a client should re-request the endpoint with the same parameters. This is the most common scenario in a low-activity Collection. |
data | object | |
data.maxEventId | number | The highest Event ID of the updates in this response. Use this value when building the URL of your next Stream API request to get updates occurring after all the updates in this response. |
data.states | object | Updates to any Content items in the Collection. Keys are Message IDs. |
data.states.[] | object | A snapshot of a Content item |
data.states.[].source | integer | Content provided by Livefyre can originate from social providers other than Livefyre (e.g. Twitter, Facebook). The sources and the enumerated values that correspond to them are:
|
data.states.[].type | integer | Enum indicating the type of Content that this object is.
|
data.states.[].vis | integer | Enum indicating the visibility of the Content. Not all content is visible to everyone. For example, moderators can see content that has yet to be approved, and “bozod” content is visible only to their trollish authors.
|
data.states.[].collectionId | string | ID of a Collection that contains this Content item |
data.states.[].content | object | |
data.states.[].content.bodyHtml | string | The main message of the Content, as an HTML string. |
data.states.[].content.authorId | string | ID of the Author of this Content |
data.states.[].content.parentId | string | If this Content is in reply to or a part of some other Content, then this will be the ID of that other Content. Otherwise, it will be an empty string. |
data.states.[].content.updatedAt | number | Unix Epoch time of when this Content item was last updated |
data.states.[].content.createdAt | number | Unix Epoch time of when this Content was first created |
data.states.[].content.id | string | ID of this Content item |
data.states.[].content.attachments | array | |
data.states.[].content.attachments.[] | object | http://oembed.com/ |
data.states.[].content.attachments.[].provider_url | string | |
data.states.[].content.attachments.[].title | string | |
data.states.[].content.attachments.[].url | string | |
data.states.[].content.attachments.[].type | string | |
data.states.[].content.attachments.[].thumbnail_width | number | |
data.states.[].content.attachments.[].height | number | |
data.states.[].content.attachments.[].width | number | |
data.states.[].content.attachments.[].version | string | |
data.states.[].content.attachments.[].link | string | |
data.states.[].content.attachments.[].author_name | string | |
data.states.[].content.attachments.[].provider_name | string | |
data.states.[].content.attachments.[].thumbnail_url | string | |
data.states.[].content.attachments.[].thumbnail_height | number | |
data.states.[].content.attachments.[].author_url | string | |
data.states.[].content.annotations | object | |
data.states.[].content.annotations.likedBy | array | Present when the Content has been liked |
data.states.[].content.annotations.likedBy.[] | string | ID of Author who liked the Message |
data.states.[].content.annotations.featuredmessage | object | Present when the Content has been featured |
data.states.[].content.annotations.featuredmessage.authorId | string | ID of Author who featured the Content |
data.states.[].content.annotations.featuredmessage.value | string | When featured from Livefyre Apps, this is the UNIX epoch time of when it was featured |
data.states.[].content.annotations.featuredmessage.collectionId | string | ID of Livefyre Collection in which this Content is featured |
data.states.[].content.annotations.geocode | object | Describes a location associated with the Content |
data.states.[].content.annotations.geocode.latitude | number | latitude |
data.states.[].content.annotations.geocode.longitude | number | longitude |
data.authors | object | Authors mentioned by other parts of this response. Keys are Author IDs. |
data.authors.[] | object | |
data.authors.[].displayName | string | |
data.authors.[].tags | array | |
data.authors.[].tags.[] | string | |
data.authors.[].profileUrl | string | |
data.authors.[].avatar | string | |
data.authors.[].type | number | |
data.authors.[].id | string | |
data.annotations | object | |
data.annotations.[] | object | |
data.annotations.[].added | object | |
data.annotations.[].added.likedBy | array | |
data.annotations.[].added.likedBy.[] | string | Author IDs that have Liked the Message |
data.annotations.[].removed | object | |
data.annotations.[].removed.likedBy | array | |
data.annotations.[].removed.likedBy.[] | string | Author IDs that have Liked the Message |
data.annotations.[].updated | object | |
data.annotations.[].updated.likedBy | array | |
data.annotations.[].updated.likedBy.[] | string | Author IDs that have Liked the Message |
data.followers | array | |
data.followers.[] | object | |
data.followers.[].eventId | number | ID of the Event that triggered this Follower Update |
data.followers.[].collectionId | string | ID of the Collection in which this Follower Update occurred |
data.followers.[].following | boolean | Whether the author is now following the Collection |
data.followers.[].authorId | string | ID of the Author whose Follower status has been updated |
{
"data": {
"states": {
"tweet-312328006913904641@twitter.com": {
"vis": 1,
"content": {
"replaces": "",
"bodyHtml": "<a vocab=\"http://schema.org\" typeof=\"Person\" rel=\"nofollow\" resource=\"acct:14268796\" data-lf-handle=\"\" data-lf-provider=\"twitter\" property=\"url\" href=\"https://twitter.com/#!/TheRoyalty\" target=\"_blank\" class=\"fyre-mention fyre-mention-twitter\">@<span property=\"name\">TheRoyalty</span></a> hoppin on a green frog after the set at <a vocab=\"http://schema.org\" typeof=\"Person\" rel=\"nofollow\" resource=\"acct:1240466234\" data-lf-handle=\"\" data-lf-provider=\"twitter\" property=\"url\" href=\"https://twitter.com/#!/Horseshoe_SX13\" target=\"_blank\" class=\"fyre-mention fyre-mention-twitter\">@<span property=\"name\">Horseshoe_SX13</span></a> showcase during <a href=\"https://twitter.com/#!/search/realtime/%23sxsw\" class=\"fyre-hashtag\" hashtag=\"sxsw\" rel=\"tag\" target=\"_blank\">#sxsw</a> <a href=\"http://t.co/lUqA5TT7Uy\" target=\"_blank\" rel=\"nofollow\">pic.twitter.com/lUqA5TT7Uy</a>",
"annotations": {},
"authorId": "190737922@twitter.com",
"parentId": "",
"updatedAt": 1363299774,
"id": "tweet-312328006913904641@twitter.com",
"createdAt": 1363299774
},
"source": 1,
"lastVis": 0,
"type": 0,
"event": 1363299777181024
},
"oem-3-tweet-312328006913904641@twitter.com": {
"vis": 1,
"content": {
"targetId": "tweet-312328006913904641@twitter.com",
"authorId": "-",
"link": "http://twitter.com/PlanetLA_Music/status/312328006913904641/photo/1",
"oembed": {
"provider_url": "http://twitter.com",
"title": "Twitter / PlanetLA_Music: @TheRoyalty hoppin on a green ...",
"url": "",
"type": "rich",
"html": "<blockquote class=\"twitter-tweet\"><a href=\"https://twitter.com/PlanetLA_Music/status/312328006913904641\"></a></blockquote><script async src=\"//platform.twitter.com/widgets.js\" charset=\"utf-8\"></script>",
"author_name": "",
"height": 0,
"thumbnail_width": 568,
"width": 0,
"version": "1.0",
"author_url": "",
"provider_name": "Twitter",
"thumbnail_url": "https://pbs.twimg.com/media/BFWcquJCUAA7orG.jpg",
"thumbnail_height": 568
},
"position": 3,
"id": "oem-3-tweet-312328006913904641@twitter.com"
},
"source": 1,
"lastVis": 0,
"type": 3,
"event": 1363299777193595
}
},
"authors": {
"190737922@twitter.com": {
"displayName": "PlanetLA_Music",
"tags": [],
"profileUrl": "https://twitter.com/#!/PlanetLA_Music",
"avatar": "http://a0.twimg.com/profile_images/1123786999/PLAnew-logo_normal.jpg",
"type": 3,
"id": "190737922@twitter.com"
}
},
"jsver": "10026",
"maxEventId": 1363299777193595,
"annotations": {
"ContentInStorage123": {
"added": {
"featuredmessage": {
"rel_collectionId": "10739960",
"value": 1381771674
}
}
}
},
"followers": [
{
"eventId": 1449766412318231,
"collectionId": "74626058",
"following": true,
"authorId": "_up4729638@livefyre.com"
}
]
}
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/site/{siteId}/collection/create/
Creates a Livefyre Collection
name | required | type | description |
---|---|---|---|
siteId | true | string | The Livefyre-provided ID for the website or application to which the Collection belongs. For example: 303617. |
name | required | type | description |
---|---|---|---|
checksum | false | string | A JSON object that includes article metadata, encoded using MD5. The checksum is used if you wish to notify Livefyre of any changes that you've made to your Collection. Note: If you do not provide a checksum, one will be created for you." |
collectionMeta | true | string | A JSON object that includes article metadata as described in CollectionMeta Token, encoded using JSON Web Tokens. |
Create Collection
property | type | description |
---|---|---|
msg | string | |
status | string | |
code | object |
{
"msg": "This request is being processed.",
"status": "ok",
"code": 202
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/follow/
Follows the input Collection.
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID of the Collection that you want the user to follow. |
name | required | type | description |
---|---|---|---|
lftoken | true | string | A Livefyre Authentication Token of the user that you're registering to follow the conversation. |
Follow Collection
property | type | description |
---|---|---|
status | string | |
code | string | |
data | object | |
data.type | string | |
data.id | string |
{
"status": "ok",
"code": 200,
"data": {
"type": "follow",
"id": 80048736
}
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/unfollow/
Unfollows the input Collection.
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID of the Collection to unfollow. |
name | required | type | description |
---|---|---|---|
lftoken | true | string | A Livefyre Authentication Token of the user that you're registering to unfollow the conversation. |
Follow Collection
property | type | description |
---|---|---|
status | string | |
code | string | |
data | object | |
data.type | string | |
data.id | string |
{
"status": "ok",
"code": 200,
"data": {
"type": "unfollow",
"id": 80048736
}
}
gethttps://{networkName}.bootstrap.fyre.co/api/v3.0/hottest/
The Heat Index API surfaces the most active Collections across your network. This API surveys all Collections within a network to determine which are currently the most active, based on activity and recency of user interaction. The API takes into account quantity and velocity of content, generating a float that degrades over time using a linear decay factor. The end result is that a Collection that generates, for example, 50 pieces of content within the past hour has a higher Heat than one that generated 500 pieces of content two weeks ago. This produces results that are more relevant than a “most commented” calculation, which would simply count the number of comments over time, resulting in outdated conversations being pinned perpetually to the top of the list. The linear decay factor operates on a half-life, set to four hours by default. This half-life can be set at both the network and site level and adjusted to within a range of one minute to 12 hours. To change the half-life setting, please contact your account manager. Over time, as the Heat value of a Collection approaches zero (0), the Heat calculation cleans up dormant Collections and they will no longer be returned in the result set. Notes: There are guaranteed to be at least 10 results when filtering by site (provided the site has 10 or more Collections). Filtering by tag may return zero results if there are no Collections with a valid Heat value with that tag. The results of this API are cached for two minutes. The Heat Index API can be used with Curated content. Response Returned results are sorted by heat, in descending order. Use the returned initUrl parameter to fetch the content within a the Collection. For example: http://bootstrap.livefyre.com/bs3/v3.1/livefyre.com/303613/MTM0/init
name | required | type | description |
---|---|---|---|
site | false | string | Filter results to include only Collections from this site ID. |
number | false | number | The number of results you'd like. The default is 10 and the maximum is 100. |
tag | false | string | Filter results to include only Collections with a certain tag. Note: Boolean operators AND, OR, and NOT rules with multiple tags are supported. Only one operator per query. Strings must be entered as params titled 'tag' in a URL-safe format. 10 tags max. For example: https://{networkName}.bootstrap.fyre.co/api/v3.0/hottest/?tag=unga&tag=bunga&op=and To return only Collections with both tags 'a' and 'b', use ?tag=a&tag=b&op=and To exclude Collections with tags 'private', use ?tag=private&op=not To return only Collections with either tag 'a' or tag 'b', use ?tag=a&tag=b&op=or |
Heat
property | type | description |
---|---|---|
status | string | |
code | number | |
data | array | |
data.[] | object | |
data.[].updated | number | |
data.[].tags | array | |
data.[].tags.[] | string | |
data.[].url | string | |
data.[].title | string | |
data.[].initUrl | string | |
data.[].heat | number | |
data.[].siteId | number | |
data.[].articleId | string | |
data.[].id | number |
{
"status": "ok",
"code": 200,
"data": [
{
"updated": "2012-08-29T19:54:22",
"tags": [
"",
"ben"
],
"url": "http://example.com/",
"title": "Example Fyreticker",
"initUrl": "/bs3/livefyre.com/303613/MTM0/init",
"heat": 0.927485339946,
"siteId": 303613,
"articleId": "134",
"id": 10583468
}
]
}
posthttps://api.livefyre.com/{network}/media/uploads/
Upload Media to Livefyre so that it can referenced as an attachment in subsequent "Post to Collection" API calls.
Request body should be the bytes of the image or video you want to upload. Specify the mimetype in the request's Content-Type header. Maximum file size is 25 MB.
name | required | type | description |
---|---|---|---|
network | true | string | Your organization's Livefyre Network, e.g. something.fyre.co |
Media uploaded. The response is an opaque 'attachment' JSON object. You can use this in the attachment parameter of the "Post to Collection" API.
{
"type": "LivefyreMediaUpload",
"data": "d7891ebc43c865d0:arUYEybvyeZmmqbpOcWQJEe3pwmDaKynqw2A8FFkYxJarTV39+Nw+JWCyUHCjm9ICjdUWOEIF1EEYBpxoQ1OcduM2Q7OkTMZCZM55RJVAEAiCbhkUfi9Vp+wBZpAhFkQPA4gSPmItmVPNsWeUvcYKYJe8qhfk1ZQ8ZxNF8JVeBNmOYjJHXVR5Uwryxy9LKeMqRjo482kW129W3uW9kpSudm0Zj2GbhNAcx3gGw5G5OTrlPv3/D5Aja12ATI0UktoSe97S3X5/Nh6BHCdvHPSHaso6z5ahCJ82sMtxC7VZwBNeOsG20N2/xCSK70aoVT14vs2BZzvXR3Q1lnB+1FbD84fgMoIYHVCp9RwKtIWzN9aHnXyt0FUPcO+E4bqyFlcG8sv2LNQiK7cBmu+3PX3ybSPKVmNvM1hPdvUXcGTjhkaJN04s9eIXshT4voXIRjdq/hESpBiGx35yW8z5NA="
}
gethttps://{networkName}.bootstrap.fyre.co/api/v3.0/site/{siteId}/article/{b64articleId}/top/likes/
Returns the 25 pieces of content in a Collection that have the most likes. Collections can be addressed by site ID and article ID. Content must have at least one like to be returned.
name | required | type | description |
---|---|---|---|
b64articleId | true | string | The article ID you chose to uniquely identify a Collection in your site, encoded using Base64. |
siteId | true | string | The Livefyre-provided ID for the website or application from which featured content will be pulled. For example: 303617. |
Likes
property | type | description |
---|---|---|
status | string | |
code | number | |
data | object | |
data.content | array | |
data.content.[] | object | A snapshot of a Content item |
data.content.[].source | integer | Content provided by Livefyre can originate from social providers other than Livefyre (e.g. Twitter, Facebook). The sources and the enumerated values that correspond to them are:
|
data.content.[].type | integer | Enum indicating the type of Content that this object is.
|
data.content.[].vis | integer | Enum indicating the visibility of the Content. Not all content is visible to everyone. For example, moderators can see content that has yet to be approved, and “bozod” content is visible only to their trollish authors.
|
data.content.[].collectionId | string | ID of a Collection that contains this Content item |
data.content.[].content | object | |
data.content.[].content.bodyHtml | string | The main message of the Content, as an HTML string. |
data.content.[].content.authorId | string | ID of the Author of this Content |
data.content.[].content.parentId | string | If this Content is in reply to or a part of some other Content, then this will be the ID of that other Content. Otherwise, it will be an empty string. |
data.content.[].content.updatedAt | number | Unix Epoch time of when this Content item was last updated |
data.content.[].content.createdAt | number | Unix Epoch time of when this Content was first created |
data.content.[].content.id | string | ID of this Content item |
data.content.[].content.attachments | array | |
data.content.[].content.attachments.[] | object | http://oembed.com/ |
data.content.[].content.attachments.[].provider_url | string | |
data.content.[].content.attachments.[].title | string | |
data.content.[].content.attachments.[].url | string | |
data.content.[].content.attachments.[].type | string | |
data.content.[].content.attachments.[].thumbnail_width | number | |
data.content.[].content.attachments.[].height | number | |
data.content.[].content.attachments.[].width | number | |
data.content.[].content.attachments.[].version | string | |
data.content.[].content.attachments.[].link | string | |
data.content.[].content.attachments.[].author_name | string | |
data.content.[].content.attachments.[].provider_name | string | |
data.content.[].content.attachments.[].thumbnail_url | string | |
data.content.[].content.attachments.[].thumbnail_height | number | |
data.content.[].content.attachments.[].author_url | string | |
data.content.[].content.annotations | object | |
data.content.[].content.annotations.likedBy | array | Present when the Content has been liked |
data.content.[].content.annotations.likedBy.[] | string | ID of Author who liked the Message |
data.content.[].content.annotations.featuredmessage | object | Present when the Content has been featured |
data.content.[].content.annotations.featuredmessage.authorId | string | ID of Author who featured the Content |
data.content.[].content.annotations.featuredmessage.value | string | When featured from Livefyre Apps, this is the UNIX epoch time of when it was featured |
data.content.[].content.annotations.featuredmessage.collectionId | string | ID of Livefyre Collection in which this Content is featured |
data.content.[].content.annotations.geocode | object | Describes a location associated with the Content |
data.content.[].content.annotations.geocode.latitude | number | latitude |
data.content.[].content.annotations.geocode.longitude | number | longitude |
data.authors | object | |
data.authors.[] | object | |
data.authors.[].displayName | string | |
data.authors.[].tags | array | |
data.authors.[].tags.[] | string | |
data.authors.[].profileUrl | string | |
data.authors.[].avatar | string | |
data.authors.[].type | number | |
data.authors.[].id | string |
{
"status": "ok",
"code": 200,
"data": {
"content": [
{
"vis": 1,
"content": {
"replaces": "",
"bodyHtml": "<p>Woot!</p>",
"id": "25805985",
"authorId": "_u2012@livefyre.com",
"parentId": "",
"updatedAt": 1346464119,
"annotations": {
"moderator": true,
"likes": 1
},
"createdAt": 1346464118
},
"childContent": [],
"source": 5,
"type": 0,
"event": 1346908635624400
},
{
"vis": 1,
"content": {
"replaces": "",
"bodyHtml": "<p>Woaha</p>",
"id": "25805982",
"authorId": "_u2012@livefyre.com",
"parentId": "",
"updatedAt": 1346454759,
"annotations": {
"moderator": true,
"likes": 1
},
"createdAt": 1346454759
},
"childContent": [],
"source": 5,
"type": 0,
"event": 1346454759883100
},
{
"source": 5,
"content": {
"replaces": "",
"parentId": "",
"bodyHtml": "<p><a href=\"http://www.flickr.com/photos/noticiashiphop/7880646838\" target=\"_blank\" rel=\"nofollow\">http://www.flickr.com/photos/noticiashiphop/7880646838</a></p>",
"id": "26373494",
"authorId": "_u2012@livefyre.com",
"updatedAt": 1357327615,
"annotations": {
"moderator": true,
"likes": 1
},
"createdAt": 1357327614
},
"vis": 1,
"type": 0,
"event": 1357327629175900,
"childContent": [
{
"content": {
"targetId": "26373494",
"authorId": "-",
"link": "http://www.flickr.com/photos/noticiashiphop/7880646838",
"position": 0,
"oembed": {
"provider_url": "http://www.flickr.com/",
"version": "1.0",
"title": "Realidades Métricas",
"url": "http://farm9.staticflickr.com/8425/7880646838_723c000863_b.jpg",
"author_name": "WWW.NOTICIASHIPHOP.ES",
"height": 683,
"width": 1024,
"html": "",
"thumbnail_width": 75,
"provider_name": "Flickr",
"thumbnail_url": "http://farm9.staticflickr.com/8425/7880646838_723c000863_s.jpg",
"type": "photo",
"thumbnail_height": 75,
"author_url": "http://www.flickr.com/photos/noticiashiphop/"
},
"id": "oem-0-26373494"
},
"vis": 1,
"type": 3,
"event": 1357327628972300,
"source": 5
}
]
},
{
"source": 5,
"content": {
"replaces": "",
"parentId": "",
"bodyHtml": "<p>,.opdeyihdiidiu,.pdyhfigthdaoepf5</p>",
"id": "26363254",
"authorId": "_up2790717@livefyre.com",
"updatedAt": 1351831720,
"annotations": {
"moderator": true,
"likes": 1
},
"createdAt": 1351831720
},
"vis": 1,
"type": 0,
"event": 1351831720770700,
"childContent": []
}
],
"authors": {
"_up2790717@livefyre.com": {
"displayName": "loupgaroublond",
"tags": [],
"sourceId": "",
"profileUrl": "http://www.t402.livefyre.com/profile/2790717/",
"avatar": "http://t402-avatars.s3.amazonaws.com/a/1/c34444c3102e2b2653dbb1b156443094/50.jpg",
"type": 1,
"id": "_up2790717@livefyre.com"
},
"_u2012@livefyre.com": {
"displayName": "ben",
"tags": [],
"sourceId": "",
"profileUrl": "http://www.t402.livefyre.com/profile/5011/",
"avatar": "http://t402-avatars.s3.amazonaws.com/a/1/d627b1ba3fce6ab0af872ed3d65278fd/50.jpg",
"type": 1,
"id": "_u2012@livefyre.com"
}
}
}
}
gethttps://{networkName}.bootstrap.fyre.co/api/v3.0/site/{siteId}/article/{b64articleId}/top/votes/
Returns the 25 pieces of content in a Sidenotes or Reviews Collection that have the most votes. Collections can be addressed by site ID and article ID. Content must have at least one vote to be returned.
name | required | type | description |
---|---|---|---|
b64articleId | true | string | The article ID you chose to uniquely identify a Collection in your site, encoded using Base64. |
siteId | true | string | The Livefyre-provided ID for the website or application from which content will be pulled. For example: 303617. |
Votes
property | type | description |
---|---|---|
status | string | |
code | number | |
data | object | |
data.content | array | |
data.content.[] | object | |
data.content.[].source | number | |
data.content.[].collectionId | string | |
data.content.[].vis | number | |
data.content.[].type | number | |
data.content.[].event | string | |
data.content.[].content | object | |
data.content.[].content.generator | object | |
data.content.[].content.generator.id | string | |
data.content.[].content.parentId | string | |
data.content.[].content.bodyHtml | string | |
data.content.[].content.annotations | object | |
data.content.[].content.annotations.vote | array | |
data.content.[].content.annotations.vote.[] | object | |
data.content.[].content.annotations.vote.[].value | number | |
data.content.[].content.annotations.vote.[].author | string | |
data.content.[].content.annotations.votes | number | |
data.content.[].content.annotations.annotation | object | |
data.content.[].content.annotations.annotation.blockId | string | |
data.content.[].content.authorId | string | |
data.content.[].content.updatedAt | number | |
data.content.[].content.id | string | |
data.content.[].content.createdAt | number | |
data.authors | object | |
data.authors.[] | object | |
data.authors.[].displayName | string | |
data.authors.[].tags | array | |
data.authors.[].tags.[] | string | |
data.authors.[].profileUrl | string | |
data.authors.[].avatar | string | |
data.authors.[].type | number | |
data.authors.[].id | string |
{
"status": "ok",
"code": 200,
"data": {
"content": [
{
"source": 0,
"collectionId": "2486299",
"content": {
"generator": {
"id": "livefyre.com"
},
"parentId": "",
"bodyHtml": "<p>hi</p>",
"annotations": {
"vote": [
{
"value": 1,
"author": "_up1770410@livefyre.com"
},
{
"value": 1,
"author": "_up1770416@livefyre.com"
}
],
"votes": 2,
"annotation": {
"blockId": "25b894e9c448f8f501755d05683e1bc8:0"
}
},
"authorId": "_up1770410@livefyre.com",
"updatedAt": 1421789579,
"id": "cec895e5e39549bdbf00398e563a5498@livefyre.com",
"createdAt": 1421789579
},
"vis": 1,
"type": 0,
"event": 1421789594697118
}
],
"authors": {
"_up1770410@livefyre.com": {
"displayName": "test1",
"tags": [],
"profileUrl": "admin.fy.re/profile/1770410/",
"avatar": "https://secure.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452/?s=50&d=http://d25bq1kaa0xeba.cloudfront.net/a/anon/50.jpg",
"type": 1,
"id": "_up1770410@livefyre.com"
}
}
}
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/post/
Adds content to the input Collection.
Note: If you have Custom HTML enabled for your network, this API may be used to post raw HTML into the Collection. In this case, the attachments parameter is required.
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID of the Collection to which the content will be added. |
Content-Type: application/json
property | type | description |
---|---|---|
body | string | A string of HTML that will be the body of the posted content. Allowed HTML tags include: a, span, label, p, br, strong, em, u, blockquote, ul, li, ol, pre. |
attachments | array | Media to attach to the post. The value should be a JSON string that is an array of oEmbed objects. If the Collection is configured to enable raw HTML attachments, you can add them by including an oEmbed with the following fields:
To post with attached Media Uploads, include an object with the following fields:
|
attachments.[] | object | |
attachments.[].type | string |
Post
property | type | description |
---|---|---|
status | string | |
code | string | |
data | object | |
data.messages | array | The newly created Message |
data.messages.[] | object | A snapshot of a Content item |
data.messages.[].source | integer | |
data.messages.[].type | integer | |
data.messages.[].vis | integer | Enum indicating the visibility of the Content. Not all content is visible to everyone. For example, moderators can see content that has yet to be approved, and “bozod” content is visible only to their trollish authors.
|
data.messages.[].content | object | |
data.messages.[].content.bodyHtml | string | The main message of the Content, as an HTML string. |
data.messages.[].content.authorId | string | ID of the Author of this Content |
data.messages.[].content.parentId | string | If this Content is in reply to or a part of some other Content, then this will be the ID of that other Content. Otherwise, it will be an empty string or null. |
data.messages.[].content.updatedAt | number | Unix Epoch time of when this Content item was last updated |
data.messages.[].content.createdAt | number | Unix Epoch time of when this Content was first created |
data.messages.[].content.id | string | ID of this Content item |
data.messages.[].content.attachments | array | |
data.messages.[].content.attachments.[] | object | http://oembed.com/ |
data.messages.[].content.attachments.[].provider_url | string | |
data.messages.[].content.attachments.[].title | string | |
data.messages.[].content.attachments.[].url | string | |
data.messages.[].content.attachments.[].type | string | |
data.messages.[].content.attachments.[].thumbnail_width | number | |
data.messages.[].content.attachments.[].height | number | |
data.messages.[].content.attachments.[].width | number | |
data.messages.[].content.attachments.[].version | string | |
data.messages.[].content.attachments.[].link | string | |
data.messages.[].content.attachments.[].author_name | string | |
data.messages.[].content.attachments.[].provider_name | string | |
data.messages.[].content.attachments.[].thumbnail_url | string | |
data.messages.[].content.attachments.[].thumbnail_height | number | |
data.messages.[].content.attachments.[].author_url | string | |
data.authors | object | |
data.authors.[] | object | A Livefyre Author |
data.authors.[].profileUrl | string | |
data.authors.[].displayName | string | |
data.authors.[].id | string | |
data.authors.[].avatar | string |
{
"status": "ok",
"code": 200,
"data": {
"messages": [
{
"content": {
"source": 0,
"authorId": "_u2012@livefyre.com",
"replaces": null,
"parentId": null,
"bodyHtml": "<p>442842</p>",
"id": "25802542",
"createdAt": 1337819934
},
"vis": 1,
"type": 0,
"event": null,
"source": 0
}
],
"authors": {
"_u2012@livefyre.com": {
"profileUrl": "http://admin.t405.livefyre.com/profile/5011/",
"displayName": "ben",
"id": "_u2012@livefyre.com",
"avatar": "http://livefyre-avatar.s3.amazonaws.com/a/1/d627b1ba3fce6ab0af872ed3d65278fd/50.jpg"
}
}
}
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/post/tweet/
Adds a single Tweet to a Collection. (Available only to Livefyre Curate customers.)
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID of the Collection to which the Tweet will be posted. |
name | required | type | description |
---|---|---|---|
lftoken | true | string | A Livefyre Authentication Token of the user that you're registering to follow the conversation. |
tweet_id | true | number | The Twitter-allocated Tweet ID of a Tweet to add to the Collection. For example, the tweet_id for this Tweet is 305857291998081025. |
Tweet
property | type | description |
---|---|---|
status | string | |
code | string | |
data | object | |
data.messages | array | |
data.messages.[] | object | |
data.messages.[].content | object | |
data.messages.[].content.replaces | string | |
data.messages.[].content.bodyHtml | string | |
data.messages.[].content.annotations | object | |
data.messages.[].content.authorId | string | |
data.messages.[].content.parentId | string | |
data.messages.[].content.updatedAt | number | The epoch time at which the content was updated. |
data.messages.[].content.mentions | array | |
data.messages.[].content.mentions.[] | object | |
data.messages.[].content.shareLink | string | |
data.messages.[].content.id | string | |
data.messages.[].content.createdAt | number | The epoch time at which the Tweet was posted. |
data.messages.[].vis | number | |
data.messages.[].source | number | |
data.messages.[].replies | array | |
data.messages.[].replies.[] | object | |
data.messages.[].type | number | |
data.messages.[].event | string | |
data.authors | object | |
data.authors.displayName | string | |
data.authors.tags | array | |
data.authors.tags.[] | string | |
data.authors.profileUrl | string | |
data.authors.avatar | string | |
data.authors.type | number | |
data.authors.id | string |
{
"status": "ok",
"code": 200,
"data": {
"messages": [
{
"content": {
"replaces": "",
"bodyHtml": "Anymore - Finally",
"annotations": {},
"authorId": "174958347@twitter.com",
"parentId": "",
"updatedAt": 1361999678,
"mentions": [],
"shareLink": "http://admin.fyre/.fyreit/f9yjMI.4",
"id": "tweet-305935191757684736@twitter.com",
"createdAt": 1361999678
},
"vis": 1,
"source": 0,
"replies": [],
"type": 0,
"event": null
}
],
"authors": {
"174958347@twitter.com": {
"displayName": "Horse ebooks",
"tags": [],
"profileUrl": "http://twitter.com/#!/Horse_ebooks",
"avatar": "http://a0.twimg.com/profile_images/1096005346/1_normal.jpg",
"type": 3,
"id": "174958347@twitter.com"
}
}
}
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/publish/
Publishes content to a collection. Supports adding, updating, moving, and deleting content.
name | required | type | description |
---|---|---|---|
collectionId | true | string | The ID of the Collection to which the content will be added. |
Content-Type: application/json
property | type | description |
---|---|---|
updates | array | Content to update |
updates.[] | object | |
updates.[].id | string | ID of this Content item |
updates.[].displayName | string | Display name of the Author |
updates.[].url | string | URL of the Author |
updates.[].authorId | string | ID of the Author of this Content |
updates.[].parentId | string | If this Content is in reply to or a part of some other Content, then this will be the ID of that other Content. Otherwise, it will be an empty string |
updates.[].ancestorId | string | If this Content is in reply to or a part of some other Content, then this will be the ID of the top level ancestor of the Content. Otherwise, it will be an empty string |
updates.[].bodyHtml | string | The main message of the Content, as an HTML string |
updates.[].createdAt | integer | Unix Epoch time of when this Content was first created |
updates.[].updatedAt | integer | Unix Epoch time of when this Content item was last updated |
updates.[].attachments | array | |
updates.[].attachments.[] | object | http://oembed.com/ |
updates.[].attachments.[].provider_url | string | |
updates.[].attachments.[].title | string | |
updates.[].attachments.[].url | string | |
updates.[].attachments.[].type | string | |
updates.[].attachments.[].thumbnail_width | number | |
updates.[].attachments.[].height | number | |
updates.[].attachments.[].width | number | |
updates.[].attachments.[].version | string | |
updates.[].attachments.[].link | string | |
updates.[].attachments.[].author_name | string | |
updates.[].attachments.[].provider_name | string | |
updates.[].attachments.[].thumbnail_url | string | |
updates.[].attachments.[].thumbnail_height | number | |
updates.[].attachments.[].author_url | string | |
updates.[].annotations | object | |
updates.[].annotations.moderator | boolean | True if the user is a moderator at the time of posting |
updates.[].annotations.whitelist | boolean | True if the user has been whitelisted at the time of posting |
updates.[].annotations.likedBy | array | Array of author IDs |
updates.[].annotations.likedBy.[] | string | An Author ID |
updates.[].annotations.socialMsgId | string | Foreign ID if the Content is from a social provider (eg Twitter) |
updates.[].annotations.feedEntry | object | |
updates.[].annotations.feedEntry.channelId | string | |
updates.[].annotations.feedEntry.type | string | |
updates.[].annotations.feedEntry.title | string | |
updates.[].annotations.feedEntry.link | string | |
updates.[].annotations.feedEntry.description | string | |
updates.[].annotations.feedEntry.pubDate | integer | |
updates.[].annotations.feedEntry.createdAt | integer | |
updates.[].annotations.feedEntry.feedSource | string | |
updates.[].annotations.messagetag | array | Array of tags |
updates.[].annotations.messagetag.[] | string | Tag string |
updates.[].annotations.vote | array | Array of Votes |
updates.[].annotations.vote.[] | object | A Vote object |
updates.[].annotations.vote.[].author | string | An AuthorID |
updates.[].annotations.vote.[].value | string | The vote state, representing +1, 0, -1 |
updates.[].annotations.geocode | object | |
updates.[].annotations.geocode.latitude | number | Latitude of the geocode |
updates.[].annotations.geocode.longitude | number | Longitude of the geocode |
updates.[].annotations.geocode.name | string | Name of the location |
updates.[].annotations.tweetMeta | object | |
updates.[].annotations.tweetMeta.tweetId | integer | |
updates.[].annotations.tweetMeta.created_at | string | |
updates.[].annotations.tweetMeta.in_reply_to_status_id | integer | |
updates.[].annotations.tweetMeta.in_reply_to_screen_name | string | |
updates.[].annotations.tweetMeta.in_reply_to_user_id | integer | |
updates.[].annotations.tweetMeta.language | string | |
updates.[].annotations.tweetMeta.retweet_count | integer | |
updates.[].annotations.tweetMeta.verified_user | boolean | |
updates.[].annotations.tweetMeta.retweeted_status_id | integer | |
updates.[].annotations.tweetMeta.retweet_info | object | |
updates.[].annotations.tweetMeta.retweet_info.user_id | integer | |
updates.[].annotations.tweetMeta.retweet_info.name | string | |
updates.[].annotations.tweetMeta.retweet_info.screen_name | string | |
updates.[].annotations.tweetMeta.retweet_info.profile_image_url | string | |
updates.[].annotations.tweetMeta.tweetIdStr | string | |
updates.[].annotations.tweetMeta.in_reply_to_status_id_str | string | |
updates.[].annotations.tweetMeta.in_reply_to_user_id_str | string | |
updates.[].annotations.sortOrder | number | The sort order |
updates.[].annotations.extension | array | |
updates.[].annotations.extension.[] | object | |
updates.[].annotations.extension.[].key | string | |
updates.[].annotations.extension.[].value | string | |
updates.[].annotations.extension.[].jsonValue | string | |
updates.[].annotations.featuredmessage | object | |
updates.[].annotations.featuredmessage.value | number | ID of Content that should be featured |
updates.[].annotations.featuredmessage.authorId | string | ID of the Author of this Content |
updates.[].annotations.rating | array | |
updates.[].annotations.rating.[] | object | |
updates.[].annotations.rating.[].dimension | string | |
updates.[].annotations.rating.[].value | integer | |
updates.[].annotations.annotation | object | |
updates.[].annotations.annotation.blockId | string | |
updates.[].annotations.annotation.selectedText | string | |
updates.[].generator | object | The generator of the content |
updates.[].generator.id | string | |
updates.[].generator.url | string | |
updates.[].generator.displayName | string | |
updates.[].generator.image | string | |
updates.[].provider | string | |
updates.[].title | string | Title of the Content |
updates.[].updatedBy | string | ID of the Author who updated the Content |
updates.[].mentionUserId | array | |
updates.[].mentionUserId.[] | string | |
updates.[].linkback | object | |
updates.[].linkback.href | string | |
updates.[].linkback.title | string | |
updates.[].linkback.contentId | string | |
updates.[].linkback.collectionId | string | |
updates.[].via | string | Where the Content was procured from |
deletes | array | Array of Content IDs to delete |
deletes.[] | string | ID of Content |
moves | array | Array of move operations |
moves.[] | object | |
moves.[].id | string | ID of Content |
moves.[].sortOrder | number | The sort order |
authors | array | Array of Authors |
authors.[] | object | |
authors.[].id | string | ID of the Author |
authors.[].displayName | string | Display name of the Author |
authors.[].url | string | URL where the Author can be found |
authors.[].avatar | string | Avatar URL of the Author |
authors.[].email | string | Email address of the Author |
authors.[].generator | object | |
authors.[].generator.id | string | |
authors.[].generator.url | string | |
authors.[].generator.displayName | string | |
authors.[].generator.image | string | |
authors.[].handle | string | Handle (if different) from the Author |
Successful response. Hurray!
gethttps://{networkName}.bootstrap.fyre.co/api/v4/{networkId}/query/
Returns all the queries in the system
name | required | type | description |
---|---|---|---|
networkId | true | string | The Id of the network from which the query will be made. For example: 'livefyre.com' |
Returns all the queries in the system
{
"status": "ok",
"code": 200,
"data": {
"queries": [
{
"networkId": "studio-qa-1.fyre.co",
"deleted": false,
"version": 1,
"modifiedAt": 1501718650,
"scope": "urn:livefyre:studio-qa-1.fyre.co:site=291351:collection=2631713",
"id": "1eb7a6fc3c5855db2b3aa617ef4798db",
"createdAt": 1501718650
},
{
"networkId": "studio-qa-1.fyre.co",
"deleted": false,
"version": 1,
"modifiedAt": 1501718657,
"query": {
"must": [
{
"terms": {
"links": [
"1234",
"5678"
]
}
}
]
},
"scope": "urn:livefyre:studio-qa-1.fyre.co:site=291351:collection=2631713",
"id": "6955b51fad4f352eea561d52986d83d7",
"createdAt": 1501718657
}
]
}
}
deletehttps://{networkName}.bootstrap.fyre.co/api/v4/{networkId}/query/
Soft deletes a query
name | required | type | description |
---|---|---|---|
networkId | true | string | The Id of the network from which the query is made. For example: 'livefyre.com' |
Content-Type: application/json
property | type | description |
---|---|---|
queryId | string |
Query has been updated
{
"status": "ok",
"code": 200,
"data": {
"message": "query has been deleted"
}
}
puthttps://{networkName}.bootstrap.fyre.co/api/v4/{networkId}/query/{queryId}
Updates a given query
name | required | type | description |
---|---|---|---|
networkId | true | string | The Id of the network from which the request is made. For example: 'livefyre.com' |
queryId | true | string | The Id of the query for which the update is needed. For example: '58868e3e6d40d90737699a2a' |
Content-Type: application/json
Query has been updated
{
"message": "Query has been updated"
}
Error message when queryId does not matches any document
{
"message": "queryId with this networkId combination does not exist"
}
posthttps://{networkName}.bootstrap.fyre.co/api/v4/{networkId}/query/
Publishes a new query
name | required | type | description |
---|---|---|---|
networkId | true | string | The Id of the network from which the query is made. For example: 'livefyre.com' |
Content-Type: application/json
Returns queryId of the new query being created
{
"status": "ok",
"code": 200,
"data": {
"queryIds": [
"0c864540-4317-4aeb-9e7a-51ca5f13e1fa",
"9320770a-a855-43c7-b175-dd12c6814d6e"
]
}
}
posthttps://{networkName}.quill.fyre.co/api/v3.0/site/{siteId}/collection/update/
Updates the input Collection.
name | required | type | description |
---|---|---|---|
siteId | true | string | The Livefyre-provided ID for the website or application to which the Collection belongs. For example: 303617. |
name | required | type | description |
---|---|---|---|
collectionMeta | true | string | A JSON object that includes article metadata as described in CollectionMeta Token, encoded using JSON Web Tokens. |
checksum | false | string | A JSON object that includes article metadata, encoded using MD5. Use this if you create a Collection and subsequently need to change article metadata that you want reflected in Livefyre. Note: If you do not provide a checksum, one will be created for you." |
Update Collection
property | type | description |
---|---|---|
msg | string | |
status | string | |
code | string |
{
"msg": "This request is being processed.",
"status": "ok",
"code": 202
}
The Collection could not be updated as requested. For example, the udpate may have set a unique property to a value already used by another Collection. You should not repeat your request with the same parameters.