Skip to main content

API Endpoints

Passle Client API (v2)

Download OpenAPI specification:Download

The Passle client API is a REST API which allows you to pull your content from the Passle platform.

The API has a 10 second cache, so the same API call made within 10 seconds will return exactly the same data. The data returned from the API is in JSON format by default.

In order to use the API you will need an API key. Please get in touch with your contact at Passle if you do not know what your API key is.

The root URL for the Passle Client API is: https://clientwebapi.passle.net

Archive

Get archive

Returns a list of data about the number of posts published per month.

Response:

A list of archive data, with the following schema:

{
  "Year": "The year as a 4 digit integer.",
  "Month": "The month as a 1 or 2 digit integer, between 1 and 12. Values are not prefixed with a zero.",
  "NumberOfPosts": "An integer showing the number of posts published in that month."
}
query Parameters
PassleShortcode
required
string

The shortcode of the Passle for which you'd like to see archive data.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "Archive": [
    ]
}

Client Connect

Get client connect subscriber details

Returns details about an existing client connect subscriber with a given email address

Response:

Used to get an existing client connect subscriber's details

{
  "FirstName": "The subscriber's first name.",
  "LastName": "The subscriber's last name.",
  "EmailAddress": "The subscriber's email address.",
  "FollowedPassles": "A list of passle shortcodes and titles that the subscriber has subscribed to.",
  "FollowedPeople": "A list of author shortcodes and names that the subscriber has subscribed to.",
  "FollowedTags": "A list of tags that the subscriber has subscribed to.",
  "Company": "The subscriber's company.",
  "HasOptedIntoMarketingComms": "A boolean value showing whether the subscriber has opted into being contacted with marketing communications.",
  "HasAcceptedTandCs": "A boolean value showing whether the subscriber has accepted the terms and conditions.",
  "SubscriberNotificationFrequency": "A string showing the frequency of Client Connect emails for this subscriber. Values are 'Unknown', 'Daily', 'Weekly', or 'Monthly."
}
query Parameters
EmailAddress
required
string

The email address of the client connect subscriber you want to get details for.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "EmailAddress": "string",
  • "FollowedPassles": [
    ],
  • "FollowedPeople": [
    ],
  • "FollowedTags": [
    ],
  • "Company": "string",
  • "HasOptedIntoMarketingComms": true,
  • "HasAcceptedTandCs": true,
  • "SubscriberNotificationFrequency": "string"
}

Add client connect subscriber

Creates a new client connect subscriber

Response:

Used to create a new client connect subscriber

{
  "Success": "Boolean",
  "Message": "String"
}
header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Request Body schema:
ChannelShortcode
required
string (ChannelShortcode)

The shortcode of the channel you'd like the subscriber to subscribe to.

TopicShortcodes
Array of strings (TopicShortcodes)

A comma separated list of topics you'd like the subscriber to subscribe to. If omitted, the subscriber will be subscribed to all topics from the selected channel.

FirstName
required
string (FirstName)

The subscriber's first name.

LastName
required
string (LastName)

The subscriber's last name.

Company
string (Company)

The subscriber's company.

NotificationFrequency
required
integer <int32> (NotificationFrequency)
Enum: 0 1 2 3

The new notification frequency you'd like to set for the subscriber. Possible values are 1 (Daily), 2 (Weekly) or 3 (Monthly).

EmailAddress
required
string (EmailAddress)

The subscriber's email address.

OptIntoMarketingComms
boolean (OptIntoMarketingComms)

If this is set to true, the subscriber will be opted into being contacted with marketing communications.

Responses

Request samples

Content type
{
  • "ChannelShortcode": "string",
  • "TopicShortcodes": [
    ],
  • "FirstName": "string",
  • "LastName": "string",
  • "Company": "string",
  • "NotificationFrequency": 0,
  • "EmailAddress": "string",
  • "OptIntoMarketingComms": true
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "Success": true
}

Unsubscribe

Returns the result of the client group unsubscribe operation

Response:

Used to unsubscribe a client group subscriber from an entire client group or from specific topics

{
  "Success": "Boolean",
  "Message": "String"
}
header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Request Body schema:
EmailAddress
required
string (EmailAddress)

The email address of the client connect subscriber you'd like to unsubscribe.

TopicShortcodes
Array of strings (TopicShortcodes)

A comma separated list of topics you'd like the subscriber to unsubscribe from. If omitted, the subscriber will be unsubscribed from everything and deleted.

Responses

Request samples

Content type
{
  • "EmailAddress": "string",
  • "TopicShortcodes": [
    ]
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "Success": true
}

Update subscriber

Updates the details of an existing client connect subscriber

Response:

Used to update the details of a client connect subscriber

{
  "Success": "Boolean",
  "Message": "String"
}
header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Request Body schema:
EmailAddress
required
string (EmailAddress)

The email address of the client connect subscriber you'd like to update.

FirstName
string (FirstName)

The new first name you'd like to set for the subscriber. If no value is provided, the subscriber will maintain their existing first name.

LastName
string (LastName)

The new last name you'd like to set for the subscriber. If no value is provided, the subscriber will maintain their existing last name.

Company
string (Company)

The new company name you'd like to set for the subscriber. If no value is provided, the subscriber will maintain their existing company name.

NotificationFrequency
integer <int32> (NotificationFrequency)
Enum: 0 1 2 3

The new notification frequency you'd like to set for the subscriber. Possible values are 1 (Daily), 2 (Weekly) or 3 (Monthly). If no value is provided, the subscriber will maintain their existing notification frequency.

OptIntoMarketingComms
boolean (OptIntoMarketingComms)

If this is set to true, the subscriber will be opted into being contacted with marketing communications. If no value is provided, the subscriber will maintain their original status.

Responses

Request samples

Content type
{
  • "EmailAddress": "string",
  • "FirstName": "string",
  • "LastName": "string",
  • "Company": "string",
  • "NotificationFrequency": 0,
  • "OptIntoMarketingComms": true
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "Success": true
}

SubscriberStats

Get subscriber stats

Returns a list of data about all passle and author subscribers within a client.

