TypePad JSON API

TypePad's JSON-based API provides an interface for client developers to interact with content stored on TypePad, and to build new applications on top of TypePad's infrastructure.

Getting Started

  • Introduction: Some general information about how the API is structured and the conventions it uses.
  • Authentication: How to authenticate to the TypePad JSON API.
  • Rate Limiting: Information about the usage limits for the API.

API Endpoints

The following list describes each endpoint supported by the TypePad API, including a link to a page describing that endpoint, including which HTTP methods it supports, what request parameters it expects and what kind of object it returns.

Api Keys | Applications | Assets | Auth Tokens | Badges | Batch Processor | Blogs | Browser Upload | Client Library Helpers | Domains | Events | Favorites | Groups | Import Jobs | Relationships | Request Properties | Users

Api Keys

/api-keys/<id>
Get basic information about the selected API key, including what application it belongs to.

Applications

/applications/<id>
Get basic information about the selected application.
/applications/<id>/badges
Get a list of badges defined by this application.
/applications/<id>/badges/@learning
Get a list of all learning badges defined by this application.
/applications/<id>/badges/@public
Get a list of all public badges defined by this application.
/applications/<id>/groups
Get a list of groups in which a client using a app_full access auth token from this application can act.

Assets

/assets
Search for user-created content across the whole of TypePad.
/assets/<id>
Get basic information about the selected asset.
/assets/<id>/add-category
Send label argument to add a category to an asset
/assets/<id>/cast-negative-vote
Send a negative vote/thumbs up for an asset.
/assets/<id>/cast-positive-vote
Send a positive vote/thumbs up for an asset.
/assets/<id>/categories
Get a list of categories into which this asset has been placed within its blog. Currently supported only for Post assets that are posted within a blog.
/assets/<id>/comment-tree
Get a list of assets that were posted in response to the selected asset and their depth in the response tree
/assets/<id>/comments
Get a list of assets that were posted in response to the selected asset.
/assets/<id>/extended-content
Get the extended content for the asset, if any. Currently supported only for Post assets that are posted within a blog.
/assets/<id>/favorites
Get a list of favorites that have been created for the selected asset.
/assets/<id>/feedback-status
Get the feedback status of the selected asset.
/assets/<id>/make-comment-preview
Send relevant data to get back a model of what the submitted comment will look like.
/assets/<id>/media-assets
Get a list of media assets that are embedded in the content of the selected asset.
/assets/<id>/publication-status
Get the publication status of the selected asset.
/assets/<id>/reblogs
Get a list of posts that were posted as reblogs of the selected asset.
/assets/<id>/remove-category
Send label argument to remove a category from an asset
/assets/<id>/update-publication-status
Adjust publication status of an asset
/assets/trending
Gets a stream of trending assets across TypePad

Auth Tokens

/auth-tokens/<id>
Get basic information about the selected auth token, including what object it grants access to.

Badges

/badges/<id>
Get basic information about the selected badge.

Batch Processor

/batch-processor
Submit a selection of API requests to be performed as a batch job.

Blogs

/blogs/<id>
Get basic information about the selected blog.
/blogs/<id>/add-category
Send label argument to remove a category from the blog
/blogs/<id>/begin-import
Begin an import into the selected blog.
/blogs/<id>/build-embed-code-for-urls
Given an array of absolute URLs, will try to return a block of HTML that embeds the content represented by those URLs as sensibly as possible.
/blogs/<id>/categories
Get a list of categories which are defined for the selected blog.
/blogs/<id>/category-details
Get a list of objects representing the categories defined for the selected blog along with some category metadata.
/blogs/<id>/commenting-settings
Get the commenting-related settings for this blog.
/blogs/<id>/comments/@published
Return a pageable list of published comments associated with the selected blog
/blogs/<id>/comments/@published/@recent
Return the fifty most recent published comments associated with the selected blog
/blogs/<id>/crosspost-accounts
Get a list of accounts that can be used for crossposting with this blog.
/blogs/<id>/discover-external-post-asset
If the selected blog is a connected blog, create or retrieve the external post stub for the given permalink.
/blogs/<id>/media-assets
Add a new media asset to the account that owns this blog.
/blogs/<id>/page-assets
Get a list of pages associated with the selected blog.
/blogs/<id>/post-assets
Get a list of posts associated with the selected blog.
/blogs/<id>/post-assets/@by-category/<id>
Get all visibile posts in the selected blog that have been assigned to the given category.
/blogs/<id>/post-assets/@by-filename/<id>
Get zero or one posts matching the given year, month and filename.
/blogs/<id>/post-assets/@by-month/<id>
Get all visible posts in the selected blog that have a publication date within the selected month, specified as a string of the form "YYYY-MM".
/blogs/<id>/post-assets/@published/@by-category/<id>
Get the published posts in the selected blog that have been assigned to the given category.
/blogs/<id>/post-assets/@published/@by-month/<id>
Get the posts that were published within the selected month (YYYY-MM) from the selected blog.
/blogs/<id>/post-assets/@published/@recent
Get the most recent 50 published posts in the selected blog.
/blogs/<id>/post-assets/@recent
Get the most recent 50 posts in the selected blog, including draft and scheduled posts.
/blogs/<id>/post-by-email-settings/@by-user/<id>
Get the selected user's post-by-email address
/blogs/<id>/remove-category
Send label argument to remove a category from the blog
/blogs/<id>/stats
Get data about the pageviews for the selected blog.

