Extend your community

Profile Create (Group Join)

POST /2/profile
  • json
  • xml
Host: api.meetup.com
  • basic
api version 2

This method allows an authenticated member to join a group by creating a profile

Request Parameters

This method requires an HTTP POST. All required parameters must be supplied. An intro and answers may be required based on the group the member is joining. To find out if a group requires an intro or answers to questions, query for the group through one of the Groups methods providing setting the fields parameter to join_info and inspecting the join_info in the results. Answers to the questions must be named using the convention answer_{question_id}.

answer_{qid}
Answers to questions from groups API join_info question fields
group_id
Id of group to join
group_urlname
Urlname of group to join
intro
Provides a Member an opportunity to tell the group about themselves
new_photo
file upload for a new member photo
photo_id
photo_id of the photo to use for this profile
site_name
Name of member's site. Max length is 32
site_url
Link to member's site. Max length is 80

Response

If successful, this method returns a 201 Created response with a Location header containing the Profile Get URI to access this profile.

400 Bad requests may be returned under certain conditions along with a response object containing information about the failure. The code property of this may be one of

  • bad_group: an invalid group was provided
  • bad_member: an invalid member was provided
  • invalid_photo: an invalid photo_id was provided
  • missing_photo: a photo was required to join but one could not be resolved
  • member_exists: this member has already joined the group
  • member_banned: this member has been banned from the group
  • unjoinable_group: this group is no longer joinable
  • pending_payment: this member is pending a payment for the group
  • member_email: Meetup is not able to successfully send email to this member
  • member_unapproved: a previous membership request was declined
  • member_removed: this member was previously removed from the group
  • join_closed: this group is not allowing new members
  • join_viaweb: this join is not supported in the API, try joining via the website
  • membership_pending: this membership awaiting organizer approval
  • missing_intro: the request required a valid intro
  • missing_answer: the request was missing an answer to a required question
  • invalid_answer: the request contained invalid question answer
  • invalid_url: the invalid site_url
  • invalid_site_name: the site name was too long
  • unknown_error: a generic error

The details property of this object will contain additional information. The content body of a successful request is the same of that returned by the Profile Get query method.

Examples

Join the open group foo-bar

curl -X POST 'https://api.meetup.com/2/profile'
   -F 'group_urlname=foo-bar'
   -F 'key=YOURKEY'

Join a group named foo-bar that requires answers to questions and an intro

# get the group's join info
curl 'https://api.meetup.com/2/groups/?key=YOURKEY&group_urlname=foo-bar&fields=join_info'

# answer in POST to /2/profile
curl -X POST 'https://api.meetup.com/2/profile'
   -F 'group_urlname=foo-bar'
   -F 'intro=well hello'
   -F 'answer_123=answering question 123'
   -F 'answer_456=answer question 456'
   -F 'key=YOURKEY'

Profile Edit

POST /2/profile/:gid/:mid
  • json
  • xml
Host: api.meetup.com
  • basic
api version 2

Update a member's group profile

Request Parameters

The gid and mid in this method's path are group and member IDs, both needed to uniquely identify the member profile to be edited. An authenticated user may update their own profile by substituting "self" for the mid. All POST parameters are optional unless required by the group. Only the organizer of the group may edit the member's title and role within the group. Those are the only things the organizer may edit. When requesting to set a role with add_role the member's previous role will be cleared. Members may edit all other fields of their own profiles with the exception of title, add_role, and remove_role. This method requires an HTTP POST.

add_role
Allows those with permission to assign one of the following roles: event_organizer, coorganizer, assistant_organizer
answer_{qid}
Answers to questions from groups API join_info question fields
intro
Provides a Member an opportunity to tell the group about themselves
new_photo
file upload for a new member photo
photo_id
photo_id of the photo to use for this profile. set to 0 to unset the current photo
remove_role
Allows those with permission to remove one of the following roles: event_organizer, coorganizer, assistant_organizer
site_name
Name of member's site. Max length is 32
site_url
Link to member's site. Max length is 80
title
An organizer-defined member title.