Response:

The list of subscribers that matched your query. Each subscriber will have the following schema:

{
  "FirstName": "The subscriber's first name.",
  "LastName": "The subscriber's last name.",
  "EmailAddress": "The subscriber's email address.",
  "HasOptedIntoMarketingComms": "A boolean value showing whether the subscriber has opted into being contacted with marketing communications.",
  "HasAcceptedTandCs": "A boolean value showing whether the subscriber has accepted the terms and conditions.",
  "FollowedPassles": "A list of passle shortcodes and titles that the subscriber has subscribed to.",
  "FollowedPeople": "A list of author shortcodes and names that the subscriber has subscribed to.",
  "FollowedTags": "A list of tags that the subscriber has subscribed to.",
  "IsSubscribed": "A boolean value showing whether the subscriber is still subscribed or not.",
  "UnsubscribedDate": "The datetime value showing when the subscriber unsubscribed, or null if they're still subscribed.",
  "Company": "The subscriber's company."
}
query Parameters
PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "SubscriberStats": [
    ],
  • "TotalSubscriberCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20
}

Get subscriber post read stats

Returns a list of data about post interactions for all subscribers within a client group.

Response:

The list of subscriber post read stats that matched your query. Each result will have the following schema:

{
  "SubscriberId": "The id of the subscriber.",
  "SubscriberEmail": "The subscriber's email address.",
  "SubscriberName": "The subscriber's full name.",
  "SubscribedDate": "A string showing the datetime that this subscriber first subscribed to this client group.",
  "SubscriberNotificationFrequency": "A string showing the frequency of Client Connect emails for this subscriber. Values are 'Unknown', 'Daily', 'Weekly', or 'Monthly.",
  "SubscriberIsPassleUser": "A boolean value showing whether this subscriber is a Passle user or not.",
  "SubscriberNumAuthorsFollowed": "An integer showing the number of authors that this subscriber has subscribed to.",
  "SubscriberAuthorsFollowed": "A comma-separated string of the names of the authors that this subscriber has subscribed to.",
  "SubscriberNumPasslesFollowed": "An integer showing the number of passles that this subscriber has subscribed to.",
  "SubscriberPasslesFollowed": "A comma-separated string of the titles of the passles that this subscriber has subscribed to.",
  "PostId": "The id of the post.",
  "PostCreatedDate": "A string showing the datetime that the post was created.",
  "PostLastPublishedDate": "A string showing the datetime that the post was last published.",
  "PostUrl": "The url of the post.",
  "PostTitle": "The title of the post.",
  "PostTags": "A comma-separated string of the post's tags.",
  "PostAuthors": "A comma-separated string of the full names of the main authors and co-authors of this post.",
  "PostPassleId": "The id of the passle that this post was published to.",
  "PostPassleTitle": "The title of the passle that this post was published to.",
  "ClientGroupId": "The id of the client group that this subscriber has subscribed to.",
  "ClientGroupTitle": "The title of the client group that this subscriber has subscribed to.",
  "EmailId": "A string showing the unique id for the Client Connect email that was sent to the subscriber containing this post.",
  "EmailSentDate": "A string showing the time that the Client Connect email was sent to the subscriber.",
  "PostClickedDate": "A string showing the time the subscriber first clicked on through to this post from the Client Connect emails. The string is empty if the subscriber hasn't yet clicked the link.",
  "ISTATOYSent": "A string showing whether the subscriber has shared this post via ISTATOY. Values are 'Yes', 'No', or 'Not applicable', where 'Not applicable' is used when the subscriber is not a Passle user."
}
query Parameters
PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 10000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

SubscriberId
string

The userId or shortcode of a specific subscriber for whom you'd like to see data. If this is omitted or invalid, the results will show data for all subscribers; if a valid subscriber id or shortcode is given, only results for that subscriber will be returned.

EmailDateFrom
string <date-time>

A datetime value indicating the starting date for filtering data. Only records with emails sent on or after this date will be included. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

EmailDateTo
string <date-time>

A datetime value indicating the ending date for filtering data. Only records with emails sent before this date will be included. If omitted, data from the earliest record onwards will be returned. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

TagFilter
string

A single tag, or a comma-separated list of tags, used to filter results. Only posts whose tags include any of the listed tags will be returned (case insensitive).

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "SubscriberPostReadStats": [
    ],
  • "TotalRows": 1,
  • "TotalPostReadStatsCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20,
  • "ClientGroupIds": "60f55123ab00d755d4f95a53",
  • "SubscriberId": "60f5511dab00d755d4f95a52"
}

ClientStats

Get client stats

Returns an overview about the number of posts published and viewed for a client.

Response:

A single item showing information for the client, with the following schema:

{
  "ClientName": "The client's name.",
  "PercentageUsersCreatingContent": "A decimal between 0 and 100 showing the percentage of all users who have published at least one post.",
  "NumberOfPostsToDate": "The total number of posts published within the given dates.",
  "NumberOfPostViewsToDate": "The total number of views across all posts within the given dates."
}
query Parameters
DateFrom
string <date-time>

A datetime value that will exclude data about post views and posts published before this date. If omitted, data will be returned from the date the first post was published. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

DateTo
string <date-time>

A datetime value that will exclude data about post views and posts published after this date. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "ClientName": "Clive Passle & Co",
  • "PercentageUsersCreatingContent": 62.7,
  • "NumberOfPostsToDate": 126,
  • "NumberOfPostViewsToDate": 2261
}

Passles

Get Passles

Returns a list of all your passles.

Response:

The list of passles within your client. Each passle will have the following schema:

{
  "PassleShortcode": "The shortcode for the passle.",
  "PassleTitle": "The title of the passle."
}
header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "Passles": [
    ]
}

PassleSync

Get people with details

Returns a list of data about the people with at least one published post within a specified passle.

Response:

The list of people that matched your query. Each post will have the following schema:

{
  "TotalCount": "The total number of items returned.",
  "PageNumber": "The page number of items shown.",
  "PageSize": "The total number of items in a page.",
  "People": "An array of items matching the query."
}
query Parameters
PassleShortcode
string

