# Member details Get information about a specific EGYM member Endpoint: GET /user/profile Version: 1.0.0 Security: accesstoken ## Query parameters: - `userId` (integer) The id of the member Example: 123 - `rfid` (string) The RFID of the member Example: "0xAA" - `email` (string) The E-Mail address of the member Example: "example@egym.com" - `membershipId` (string) The membership id of the member. Example: "23ljlsJKLD" - `gymId` (integer, required) The id of the gym. Example: 123 ## Response 200 fields (application/json): - `userId` (integer) Unique ID that identifies the EGYM user in the EGYM system. Please include the userId that you have received as a response to the previous requests for this user. Example: 123 - `membershipId` (string, required) Member ID of the gym software (must be unique for exactly one member in the gym (chain)); The membershipId must be unique for exactly one member in the gym. The membershipId should never changes, i.e. you cannot use a contract id or similar, which would change when the contract is renewed, changed or a new contract is signed. Example: "membership_id" - `agreementNumber` (string) The agreement number is the number of the membership between the member and the gym chain. Example: "agreement_number" - `membershipStatus` (string) Type of the member's membership to determine available features, can be BASIC/PREMIUM/PROSPECT Example: "BASIC" - `membershipSubType` (string) Extension of membershipStatus for further customization for this user. One membershipStatus can have multiple membershipSubType. Example: "membership_sub_type" - `activeStatus` (boolean) Status of the member's membership. Example: "true" - `referringMemberId` (string) MembershipId of the member who referred this member. Example: "referring_number_id" - `eMail` (string, required) The EGYM interface requires that each member has a unique email address. Before implementing the API in a gym, the software provider needs to run a search for email addresses that are used multiple times for different gym members (think fake addresses or family members). Obvious fake addresses (e.g. test@test.com) should be deleted. A list of email addresses used multiple times shall be given to the gym to enter unique addresses. Any umlaut in email addresses is not accepted and will be answered by an error message. A warning must be shown in the software if a member is created without a valid email address - validity check needs to cover typos (such as name@provider. / nameqprovider.com / etc) Two members can never share an email address and no member can be submitted without an email address. The software vendor must ensure that if two members share an email address, both will not be transmitted to EGYM. A warning should be shown to gym staff if a member is created with the same email address of an existing user until the problem is resolved. Example: "example@egym.com" - `firstName` (string, required) First Name of the member Example: "Hans" - `lastName` (string, required) Last Name of the member Example: "Mustermann" - `dateOfBirth` (string, required) Birthday of the member as date in format YYYY-MM-DD Example: "1990-11-20" - `gender` (string, required) Gender of the member Enum: "MALE", "FEMALE" - `imageData` (string) BASE64 encoded image (JPEG or PNG): Photo of the member. Does not need to be sent with every request but can be transmitted after changes. Please note that the overall request size is limited to 16 MB, so please make sure your images (after base64 encoding) are small enough to fit into the request, otherwise, we'll throw a 413 and reject the whole request Example: "N/A" - `userMotiveList` (array) Motivation list of the member. Possible Strings: GENERAL_FITNESS, HEALTH, SHAPE, SOCIAL, RELAX, ACTIVATION Enum: "GENERAL_FITNESS", "HEALTH", "SHAPE", "SOCIAL", "RELAX", "ACTIVATION" - `trainingFrequency` (integer) Number of training sessions the member wants to conduct per week Example: 3 - `trainingDuration` (integer) Time (in minutes) a training session should take for the member Example: 90 - `endOfContract` (string, required) Date when the member's contract ends. For gyms with automatic contract renewal, send the date when the contract would run out, if cancelled. Update the field when the contract was renewed. Please update the field when the customer renews their contract (manually and automatically renewals). Example: "2016-12-31" - `startOfContract` (string) Date when the member joined the gym Example: "2018-01-01" - `rfidList` (array, required) List of strings representing long numbers OR hex strings (with leading "0x"). This field is used for synchronizing all RFIDs of a user with EGYM. Note: If this field is sent we will replace the RFID list of this user with the info sent (for an empty list, we will delete all RFID connections of this user). Please ensure that only RFID information is sent in this field but no other medium like magnetic stripe card numbers or bar codes. Example: ["0x04AABBCCDDEEFF"] - `phone` (string, required) telephone number of the member There is just one field for the phone number in the EGYM Trainer App, so implement the way that first the mobile phone number is sent, and if that field is empty, the land line phone number. If that field is empty, do not send the phone field at all. - `street` (string, required) Street name in member's address Example: "Pranner street" - `streetNumber` (string, required) Street number in member's address Example: "2" - `zipCode` (string, required) Zip Code in member's address Example: "80333" - `city` (string, required) City in member's address Example: "München" - `state` (string) State in member's address Example: "Bavaria" - `country` (string, required) Country of the member's address in ISO 3166-1 alpha-2 Example: "DE" - `barcode` (string) Member's barcode to checkin in the gym. Can be visualised on the Branded Member App and used for lookup to verify membership Example: "123456789-10" - `height` (number) Height of the member in centimeters Example: "168.30" - `dayGuest` (boolean) Indicates that the member is not a permanent member Example: true - `prospect` (boolean) Indicates that the member is a prospective member, who has not yet signed up for the gym membership Example: true - `trainer` (boolean) If true, grants trainer account permissions to this user and this gym. If false, revokes trainer permissions. If omitted or null, permissions are not changed. Please omit this field, unless you explicitly want to set or remove trainer rights. Example: true ## Response 4XX fields (application/json): - `error` (integer) The error code. Example: 401 - `errorText` (string) The error message. Example: "The provided user name or password is incorrect."