Response

If successful, this method responds with 200 OK. 401 Unauthorized is returned if the currently authenticated member can not edit the specified profile. The content body is the same as that returned by the Profile Get query method. 400 responses may also contain the error codes listed in the Profile Create method with the addition of invalid_role which is returned when the role adjustment was failed to be applied.

Profile Get

GET /2/profile/:gid/:mid
  • json
  • xml
Host: api.meetup.com
  • basic
api version 2

Retrieves a single group profile

Try it in the console

Request Parameters

Only authorization parameters are needed.

fields
Request that additional fields (separated by commas) be included in the output

Response

additional
Additional information supplied by the member
answers
Array of answers to group profile questions. Unanswered questions are returned without the answer field
answer
Text of the answer if answered
question
Text of the question
question_id
Unique ID of the question this answers
bio
Member's 'introduction' to the group
comment
What this member says about this group
created, updated
When this member profile was created and last updated, in milliseconds since the epoch.
group
The group this profile belongs to
created
Date and time that the group was founded, in milliseconds since the epoch
group_lat
Approximate group latitude
group_lon
Approximate group longitude
id
Group id
join_mode
"open", "approval", or "closed"
name
Group name
urlname
Group URL name
who
What the group calls its members
member_city
Optional fields parameter for the Member's city
member_country
Optional fields parameter for the Member's country code
member_id
The member's id
member_state
Optional fields parameter for the Member's state (when country is us)
membership_dues
Optional fields parameter for the last payment received for the Group's membership dues and optionally, the status of the member's dues for the current billing period if the group has set up recurring membership dues payments. This field is only visible only to the organizer of the group and to the member themselves. Members can not see other member's membership dues
cancelled
For groups with recurring billing periods, this Boolean field indicates that membership dues were cancelled
exempt
For groups with recurring billing periods, this Boolean field indicates that the member is exempt from payment.
paid_until
For groups with recurring billing periods, this returns the time in milliseconds since the epoch that the member's next payment is due
period_status
For groups with recurring billing periods, this returns one of the following values grace, paid, pending, unpaid
total_amount
Total amount paid
transaction_time
Time the transaction was made in milliseconds since the epoch
trial
If the group offers a trial membership, this indicates information for unpaid members.
days
The total number of trial days offered by the group
days_remaining
The number of days remaining in the member's trial period
expired
Boolean indicator of whether or not the unpaid subscription has expired or not
name
The member's name
other_services
Third-party services associated with the member account
[service-name]
This element is flickr, tumblr, twitter, or linkedin
identifier
identifier for the service, a username or URL
photo
The member's photo if available
highres_link
URL for the photo at its maximum size
photo_id
Photo ID
photo_link
URL for a standard size of the photo
thumb_link
URL for a thumbnail of the photo
photo_url
Link to the group profile photo of the member
profile_url
Link to the member's group profile page
role
If applicable, the member's role in the group (Organizer, Assistant Organizer, Co-organizer, or Event Organizer)
site_url, site_name
External site listed by the member
status
Value may be one of pending_payment, blocked, active, pending
title
Title assigned to the member in this group
visited
Member's last visit to the group site, in milliseconds since the epoch

Profile Delete (Leave Group)

DELETE /2/profile/:gid/:mid
  • json
  • xml
Host: api.meetup.com
  • basic
api version 2

Deletes a member's group profile

Request Parameters

All parameters are optional. Only the authorized member is permitted leave groups they do not organize. This method may not be used by organizers to remove members.

exit_comment
Optional message to the organizer when leaving

Response

If successful, this method responds with 200 OK, otherwise a 400 Bad request is returned or 401 if the profile being deleted does not belong to the authorized member. This method requires HTTP DELETE.

API methods