The shortcode of the passle for which you'd like to see people's data. This is a required parameter unless PersonShortcode is given.

PersonShortcode
string

A comma-separated list of person shortcodes for which you'd like to see data. This is a required parameter unless PassleShortcode is given.

PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 100 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

Image.Width
integer <int32> [ 0 .. 2000 ]
Default: 200

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Height
integer <int32> [ 0 .. 2000 ]
Default: 200

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "TotalCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20,
  • "People": [
    ]
}

Get person with details

Returns a list of data about the people within a specified passle.

Response:

The list of people that matched your query. Each post will have the following schema:

{
  "Shortcode": "The shortcode for the person.",
  "ProfileUrl": "The url for the person's profile.",
  "Name": "The person's full name.",
  "SubscribeLink": "The url to the subscribe page for this person.",
  "AvatarUrl": "The url for this person's avatar image.",
  "RoleInfo": "The tagline for this person.",
  "Description": "The profile description for this person.",
  "EmailAddress": "The person's email address. Obsolete. Please use PublicEmailAddress or PrimaryEmailAddress instead.",
  "PublicEmailAddress": "The person's email address set as public email on their profile.",
  "PrimaryEmailAddress": "The person's email address that is set as primary. Can be used as an identifier.",
  "PhoneNumber": "The person's phone number.",
  "LinkedInProfileLink": "The url to the person's LinkedIn profile.",
  "FacebookProfileLink": "The url to the person's LinkedIn profile.",
  "TwitterScreenName": "The person's Twitter screen name.",
  "XingProfileLink": "The url to the person's Xing profile.",
  "SkypeProfileLink": "The url to the person's Skype profile.",
  "VimeoProfileLink": "The url to the person's Vimeo profile.",
  "YouTubeProfileLink": "The url to the person's YouTube profile.",
  "StumbleUponProfileLink": "The url to the person's StumbleUpon profile.",
  "PinterestProfileLink": "The url to the person's Pinterest profile.",
  "InstagramProfileLink": "The url to the person's Instagram profile.",
  "PersonalLinks": "A list of titles and urls for any other links the person may have added to their profile.",
  "LocationDetail": "The city/region the person is in.",
  "LocationCountry": "The country the person is in.",
  "TagLineCompany": "The tagline for the client the person is in."
}
path Parameters
PersonShortcode
required
string

The shortcode of the person whose data you'd like to see.

query Parameters
Image.Width
integer <int32> [ 0 .. 2000 ]
Default: 200

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Height
integer <int32> [ 0 .. 2000 ]
Default: 200

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "TotalCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20,
  • "People": [
    ]
}

Get posts with details

Returns a list of data about all posts that have been published within a specific Passle. This endpoint is recommended for Remote-Hosting Integrations.

Response:

The list of posts that matched your query. Each post will have the following schema:

{
  "PostShortcode": "The shortcode for the post.",
  "PassleShortcode": "The shortcode for the passle the post is published in.",
  "PostUrl": "The url for the post.",
  "PostTitle": "The title of the post.",
  "Authors": "A list containing the details of the primary authors of this post.",
  "CoAuthors": "A list containing the details of the co-authors of this post.",
  "ShareViews": "A list showing how often the post has been shared via different social media channels (LinkedIn, Twitter, Facebook, Xing, Email).",
  "ContentTextSnippet": "The first few lines of the post.",
  "PublishedDate": "A datetime value showing when this post was published.",
  "Tags": "A list of tags for this post.",
  "FeaturedItemMediaType": "An integer showing what type of media the post's featured media is. 0 - None; 1 - Image; 2 - Video; 3 - Audio; 4 - Embedded link / item; 5 - Font; 6 - Document.",
  "FeaturedItemEmbedType": "An integer showing what type of embed the post's embedded item is, if the featured media is of type '4 - Embedded link / item'. 0 - None; 1 - Photo; 2 - Video; 3 - Link; 4 - Rich.",
  "FeaturedItemEmbedProvider": "A string showing what provider the embedded item came from, if the featured media is of type '4 - Embedded link / item'.",
  "ImageUrl": "The url for the post's featured media.",
  "TotalShares": "An integer showing how many times this post has been shared.",
  "IsRepost": "A boolean value showing whether this post is a repost of an original post.",
  "EstimatedReadTimeInSeconds": "An integer showing the estimated time to read the post, in seconds.",
  "TotalLikes": "An integer showing how many times the post has been liked.",
  "OpensInNewTab": "A boolean value showing if the post should open in a new tab.",
  "MetaData": "The set of SEO metadata for this post.",
  "Language": "An HTML ISO Language code that corresponds to the language of the post content.",
  "AvailableLanguages": "The set of HTML ISO Language codes that correspond to the available languages this post is written in.",
  "Translations": "The post content, written in different languages that this post is available in.",
  "PostSlug": "A string value generated from a post title which can be included in a post url structure.",
  "IsExternal": "A boolean value indicating if a post is external.",
  "PostContentHtml": "The html content of this post.",
  "FeaturedItemHtml": "The html content for the post's featured media.",
  "FeaturedItemPosition": "An integer showing where the featured media is shown in the post. Values are: 0 - None; 1 - At the bottom of the post; 2 - At the top of the post; 3 - In the post's header.",
  "QuoteText": "The text used in the post's quote.",
  "QuoteUrl": "The url for the post's quote.",
  "IsFeaturedOnPasslePage": "A boolean showing whether the post is featured on the Passle page.",
  "IsFeaturedOnPostPage": "A boolean showing whether the post is featured on the post page.",
  "TagMappings": "The list of tag mappings that matched the post.",
  "TagGroups": "The list of tag groups that matched the post. If the tag groups module has not been configured, an empty array will be returned."
}
query Parameters
PassleShortcode
string

The shortcode of the passle for which you'd like to see post data. This is a required parameter unless PostShortcode is given.

PostShortcode
string

A comma-separated list of post shortcodes for which you'd like to see data. This is a required parameter unless PassleShortcode is given.

PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 100 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

