# trash nothing ## API Docs - messages [List conversations](https://vefukrdz78.apidog.io/api-3530578.md): - messages [Mark all conversations as read](https://vefukrdz78.apidog.io/api-3530564.md): - messages [Search conversations](https://vefukrdz78.apidog.io/api-3530579.md): Searches all conversations except blocked conversations. - messages [Delete conversation](https://vefukrdz78.apidog.io/api-3530570.md): - messages [Archive conversation](https://vefukrdz78.apidog.io/api-3530576.md): - messages [Block conversation](https://vefukrdz78.apidog.io/api-3530572.md): - messages [Mark conversation as read](https://vefukrdz78.apidog.io/api-3530574.md): - messages [List conversation messages](https://vefukrdz78.apidog.io/api-3530583.md): - messages [Reply to conversation](https://vefukrdz78.apidog.io/api-3530571.md): - messages [Report conversation](https://vefukrdz78.apidog.io/api-3530573.md): - messages [Unarchive conversation](https://vefukrdz78.apidog.io/api-3530575.md): - messages [Unblock conversation](https://vefukrdz78.apidog.io/api-3530577.md): - misc [Send feedback](https://vefukrdz78.apidog.io/api-3530581.md): Allows users to send feedback about the trashnothing.com site or apps. - groups [Search groups](https://vefukrdz78.apidog.io/api-3530582.md): - groups [Retrieve multiple groups](https://vefukrdz78.apidog.io/api-3530567.md): - groups [Join groups](https://vefukrdz78.apidog.io/api-3530580.md): Request membership to one or more groups.

NOTE: Any group with a has_questions field set to true will also require answers to the groups' new member questionnaire to be submitted. Groups waiting for answers will have their membership field set to 'pending-questions'. And the questionnaire that needs to be answered can be found in the membership.questionnaire field of the group after a subscribe request is made to that group. - groups [Retrieve a group](https://vefukrdz78.apidog.io/api-3530566.md): - groups [Submit group answers](https://vefukrdz78.apidog.io/api-3530569.md): Submits answers to a groups' membership questionnaire.

