Collections

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.

Get Bootstrap HTML

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.

Path Parameters
namerequiredtypedescription
networktruestring

Network of the Collection (e.g. labs.fyre.co)

siteIdtruestring

Site ID of the Collection (e.g. 303617)

b64articleIdtruestring

Article ID of the Collection, base64url-encoded

Responses

200

An HTML representation of this Collection's App.

Collection Info

gethttps://{networkName}.bootstrap.fyre.co/api/v3.0/collection/{collectionId}/

Returns information about a given Collection.

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID for the Collection ID to query. For example: '10633838'.

Responses

200

Collection Info

Example application/json
{
  "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"
  }
}

Collection Info +Plus

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.

Path Parameters
namerequiredtypedescription
networktruestring

Your Livefyre provided network. For example: labs.fyre.co.

siteIdtruestring

The Livefyre-provided ID for the website or application to which the Collection belongs. (For example: 303617.)

b64articleIdtruestring

The article ID you chose to uniquely identify a Collection in your site, encoded using Base64.

Responses

200

Collection Info +Plus

Example application/json
{
  "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
  }
}

Get Collection Settings

gethttps://{networkName}.quill.fyre.co/api/v3.0/collections/settings/

Retrieves the settings for a Collection.

Query Parameters
namerequiredtypedescription
lftokentruestring

A Livefyre Authentication Token of a user with owner level Network access.

collectionIdtruestring

The ID for the Collection ID you wish to query. For example: '10633838'.

Responses

200

Collection Info

Example application/json
{
  "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
    }
  }
}

Update Collection Settings

posthttps://{networkName}.quill.fyre.co/api/v3.0/collections/settings/{collectionId}/{setting}

Changes a Setting on a Collection

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID for the Collection ID to query. For example: '10633838'.

settingtruestring

The setting to change

Responses

200

Collection Info

Example application/json
{
  "status": "ok",
  "code": 200,
  "data": {
    "commenting_enabled": true,
    "collectionId": "10670877"
  }
}

Stream Collection Updates

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.

Path Parameters
namerequiredtypedescription
collectionIdtruenumber

ID of the Collection to fetch updates from

lastEventIdtruestring

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.

Responses

200

Stream Updates

Example application/json
{
  "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"
      }
    ]
  }
}

Create Collection

posthttps://{networkName}.quill.fyre.co/api/v3.0/site/{siteId}/collection/create/

Creates a Livefyre Collection

Path Parameters
namerequiredtypedescription
siteIdtruestring

The Livefyre-provided ID for the website or application to which the Collection belongs. For example: 303617.

Form Data Parameters
namerequiredtypedescription
checksumfalsestring

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."

collectionMetatruestring

A JSON object that includes article metadata as described in CollectionMeta Token, encoded using JSON Web Tokens.

Responses

202

Create Collection

Example application/json
{
  "msg": "This request is being processed.",
  "status": "ok",
  "code": 202
}

Follow Collection

posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/follow/

Follows the input Collection.

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID of the Collection that you want the user to follow.

Query Parameters
namerequiredtypedescription
lftokentruestring

A Livefyre Authentication Token of the user that you're registering to follow the conversation.

Responses

200

Follow Collection

Example application/json
{
  "status": "ok",
  "code": 200,
  "data": {
    "type": "follow",
    "id": 80048736
  }
}

Unfollow Collection

posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/unfollow/

Unfollows the input Collection.

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID of the Collection to unfollow.

Query Parameters
namerequiredtypedescription
lftokentruestring

A Livefyre Authentication Token of the user that you're registering to unfollow the conversation.

Responses

200

Follow Collection

Example application/json
{
  "status": "ok",
  "code": 200,
  "data": {
    "type": "unfollow",
    "id": 80048736
  }
}

Hot Collections

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

Query Parameters
namerequiredtypedescription
sitefalsestring

Filter results to include only Collections from this site ID.

numberfalsenumber

The number of results you'd like. The default is 10 and the maximum is 100.

tagfalsestring

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

Responses

200

Heat

Example application/json
{
  "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
    }
  ]
}

Upload Media

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 256 MB.

Path Parameters
namerequiredtypedescription
networktruestring

Your organization's Livefyre Network, e.g. something.fyre.co

Responses

200

Media uploaded. The response is an opaque 'attachment' JSON object. You can use this in the attachment parameter of the "Post to Collection" API.