IncludeTagGroups
boolean

A boolean value that, when set to true, includes data about the tag groups to which each post tag belongs. By default, this option is set to false.

IncludeIntegrationTestContent
boolean

If true, integration test content data will be included in the response only if the API key being used has 'Include Integration Content Test' also enabled. If left unset, the content data will be included depending on the 'Include Integration Content Test' option of the API key.

AuthorImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 150

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 150

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

FeaturedImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 400

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 400

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Crop
boolean
Default: true

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "TotalCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20,
  • "Posts": [
    ]
}

Get post with details

Returns data about a specific post.

Response:

The post that matched your query, with the following schema:

{
  "PostShortcode": "The shortcode for the post.",
  "PassleShortcode": "The shortcode for the passle the post is published in.",
  "PostUrl": "The url for the post.",
  "PostTitle": "The title of the post.",
  "Authors": "A list containing the details of the primary authors of this post.",
  "CoAuthors": "A list containing the details of the co-authors of this post.",
  "ShareViews": "A list showing how often the post has been shared via different social media channels (LinkedIn, Twitter, Facebook, Xing, Email).",
  "ContentTextSnippet": "The first few lines of the post.",
  "PublishedDate": "A datetime value showing when this post was published.",
  "Tags": "A list of tags for this post.",
  "FeaturedItemMediaType": "An integer showing what type of media the post's featured media is. 0 - None; 1 - Image; 2 - Video; 3 - Audio; 4 - Embedded link / item; 5 - Font; 6 - Document.",
  "FeaturedItemEmbedType": "An integer showing what type of embed the post's embedded item is, if the featured media is of type '4 - Embedded link / item'. 0 - None; 1 - Photo; 2 - Video; 3 - Link; 4 - Rich.",
  "FeaturedItemEmbedProvider": "A string showing what provider the embedded item came from, if the featured media is of type '4 - Embedded link / item'.",
  "ImageUrl": "The url for the post's featured media.",
  "TotalShares": "An integer showing how many times this post has been shared.",
  "IsRepost": "A boolean value showing whether this post is a repost of an original post.",
  "EstimatedReadTimeInSeconds": "An integer showing the estimated time to read the post, in seconds.",
  "TotalLikes": "An integer showing how many times the post has been liked.",
  "OpensInNewTab": "A boolean value showing if the post should open in a new tab.",
  "MetaData": "The set of SEO metadata for this post.",
  "Language": "An HTML ISO Language code that corresponds to the language of the post content.",
  "AvailableLanguages": "The set of HTML ISO Language codes that correspond to the available languages this post is written in.",
  "Translations": "The post content, written in different languages that this post is available in.",
  "PostSlug": "A string value generated from a post title which can be included in a post url structure.",
  "IsExternal": "A boolean value indicating if a post is external.",
  "PostContentHtml": "The html content of this post.",
  "FeaturedItemHtml": "The html content for the post's featured media.",
  "FeaturedItemPosition": "An integer showing where the featured media is shown in the post. Values are: 0 - None; 1 - At the bottom of the post; 2 - At the top of the post; 3 - In the post's header.",
  "QuoteText": "The text used in the post's quote.",
  "QuoteUrl": "The url for the post's quote.",
  "IsFeaturedOnPasslePage": "A boolean showing whether the post is featured on the Passle page.",
  "IsFeaturedOnPostPage": "A boolean showing whether the post is featured on the post page.",
  "TagMappings": "The list of tag mappings that matched the post.",
  "TagGroups": "The list of tag groups that matched the post. If the tag groups module has not been configured, an empty array will be returned."
}
path Parameters
PostShortcode
required
string

The shortcode of the post for which you'd like to see data.

query Parameters
IncludeTagGroups
boolean

A boolean value that, when set to true, includes data about the tag groups to which each post tag belongs. By default, this option is set to false.

AuthorImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 150

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 150

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

FeaturedImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 400

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 400

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Crop
boolean
Default: true

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "PostShortcode": "vp41k9",
  • "PassleShortcode": "2021-uk-legal-thought-leadership-index-explosion-in-thought-leadership-for-the",
  • "PostTitle": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
  • "Authors": [],
  • "CoAuthors": [ ],
  • "ShareViews": [
    ],
  • "ContentTextSnippet": "We published the 2021 UK Legal Thought Leadership Index this week, and one of the key findings is...",
  • "PublishedDate": "2021-06-30T14:50:20.779+00:00",
  • "Tags": [
    ],
  • "FeaturedItemMediaType": 1,
  • "FeaturedItemEmbedType": 0,
  • "FeaturedItemEmbedProvider": null,
  • "TotalShares": 1319,
  • "IsRepost": false,
  • "EstimatedReadTimeInSeconds": 72,
  • "TotalLikes": 0,
  • "OpensInNewTab": false,
  • "MetaData": {
    },
  • "Language": "en",
  • "AvailableLanguages": [
    ],
  • "Translations": null,
  • "PostSlug": "vp3jsh",
  • "IsExternal": false,
  • "PostContentHtml": "We published the 2021 UK Legal Thought Leadership Index this week, and one of the key findings is that there has been an explosion of thought leadership among the UK top law firms in the last 12 months. As a result of Covid -19, law firms have adopted remote working and communication with clients has become predominantly virtual. When you can't be in the room with your clients, sharing knowledge and expertise, through regular thought leadership can be a great way to remain front of mind.\n Our research found that the top 100 firm created 37,397 individual blogs, articles & insights during 2020. The last time we carried out this research in 2019 we looked across the top 200 and collectively they only produce 33,823 insights between them.\n On the whole, larger firms produce more thought leadership, but there are a core of smaller firms punching above their weight with high numbers of posts per author. These firms are driving quality thought leadership within their niche.\n It is no longer enough to tell potential clients how good you are – you need to show it too. Firms have nothing to fear and everything to gain by putting their expertise in the public domain, and there is often a direct correlation between this activity and enquiry levels.\n Particularly in the early days of the pandemic, firms were able to assist their clients and the wider business community hugely by ramping up their insights on the legal implications, with many creating dedicated knowledge hubs.\n People buy expertise, but they also buy people.The savvy use of social media to share insights about both the law and the firm is a great way to sell yourself to potential clients, and it need not be a time-consuming exercise.\n The report is available for free download here or, if you'd like to find out how your firm in specific compares with your peers, you can request a personalised version (also for free).",
  • "FeaturedItemHtml": null,
  • "FeaturedItemPosition": 0,
  • "QuoteText": "It is no longer enough to tell potential clients how good you are – you need to show it too. Firms have nothing to fear and everything to gain by putting their expertise in the public domain, and there is often a clear correlation between this activity and enquiry levels.",
  • "IsFeaturedOnPasslePage": false,
  • "IsFeaturedOnPostPage": false,
  • "TagMappings": [
    ],
  • "TagGroups": [
    ],
  • "Tweets": [ ]
}

