Thingiverse REST API Reference
Users
-
Get the specified user
GET /users/{$username}/
Parameters
$username
- Required string - The username of the user to get. Use the special name "me" to get information about the current user.
Returns
-
(object)
- The user. @throws NotFoundException @throws OnionRequestException
-
Update the user's profile
PATCH /users/{$username}/
Must use the PATCH method.
Body Parameters
first_name
- string - Optional. Replace the first name of this user.last_name
- string - Optional. Replace the last name of this user.bio
- string - Optional. Replace the biography for this user.location
- string - Optional. Replace the location for this user.default_license
- string - Optional. One of cc, cc-sa, cc-nd, cc-nc, cc-nc-sa, cc-nc-nd, pd0, gpl, lgpl, bsd. Update default license.
Parameters
$username
- Required integer - The username of the user to update
Returns
-
(object)
- The updated user.
-
Delete a user's account
DELETE /users/{$username}/
Restricted endpoint for deleting a user's account.
Parameters
$username
- Required string - The username of the user to delete. Must match token.
Returns
- NONE
-
Search data by user
GET /users/{$username}/search/{$term}
Parameters
$username
- Required string - The username of the user for which to fetch things.$term
- Optional string - The search query to perform.
Returns
-
(array)
- A list of items matching the search
-
Get things by user
GET /users/{$username}/things
If an authenticated user is requesting their own list of things, unpublished things will also appear in the list. If the user doesn't exist, result is 404 Not Found.
Parameters
$username
- Required string - The username of the user for which to fetch things.
Returns
-
(array)
- Thing objects
-
Get favorites by user
GET /users/{$username}/favorites
If an authenticated user is requesting their own list of favorites, If the user doesn't exist, result is 404 Not Found.
Parameters
$username
- Required string - The username of the user for which to fetch things.
Returns
-
(array)
- Favorite objects
-
Get things like by user
GET /users/{$username}/likes
If the user doesn't exist, result is 404 Not Found.
Parameters
$username
- Required string - The username of the user for which to fetch likes.
Returns
-
(array)
- Thing objects
-
Get latest copies by user
GET /users/{$username}/copies
If the user doesn't exist, result is 404 Not Found.
Parameters
$username
- Required string - The username of the user for which to fetch copies.
Returns
-
(array)
- Copy objects
-
Get latest collections by user
GET /users/{$username}/collections/{$all}
If the user doesn't exist, result is 404 Not Found.
Parameters
$username
- Required string - The username of the user for which to fetch collections.$all
- Optional boolean - If 'all' is true return full collection list an otherwise paginated collection
Returns
-
(array)
- Collection objects
-
Get latest downloaded things by user
GET /users/{$username}/downloads
If the user doesn't exist, result is 404 Not Found.
Parameters
$username
- Required string - The username of the user in question.
Returns
-
(array)
- Thing objects
-
Send user verification email
POST /users/{$username}/verify-account
Parameters
$username
- Required string - your username.
Returns
-
(object)
- The "ok" object.
-
Get the count of events for user since the timestamp sent
GET /users/{$username}/event-count
Parameters
$username
- Required string - The username to get events for
Globals
_GET
- string - ['timestamp'] The timestamp to check against UTC (YYYY-MM-DDThh:mm:ssTZD)
Returns
-
(object)
- The count of events
-
Get all the things that the user added to the collection
GET /users/{$username}/all-collected-things
Parameters
$username
- Required string - The username for which all items from the collections are searched
Returns
-
(object)
- All things that the user added to the collection
-
Get the count of messages for user
GET /users/unread-message-count
Returns
-
(object)
- The count of messages
-
-
Get array of followers
GET /users/{$username}/followers
Must use the GET method Result will be 404 Not Found if the user doesn't exist.
Parameters
$username
- Required string - The username/id of the user to retrieve data about.
Returns
-
(array)
- User objects
-
Follow an user
POST /users/{$username}/followers
Must use the POST method Result will be 404 Not Found if the user doesn't exist. Result will be 400 Bad Request if the user is trying to follow itself.
Parameters
$username
- Required string - The username of the user to "follow".
Returns
-
(object)
- The "ok" object.
-
Unfollow an user
DELETE /users/{$username}/followers
Must use the DELETE method Result will be 404 Not Found if the user doesn't exist.
Parameters
$username
- Required string - The username of the user to "unfollow".
Returns
-
(object)
- The "ok" object.
-
Get array of users that requested user is following
GET /users/{$username}/following
Must use the GET method Result will be 404 Not Found if the user doesn't exist.
Parameters
$username
- Required string - The username/id of the user to retrieve data about.
Returns
-
(array)
- User objects
-
Update the avatar image
POST /users/{$username}/avatar-image
Must use the POST method
Body Parameters
filename
- string - Set the name of the image to upload.
Parameters
$username
- Required string - The username of the user that will own this file.
Returns
-
(object)
- The data needed to upload a file via an HTTP POST with multipart/form-data encoding.
-
Update the cover image
POST /users/{$username}/cover-image
Must use the POST method
Body Parameters
filename
- string - Set the name of the image to upload.
Parameters
$username
- Required string - The username of the user that will own this file.
Returns
-
(object)
- The data needed to upload a file via an HTTP POST with multipart/form-data encoding.
Things
-
Get thing by id
GET /things/{$id}/
Attempting to fetch an unpublished thing will result in a 401 Unauthorized result unless the call is authenticated. Attempting to fetch an unpublished thing you do not own will result in a 403 Forbidden. Invalid or deleted things will result in 404 Not Found.
Parameters
$id
- Optional integer - The id of the thing to get
Returns
-
(object)
- An object representing the thing requested
-
Get image(s) by thing
GET /things/{$id}/images/{$image_id}
Gets summary information for all images associated with a thing or more detailed information about a specific image.
Parameters
$id
- Required integer - The id of the thing to get images from$image_id
- Optional integer - Optional id of image to get details for
Globals
_GET
- string - ['type'] Optional type of image to get. Required if $size is specified_GET
- string - ['size'] Optional size of image to get
Returns
-
(array|object)
- An array of images associated with a thing or detailed info about a specific image.
-
Update an existing image
PATCH /things/{$id}/images/{$image_id}
Must use the PATCH method.
Body Parameters
rank
- integer - Optional.featured
- boolean - Optional.
Parameters
$id
- Required -$image_id
- Required -
Returns
-
(object)
- The "ok" object
-
Delete an image from a thing
DELETE /things/{$id}/images/{$image_id}
Must use the DELETE method. This cannot be undone.
Parameters
$id
- Required integer - The id of the Thing the image belongs to$image_id
- Required integer - The id of the image to delete.
Returns
-
(object)
- The "ok" object
-
Get file(s) by thing
GET /things/{$id}/files/{$file_id}
Get a list of files associated with a thing or, given a numeric id, gets more detailed info about a specific file belonging to this thing.
Parameters
$id
- Required integer - The id of the thing to get files from$file_id
- Optional integer - Optional id of the file to get more details for
Returns
-
(array|object)
- An array of files associated with a thing or detail about a specific file
-
Delete a file from a thing
DELETE /things/{$id}/files/{$file_id}
Must use the DELETE method. This cannot be undone.
Parameters
$id
- Required integer - The id of the Thing the file belongs to$file_id
- Required integer - The id of the file to delete.
Returns
-
(object)
- The "ok" object
-
Get users who liked this thing
GET /things/{$id}/likes
Parameters
$id
- Required integer - The id of the thing to get likes from
Returns
-
(array)
- An array of users who liked this thing
-
Get a list of thing ancestors
GET /things/{$id}/ancestors
Parameters
$id
- Required integer - The id of the thing to get ancestors of
Returns
-
(array)
- An array containing a list of things this thing is derived from
-
Get a list of thing derivatives
GET /things/{$id}/derivatives
Parameters
$id
- Required integer - The id of the thing to get derivatives for
Returns
-
(array)
- An array containing a list of things that derive from this thing
-
Get tags on this thing
GET /things/{$id}/tags
Parameters
$id
- Required integer - The id of the thing for which to list tags
Returns
-
(array)
- An array containing a list of things that derive from this thing
-
Get thing category
GET /things/{$id}/categories
Parameters
$id
- Required integer - The id of the thing for which to list it's categories
Returns
-
(array)
- An array containing a list of categories this thing is in
-
Update an existing thing
PATCH /things/{$id}/
Must use the PATCH method.
Body Parameters
name
- string - Optional. Replace the name of the thinglicense
- string - Optional. One of cc, cc-sa, cc-nd, cc-nc-sa, cc-nc-nd, pd0, gpl, lgpl, bsd. Replace license.category
- string - Optional. Replace the category of the thing. Uses full category name (eg: "3D Printer Parts")description
- string - Optional. Replace the description.instructions
- string - Optional. Replace the instructions.is_wip
- boolean - Optional. Toggle whether this thing is a work in progress.tags
- array - Optional. An array of strings containing tag names. Replaces all current tags.
Parameters
$id
- Required integer - The id of the thing to update
Returns
-
(object)
- The updated thing.
-
Create a new thing
POST /things/
Must use the POST method
Body Parameters
name
- string - Set the name of the thinglicense
- string - One of cc, cc-sa, cc-nd, cc-nc-sa, cc-nc-nd, pd0, gpl, lgpl, bsd. Set license.category
- string - Set the category of the thing. Uses full category name (eg: "3D Printer Parts")description
- string - Optional. Set the description.instructions
- string - Optional. Set the instructions.is_wip
- boolean - Optional. Toggle whether this thing is a work in progress. Default is false.tags
- array - Optional. An array of strings containing tag names. Sets all current tags.ancestors
- array - Optional. An array of thing ids that this thing is derived from.
Returns
-
(object)
- The newly created thing.
-
Delete a thing
DELETE /things/{$id}/
Must use the DELETE method. This cannot be undone.
Parameters
$id
- Required integer - The id of the thing to delete.
Returns
-
(object)
- The "ok" object
-
Upload a file to the given thing
POST /things/{$id}/files
Must use the POST method
Body Parameters
filename
- string - Set the name of the file to upload.
Parameters
$id
- Required integer - The id of the thing that will own this file.
Returns
-
(object)
- The data needed to upload a file via an HTTP POST with multipart/form-data encoding.
-
Publish a thing
POST /things/{$id}/publish
If the Thing cannot be published (for example, because the Thing's name or description is blank), returns an HTTP status of 400 Bad Request and a body containing a JSON object of the form: {"errors":["<%= reason %>", ...]} Must use the POST method
Parameters
$id
- Required integer - The id of the thing to publish.
Returns
-
(object)
- The published Thing or an object containing an array named "errors".
-
Get copies/makes of a thing
GET /things/{$id}/copies
Parameters
$id
- Required integer - The id of the thing to get copies from
Returns
-
(array)
- An array of copies (and their images) associated with a thing
-
Upload image for new copy
POST /things/{$id}/copies
Must use the POST method
Body Parameters
filename
- string - The name of the image file to upload.
Parameters
$id
- Required integer - The id of the thing that gets the new copy.
Returns
-
(object)
- The data needed to upload this copy's image file via an HTTP POST with multipart/form-data encoding.
-
Like a thing
POST /things/{$id}/likes
Must use the POST method Result will be 404 Not Found if the thing doesn't exist. Result will be 400 Bad Request if the user is trying to like their own thing.
Parameters
$id
- Required integer - The id of the thing to like.
Returns
-
(object)
- The "ok" object.
-
Delete a like
DELETE /things/{$id}/likes
Must use the DELETE method Result will be 404 Not Found if the thing doesn't exist. Result will be 400 Bad Request if the user is trying to "unlike" their own thing.
Parameters
$id
- Required integer - The id of the thing to "unlike".
Returns
-
(object)
- The "ok" object.
-
Get a list of prints associated with a thing
GET /things/{$id}/prints
Parameters
$id
- Required integer - $id The id of the thing to get prints from
Returns
-
(array)
- An array of prints associated with a thing
-
Get all comments for this thing in a quick pre-threaded view. This is an alternative to GET /things/id/comments
GET /things/{$id}/threaded-comments
Parameters
$id
- Required integer - The id of the thing to get
Returns
-
(object)
- An array containing comment threads indexed by comment parent id (blank for top level comments) and users indexed by user id used in those comments
-
Get an unthreaded paginated list of comment objects. See also GET /things/id/threaded_comments
GET /things/{$id}/comments
Parameters
$id
- Required integer - The id of the thing to get comments for
Returns
-
(array)
- An array containing a list of comments on this thing
-
Get an unthreaded paginated list of root comment objects
GET /things/{$id}/root-comments
Parameters
$id
- Required integer - The id of the thing to get root comments for
Returns
-
(array)
- An array containing a list of root comments on this thing
-
Post a comment
POST /things/{$id}/comments
Parameters
$id
- Required integer - The id of the thing to comment on
Returns
-
(object)
- The newly created comment
-
Watch/unwatch a Thing
POST /things/{$id}/toggle-watch
If currently watching the specified Thing, the current user will unwatch the Thing, and vice versa. Only works in user context.
Parameters
$id
- Required integer - The Thing to watch or unwatch
Returns
-
(object)
- { "watching": boolean }
-
GET /things/{$id}/tracking-views
Parameters
$id
- Required -
Returns
- NONE
Files
-
Get info about a file by id
GET /files/{$id}/
Get basic information about how to access a file. For relevant files, a thumbnail image or three.js json file may be available.
Parameters
$id
- Required integer - The id of the file
Returns
-
(object)
- An object with urls of the file requested
-
Finalize an uploaded file
POST /files/{$id}/finalize
Must use the POST method
Parameters
$id
- Required integer - The id of the PendingUpload for this file
Returns
-
(object)
- Summary of the ObjectFile or Image that was created, or error.
-
GET /files/{$id}/finalize
Parameters
$id
- Required -
Returns
- NONE
-
Get tracked download URL
GET /files/{$id}/download
Redirects to the requested file and adds an entry to the user's download history for use with the GET /users/{$username}/downloads endpoint, as opposed to the public url which is anonymous.
Parameters
$id
- Required integer - The id of the file
Returns
- NONE
Copies
-
Get copy by id
GET /copies/{$id}/
If no id is given, gets the list of latest copies.
Parameters
$id
- Optional integer - The id of the copy to get. Omit this to get the list of the latest copies.
Returns
-
(object|array)
- An object representing the copy requested, or an array of copy objects.
-
Get images for a copy
GET /copies/{$id}/images
Parameters
$id
- Required integer - The id of the copy to get images from
Returns
-
(array)
- An array of images associated with the copy
-
Upload image to a copy
POST /copies/{$id}/images
Must use the POST method
Body Parameters
filename
- string - The name of the image file to upload.
Parameters
$id
- Required integer - The id of the copy.
Returns
-
(object)
- The data needed to upload this copy's image file via an HTTP POST with multipart/form-data encoding.
-
Update an existing image
PATCH /copies/{$id}/images/{$image_id}
Must use the PATCH method.
Body Parameters
rank
- integer - Optional.featured
- boolean - Optional.
Parameters
$id
- Required -$image_id
- Required -
Returns
-
(object)
- The "ok" object
-
Delete an image from a copy
DELETE /copies/{$id}/images/{$image_id}
Must use the DELETE method. This cannot be undone.
Parameters
$id
- Required integer - The id of the Copy the image belongs to$image_id
- Required integer - The id of the image to delete.
Returns
-
(object)
- The "ok" object
-
Update an existing copy
PATCH /copies/{$id}/
Must use the PATCH method.
Body Parameters
description
- string - Optional. Replace the description.
Parameters
$id
- Required integer - The id of the copy to update
Returns
-
(object)
- The updated thing.
-
Delete a copy
DELETE /copies/{$id}/
Parameters
$id
- Required integer - The id of the copy.
Returns
- NONE
-
Like a copy
POST /copies/{$id}/likes
Must use the POST method Result will be 404 Not Found if the copy doesn't exist. Result will be 400 Bad Request if the user is trying to like their own copy.
Parameters
$id
- Required integer - The id of the copy to like.
Returns
-
(object)
- The "ok" object.
-
Delete a like
DELETE /copies/{$id}/likes
Must use the DELETE method Result will be 404 Not Found if the copy doesn't exist. Result will be 400 Bad Request if the user is trying to "unlike" their own copy.
Parameters
$id
- Required integer - The id of the copy to "unlike".
Returns
-
(object)
- The "ok" object.
-
Get all comments for this copy in a quick pre-threaded view. This is an alternative to GET /copies/id/comments
GET /copies/{$id}/threaded-comments
Parameters
$id
- Required integer - The id of the thing to get
Returns
-
(object)
- An array containing comment threads indexed by comment parent id (blank for top level comments) and users indexed by user id used in those comments
-
Get an unthreaded paginated list of root comment objects
GET /copies/{$id}/root-comments
Parameters
$id
- Required integer - The id of the copy to get root comments for
Returns
-
(array)
- An array containing a list of root comments on this copy
-
Get an unthreaded paginated list of comment objects. See also GET /copies/id/threaded_comments
GET /copies/{$id}/comments
Parameters
$id
- Required integer - The id of the copy to get comments for
Returns
-
(array)
- An array containing a list of comments on this copy
-
Post a comment
POST /copies/{$id}/comments
Parameters
$id
- Required integer - The id of the copy to comment on
Returns
-
(object)
- The newly created comment
Collections
-
Get a collection by id
GET /collections/{$id}/
If no id is given, gets the list of the latest collections.
Parameters
$id
- Optional integer - The id of the collection to get. Omit to get the latest collections.
Returns
-
(object|array)
- An array of objects, or a single object
-
Get Things in a collection
GET /collections/{$id}/things
Parameters
$id
- Required integer - The id of the collection to get Things from
Globals
_GET
- string - ['sort'] Optional sort: name Order by Thing name date Date added to Collection_GET
- string - ['order'] Optional order asc or desc to apply to $sort
Returns
-
(array)
- An array of Things in this collection
-
Create a new collection
POST /collections/
Body Parameters
name
- string - Name of the collectiondescription
- string - Optional. Description of the collection
Returns
-
(object)
- The newly created collection.
-
Add a thing to a collection
POST /collections/{$collection_id}/thing/{$thing_id}
Apps can add to any collection the user owns. Do not abuse or we'll change that. :)
Body Parameters
description
- string - Optional. Reason for adding the Thing
Parameters
$collection_id
- Required integer - Id of the collection to add to$thing_id
- Required integer - Id of the Thing to add
Returns
-
(The)
- "ok" object.
-
POST /collections/{$id}/like
Parameters
$id
- Required -
Returns
- NONE
-
Watch/unwatch a Collection
POST /collections/{$id}/watch
Must use POST method. If currently watching the specified Collection, the current user will unwatch the Collection, and vice versa. Only works in user context.
Parameters
$id
- Required integer - The Collection to watch or unwatch
Returns
-
(object)
- { "watching": boolean }
-
Feature/unfeature a Collection
POST /collections/{$id}/feature
Must use POST method. If currently featuring the specified Collection, admin will unfeature the Collection, and vice versa. Only works in admin user context.
Parameters
$id
- Required integer - The Collection to feature or unfeature
Returns
-
(object)
- { "featuring": boolean }
-
Removes a thing from a collection
DELETE /collections/{$collection_id}/thing/{$thing_id}
Apps may only remove things that they've added to a collection.
Parameters
$collection_id
- Required -$thing_id
- Required -
Returns
-
(The)
- "ok" object.
-
Update a collection
PATCH /collections/{$id}/
Apps can only update collections they've created.
Body Parameters
name
- string - Name of the collectiondescription
- string - Optional. Description of the collectionfeatured_thing_id
- string - Optional. Сollection featured thing. Used as collection cover image.
Parameters
$id
- Required -
Returns
-
(object)
- The newly created collection.
-
Delete a collection
DELETE /collections/{$id}/
Apps can only delete collections they've created.
Parameters
$id
- Required integer - Id of the collection to delete
Returns
- NONE
Comments
-
Get comment by id
GET /comments/{$id}/
If no id is given, gets the list of the latest comments.
Parameters
$id
- Required integer - The id of the comment to get
Returns
-
(object)
- An object representing the comment requested
-
Get an unthreaded list of children comment objects
GET /comments/{$parentId}/replies
Parameters
$parentId
- Required integer - The id of the parent comment to get children comments for
Returns
-
(array)
- An array containing a list of children comments on this thing by parent_id
-
Create a new comment
POST /comments/
Must use the POST method
Body Parameters
body
- string - Set the body of the commenttarget_type
- string - Either thing or maketarget_id
- integer - The id of the target (thing_id or make_id)
Returns
-
(object)
- The newly created comment.
-
Create a reply to an existing comment
POST /comments/{$id}/reply
Must use the POST method
Body Parameters
body
- string - Set the body of the reply comment
Parameters
$id
- Required integer - The id of the comment to reply to
Returns
-
(object)
- The newly created reply comment.
-
Update an existing comment
PATCH /comments/{$id}/
Must use the PATCH method.
Body Parameters
body
- string - Replace the body of the thing
Parameters
$id
- Required integer - The id of the comment to update
Returns
-
(object)
- The updated comment.
-
Delete a comment
DELETE /comments/{$id}/
Must use the DELETE method. This cannot be undone.
Parameters
$id
- Required integer - The id of the comment to delete.
Returns
-
(object)
- The "ok" object
Search
-
Search for Things, Makes, Users, or Collections
GET /search/{$term}/
Results in 404 Not Found if no things match the search. Body parameters are query string here. See this page for complete documentation and all possible parameters.
Parameters
$term
- Optional string - The search query to perform
Returns
-
(array)
- A list of items matching the search
-
GET /search/{$term}/library
Parameters
$term
- Optional -
Returns
- NONE
-
GET /search/{$tag}/tag
Parameters
$tag
- Optional -
Returns
- NONE
-
GET /search/{$term}/autocomplete
Search data by term for autocomplete API args: $term: string return: array of objects
Parameters
$term
- Required -
Returns
- NONE
Categories
-
Get category or categories
GET /categories/{$category_slug}/
Get details about one category or a list of all categories. Category ids are normalized "slugs". For example, the id for the "Automotive" category's id would be "automotive". The "Replacement Parts" category would have an id of "replacement-parts", etc. If no id is specified, returns paginated list of categories.
Parameters
$category_slug
- Optional string - The id of the category to fetch. Omit for list of categories.
Returns
-
(object|array)
- The category (if specified) or list of categories
-
Get latest things in a category
GET /categories/{$category_slug}/things
If the category doesn't exist, result is 404 Not Found. Category ids are normalized "slugs". For example, the id for the "Automotive" category's id would be "automotive". The "Replacement Parts" category would have an id of "replacement-parts", etc.
Parameters
$category_slug
- Required string - The id of the category for which to fetch things
Returns
-
(array)
- Thing objects
Tags
-
Get the latest things with the specified tag
GET /tags/{$tag}/things
If the tag doesn't exist, result is 404 Not Found. Tags are normalized before searching by converting whitespace to underscores and stripping out all characters except alphanumerics, underscores, and dashes ('-').
Parameters
$tag
- Required string - The tag for which to fetch things
Returns
-
(array)
- Thing objects
-
Return a representation of the given tag
GET /tags/{$tag}/
Tags are normalized before searching by converting whitespace to underscores and stripping out all characters except alphanumerics, underscores, and dashes ('-'). If no tag is specified, returns a list of all tags in alphabetical order.
Parameters
$tag
- Optional string - The tag for which to fetch things. Omit this to get the list of tags.
Returns
-
(object|array)
- The tag or an array of tags.
Groups
-
Get Group(s)
GET /groups/{$id}/
If no id is given, returns all groups
Parameters
$id
- Optional integer - The id of the group to get
Globals
_GET
- string - ['filter'] Optional filter. Supports: my-groups. Default is all_GET
- string - ['sort'] Optional sort. Supports: members, topics, activity, newest. Returns in DESC order. Default is members._GET
- string - ['search'] Optional search
Returns
-
(object|array)
- An object or array of objects
-
Create a new Group
POST /groups/
Must use the POST method
Body Parameters
name
- string - Name of Groupdescription
- string - Description of Groupslug
- string - Slug for Group
Returns
-
(object)
- Newly created Group
-
Update the Group Image
POST /groups/{$id}/image
Must use the POST method
Body Parameters
filename
- string - Image filename
Parameters
$id
- Required integer - The id of the Group
Returns
-
(object)
- The data needed to upload a file via an HTTP POST with multipart/form-data encoding
-
Update Group
PATCH /groups/{$id}/
Must use the PATCH method.
Body Parameters
name
- string - Optional. Update Group namedescription
- string - Optional. Update Group description
Parameters
$id
- Required integer - The Group to update
Returns
-
(object)
- The updated Group
-
Delete Group
DELETE /groups/{$id}/
Must use the DELETE method.
Parameters
$id
- Required integer - The Group to delete
Returns
-
(integer)
- id of the deleted Group
-
Get Group Topics
GET /groups/{$id}/group-topics
Returns all topics for the group
Parameters
$id
- Required -
Returns
-
(array)
- An array of objects
-
Search Group Topics and Comments
GET /groups/{$id}/group-topics-comments
Returns all topics and comments according to the search
Parameters
$id
- Required integer - The id of the group
Returns
-
(array)
- An array of objects
-
Create a new Group Topic
POST /groups/{$id}/group-topics
Must use the POST method. Must be a member of the group to create a topic.
Body Parameters
name
- string - Name of Topicbody
- string - Body text of Topic
Parameters
$id
- Required integer - The id of the group to create a topic for
Returns
-
(object)
- The newly created topic
-
Get Things in a Group
GET /groups/{$id}/things
Sort or search Things in a Group.
Parameters
$id
- Required integer - The id of Group to get Things
Globals
_GET
- string - ['sort'] Optional sort. Supports: newest, popular. Returns in DESC order. Default is newest. Not supported for search._GET
- string - ['search'] Optional search. Sort returns in relevant order.
Returns
-
(array)
- Things in a Group
-
Add Thing to Group
POST /groups/{$id}/things/{$thing_id}
Must use the POST method. Returns ok even if Thing is already in Group
Parameters
$id
- Required integer - Group id to add Thing to$thing_id
- Required integer - Thing id to add to Group
Returns
-
(object)
- "ok"
-
Remove Thing from Group
DELETE /groups/{$id}/things/{$thing_id}
Must use the DELETE method. Returns 400 if trying to delete something that doesn't exist
Parameters
$id
- Required integer - Group id to remove Thing from$thing_id
- Required integer - Thing id to remove from Group
Returns
-
(object)
- "ok"
-
Update a Group Thing
PATCH /groups/{$id}/things/{$thing_id}
Mark a Group Thing as featured or remove it from being featured Trying to add a rank to something that is already featured results in 400 You must remove it first by sending rank equal to 0 Trying to remove something that isn't featured results in 400
Body Parameters
rank
- integer - The ranking order for this featured Thing. Send 0 to remove. Supports 0-3
Parameters
$id
- Required integer - The Group id of the Thing$thing_id
- Required integer - The Thing id to update
Returns
-
(object)
- "ok"
-
Get Group Members
GET /groups/{$id}/members
Returned with Group Owner first, then by date joined, ascending
Parameters
$id
- Required integer - The id of the Group to get Members for
Returns
-
(array)
- List of Group members
-
Join a Group
POST /groups/{$group_id}/members
Parameters
$group_id
- Required integer - The id of the Group to join
Returns
-
(object)
- "ok"
-
Leave a Group
DELETE /groups/{$group_id}/members/{$user_id}
Parameters
$group_id
- Required integer - The id of the Group to leave$user_id
- Optional integer - Optional user_id to delete (for Owners). Defaults to current user
Returns
-
(object)
- "ok"
-
GET /groups/{$id}/group-forums
Parameters
$id
- Required -
Returns
- NONE
-
POST /groups/{$id}/group-forums
Parameters
$id
- Required -
Returns
- NONE
-
GET /groups/{$slug}/user-in-group/{$userId}
Parameters
$slug
- Required -$userId
- Required -
Returns
- NONE
-
GET /groups/{$slug}/is-slug-unique
Parameters
$slug
- Required -
Returns
- NONE
GroupTopics
-
Get Group Topic
GET /group-topics/{$id}/
Parameters
$id
- Required integer - The id of the Group Topic to get
Returns
-
(object)
- A Group Topic summary object
-
Update Group Topic
PATCH /group-topics/{$id}/
Must use the PATCH method.
Body Parameters
name
- string - Optional. Update Topic namebody
- string - Optional. Update Topic body
Parameters
$id
- Required integer - The Group Topic to update
Returns
-
(object)
- The updated Group Topic
-
Pin Group Topic
POST /group-topics/{$id}/pin
Must use the POST method. Only for Group Owner
Parameters
$id
- Required integer - The Group Topic to pin
Returns
-
(object)
- The pinned Group Topic
-
Unpin Group Topic
DELETE /group-topics/{$id}/pin
Must use the DELETE method. Only for Group Owner
Parameters
$id
- Required integer - The Group Topic to unpin
Returns
-
(object)
- The unpinned Group Topic
-
Get all comments for this topic in a quick pre-threaded view. This is an alternative to GET /grouptopics/id/comments
GET /group-topics/{$id}/threaded-comments
Parameters
$id
- Required integer - The id of the Group Topic to get comments for
Returns
-
(object)
- An array containing comment threads indexed by comment parent id (blank for top level comments) and users indexed by user id used in those comments
-
Get an unthreaded paginated list of comment objects. See also GET /grouptopics/id/threaded_comments
GET /group-topics/{$id}/comments
Parameters
$id
- Required integer - The id of the Group Topic to get comments for
Returns
-
(array)
- An array containing a list of comments on this thing
-
Post a comment
POST /group-topics/{$id}/comments
Body Parameters
body
- string - Body text of the comment
Parameters
$id
- Required integer - The id of the Group Topic to comment on
Returns
-
(object)
- The newly created comment