{
  "stat": "ok",
  "method": {
    "requiredperms": "2",
    "needssigning": 1,
    "needslogin": 1,
    "name": "flickr.groups.join",
    "description": {
      "_content": "Join a public group as a member."
    }
  },
  "errors": {
    "error": [
      {
        "message": "Required arguments missing",
        "code": "1",
        "_content": "The group_id doesn't exist"
      },
      {
        "message": "Group does not exist",
        "code": "2",
        "_content": "The Group does not exist"
      },
      {
        "message": "Group not availabie to the account",
        "code": "3",
        "_content": "The authed account does not have permission to view/join the group."
      },
      {
        "message": "Account is already in that group",
        "code": "4",
        "_content": "The authed account has previously joined this group"
      },
      {
        "message": "Membership in group is by invitation only.",
        "code": "5",
        "_content": "Use flickr.groups.joinRequest to contact the administrations for an invitation."
      },
      {
        "message": "User must accept the group rules before joining",
        "code": "6",
        "_content": "The user must read and accept the rules before joining. Please see the accept_rules argument for this method."
      },
      {
        "message": "Account in maximum number of groups",
        "code": "10",
        "_content": "The account is a member of the maximum number of groups."
      },
      {
        "message": "User unable to join",
        "code": "11",
        "_content": "This user is unable to join this group."
      },
      {
        "message": "SSL is required",
        "code": 95,
        "_content": "SSL is required to access the Flickr API."
      },
      {
        "message": "Invalid signature",
        "code": 96,
        "_content": "The passed signature was invalid."
      },
      {
        "message": "Missing signature",
        "code": 97,
        "_content": "The call required signing but no signature was sent."
      },
      {
        "message": "Login failed / Invalid auth token",
        "code": 98,
        "_content": "The login details or auth token passed were invalid."
      },
      {
        "message": "User not logged in / Insufficient permissions",
        "code": 99,
        "_content": "The method requires user authentication but the user was not logged in, or the authenticated method call did not have the required permissions."
      },
      {
        "message": "Invalid API Key",
        "code": 100,
        "_content": "The API key passed was not valid or has expired."
      },
      {
        "message": "Service currently unavailable",
        "code": 105,
        "_content": "The requested service is temporarily unavailable."
      },
      {
        "message": "Write operation failed",
        "code": 106,
        "_content": "The requested operation failed due to a temporary issue."
      },
      {
        "message": "Format \"xxx\" not found",
        "code": 111,
        "_content": "The requested response format was not found."
      },
      {
        "message": "Method \"xxx\" not found",
        "code": 112,
        "_content": "The requested method was not found."
      },
      {
        "message": "Invalid SOAP envelope",
        "code": 114,
        "_content": "The SOAP envelope send in the request could not be parsed."
      },
      {
        "message": "Invalid XML-RPC Method Call",
        "code": 115,
        "_content": "The XML-RPC request document could not be parsed."
      },
      {
        "message": "Bad URL found",
        "code": 116,
        "_content": "One or more arguments contained a URL that has been used for abuse on Flickr."
      }
    ]
  },
  "arguments": {
    "argument": [
      {
        "optional": 0,
        "name": "api_key",
        "_content": "Your API application key. <a href=\"/services/api/misc.api_keys.html\">See here</a> for more details."
      },
      {
        "optional": "0",
        "name": "group_id",
        "_content": "The NSID of the Group in question"
      },
      {
        "optional": "1",
        "name": "accept_rules",
        "_content": "If the group has rules, they must be displayed to the user prior to joining. Passing a true value for this argument specifies that the application has displayed the group rules to the user, and that the user has agreed to them. (See flickr.groups.getInfo)."
      }
    ]
  }
}