People

Get people

Returns a list of data about the people with at least one published post within a specified passle.

Response:

The list of people that matched your query. Each person will have the following schema:

{
  "Shortcode": "The shortcode for the person.",
  "ProfileUrl": "The url for the person's profile.",
  "Name": "The person's full name.",
  "SubscribeLink": "The url to the subscribe page for this person.",
  "AvatarUrl": "The url for this person's avatar image.",
  "RoleInfo": "The tagline for this person."
}
query Parameters
PassleShortcode
required
string

The shortcode of the passle for which you'd like to see people's data.

PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

SearchQuery
string

A word or sentence used to filter results. Only people whose names match the search query will be returned (case insensitive).

SortOrder
integer <int32>
Enum: 0 1 2

An enum used to return the results in a specific order. 'None' or 0 will not order the results. 'Surname' or 1 will order the results by surname, A-Z (which is the default if no value is given). 'Activity' or 2 will order the results by Expert Influence Score, largest to smallest.

Filter
string

A single character used to filter results. Only people whose surname starts with the given character will be returned (case sensitive).

IncludeIntegrationTestContent
boolean

If true, integration test content data will be included in the response only if the API key being used has 'Include Integration Content Test' also enabled. If left unset, the content data will be included depending on the 'Include Integration Content Test' option of the API key.

Image.Width
integer <int32> [ 0 .. 2000 ]
Default: 200

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Height
integer <int32> [ 0 .. 2000 ]
Default: 200

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{}

Get person details

Returns more detailed information about a specific person.

Response:

The person that matched your query, with the following schema:

{
  "Shortcode": "The shortcode for the person.",
  "Name": "The person's full name.",
  "SubscribeLink": "The url of the subscribe page for this person.",
  "Website": "The url to the person's website.",
  "EmailAddress": "The person's email address.",
  "PhoneNumber": "The person's phone number.",
  "AvatarUrl": "The url for this person's avatar image.",
  "AboutMe": "The person's 'About Me' description",
  "LinkedInProfileLink": "The url to the person's LinkedIn profile.",
  "FacebookProfileLink": "The url to the person's LinkedIn profile.",
  "TwitterScreenName": "The person's Twitter screen name.",
  "XingProfileLink": "The url to the person's Xing profile.",
  "SkypeProfileLink": "The url to the person's Skype profile.",
  "VimeoProfileLink": "The url to the person's Vimeo profile.",
  "YouTubeProfileLink": "The url to the person's YouTube profile.",
  "StumbleUponProfileLink": "The url to the person's StumbleUpon profile.",
  "PinterestProfileLink": "The url to the person's Pinterest profile.",
  "InstagramProfileLink": "The url to the person's Instagram profile.",
  "PersonalLinks": "A list of titles and urls for any other links the person may have added to their profile.",
  "LocationDetail": "The city/region the person is in.",
  "LocationCountry": "The country the person is in.",
  "TagLineCompany": "The tagline for the client the person is in.",
  "Role": "The tagline for this person."
}
path Parameters
PersonShortcode
required
string

The shortcode of the person for which you'd like to see more information.

query Parameters
Image.Width
integer <int32> [ 0 .. 2000 ]
Default: 200

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Height
integer <int32> [ 0 .. 2000 ]
Default: 200

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

Image.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{}

Posts

Get posts

Returns a list of data about all posts that have been published within a specific passle.

Response:

The list of posts that matched your query.

{
  "TotalCount": "The total number of items returned.",
  "PageNumber": "The page number of items shown.",
  "PageSize": "The number of items in a page.",
  "Posts": "An array of items matching the query."
}
query Parameters
PassleShortcode
string

The shortcode of the passle for which you'd like to see post data. This is required unless AuthorShortcode is given.

PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

DateFrom
string <date-time>

A datetime value that will exclude posts that were published before this date. If omitted, data will be returned from the date the first post was published. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

DateTo
string <date-time>

A datetime value that will exclude posts that were published after this date. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

TagFilter
string

A single tag, or a comma-separated list of tags (maximum 20), used to filter results. Depending on the value of the TagMatchType parameter, you can control whether the AND or OR operator is applied for this filter. Tags will be matched either when the tag is directly applied to the post or when an alias exists which maps to a tag on the post. If not supplied then posts will be returned regardless of tags.

TagMatchType
integer <int32>
Enum: 0 1 2 3 4

An enum used to control whether the AND or OR operator is applied to the TagFilter parameter. 'MatchAllTags' or 1 will apply the AND operator. 'MatchAnyTags' or 2 will apply the OR operator. If unset, the AND operator will be applied.

SearchQuery
string

A word or sentence used to filter results. Only posts whose post title, content, author, quote or tags match the search query will be returned, and posts will be ordered by relevance (case insensitive).

AuthorShortcode
string

The shortcode, or primary email address, of the author whose posts you'd like to see data for. This is required unless PassleShortcode is given.

ExcludeFeaturedPost
boolean

If true, featured posts will be excluded from the results.

IncludeReposts
boolean

If true, reposts will be included in the results.

RepostedFrom
string

The shortcode, or comma-separated list of shortcodes that correspond to the source passle(s) of the post data. If specified, the results will contain only reposts that were originally posted to the given passle(s) irrespective of the IncludeReposts value.

