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
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
- 200
{- "Archive": [
- {
- "Year": 2021,
- "Month": 1,
- "NumberOfPosts": 12
}, - {
- "Year": 2021,
- "Month": 2,
- "NumberOfPosts": 18
}, - {
- "Year": 2021,
- "Month": 3,
- "NumberOfPosts": 27
}, - {
- "Year": 2021,
- "Month": 4,
- "NumberOfPosts": 41
}, - {
- "Year": 2021,
- "Month": 5,
- "NumberOfPosts": 59
}, - {
- "Year": 2021,
- "Month": 6,
- "NumberOfPosts": 83
}
]
}
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
- 200
{- "FirstName": "string",
- "LastName": "string",
- "EmailAddress": "string",
- "FollowedPassles": [
- {
- "Shortcode": "string",
- "Title": "string"
}
], - "FollowedPeople": [
- {
- "Shortcode": "string",
- "Title": "string"
}
], - "FollowedTags": [
- "string"
], - "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
- Payload
{- "ChannelShortcode": "string",
- "TopicShortcodes": [
- "string"
], - "FirstName": "string",
- "LastName": "string",
- "Company": "string",
- "NotificationFrequency": 0,
- "EmailAddress": "string",
- "OptIntoMarketingComms": true
}
Response samples
- 200
{- "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
- Payload
{- "EmailAddress": "string",
- "TopicShortcodes": [
- "string"
]
}
Response samples
- 200
{- "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
- Payload
{- "EmailAddress": "string",
- "FirstName": "string",
- "LastName": "string",
- "Company": "string",
- "NotificationFrequency": 0,
- "OptIntoMarketingComms": true
}
Response samples
- 200
{- "Message": "string",
- "Success": true
}
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 |
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 |
header Parameters
APIKey required | string Example: 123abcd-XXXXXXX-XXXXXXX Your client API key. |
Responses
Response samples
- 200
{- "SubscriberStats": [
- {
- "FirstName": "Jane",
- "LastName": "Doe",
- "EmailAddress": "JaneDoe@passle.net",
- "HasOptedIntoMarketingComms": true,
- "HasAcceptedTandCs": true,
- "FollowedPassles": [
- {
- "Shortcode": "vp3jsh",
- "Title": "Passle Latest Features"
}
], - "FollowedPeople": [ ],
- "FollowedTags": [
- "Passle",
- "API"
], - "IsSubscribed": true,
- "UnsubscribedDate": null,
- "Company": null
}
], - "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 |
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 |
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
- 200
{- "SubscriberPostReadStats": [
- {
- "SubscriberId": "60f550ecab00d755d4f95a4d",
- "SubscriberEmail": "JaneDoe@passle.net",
- "SubscriberName": "Doe",
- "SubscribedDate": "2021-03-04T18:16:45.652Z",
- "SubscriberNotificationFrequency": "Weekly",
- "SubscriberIsPassleUser": false,
- "SubscriberNumAuthorsFollowed": 1,
- "SubscriberAuthorsFollowed": "Clive Passle",
- "SubscriberNumPasslesFollowed": 1,
- "SubscriberPasslesFollowed": "Passle Latest Features",
- "PostId": "60f55102ab00d755d4f95a4e",
- "PostCreatedDate": "2021-05-29T14:47:34.253Z",
- "PostLastPublishedDate": "2021-05-29T16:23:17.273Z",
- "PostTitle": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
- "PostTags": "Passle, API",
- "PostAuthors": "Clive Passle",
- "PostPassleId": "60f55109ab00d755d4f95a4f",
- "PostPassleTitle": "Passle Latest Features",
- "ClientGroupId": "60f55110ab00d755d4f95a50",
- "ClientGroupTitle": "Clive Passle & Co",
- "EmailId": "60f55117ab00d755d4f95a51",
- "EmailSentDate": "2021-05-30T11:0:01.385Z",
- "PostClickedDate": "2021-06-01T08:14:35.723Z",
- "ISTATOYSent": "Not applicable"
}
], - "TotalRows": 1,
- "TotalPostReadStatsCount": 1,
- "PageNumber": 1,
- "PageSize": 20,
- "ClientGroupIds": "60f55123ab00d755d4f95a53",
- "SubscriberId": "60f5511dab00d755d4f95a52"
}
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
- 200
{- "ClientName": "Clive Passle & Co",
- "PercentageUsersCreatingContent": 62.7,
- "NumberOfPostsToDate": 126,
- "NumberOfPostViewsToDate": 2261
}
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
- 200
{- "Passles": [
- {
- "PassleShortcode": "3ha01",
- "PassleTitle": "Technology Insights"
}, - {
- "PassleShortcode": "3ha02",
- "PassleTitle": "Marketing Tips"
}
]
}
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 | string A comma-separated list of person shortcodes for which you'd like to see data. This is a required parameter unless |
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 |
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 |
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
- 200
{- "TotalCount": 1,
- "PageNumber": 1,
- "PageSize": 20,
- "People": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "RoleInfo": "Blogger at Passle",
- "Description": "Hi, my name's Clive and I'm the premier blogger at Passle - Welcome to my bio!",
- "EmailAddress": "clive@passle.net",
- "PublicEmailAddress": "clive@passle.net",
- "PrimaryEmailAddress": "clive@passle.net",
- "PhoneNumber": "01234 567 891",
- "LinkedInProfileLink": "www.linkedin.com/in/passle",
- "FacebookProfileLink": "www.facebook.com/passle",
- "TwitterScreenName": "passle",
- "XingProfileLink": "www.xing.com/profile/passle",
- "SkypeProfileLink": "passle",
- "VimeoProfileLink": "www.vimeo.com/passle",
- "YouTubeProfileLink": "www.youtube.com/user/passle",
- "StumbleUponProfileLink": "www.stumbleupon.com/stumbler/passle",
- "PinterestProfileLink": "www.pinterest.com/passle",
- "InstagramProfileLink": "www.instagram.com/passle",
- "LocationDetail": "Oxford",
- "LocationCountry": "United Kingdom",
- "TagLineCompany": "Passle: the professional services marketing platform"
}
]
}
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
- 200
{- "TotalCount": 1,
- "PageNumber": 1,
- "PageSize": 20,
- "People": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "RoleInfo": "Blogger at Passle",
- "Description": "Hi, my name's Clive and I'm the premier blogger at Passle - Welcome to my bio!",
- "EmailAddress": "clive@passle.net",
- "PublicEmailAddress": "clive@passle.net",
- "PrimaryEmailAddress": "clive@passle.net",
- "PhoneNumber": "01234 567 891",
- "LinkedInProfileLink": "www.linkedin.com/in/passle",
- "FacebookProfileLink": "www.facebook.com/passle",
- "TwitterScreenName": "passle",
- "XingProfileLink": "www.xing.com/profile/passle",
- "SkypeProfileLink": "passle",
- "VimeoProfileLink": "www.vimeo.com/passle",
- "YouTubeProfileLink": "www.youtube.com/user/passle",
- "StumbleUponProfileLink": "www.stumbleupon.com/stumbler/passle",
- "PinterestProfileLink": "www.pinterest.com/passle",
- "InstagramProfileLink": "www.instagram.com/passle",
- "LocationDetail": "Oxford",
- "LocationCountry": "United Kingdom",
- "TagLineCompany": "Passle: the professional services marketing platform"
}
]
}
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 | string A comma-separated list of post shortcodes for which you'd like to see data. This is a required parameter unless |
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 |
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 |
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
- 200
{- "TotalCount": 1,
- "PageNumber": 1,
- "PageSize": 20,
- "Posts": [
- {
- "PostShortcode": "vp41k9",
- "PassleShortcode": "vp3jsh",
- "PostTitle": "Driving better search results for expert written content",
- "Authors": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "Role": "Blogger at Passle",
- "TwitterScreenName": "@ClivePassle"
}
], - "CoAuthors": [ ],
- "ShareViews": [
- {
- "SocialNetwork": "LinkedIn",
- "TotalViews": 217
}, - {
- "SocialNetwork": "Twitter",
- "TotalViews": 435
}, - {
- "SocialNetwork": "Facebook",
- "TotalViews": 127
}
], - "ContentTextSnippet": "The most important question to ask is: can you do better?",
- "PublishedDate": "2021-06-30T14:50:20.779+00:00",
- "Tags": [
- "Events",
- "Podcasts"
], - "FeaturedItemMediaType": 1,
- "FeaturedItemEmbedType": 0,
- "FeaturedItemEmbedProvider": null,
- "TotalShares": 139,
- "IsRepost": false,
- "EstimatedReadTimeInSeconds": 92,
- "TotalLikes": 0,
- "OpensInNewTab": false,
- "MetaData": {
- "Title": "Sample Title",
- "Description": "Sample Description",
- "Keywords": "Keyword 1,Keyword 2,Keyword 3",
- "EnforceNoIndex": false
}, - "Language": "en",
- "AvailableLanguages": [
- "fr",
- "es"
], - "Translations": null,
- "PostSlug": "2021-uk-legal-thought-leadership-index-explosion-in-thought-leadership-for-the",
- "IsExternal": false,
- "PostContentHtml": "Content written on Passle tends to be digestible, timely, specific, and written by a professional such as a lawyer or consultant. While this content is exactly what clients and prospects find most valuable, it can be lost in the volume of content when search engines try to deliver the right page to the target market.\n In this post we'll take a look at how you can use your content to rank for targeted search terms and drive more readers.\n In this article, we will focus more on the actual content than on the technical aspects of search engine optimization such as page load speed or domain authority, as the vast majority of these technical points are enabled by Passle's Saas infrastructure. Technical SEO problems are automatically fixed across the Passle network by our team as they are identified or as best practice guidance changes.\n Search engine optimization (SEO), is a fuzzy topic. Google and other search engines do not disclose the full details of how they provide the results that they do. Because of that, advice around SEO tends to be varied and complicated, making it hard to see a clear path forward.\n We've worked with hundreds of firms and tens of thousands of authors to find out what works. We've simplified our findings here and also included two of our own examples.\n The key throughout this whole process is to avoid analysis paralysis. A rough and ready execution of this plan is infinitely more useful than getting stuck on a small detail you are unsure of. \n It's also important to note that we are not aiming to be first for every search straight out of the gate. We want to appear on the first page, ideally in the first 5 results, and then build from there.",
- "FeaturedItemHtml": null,
- "FeaturedItemPosition": 0,
- "QuoteText": "Creating winning content can be as simple as seeing what Google is providing, and doing a better job than what already exists",
- "IsFeaturedOnPasslePage": false,
- "IsFeaturedOnPostPage": false,
- "TagMappings": [
- {
- "Tag": "events",
- "Label": "Events",
- "Aliases": [
- "events",
- "Company meet-ups"
]
}
], - "TagGroups": [
- {
- "Name": "group name",
- "TagMappings": [
- {
- "Tag": "podcast",
- "Label": "Podcasts",
- "Aliases": [
- "events",
- "company podcasts",
- "Podcasts & interviews"
]
}
]
}
], - "Tweets": [ ]
}
]
}
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
- 200
{- "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": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "Role": "Blogger at Passle",
- "TwitterScreenName": "@ClivePassle"
}
], - "CoAuthors": [ ],
- "ShareViews": [
- {
- "SocialNetwork": "LinkedIn",
- "TotalViews": 417
}, - {
- "SocialNetwork": "Twitter",
- "TotalViews": 585
}, - {
- "SocialNetwork": "Facebook",
- "TotalViews": 317
}
], - "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": [
- "Passle",
- "API"
], - "FeaturedItemMediaType": 1,
- "FeaturedItemEmbedType": 0,
- "FeaturedItemEmbedProvider": null,
- "TotalShares": 1319,
- "IsRepost": false,
- "EstimatedReadTimeInSeconds": 72,
- "TotalLikes": 0,
- "OpensInNewTab": false,
- "MetaData": {
- "Title": "Sample Title",
- "Description": "Sample Description",
- "Keywords": "Keyword 1,Keyword 2,Keyword 3",
- "EnforceNoIndex": false
}, - "Language": "en",
- "AvailableLanguages": [
- "fr",
- "es",
- "de"
], - "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": [
- {
- "Tag": "ai",
- "Label": "AI",
- "Aliases": [
- "ai",
- "artificial intelligence"
]
}, - {
- "Tag": "podcast",
- "Label": "Podcasts",
- "Aliases": [
- "legal-podcasts",
- "company podcasts",
- "Podcasts & interviews"
]
}, - {
- "Tag": "events",
- "Label": "Events",
- "Aliases": [
- "events",
- "Company meet-ups"
]
}
], - "TagGroups": [
- {
- "Name": "group name",
- "TagMappings": [
- {
- "Tag": "ai",
- "Label": "AI",
- "Aliases": [
- "ai",
- "artificial intelligence"
]
}
]
}
], - "Tweets": [ ]
}
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 |
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 |
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
- 200
{- "TotalCount": 1,
- "People": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "RoleInfo": "Blogger at Passle"
}
], - "FilterOptions": [
- "P"
], - "Filter": "P",
- "ShowFilters": false,
- "PageSize": 20
}
Get people by search (CrossPitch AI)
Returns a list of data about the specific people requested. Only CrossPitch AI users are included in the search.
Response:
The list of people that matched your query. Each person will have the following schema:
{
"Results": "An array of items matching the query."
}
query Parameters
SearchQuery required | string A word or sentence used to search people. |
Limit | integer <int32> [ 1 .. 100 ] The max number of results to return. Defaults to 20 if not provided. |
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
- 200
{- "Results": [
- {
- "Shortcode": "vp3a46",
- "FirstName": "Clive",
- "LastName": "Passle",
- "Name": "Clive Passle",
- "RoleInfo": "Senior Associate",
- "LocationDetail": "London",
- "LocationCountry": "UK",
- "ProfileSummary": "Clive is a Senior Associate at Passle in London, UK.",
}
]
}
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
- 200
{- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "PhoneNumber": "+44 7777 777 777",
- "AboutMe": "Hi, I'm Clive!",
- "TwitterScreenName": "@ClivePassle",
- "LocationDetail": "Oxford",
- "LocationCountry": "England",
- "TagLineCompany": "Welcome to Passle!",
- "Role": "Blogger at Passle"
}
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 |
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 |
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 |
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 |
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, |
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 |
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
- 200
{- "TotalCount": 1,
- "PageNumber": 1,
- "PageSize": 20,
- "Posts": [
- {
- "PostShortcode": "vp41k9",
- "PassleShortcode": "vp3jsh",
- "PostTitle": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
- "Authors": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "Role": "Blogger at Passle",
- "TwitterScreenName": "@ClivePassle"
}
], - "CoAuthors": [ ],
- "ShareViews": [
- {
- "SocialNetwork": "LinkedIn",
- "TotalViews": 417
}, - {
- "SocialNetwork": "Twitter",
- "TotalViews": 585
}, - {
- "SocialNetwork": "Facebook",
- "TotalViews": 317
}
], - "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": [
- "Passle",
- "API"
], - "FeaturedItemMediaType": 1,
- "FeaturedItemEmbedType": 0,
- "FeaturedItemEmbedProvider": "none",
- "TotalShares": 1319,
- "IsRepost": false,
- "EstimatedReadTimeInSeconds": 72,
- "TotalLikes": 0,
- "OpensInNewTab": false,
- "MetaData": {
- "Title": "Sample Title",
- "Description": "Sample Description",
- "Keywords": "Keyword 1,Keyword 2,Keyword 3",
- "EnforceNoIndex": false
}, - "Language": "en",
- "AvailableLanguages": [
- "fr",
- "es",
- "de"
], - "Translations": null,
- "PostSlug": "2021-uk-legal-thought-leadership-index-explosion-in-thought-leadership-for-the",
- "IsExternal": false
}
]
}
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
- 200
{- "Post": {
- "PostShortcode": "vp41k9",
- "PassleShortcode": "vp3jsh",
- "PostTitle": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
- "Authors": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "Role": "Blogger at Passle",
- "TwitterScreenName": "@ClivePassle"
}
], - "CoAuthors": [ ],
- "ShareViews": [
- {
- "SocialNetwork": "LinkedIn",
- "TotalViews": 417
}, - {
- "SocialNetwork": "Twitter",
- "TotalViews": 585
}, - {
- "SocialNetwork": "Facebook",
- "TotalViews": 317
}
], - "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": [
- "Passle",
- "API"
], - "FeaturedItemMediaType": 1,
- "FeaturedItemEmbedType": 0,
- "FeaturedItemEmbedProvider": "none",
- "TotalShares": 1319,
- "IsRepost": false,
- "EstimatedReadTimeInSeconds": 72,
- "TotalLikes": 0,
- "OpensInNewTab": false,
- "MetaData": {
- "Title": "Sample Title",
- "Description": "Sample Description",
- "Keywords": "Keyword 1,Keyword 2,Keyword 3",
- "EnforceNoIndex": false
}, - "Language": "en",
- "AvailableLanguages": [
- "fr",
- "es",
- "de"
], - "Translations": null,
- "PostSlug": "2021-uk-legal-thought-leadership-index-explosion-in-thought-leadership-for-the",
- "IsExternal": false
}
}
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
- 200
{- "PublishedDate": "2021-06-30T14:50:20.779+00:00",
- "MetaData": {
- "Title": "2021 UK Legal Thought Leadership Index",
- "Description": "Explosion in thought leadership for the country's top law firms",
- "Keywords": "Thought Leadership",
- "EnforceNoIndex": false
}, - "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": [
- "Passle",
- "API"
], - "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": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "Role": "Blogger at Passle",
- "TwitterScreenName": "@ClivePassle"
}
], - "CoAuthors": [ ],
- "FeaturedItemPosition": 2,
- "ShareViews": [
- {
- "SocialNetwork": "LinkedIn",
- "TotalViews": 417
}, - {
- "SocialNetwork": "Twitter",
- "TotalViews": 585
}, - {
- "SocialNetwork": "Facebook",
- "TotalViews": 317
}
], - "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 |
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 |
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
- 200
{- "TotalCount": 1,
- "Posts": [
- {
- "PostShortcode": "vp41k9",
- "PassleShortcode": "vp3jsh",
- "PostTitle": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
- "Authors": [
- {
- "Shortcode": "vp3a46",
- "Name": "Clive Passle",
- "EmailAddress": "clive@passle.net",
- "Role": "Blogger at Passle",
- "TwitterScreenName": "@ClivePassle"
}
], - "CoAuthors": [ ],
- "ShareViews": [
- {
- "SocialNetwork": "LinkedIn",
- "TotalViews": 417
}, - {
- "SocialNetwork": "Twitter",
- "TotalViews": 585
}, - {
- "SocialNetwork": "Facebook",
- "TotalViews": 317
}
], - "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": [
- "Passle",
- "API"
], - "FeaturedItemMediaType": 1,
- "FeaturedItemEmbedType": 0,
- "FeaturedItemEmbedProvider": "none",
- "TotalShares": 1319,
- "IsRepost": false,
- "EstimatedReadTimeInSeconds": 72,
- "TotalLikes": 0,
- "OpensInNewTab": false,
- "MetaData": {
- "Title": "Sample Title",
- "Description": "Sample Description",
- "Keywords": "Keyword 1,Keyword 2,Keyword 3",
- "EnforceNoIndex": false
}, - "Language": "en",
- "AvailableLanguages": [
- "fr",
- "es",
- "de"
], - "Translations": null,
- "PostSlug": "2021-uk-legal-thought-leadership-index-explosion-in-thought-leadership-for-the",
- "IsExternal": false
}
], - "PageSize": 20
}
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 |
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 |
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
- 200
{- "PostStats": [
- {
- "ClientName": "Clive Passle & Co",
- "PublishedDate": "2021-06-30T14:50:20.779+00:00",
- "Title": "2021 UK Legal Thought Leadership Index - Explosion in thought leadership for the country's top law firms",
- "NumberOfViews": 1962,
- "NumberOfLexologyViews": 0,
- "NumberOfMondaqViews": 0,
- "NumberOfJDSupraViews": 0,
- "NumberOfShareViews": 1319,
- "NumberOfLinkedInShareViews": 417,
- "NumberOfTwitterShareViews": 585,
- "NumberOfFacebookShareViews": 317,
- "AuthorNames": [
- "Clive Passle"
], - "PassleName": "Passle Latest Features",
- "PassleShortcode": "vp3jsh",
- "PostType": "Dashboard",
- "Tags": "Passle,API",
- "DatePublished": "0001-01-01T00:00:00"
}
], - "TotalCount": 1,
- "PageNumber": 1,
- "PageSize": 20
}
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
- 200
{
}
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
- 200
{- "Updates": [
- {
- "Action": 1,
- "Data": {
- "Shortcode": "a4f"
}
}, - {
- "Action": 2,
- "Data": {
- "Shortcode": "a5fk"
}
}, - {
- "Action": 4,
- "Data": {
- "Shortcode": "b6w"
}
}, - {
- "Action": 3,
- "Data": {
- "Shortcode": "s0b"
}
}, - {
- "Action": 5,
- "Data": {
- "PassleShortcode": "a3dh",
- "Shortcode": "adk",
- "IsFeatuedOnPasslePage": true,
- "IsFeatuedOnPostPage": true
}
}
]
}
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 | 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 |
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 |
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 |
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 |
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 |
header Parameters
APIKey required | string Example: 123abcd-XXXXXXX-XXXXXXX Your client API key. |
Responses
Response samples
- 200
{- "TagMappings": [
- {
- "Tag": "ai",
- "Label": "AI",
- "Aliases": [
- "ai",
- "artificial intelligence"
], - "LastUpdated": "2025-06-19T07:48:49.7846299+00:00"
}, - {
- "Tag": "podcast",
- "Label": "Podcasts",
- "Aliases": [
- "legal-podcasts",
- "company podcasts",
- "Podcasts & interviews"
], - "LastUpdated": "2025-06-09T07:48:49.7846299+00:00"
}, - {
- "Tag": "events",
- "Label": "Events",
- "Aliases": [
- "events",
- "Company meet-ups"
], - "LastUpdated": "2025-05-30T07:48:49.7846299+00:00"
}
]
}
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
- 200
{- "TagGroups": [
- {
- "Name": "Regions",
- "Tags": [
- "europe",
- "north america",
- "south america",
- "asia",
- "africa",
- "australia"
]
}, - {
- "Name": "Topics",
- "Tags": [
- "marketing",
- "strategy",
- "technology",
- "sales",
- "operations",
- "finance"
]
}, - {
- "Name": "Industries",
- "Tags": [
- "automotive",
- "banking",
- "consumer goods",
- "energy",
- "healthcare",
- "insurance",
- "manufacturing",
- "media",
- "retail",
- "technology",
- "telecommunications"
]
}
]
}
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 |
header Parameters
APIKey required | string Example: 123abcd-XXXXXXX-XXXXXXX Your client API key. |
Responses
Response samples
- 200
{- "TagGroups": [
- {
- "Name": "Regions",
- "Tags": [
- "europe",
- "north america",
- "south america",
- "asia",
- "africa",
- "australia"
]
}, - {
- "Name": "Topics",
- "Tags": [
- "marketing",
- "strategy",
- "technology",
- "sales",
- "operations",
- "finance"
]
}, - {
- "Name": "Industries",
- "Tags": [
- "automotive",
- "banking",
- "consumer goods",
- "energy",
- "healthcare",
- "insurance",
- "manufacturing",
- "media",
- "retail",
- "technology",
- "telecommunications"
]
}
]
}
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 |
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 |
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
- 200
{- "UserStats": [
- {
- "ClientName": "Clive Passle & Co",
- "Name": "Clive Passle",
- "Shortcode": "vp3a46",
- "EmailAddress": "clive@passle.net",
- "NumberOfPosts": 12,
- "PostViews": 5782,
- "ShareViews": 3712,
- "AccountActivated": true,
- "AppUser": true,
- "DateLastPostCreated": "2021-06-30T14:50:20.779+00:00",
- "EIScore": 63,
- "ActiveStatus": "Active"
}
], - "TotalCount": 1,
- "PageNumber": 1,
- "PageSize": 20
}