The request body should be a JSON object mapping each question from the group membership.questionnaire.questions field to an answer (eg. {"Where do you live?": "New York City"} ). All questions are required so no null or empty string answers are allowed. - groups [Contact group moderators](https://vefukrdz78.apidog.io/api-3530568.md): - groups [Leave a group](https://vefukrdz78.apidog.io/api-3530565.md): - photos [Create a photo](https://vefukrdz78.apidog.io/api-3530584.md): - photos [Retrieve multiple photos](https://vefukrdz78.apidog.io/api-3530585.md): - photos [Delete a photo](https://vefukrdz78.apidog.io/api-3530586.md): - photos [Rotate a photo](https://vefukrdz78.apidog.io/api-3530587.md): - posts [List posts](https://vefukrdz78.apidog.io/api-3530590.md): NOTE: When paging through the posts returned by this endpoint, there will be at most 1,000 posts that can be returned (eg. 50 pages worth of posts with the default per_page value of 20). In areas where there are more than 1,000 posts, clients can use more specific query parameters to adjust which posts are returned. - posts [Submit a post](https://vefukrdz78.apidog.io/api-3530589.md): Submits a new post.

NOTE: An alternate way to submit posts that does quicker client side validation is to use the script served by the API at the /posts/client.js endpoint (see the description of the /posts/client.js endpoint for usage instructions). - posts [List all posts](https://vefukrdz78.apidog.io/api-3530588.md): This endpoint provides an easy way to get a feed of all the publicly published posts on trash nothing. It provides access to all publicly published offer and wanted posts from the last 30 days. The posts are sorted by date (newest first).

There are fewer options for filtering, sorting and searching posts with this endpoint but there is no 1,000 post limit and posts that are crossposted to multiple groups are not merged together in the response. In most cases, crossposted posts are easy to detect because they have the same user_id, title and content. - posts [List all post changes](https://vefukrdz78.apidog.io/api-3530591.md): This endpoint provides an easy way to get a feed of all the changes that have been made to publicly published posts on trash nothing. Similar to the /posts/all endpoint, only data from the last 30 days is available and the changes are sorted by date (newest first). Every change includes the date of the change, the post_id of the post that was changed and the type of change.

The different types of changes that are returned are listed below.

- deleted
- undeleted
- satisfied
- promised
- unpromised
- withdrawn
- edited

For edited changes, clients can use the retrieve post API endpoint to get the edits that have been made to the post. - posts [Retrieve client.js](https://vefukrdz78.apidog.io/api-3530597.md): Defines javascript functions that can be used to validate and submit posts. - posts [Retrieve multiple posts](https://vefukrdz78.apidog.io/api-3530592.md): - posts [Search posts](https://vefukrdz78.apidog.io/api-3530594.md): Searching posts takes the same arguments as listing posts except for the addition of the search and sort_by parameters. - posts [Retrieve a post](https://vefukrdz78.apidog.io/api-3530595.md): - posts [Update a post](https://vefukrdz78.apidog.io/api-3530593.md): Users can update posts to fix mistakes with their post, add photos, or add more details about the items. Updates should not be used to say that items in a post have been taken or received since the post satisfy endpoint is designed to do that. - posts [Delete a post bookmark](https://vefukrdz78.apidog.io/api-3530596.md): - posts [Bookmark a post](https://vefukrdz78.apidog.io/api-3530598.md): - posts [Retrieve post display data](https://vefukrdz78.apidog.io/api-3530603.md): Retrieve a post and other data related to the post that is useful for displaying the post such as data about the user who posted the post and the groups the post was posted on. - posts [Flag a post](https://vefukrdz78.apidog.io/api-3530604.md): Flags a post to be reviewed by the moderators. - posts [Map a post](https://vefukrdz78.apidog.io/api-3530599.md): Map a post to a specific location when the post is missing a location or has an incorrect location. - posts [Promise an offer post](https://vefukrdz78.apidog.io/api-3530600.md): Mark an offer by the current user as promised to someone. This helps people viewing the post know that the items being offered may soon be given away as long as the person who was promised the items picks them up. - posts [Reply to a post](https://vefukrdz78.apidog.io/api-3530601.md): Send a reply to a post from the current user to the post author. - posts [Satisfy a post](https://vefukrdz78.apidog.io/api-3530602.md): Mark an offer or wanted post by the current user as satisfied (eg. an offer has been taken or a wanted has been received). - posts [Share a post](https://vefukrdz78.apidog.io/api-3530605.md): Forwards a copy of the post to the current user so that they can forward it to friends. - posts [Unpromise an offer post](https://vefukrdz78.apidog.io/api-3530606.md): Mark an offer by the current user as unpromised. - posts [Withdraw a post](https://vefukrdz78.apidog.io/api-3530607.md): Mark an offer or wanted post by the current user as withdrawn. - stories [List stories](https://vefukrdz78.apidog.io/api-3530608.md): - stories [Submit a story](https://vefukrdz78.apidog.io/api-3530609.md): - stories [Retrieve a story](https://vefukrdz78.apidog.io/api-3530610.md): - stories [Like a story](https://vefukrdz78.apidog.io/api-3530612.md): - stories [Unlike a story](https://vefukrdz78.apidog.io/api-3530611.md): - stories [Record story viewed](https://vefukrdz78.apidog.io/api-3530613.md): Records every time a user views the full story (and not just a preview or snippet), - users [Retrieve current user](https://vefukrdz78.apidog.io/api-3530614.md): - users [Update current user](https://vefukrdz78.apidog.io/api-3530615.md): Update the current user. All fields are optional so requests can update just one or multiple user properties at a time. - users [List current users' email alerts](https://vefukrdz78.apidog.io/api-3530616.md): - users [Create an email alert](https://vefukrdz78.apidog.io/api-3530617.md): - users [Delete an email alert](https://vefukrdz78.apidog.io/api-3530618.md): - users [Change email address](https://vefukrdz78.apidog.io/api-3530619.md): Change the users' current email address. A verification link will be emailed to the new email address to verify that the email account belongs to the user. The email change will not take effect until the user clicks the link in the verification email. - users [Set users' email address as not bouncing](https://vefukrdz78.apidog.io/api-3530620.md): Resets an email address bouncing state to false. The users' email address may be automatically marked as bouncing again if further emails sent to it are bounced. - users [List current users' groups](https://vefukrdz78.apidog.io/api-3530627.md): - users [Update location](https://vefukrdz78.apidog.io/api-3530624.md): Update the current users' location. The location is used to determine which posts are shown to the user (both public posts and group posts). - users [List current users' group notices](https://vefukrdz78.apidog.io/api-3530621.md): - users [List current users' post locations](https://vefukrdz78.apidog.io/api-3530622.md): Only the most recent 3 post locations are returned. - users [Save a post location for the current user](https://vefukrdz78.apidog.io/api-3530623.md): Creates or updates a post location for the current user. Updates will happen when the name of the post location matches a previous post location. - users [List current users' posts](https://vefukrdz78.apidog.io/api-3530626.md): NOTE: In order to make it easier to see all a users' posts, the current users' location preferences are not applied when listing or searching posts from a single user. If location based filtering of the posts is needed, the latitude, longitude and radius parameters may be used. - users [Search current users' posts](https://vefukrdz78.apidog.io/api-3530625.md): Searching posts takes the same arguments as listing posts except for the addition of the search and sort_by parameters. - users [Set a profile image](https://vefukrdz78.apidog.io/api-3530628.md): Profile images must be at least 90 pixels wide and tall. And if the image used is not square it will be automatically cropped to be square. - users [List current users' profile images](https://vefukrdz78.apidog.io/api-3530629.md): - users [Resend account verification email](https://vefukrdz78.apidog.io/api-3530630.md): - users [Send password reset email](https://vefukrdz78.apidog.io/api-3530631.md): - users [Report a user](https://vefukrdz78.apidog.io/api-3530632.md): - users [Retrieve a user](https://vefukrdz78.apidog.io/api-3530633.md): - users [Retrieve user display info](https://vefukrdz78.apidog.io/api-3530635.md): Retrieve a user and information related to the user (eg. recent posts) that is useful for displaying a more detailed view of the user. - users [Submit feedback on a user](https://vefukrdz78.apidog.io/api-3530634.md): Allows the current user to submit feedback on a user. The current user can only leave feedback on a user if the feedback allowed property on that user is set to true (see User definition for more details). And the system will only store the most recent feedback submission that the current user has submitted on a user. If the current user submits feedback multiple times, the newest feedback will overwrite the older feedback. This allows users to update their feedback as long as the feedback allowed property allows it. - users [List posts by a user](https://vefukrdz78.apidog.io/api-3530636.md): NOTE: In order to make it easier to see all a users' posts, the current users' location preferences are not applied when listing or searching posts from a single user. If location based filtering of the posts is needed, the latitude, longitude and radius parameters may be used. - users [Search posts by a user](https://vefukrdz78.apidog.io/api-3530637.md): Searching posts takes the same arguments as listing posts except for the addition of the search and sort_by parameters. - users [Retrieve a users' profile image](https://vefukrdz78.apidog.io/api-3530638.md): This is designed to be used as the src attribute of an HTML <img> tag to show the profile image of the given user.