SearchByTagsOnly
boolean

If true, SearchQuery will search against tags only. If false, SearchQuery will search against tags and other text fields.

SearchByAuthorsOnly
boolean

If true, SearchQuery will search against authors only. If false, SearchQuery will search against authors and other text fields.

FeaturedImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 400

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 400

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Crop
boolean
Default: true

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

AuthorImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 150

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 150

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

SortOrder
integer <int32>
Enum: 0 1 2

An enum used to return the results in a specific order. 'None' or 0 will not order the results. 'Date' or 1 will order the results by published date, oldest to newest (which is the default if no value is given). 'Popularity' or 2 will order the results by most views to fewest.

Please note: If the SearchQuery parameter is set then this parameter will have no effect as the results will be ordered by relevance.

ExcludeExternalPosts
boolean

If true, external posts will be excluded from the results.

IncludeIntegrationTestContent
boolean

If true, integration test content data will be included in the response only if the API key being used has 'Include Integration Content Test' also enabled. If left unset, the content data will be included depending on the 'Include Integration Content Test' option of the API key.

Language
string

An HTML ISO language code. If specified, the endpoint will return only posts that are available in the given language.

IncludeTranslations
boolean

If true, the endpoint will return all translation data for each post.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{}

Get featured post

Returns data about the featured post for a specific passle.

Response:

The post that matched your query, with the following schema:

{
  "Post": "An object containing the details of the featured post."
}
query Parameters
PassleShortcode
required
string

The shortcode of the passle for which you'd like to see post data.

Language
string

An HTML ISO language code. If specified, the endpoint will return the post content in the given language if the post has a translation for it. Otherwise null is returned.

IncludeTranslations
boolean

If true, the endpoint will return the featured post contents in all available translations.

AuthorImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 150

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 150

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

FeaturedImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 700

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 300

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{}

Get post details

Returns more detailed information about a specific post.

Response:

The post that matched your query, with the following schema:

{
  "PublishedDate": "A datetime value showing when this post was published.",
  "MetaData": "The set of SEO metadata for this post.",
  "PostShortcode": "The shortcode for the post.",
  "PassleShortcode": "The shortcode for the passle the post is published in.",
  "PostTitle": "The title of the post.",
  "PostContentHtml": "The html content for the main body of text for the post.",
  "ImageUrl": "The url for the post's featured media.",
  "QuoteText": "The text used in the post's quote.",
  "QuoteUrl": "The url for the post's quote.",
  "Tags": "A list of tags for this post.",
  "EstimatedReadTimeInSeconds": "An integer showing the estimated time to read the post, in seconds.",
  "FeaturedItemHTML": "The html content for the post's featured media.",
  "FeaturedItemMediaType": "An integer showing what type of media the post's featured media is. 0 - None; 1 - Image; 2 - Video; 3 - Audio; 4 - Embedded link / item; 5 - Font; 6 - Document.",
  "Authors": "A list containing the details of the primary authors of this post.",
  "CoAuthors": "A list containing the details of the co-authors of this post.",
  "PostUrl": "The url for the post.",
  "FeaturedItemPosition": "An integer showing where the featured media is shown in the post. Values are: 0 - None; 1 - At the bottom of the post; 2 - At the top of the post; 3 - In the post's header.",
  "ShareViews": "A list showing how often the post has been viewed via different social media channels. 0 - None; 1 - LinkedIn; 2 - Twitter; 4 - Facebook; 7 - LinkedIn, Twitter and Facebook combined; 16 -  Xing; 32 - Email.",
  "IsRepost": "A boolean value showing whether this post is a repost of an original post.",
  "RepostedFromPassleName": "The title of the passle from where the post was reposted. This is empty if the post is not a repost, or if the passle has been deleted.",
  "ReposterName": "The full name of the user who reposted the post. This is empty if the post is not a repost, or if the user has been deleted.",
  "ReposterProfileUrl": "The profile url of the user who reposted this post. This is empty if the post is not a repost, or if the user has been deleted.",
  "RepostedFromPassleUrl": "The url of the passle from where this post was reposted. This is empty if the post is not a repost, or if the passle has been deleted.",
  "TotalLikes": "An integer showing how many times the post has been liked.",
  "Language": "The language of the post content.",
  "AvailableLanguages": "The set of HTML ISO Language codes that correspond to the available languages this post is written in. This excludes the default language",
  "Translations": "The post content, written in different languages that this post is available in.",
  "PostSlug": "A string value generated from a post title which can be included in a post url structure.",
  "IsExternal": "A boolean value indicating if a post is external."
}
path Parameters
PostShortcode
required
string

The shortcode of the post for which you'd like to see more information.

query Parameters
PreviewMode
boolean

A boolean value that will include/exclude unpublished posts in the query results.

Language
string

An HTML ISO language code. If specified, the endpoint will return the post data in the given language if the post is available in this language.

IncludeTranslations
boolean

If true, the endpoint will return all translation data for the post.

AuthorImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 150

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 150

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

FeaturedImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 640

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 640

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "PublishedDate": "2021-06-30T14:50:20.779+00:00",
  • "MetaData": {
    },
  • "PostShortcode": "vp41k9",
  • "PassleShortcode": "vp3jsh",
  • "PostTitle": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
  • "PostContentHtml": "<p>We published the 2021 UK Legal Thought Leadership Index this week, and one of the key findings is that there has been an explosion of thought leadership among the UK top law firms in the last 12 months.</p><p>On the whole, larger firms produce more thought leadership, but there are a core of smaller firms punching above their weight with high numbers of posts per author. These firms are driving quality thought leadership within their niche.</p>",
  • "ImageUrl": null,
  • "QuoteText": "It is no longer enough to tell potential clients how good you are – you need to show it too.Firms have nothing to fear and everything to gain by putting their expertise in the public domain, and there is often a clear correlation between this activity and enquiry levels.",
  • "Tags": [
    ],
  • "EstimatedReadTimeInSeconds": 72,
  • "FeaturedItemHTML": "<div class='featured-item--image'><img src='https://images.passle.net/fit-in/640x640/Passle/53d0c8edb00e7e0540c9b34b/MediaLibrary/Images/5c7e8efa989b6e0b9033603b/2021-05-25-13-07-15-796-60acf683e5416a0f88b3beaa.jpg' alt='featured image'></div>",
  • "FeaturedItemMediaType": 1,
  • "Authors": [],
  • "CoAuthors": [ ],
  • "FeaturedItemPosition": 2,
  • "ShareViews": [
    ],
  • "IsRepost": false,
  • "RepostedFromPassleName": "",
  • "ReposterName": "",
  • "ReposterProfileUrl": "",
  • "RepostedFromPassleUrl": "",
  • "TotalLikes": 0,
  • "Language": null,
  • "AvailableLanguages": null,
  • "Translations": null,
  • "PostSlug": "2021-uk-legal-thought-leadership-index-explosion-in-thought-leadership-for-the",
  • "IsExternal": false,
  • "FeaturedItemType": 0,
  • "Tweets": [ ]
}