Browser Upload

/browser-upload
Submit an asset to a particular URL in the form of a multipart/form-data message with a file attachment.

Client Library Helpers

/client-library-helpers/method-mappings
Get a mapping from programming-language-friendly method names to API endpoints.
/client-library-helpers/object-types
Get information about all of the object types used in the TypePad API.
/client-library-helpers/resource-mappings
(Deprecated) Get a subset of the method mappings in a slightly higher-level form. This is no longer actively maintained.

Domains

/domains/<id>
Get basic information about the selected domain.
/domains/<id>/resolve-path
Given a URI path, find the blog and asset, if any, that the path matches.

Events

/events/<id>
Get basic information about the selected event.

Favorites

/favorites/<id>
Get basic information about the selected favorite, including its owner and the target asset.

Groups

/groups/<id>
Get basic information about the selected group.
/groups/<id>/add-member
Add a given user as a member of the selected group.
/groups/<id>/audio-assets
Get a list of recently created Audio assets from the selected group.
/groups/<id>/block-user
Block the given user from joining the selected group, removing that user as a member in the process.
/groups/<id>/events
Get a list of events describing actions performed in the selected group.
/groups/<id>/link-assets
Returns a list of recently created Link assets from the selected group.
/groups/<id>/memberships
Get a list of relationships between users and the selected group.
/groups/<id>/memberships/@admin
Get a list of relationships that have the Admin type between users and the selected group.
/groups/<id>/memberships/@blocked
Get a list of relationships that have the Blocked type between users and the selected groups. (Restricted to group admin.)
/groups/<id>/memberships/@member
Get a list of relationships that have the Member type between users and the selected group.
/groups/<id>/photo-assets
Get a list of recently created Photo assets from the selected group.
/groups/<id>/post-assets
Get a list of recently created Post assets from the selected group.
/groups/<id>/remove-member
Remove a given user as a member of the selected group.
/groups/<id>/unblock-user
Remove the block preventing the given user from joining the selected group.
/groups/<id>/video-assets
Get a list of recently created Video assets from the selected group.

Import Jobs

/import-jobs/<id>
Get information about an existing blog import.
/import-jobs/<id>/close-job
Terminates a blog import job.
/import-jobs/<id>/media-assets
Add a new media asset to the account that owns the blog associated with this import job.
/import-jobs/<id>/submit-items
Imports a selection of items into a blog import job.

Relationships

/relationships/<id>
Get basic information about the selected relationship.
/relationships/<id>/status
Get the status information for the selected relationship, including its types.

Request Properties

/request-properties
Retrieve some request properties. This can be useful for debugging authentication issues.

Users

/users/<id>
Get basic information about the selected user.
/users/<id>/badges
Get a list of badges that the selected user has won.
/users/<id>/badges/@learning
Get a list of learning badges that the selected user has won.
/users/<id>/badges/@public
Get a list of public badges that the selected user has won.
/users/<id>/blogs
Get a list of blogs that the selected user has access to.
/users/<id>/change-basic-details
Change the basic account details associated with the selected user.
/users/<id>/elsewhere-accounts
Get a list of elsewhere accounts for the selected user.
/users/<id>/events
Get a list of events describing actions that the selected user performed.
/users/<id>/events/@by-group/<id>
Get a list of events describing actions that the selected user performed in a particular group.
/users/<id>/favorites
Get a list of favorites that were listed by the selected user.
/users/<id>/memberships
Get a list of relationships that the selected user has with groups.
/users/<id>/memberships/@admin
Get a list of relationships that have an Admin type that the selected user has with groups.
/users/<id>/memberships/@by-group/<id>
Get a list containing only the relationship between the selected user and a particular group, or an empty list if the user has no relationship with the group.
/users/<id>/memberships/@member
Get a list of relationships that have a Member type that the selected user has with groups.
/users/<id>/notifications
Get a list of events describing actions by users that the selected user is following.
/users/<id>/notifications/@by-group/<id>
Get a list of events describing actions in a particular group by users that the selected user is following.
/users/<id>/profile
Get a more extensive set of user properties that can be used to build a user profile page.
/users/<id>/relationships
Get a list of relationships that the selected user has with other users, and that other users have with the selected user.
/users/<id>/relationships/@by-group/<id>
Get a list of relationships that the selected user has with other users, and that other users have with the selected user, constrained to members of a particular group.
/users/<id>/relationships/@by-user/<id>
Get a list of relationships that the selected user has with a single other user.
/users/<id>/relationships/@follower
Get a list of relationships that have the Contact type that the selected user has with other users.
/users/<id>/relationships/@follower/@by-group/<id>
Get a list of relationships that have the Contact type that the selected user has with other users, constrained to members of a particular group.
/users/<id>/relationships/@following
Get a list of relationships that have the Contact type that other users have with the selected user.
/users/<id>/relationships/@following/@by-group/<id>
Get a list of relationships that have the Contact type that other users have with the selected user, constrained to members of a particular group.
/users/<id>/send-email
(Unimplemented) Send an email to the selected user.

Object Types

The following pages provide a reference for the different types of object that are used in the TypePad API. Developers may wish to represent each of these as a class in their application.

It is recommended that client libraries use the type and property names defined here -- possibly with some adjustment for local language conventions -- so that users of such libraries can refer to this documentation.

Advanced Topics