Example application/json
{
  "type": "LivefyreMediaUpload",
  "data": "d7891ebc43c865d0:arUYEybvyeZmmqbpOcWQJEe3pwmDaKynqw2A8FFkYxJarTV39+Nw+JWCyUHCjm9ICjdUWOEIF1EEYBpxoQ1OcduM2Q7OkTMZCZM55RJVAEAiCbhkUfi9Vp+wBZpAhFkQPA4gSPmItmVPNsWeUvcYKYJe8qhfk1ZQ8ZxNF8JVeBNmOYjJHXVR5Uwryxy9LKeMqRjo482kW129W3uW9kpSudm0Zj2GbhNAcx3gGw5G5OTrlPv3/D5Aja12ATI0UktoSe97S3X5/Nh6BHCdvHPSHaso6z5ahCJ82sMtxC7VZwBNeOsG20N2/xCSK70aoVT14vs2BZzvXR3Q1lnB+1FbD84fgMoIYHVCp9RwKtIWzN9aHnXyt0FUPcO+E4bqyFlcG8sv2LNQiK7cBmu+3PX3ybSPKVmNvM1hPdvUXcGTjhkaJN04s9eIXshT4voXIRjdq/hESpBiGx35yW8z5NA="
}

Most Liked Content

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.

Path Parameters
namerequiredtypedescription
b64articleIdtruestring

The article ID you chose to uniquely identify a Collection in your site, encoded using Base64.

siteIdtruestring

The Livefyre-provided ID for the website or application from which featured content will be pulled. For example: 303617.

Responses

200

Likes

Example application/json
{
  "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"
      }
    }
  }
}

Most Voted Content

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.

Path Parameters
namerequiredtypedescription
b64articleIdtruestring

The article ID you chose to uniquely identify a Collection in your site, encoded using Base64.

siteIdtruestring

The Livefyre-provided ID for the website or application from which content will be pulled. For example: 303617.

Responses

200

Votes

Example application/json
{
  "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"
      }
    }
  }
}

Post Content to Collection

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.

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID of the Collection to which the content will be added.

Request Body

Content-Type: application/json

propertytypedescription
bodystring

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.

attachmentsarray

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:

  • type: rich
  • provider_name: LivefyreRawHTML
  • html: The raw HTML.

To post with attached Media Uploads, include an object with the following fields:

  • type: LivefyreMediaUpload
  • data: The URL of the Media Upload
attachments.[]object
attachments.[].typestring

Responses

200

Post

Example application/json
{
  "status": "ok",
  "code": 200,
  "data": {
    "messages": [
      {
        "content": {
          "source": 0,
          "authorId": "_u2012@livefyre.com",
          "replaces": null,
          "parentId": null,
          "bodyHtml": "&lt;p&gt;442842&lt;/p&gt;",
          "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"
      }
    }
  }
}

Post a Tweet

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.)

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID of the Collection to which the Tweet will be posted.

Query Parameters
namerequiredtypedescription
lftokentruestring

A Livefyre Authentication Token of the user that you're registering to follow the conversation.

tweet_idtruenumber

The Twitter-allocated Tweet ID of a Tweet to add to the Collection. For example, the tweet_id for this Tweet is 305857291998081025.

Responses

200

Tweet

Example application/json
{
  "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"
      }
    }
  }
}

Publish Content to Collection

posthttps://{networkName}.quill.fyre.co/api/v3.0/collection/{collectionId}/publish/

Publishes content to a collection. Supports adding, updating, moving, and deleting content.

Path Parameters
namerequiredtypedescription
collectionIdtruestring

The ID of the Collection to which the content will be added.

Request Body

Content-Type: application/json

propertytypedescription
updatesarray

Content to update

updates.[]object
updates.[].idstring

ID of this Content item

updates.[].displayNamestring

Display name of the Author

updates.[].urlstring

URL of the Author

updates.[].authorIdstring

ID of the Author of this Content

updates.[].parentIdstring

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.[].ancestorIdstring

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.[].bodyHtmlstring

The main message of the Content, as an HTML string

updates.[].createdAtinteger

Unix Epoch time of when this Content was first created

updates.[].updatedAtinteger

Unix Epoch time of when this Content item was last updated

updates.[].attachmentsarray
updates.[].attachments.[]object

http://oembed.com/

updates.[].attachments.[].provider_urlstring
updates.[].attachments.[].titlestring
updates.[].attachments.[].urlstring
updates.[].attachments.[].typestring
updates.[].attachments.[].thumbnail_widthnumber
updates.[].attachments.[].heightnumber
updates.[].attachments.[].widthnumber
updates.[].attachments.[].versionstring
updates.[].attachments.[].linkstring
updates.[].attachments.[].author_namestring
updates.[].attachments.[].provider_namestring
updates.[].attachments.[].thumbnail_urlstring
updates.[].attachments.[].thumbnail_heightnumber
updates.[].attachments.[].author_urlstring
updates.[].annotationsobject
updates.[].annotations.moderatorboolean

True if the user is a moderator at the time of posting

updates.[].annotations.whitelistboolean

True if the user has been whitelisted at the time of posting

updates.[].annotations.likedByarray

Array of author IDs

updates.[].annotations.likedBy.[]string

An Author ID

updates.[].annotations.socialMsgIdstring

Foreign ID if the Content is from a social provider (eg Twitter)

