openapi: 3.2.0 info: version: '' title: Namely Notifications API description: Move your app forward with the Namely API Move your app forward with the Namely API tags: - name: Notifications paths: /notifications: get: operationId: GET_notifications summary: Get all Notifications tags: - Notifications description: 'Returns all notifications for the current API user/token bearer. There are three main types of notifications: 1. Time Off 2. Mentioned/Appreciated 3. Generic (All Other) There are also three "200" responses on this page. However, the actual notification response is a combination of all three responses (assuming the user has received all three types of notifications). Time Off and Mentioned/Appreciated have distinct "links" associated with the notification object. Certain keys will be present or absent based on the nature of notification (e.g. the "comment_id" key will only be present if you were mentioned in a comment).' responses: '200': description: '' content: application/json: schema: type: object properties: notifications: $ref: '#/components/schemas/generic-notification' links: type: object properties: notifications.profile_id: $ref: '#/components/schemas/Link' profiles.job_title: $ref: '#/components/schemas/Link' profiles.image: $ref: '#/components/schemas/Link' notifications.requester_id: $ref: '#/components/schemas/Link' notifications.responder_id: $ref: '#/components/schemas/Link' linked: type: object properties: profiles: type: array items: $ref: '#/components/schemas/Profile' job_titles: type: array items: $ref: '#/components/schemas/Job_Title_Link' files: type: array items: $ref: '#/components/schemas/File' security: - Authorization: [] /profiles/{id}/notifications: parameters: - name: id in: path description: id of the profile whose notifications you want to view required: true schema: type: string get: operationId: GET_notifications-id summary: Get a Profile's Notifications tags: - Notifications description: 'Returns notifications for a profile in a paginated form. By default, there will be 30 notifications per page. At most, you can request 50 notifications per page. There are three main types of notifications: 1. Time Off 2. Mentioned/Appreciated 3. Generic (All Other) There are also three "200" responses on this page. However, the actual notification response is a combination of all three responses (assuming the user has received all three types of notifications). Time Off and Mentioned/Appreciated have distinct "links" associated with the notification object. Certain keys will be present or absent based on the nature of notification (e.g. the "comment_id" key will only be present if you were mentioned in a comment).' parameters: - name: page in: query description: the page of information you'd like to receive. required: false schema: type: integer - name: per_page in: query description: the number of employees to retrieve when using pagination; default is 30 and the limit is 50. required: false schema: type: integer responses: '200': description: '' content: application/json: schema: type: object properties: notifications: $ref: '#/components/schemas/generic-notification' links: type: object properties: notifications.profile_id: $ref: '#/components/schemas/Link' profiles.job_title: $ref: '#/components/schemas/Link' profiles.image: $ref: '#/components/schemas/Link' notifications.requester_id: $ref: '#/components/schemas/Link' notifications.responder_id: $ref: '#/components/schemas/Link' linked: type: object properties: profiles: type: array items: $ref: '#/components/schemas/Profile' job_titles: type: array items: $ref: '#/components/schemas/Job_Title_Link' files: type: array items: $ref: '#/components/schemas/File' security: - Authorization: [] components: schemas: Salary: title: Salary type: object properties: currency_type: description: currency of the profile's current salary; null if never provided or no current salary; cannot be null if any other salary keys provided type: string date: description: start date of the profile's current salary; null if never provided or no current salary; cannot be null if any other salary keys provided type: string guid: description: unique identifier of the profile's current salary; null if never provided or no current salary; cannot be null if any other salary keys provided type: string pay_group_id: description: unique identifier of the pay group associated with the profile's current salary; null if never provided or no current salary type: integer payroll_job_id: description: unique identifier of the payroll job associated with the profile's current salary; null if never provided or no current salary type: string rate: description: rate of the profile's current salary; valid values include annually, weekly, biweekly, bimonthly, semimonthly, monthly, quarterly, semiannually, and thirteen_monthly; null if never provided; blank if provided then deleted; cannot be null if any other salary keys provided type: string yearly_amount: description: 'annualized amount ("amount_raw" * # of pay periods based on the "rate") of the profile''s current salary; all salaries are annualized; null if never provided; blank if provided then deleted; cannot be null if any other salary keys provided' type: integer hourly: description: true if the salary is hourly, and false if yearly; cannot be null if any other salary keys provided. Known as is_hourly elsewhere in the app. type: boolean amount_raw: description: returns the amount as it was inputted on the UI; if yearly, will be the amount per pay period; if hourly, will be the hourly rate; cannot be null if any other salary keys provided type: string payroll_company: type: string description: The Payroll Company associated with this salary. Required if multiple Payroll Companies. "Company name" defaults to first Payroll Company. payroll_job: type: string description: Name of the Payroll Job for this Salary. Required if multiple Payroll Companies. Value of "Job name" will take first Payroll Job from specified Payroll Company. Image: title: Image type: object properties: id: type: string description: unique identifier of the image filename: type: string description: image's file name mime_type: type: string description: image type original: type: string description: link of image with original resolution thumbs: $ref: '#/components/schemas/Thumb' Thumb: title: Thumb type: object description: different resolutions of the image properties: 75x75: type: string 75x75c: type: string 150x150: type: string 150x150c: type: string 300x300: type: string 300x300c: type: string 450x450: type: string 550x450c: type: string 800x800: type: string 800x800c: type: string Group_Link: title: Group Link type: object properties: id: type: string description: unique identifier of the group name: type: string description: name/label of the group Home: title: Home type: object description: fields represent the entire home address properties: address1: type: string description: address line 1 of the home address address2: type: string description: address line 2 of the home address city: type: string description: city of the home address state_id: type: string description: 'state of the home address; for US, must be the 2-digit code; for other countries, refer to the #docTextSection:7izuT4kPbi3FngZbD endpoints' country_id: type: string description: '"US" for the US; must be the ISO Alpha-2 code; for other countries, refer to the #docTextSection:7izuT4kPbi3FngZbD endpoints or just use the ISO Alpha-2 code' zip: type: string description: zip or postal code of the home address Team_Link: title: Team Link type: object properties: id: type: string description: unique identifier of the team name: type: string description: name/label of the team Healthcare: title: Healthcare type: object properties: beneficiary: description: relationship of the profile's healthcare plan's beneficiary to the profile; valid values include Employee Only, Employee/Child, Employee/Spouse, Family, Not Applicable, and Waive; blank if never provided or provided then deleted; cannot be null if any other healthcare keys provided type: string amount: description: amount of the profile's healthcare plan; numbers only; cannot be null if any other healthcare keys provided type: string currency_type: description: currency type of the profile's healthcare plan amount; default USD type: string Job_Title_Link: title: Job Title Link type: object properties: id: type: string description: unique identifier of the job title title: type: string description: name/label of the job title Link: title: Link type: object properties: type: type: string Office: title: Office type: object description: these fields represent the entire office address and are inherited from the "Office Location" group assigned to the profile properties: address1: type: string description: address line 1 of the office address address2: type: string description: address line 2 of the office address city: type: string description: city of the office address state_id: type: string description: 'state of the office address; for US, must be the 2-digit code; for other countries, refer to the #docTextSection:7izuT4kPbi3FngZbD endpoints' country_id: type: string description: '"US" for the US; must be the ISO Alpha-2 code; for other countries, refer to the #docTextSection:7izuT4kPbi3FngZbD endpoints or just use the ISO Alpha-2 code' zip: type: string description: zip or postal code of the office address phone: type: string description: phone number associated with the office location File: title: File type: object properties: id: type: string filename: type: string mime_type: type: string original: type: string thumbs: type: array items: $ref: '#/components/schemas/Thumb' generic-notification: title: Generic Notification type: object properties: id: type: integer description: unique identifier of the notification text: type: string description: content of the notification type: description: empty type: string timestamp: description: epoch time that the event was created/generated type: integer seen: type: string description: true if the token bearer has viewed the list of notifications since this notification was created read: type: string description: true if the token bearer has clicked/tapped on the the notification links: default: null type: string Profile: title: Profile type: object properties: id: description: unique identifier of the profile type: string email: description: company email of the profile type: string first_name: description: first name of the profile type: string last_name: description: last name of the profile type: string user_status: description: user status of the profile; valid values in the API are active, pending, and inactive type: string updated_at: description: epoch time that the profile was updated; equal to create_at if never updated type: integer created_at: description: epoch time that the profile was created type: integer preferred_name: description: preferred name of the profile; null if never provided; blank if provided then deleted type: string image: $ref: '#/components/schemas/Image' full_name: description: combination of first_name and last_name type: string job_title: $ref: '#/components/schemas/Job_Title_Link' reports_to: description: information regarding the profile to whom the profile of this object reports type: array items: type: object properties: id: description: unique identifier of the profile to whom the profile of this object reports; no_guid if null; cannot be null if any other reports_to keys provided type: string first_name: description: first name of the profile to whom the profile of this object reports; Nobody if null; cannot be null if any other reports_to keys provided type: string last_name: description: last name of the profile to whom the profile of this object reports; Nobody if null; cannot be null if any other reports_to keys provided type: string email: description: company email of the profile to whom the profile of this object reports; None if null; cannot be null if any other reports_to keys provided type: string employee_type: description: employee type of the profile; valid values include Full Time, Part Time, Intern, Contractor, Freelance type: object properties: title: type: string access_role: description: returns the type of access_role assigned to the profile type: string ethnicity: description: self described ethnicity of the profile; null if never provided type: - string - 'null' links: type: object properties: job_title: type: object $ref: '#/components/schemas/Job_Title_Link' groups: type: array items: $ref: '#/components/schemas/Group_Link' teams: type: array items: $ref: '#/components/schemas/Team_Link' ? '' : type: string middle_name: description: middle name of the profile; null if never provided; blank if provided then deleted type: string gender: description: gender of the profile; null if never provided; valid values include Male and Female type: string job_change_reason: description: job change reason of the profile; null if never provided; valid values include New Hire, Salary Change, Promotion, and Transfer type: string terminated_reason: description: terminated reason of the profile; null if never provided type: string start_date: description: start date of the profile; format YYYY-MM-DD type: string departure_date: description: departure date of the profile; format YYYY-MM-DD; blank if never provided or provided then deleted type: string employee_id: description: employee id of the profile; blank if never provided or provided then deleted type: string personal_email: description: employee id of the profile; blank if never provided or provided then deleted type: string dob: description: date of birth of the profile; format YYYY-MM-DD; blank if never provided or provided then deleted type: string ssn: description: ssn of the profile; blank if never provided or provided then deleted type: string marital_status: description: marital status of the profile; null if never provided; valid values include Single, Married, Civil Partnership, Separated, and Divorced type: string bio: description: bio of the profile; null if never provided; blank if provided then deleted type: string asset_management: description: list of assets on the profile; blank if never provided or provided then deleted; valid values include Laptop, Cell Phone, Building Keys, Corporate Card, and Air Card type: string laptop_asset_number: description: laptop asset number of the profile; null if never provided; blank if provided then deleted type: string corporate_card_member: description: corporate card number of the profile; null if never provided; blank if provided then deleted type: string key_tag_number: description: key tag number of the profile; null if never provided; blank if provided then deleted type: string linkedin_url: description: linkedin_url of the profile; null if never provided; blank if provided then deleted type: string office_main_number: description: office main number of the profile; null if never provided; blank if provided then deleted type: string office_direct_dial: description: office direct dial number of the profile; null if never provided; blank if provided then deleted type: string office_phone: description: office phone number of the profile; null if never provided; blank if provided then deleted type: string office_fax: description: office fax number of the profile; null if never provided; blank if provided then deleted type: string office_company_mobile: description: office company mobile phone number of the profile; null if never provided; blank if provided then deleted type: string home_phone: description: home phone number of the profile; null if never provided; blank if provided then deleted type: string mobile_phone: description: mobile phone number of the profile; null if never provided; blank if provided then deleted type: string home: $ref: '#/components/schemas/Home' office: $ref: '#/components/schemas/Office' emergency_contact: description: name of the profile's emergency contact; null if never provided; blank if provided then deleted type: string emergency_contact_phone: description: phone number of the profile's emergency contact; null if never provided; blank if provided then deleted type: string resume: description: resume of the profile; null if never provided; blank if provided then deleted type: string current_job_description: description: current job description of of the profile; null if never provided; blank if provided then deleted type: string job_description: description: current job description of of the profile; null if never provided; blank if provided then deleted type: string salary: $ref: '#/components/schemas/Salary' healthcare: $ref: '#/components/schemas/Healthcare' healthcare_info: description: description of the profile's healthcare plan; null if never provided; blank if provided then deleted type: string dental: $ref: '#/components/schemas/Dental' dental_info: description: description of the profile's dental plan; null if never provided; blank if provided then deleted type: string vision_plan_info: description: description of the profile's vision plan; null if never provided; blank if provided then deleted type: string life_insurance_info: description: description of the profile's life insurance plan; null if never provided; blank if provided then deleted type: string namely_time_employee_role: description: only applies to companies using Namely Time type: string namely_time_manager_role: description: only applies to companies using Namely Time type: string Dental: title: Dental type: object properties: beneficiary: description: relationship of the profile's dental plan's beneficiary to the profile; valid values include Employee Only, Employee/Child, Employee/Spouse, Family, Not Applicable, and Waive; blank if never provided or provided then deleted; cannot be null if any other dental keys provided type: string amount: description: amount of the profile's dental plan; numbers only; cannot be null if any other dental keys provided type: string currency_type: description: currency type of the profile's dental plan amount; default USD type: string securitySchemes: Authorization: name: Authorization type: apiKey in: header