Get post suggestions

Returns a list of data about posts that could be relevant for an individual user to read.

Response:

The list of posts that matched your query. Each post will have the following schema:

{
  "PostShortcode": "The shortcode for the post.",
  "PassleShortcode": "The shortcode for the passle the post is published in.",
  "PostUrl": "The url for the post.",
  "PostTitle": "The title of the post.",
  "Authors": "A list containing the details of the primary authors of this post.",
  "CoAuthors": "A list containing the details of the co-authors of this post.",
  "ShareViews": "A list showing how often the post has been shared via different social media channels (LinkedIn, Twitter, Facebook, Xing, Email).",
  "ContentTextSnippet": "The first few lines of the post.",
  "PublishedDate": "A datetime value showing when this post was published.",
  "Tags": "A list of tags for this post.",
  "FeaturedItemMediaType": "An integer showing what type of media the post's featured media is. 0 - None; 1 - Image; 2 - Video; 3 - Audio; 4 - Embedded link / item; 5 - Font; 6 - Document.",
  "FeaturedItemEmbedType": "An integer showing what type of embed the post's embedded item is, if the featured media is of type '4 - Embedded link / item'. 0 - None; 1 - Photo; 2 - Video; 3 - Link; 4 - Rich.",
  "FeaturedItemEmbedProvider": "A string showing what provider the embedded item came from, if the featured media is of type '4 - Embedded link / item'.",
  "ImageUrl": "The url for the post's featured media.",
  "TotalShares": "An integer showing how many times this post has been shared.",
  "IsRepost": "A boolean value showing whether this post is a repost of an original post.",
  "EstimatedReadTimeInSeconds": "An integer showing the estimated time to read the post, in seconds.",
  "TotalLikes": "An integer showing how many times the post has been liked.",
  "OpensInNewTab": "A boolean value showing if the post should open in a new tab.",
  "MetaData": "The set of SEO metadata for this post.",
  "Language": "An HTML ISO Language code that corresponds to the language of the post content.",
  "AvailableLanguages": "The set of HTML ISO Language codes that correspond to the available languages this post is written in.",
  "Translations": "The post content, written in different languages that this post is available in.",
  "PostSlug": "A string value generated from a post title which can be included in a post url structure.",
  "IsExternal": "A boolean value indicating if a post is external."
}
query Parameters
PassleShortcode
required
string

The shortcode of the passle for which you'd like to see post data.

PostShortcode
string

The shortcode of a post you'd like to exclude from being suggested.

PersonShortcode
string

The shortcode of an author whose posts you'd like to exclude from being suggested.

PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

ExcludeFeaturedPost
boolean

If true, featured posts will be excluded from the results.

Language
string

An HTML ISO language code. If specified, the endpoint will return only the posts that have content translations in the given language.

IncludeTranslations
boolean

If true, the endpoint will return the post contents in all available translations.

AuthorImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 150

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 150

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

AuthorImage.Crop
boolean
Default: false

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

FeaturedImage.Width
integer <int32> [ 0 .. 2000 ]
Default: 400

Width in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original width, except when the crop property is set to false, in which case the width may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Height
integer <int32> [ 0 .. 2000 ]
Default: 400

Height in pixels of the image which is returned. Value must be between 0 and 2000. 0 will leave the image at its original height, except when the crop property is set to false, in which case the height may change to fit in and preserve the image's original aspect ratio. Images cropped in Passle will have a 16:9 aspect ratio.

FeaturedImage.Crop
boolean
Default: true

Determines whether the image should be cropped in order to fit the specified area. If false or a dimension is set to 0, the original image uploaded will be resized to fit without cropping (i.e. it might be smaller than the specified dimension in order to fit). If true, the image will be cropped to fit the non-zero dimensions provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{}

PostStats

Get post stats

Returns a list of data for all posts within a client.

Response:

The list of posts that matched your query. Each post will have the following schema:

{
  "ClientName": "The name of the client that the post is published in.",
  "PublishedDate": "A datetime value showing when this post was published.",
  "Title": "The title of the post.",
  "Url": "The url for the post.",
  "NumberOfViews": "The total number of views for the post via the client's blog (and Lexology, Mondaq, JDSupra if enabled).",
  "NumberOfLexologyViews": "The total number of views for the post via Lexology (if enabled).",
  "NumberOfMondaqViews": "The total number of views for the post via Mondaq (if enabled).",
  "NumberOfJDSupraViews": "The total number of views for the post via JDSupra (if enabled).",
  "NumberOfShareViews": "The total number of views for the post via social media.",
  "NumberOfLinkedInShareViews": "The total number of views for the post via LinkedIn.",
  "NumberOfTwitterShareViews": "The total number of views for the post via Twitter.",
  "NumberOfFacebookShareViews": "The total number of views for the post via Facebook.",
  "AuthorNames": "A list of the names of the authors of this post.",
  "PassleName": "The name of the passle that this post was published in.",
  "PassleShortcode": "The shortcode of the passle that this post was published in.",
  "PostType": "A string explaining how the post was created. Options: Unknown; Dashboard; Button; Repost; Android app v1; iOS app v1; iOS app v2; Chrome extension; Post created as a result of a suggestion.",
  "Tags": "A comma-separated list of tags for this post."
}
query Parameters
PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