updates.[].annotations.feedEntryobject
updates.[].annotations.feedEntry.channelIdstring
updates.[].annotations.feedEntry.typestring
updates.[].annotations.feedEntry.titlestring
updates.[].annotations.feedEntry.linkstring
updates.[].annotations.feedEntry.descriptionstring
updates.[].annotations.feedEntry.pubDateinteger
updates.[].annotations.feedEntry.createdAtinteger
updates.[].annotations.feedEntry.feedSourcestring
updates.[].annotations.messagetagarray

Array of tags

updates.[].annotations.messagetag.[]string

Tag string

updates.[].annotations.votearray

Array of Votes

updates.[].annotations.vote.[]object

A Vote object

updates.[].annotations.vote.[].authorstring

An AuthorID

updates.[].annotations.vote.[].valuestring

The vote state, representing +1, 0, -1

updates.[].annotations.geocodeobject
updates.[].annotations.geocode.latitudenumber

Latitude of the geocode

updates.[].annotations.geocode.longitudenumber

Longitude of the geocode

updates.[].annotations.geocode.namestring

Name of the location

updates.[].annotations.tweetMetaobject
updates.[].annotations.tweetMeta.tweetIdinteger
updates.[].annotations.tweetMeta.created_atstring
updates.[].annotations.tweetMeta.in_reply_to_status_idinteger
updates.[].annotations.tweetMeta.in_reply_to_screen_namestring
updates.[].annotations.tweetMeta.in_reply_to_user_idinteger
updates.[].annotations.tweetMeta.languagestring
updates.[].annotations.tweetMeta.retweet_countinteger
updates.[].annotations.tweetMeta.verified_userboolean
updates.[].annotations.tweetMeta.retweeted_status_idinteger
updates.[].annotations.tweetMeta.retweet_infoobject
updates.[].annotations.tweetMeta.retweet_info.user_idinteger
updates.[].annotations.tweetMeta.retweet_info.namestring
updates.[].annotations.tweetMeta.retweet_info.screen_namestring
updates.[].annotations.tweetMeta.retweet_info.profile_image_urlstring
updates.[].annotations.tweetMeta.tweetIdStrstring
updates.[].annotations.tweetMeta.in_reply_to_status_id_strstring
updates.[].annotations.tweetMeta.in_reply_to_user_id_strstring
updates.[].annotations.sortOrdernumber

The sort order

updates.[].annotations.extensionarray
updates.[].annotations.extension.[]object
updates.[].annotations.extension.[].keystring
updates.[].annotations.extension.[].valuestring
updates.[].annotations.extension.[].jsonValuestring
updates.[].annotations.featuredmessageobject
updates.[].annotations.featuredmessage.valuenumber

ID of Content that should be featured

updates.[].annotations.featuredmessage.authorIdstring

ID of the Author of this Content

updates.[].annotations.ratingarray
updates.[].annotations.rating.[]object
updates.[].annotations.rating.[].dimensionstring
updates.[].annotations.rating.[].valueinteger
updates.[].annotations.annotationobject
updates.[].annotations.annotation.blockIdstring
updates.[].annotations.annotation.selectedTextstring
updates.[].generatorobject

The generator of the content

updates.[].generator.idstring
updates.[].generator.urlstring
updates.[].generator.displayNamestring
updates.[].generator.imagestring
updates.[].providerstring
updates.[].titlestring

Title of the Content

updates.[].updatedBystring

ID of the Author who updated the Content

updates.[].mentionUserIdarray
updates.[].mentionUserId.[]string
updates.[].linkbackobject
updates.[].linkback.hrefstring
updates.[].linkback.titlestring
updates.[].linkback.contentIdstring
updates.[].linkback.collectionIdstring
updates.[].viastring

Where the Content was procured from

deletesarray

Array of Content IDs to delete

deletes.[]string

ID of Content

movesarray

Array of move operations

moves.[]object
moves.[].idstring

ID of Content

moves.[].sortOrdernumber

The sort order

authorsarray

Array of Authors

authors.[]object
authors.[].idstring

ID of the Author

authors.[].displayNamestring

Display name of the Author

authors.[].urlstring

URL where the Author can be found

authors.[].avatarstring

Avatar URL of the Author

authors.[].emailstring

Email address of the Author

authors.[].generatorobject
authors.[].generator.idstring
authors.[].generator.urlstring
authors.[].generator.displayNamestring
authors.[].generator.imagestring
authors.[].handlestring

Handle (if different) from the Author

Responses

200

Successful response. Hurray!

Update Collection

posthttps://{networkName}.quill.fyre.co/api/v3.0/site/{siteId}/collection/update/

Updates the input Collection.

Path Parameters
namerequiredtypedescription
siteIdtruestring

The Livefyre-provided ID for the website or application to which the Collection belongs. For example: 303617.

Form Data Parameters
namerequiredtypedescription
collectionMetatruestring

A JSON object that includes article metadata as described in CollectionMeta Token, encoded using JSON Web Tokens.

checksumfalsestring

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."

Responses

202

Update Collection

Example application/json
{
  "msg": "This request is being processed.",
  "status": "ok",
  "code": 202
}
409

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.