SortOldestFirst
boolean

If true, the results will be sorted by the date that the post was published, from oldest to newest. If false, they will be sorted from newest to oldest.

DateFrom
string <date-time>

A datetime value that will exclude posts that were published before this date. If omitted, data will be returned from the date the first post was published. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

DateTo
string <date-time>

A datetime value that will exclude posts that were published after this date. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "PostStats": [
    ],
  • "TotalCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20
}

Redirect

Get redirect

Returns a passle url that corresponds to the given remote url or a 404 if no passle url can be associated to the remote url

Response:

A passle url corresponding to the given remote url

{
  "RemoteId": "The remote url of a resource, whose passle url you want to retrieve."
}
query Parameters
RemoteId
required
string

The remote url of a resource, whose passle url you want to retrieve.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{}

SyncData

Get sync data items.

Returns an array of objects. If DateFrom or DateTo are supplied then it will return the latest sync item for each object within that date range. If no dates are supplied then it will return all pending sync items. For more information, visit handling webhooks

Response:

Returns an array of objects indicating Passle items for re-syncing. A payload will have the following schema:

{
  "Updates": "An array of objects. Each object includes an action and data field for a passle item that needs re-syncing."
}
query Parameters
PassleShortcode
string

The shortcode of the passle for which you'd like to retrieve updates for.

DateFrom
string <date-time>

A datetime value that will exclude updates that were before this date. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

DateTo
string <date-time>

A datetime value that will exclude updates after this date. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "Updates": [
    ]
}

TagMappings

Get tag mappings

Returns a list of tag mappings for the specified filters.

Response:

The list of tag mappings that matched your query. Each result will have the following schema:

{
  "TagMappings": "The list of tag mappings that exist within the Passle."
}
query Parameters
PassleShortcode
string

The shortcode of the Passle for which you'd like to see tag mappings .This is required unless PostShortcode is given.

PostShortcode
string

A post shortcode which will return a tag mappings relating to any tags that apply to that post. If not supplied then all tag mappings will be returned regardless posts they apply to. This is required unless PassleShortcode is given.

PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

Tags
string

The tag or tags separated by comma for which you'd like to see tag mappings. Will show tag mappings for all tags in the client if Tags is not provided.

TagAliases
string

A single alias or comma separated list of aliases used to filter results. Only tag mappings whose aliases include at least one of the aliases provided will be returned (case insensitive). If not supplied then tag mappings will be returned regardless of aliases.

UpdatedSince
string <date-time>

Will show tag mappings that have updated since the date provided. Will show tag mappings updated since the begining of time if UpdatedSince is not provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "TagMappings": [
    ]
}

Tags

Get tags

Returns a list of all tags across all Passles for your client.

Response:

{
  "Tags": "The list of tags that have been added to posts."
}
header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "Tags": [
    ]
}

Get tags for Passle

Returns a list of tags for the specified Passle.

Response:

{
  "Tags": "The list of tags that have been added to posts."
}
path Parameters
PassleShortcode
required
string

The shortcode of the Passle for which you'd like to see tags.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "Tags": [
    ]
}

TagGroups

Get tag groups for client

Returns a list of tag groups for the entire client.

Response:

{
  "TagGroups": "The list of tag groups that exist within the Passle."
}
header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "TagGroups": [
    ]
}

Get tag groups for Passle

Returns a list of tag groups for the specified Passle.

Response:

{
  "TagGroups": "The list of tag groups that exist within the Passle."
}
path Parameters
PassleShortcode
required
string

The shortcode of the Passle for which you'd like to see tag groups. Will show tag groups for the entire client if PassleShortcode is not provided.

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "TagGroups": [
    ]
}

UserStats

Get user stats

Returns a list of data for all users within a client.

Response:

The list of users that matched your query. Each user will have the following schema:

{
  "ClientName": "The name of the client that the user is part of.",
  "Name": "The full name of the user.",
  "Shortcode": "The shortcode for the user.",
  "EmailAddress": "The user's email address.",
  "NumberOfPosts": "The number of posts that the user has published.",
  "PostViews": "The total number of post views across all posts the user has published.",
  "ShareViews": "The total number of shares across all posts the user has published.",
  "AccountActivated": "A boolean value showing whether the user has activated their account.",
  "AppUser": "A boolean value showing whether the user uses either the Android or iOS app.",
  "DateLastPostCreated": "A datetime value showing when the user last published a post.",
  "EIScore": "The user's Expert Influence Score.",
  "ActiveStatus": "A string value showing whether the user is Active, Inactive, or Never (has never been active). Users who have not sent an ISTATOY, suggested content, or published a post in the last 12 weeks will be marked as inactive."
}
query Parameters
PageNumber
integer <int32> [ 1 .. 10000 ]

The page number of results to show. If the total number of results is larger than the page size (or the number of items per page in the request) then the results will be paginated and you should increment the value of PageNumber to see all the results.

ItemsPerPage
integer <int32> [ 1 .. 1000 ]

The number of results to return per page. If the total number of results is larger than this value then your results will be paginated and you should increment the value of PageNumber to see all the results.

SortOldestFirst
boolean

If true, the results will be sorted by the date that the user was created, from oldest to newest. If false, they will be sorted from newest to oldest.

DateFrom
string <date-time>

A datetime value that will exclude users that were created before this date. If omitted, data will be returned from the date the first user was created. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

DateTo
string <date-time>

A datetime value that will exclude users that were created after this date. If omitted, data will be returned up to the current date. Acceptable formats: 2021-03-21T18:37:45.488Z or 2021-03-21

header Parameters
APIKey
required
string
Example: 123abcd-XXXXXXX-XXXXXXX

Your client API key.

Responses

Response samples

Content type
application/json
{
  • "UserStats": [
    ],
  • "TotalCount": 1,
  • "PageNumber": 1,
  • "PageSize": 20
}