openapi: 3.0.0
info:
  title: Remote Work
  description: |
    Remote Work in Cliq mimics your everyday office routine remotely. In a nutshell, remote work establishes a connect to your office ambience by mimicking your office setup with options to check-in and out, search and find who's available or in a meeting, enable live feed to see what your co-worker is upto and provides a seamless, productive remote work experience. Use the remote work APIs to get check in/check out and also get your remote work status.
  contact: {}
  version: 1.0.0
externalDocs:
  description: Find out more about Zoho Cliq APIs V2
  url: https://www.zoho.com/cliq/help/restapi/v2/
servers:
  - url: https://cliq.zoho.com/api/v2
    description: Zoho Cliq US DC
tags:
  - name: remotework
    description: Remote Work Module
paths:
  /me?source=remote_tools:
    get:
      summary: Get remote status
      operationId: Get remote status
      description: |
        Use this API to get your remote status.
          <br><br> 
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Remote-Status'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
        - Cliq_Auth:
            - ZohoCliq.Profile.READ
            - ZohoPeople.forms.READ
            - ZohoPeople.employee.READ
            - ZohoPeople.attendance.READ
            - ZohoPeople.attendance.UPDATE
      tags:
        - remotework
  /me/checkin:
    put:
      summary: Trigger Remote Check in
      operationId: Trigger Remote Check in
      description: |
        Use this API to check in remotely.
          <br><br> 
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkin-response'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
        - Cliq_Auth:
            - ZohoCliq.Profile.UPDATE
            - ZohoPeople.forms.READ
            - ZohoPeople.employee.READ
            - ZohoPeople.attendance.READ
            - ZohoPeople.attendance.UPDATE
      tags:
        - remotework
  /me/checkout:
    put:
      summary: Trigger Remote Check out
      operationId: Trigger Remote Check out
      description: |
        Use this API to check out remotely.
          <br><br> 
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkout-response'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
        - Cliq_Auth:
            - ZohoCliq.Profile.UPDATE
            - ZohoPeople.forms.READ
            - ZohoPeople.employee.READ
            - ZohoPeople.attendance.READ
            - ZohoPeople.attendance.UPDATE
      tags:
        - remotework
components:
  schemas:
    Remote-Status:
      type: object
      description: Details of the employee's remote work status.
      properties:
        duration:
          type: integer
          description: The total duration of the remote session in milliseconds.
          example: 15021
        location:
          type: boolean
          description: Indicates whether location tracking is enabled for the remote session.
          example: false
        checkin_time:
          type: integer
          format: int64
          description: Timestamp when the employee checked in.
          example: 1678080540000
        employee_id:
          type: string
          description: Unique identifier of the employee.
          example: '10690'
        first_name:
          type: string
          description: First name of the employee.
          example: John
        reportingto:
          type: object
          description: Details of the manager to whom the employee reports.
          properties:
            name:
              type: string
              description: Full name of the reporting manager.
              example: Scott Fisher
            id:
              type: string
              description: Unique identifier of the reporting manager.
              example: '3321451'
            country:
              type: string
              description: Country code of the reporting manager.
              example: in
            email_id:
              type: string
              description: Email ID of the reporting manager.
              example: scott.fisher@zylker.com
            status:
              type: string
              description: Status of the reporting manager in the organization.
              example: samezohoorg
            zoid:
              type: string
              description: Zoho unique identifier for the reporting manager.
              example: '123456'
            timezone:
              type: string
              description: Time zone of the reporting manager.
              example: Asia/Kolkata
            first_name:
              type: string
              description: First name of the reporting manager.
              example: Scott
            full_name:
              type: string
              description: Full name of the reporting manager.
              example: Scott Fisher
            zuid:
              type: string
              description: Zoho universal ID of the reporting manager.
              example: '33155149'
            display_name:
              type: string
              description: Display name of the reporting manager.
              example: Scott
            iamuid:
              type: integer
              description: IAM UID of the reporting manager.
              example: 123456
            last_name:
              type: string
              description: Last name of the reporting manager.
              example: Fisher
        checkin_status_text:
          type: string
          description: Text description of the employee's check-in status.
          example: Remote In
        mobile:
          type: string
          description: Mobile phone number of the employee.
          example: '9999999999'
        type:
          type: string
          description: Type of employee session (e.g., paid, trial).
          example: paid
        zoid:
          type: string
          description: Zoho unique identifier for the employee.
          example: '456089'
        live_feed_status:
          type: string
          description: Status of live feed tracking for the employee.
          example: disabled
        iamuid:
          type: integer
          description: IAM UID of the employee.
          example: 12345678
        organization_id:
          type: string
          description: Unique identifier for the organization the employee belongs to.
          example: '87610291'
        email_id:
          type: string
          description: Email ID of the employee.
          example: ryan.west@zylker.com
        work_location:
          type: string
          description: Work location of the employee.
          example: Mumbai
        recent_departments:
          type: array
          description: List of departments the employee was recently associated with.
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the department.
                example: Marketing
              time:
                type: integer
                format: int64
                description: Timestamp when the employee was associated with this department.
                example: 1678094073202
              id:
                type: string
                description: Unique identifier of the department.
                example: '3849429204820'
        checkin_allowed:
          type: boolean
          description: Indicates if the employee is allowed to check in.
          example: true
        zuid:
          type: string
          description: Zoho universal ID of the employee.
          example: '12345678'
        id:
          type: string
          description: Unique identifier of the employee record.
          example: '12345678'
        timeoffset:
          type: integer
          description: Time offset from UTC in milliseconds.
          example: 19800000
        timezone:
          type: string
          description: Time zone of the employee.
          example: Asia/Kolkata
        language:
          type: string
          description: Preferred language of the employee.
          example: English
        status:
          type: object
          description: Current working status of the employee.
          properties:
            code:
              type: string
              description: Status code representing the employee's availability.
              example: '3'
            message:
              type: string
              description: Text message representing the status.
              example: Busy
        country:
          type: string
          description: Country of the employee.
          example: India
        department:
          type: object
          description: Information about the employee's department.
          properties:
            name:
              type: string
              description: Department name.
              example: Marketing
            id:
              type: string
              description: Unique ID of the department.
              example: '3849429204820'
        last_name:
          type: string
          description: Last name of the employee.
          example: West
        full_name:
          type: string
          description: Full name of the employee.
          example: Ryan West
        designation:
          type: object
          description: Employee designation information.
          properties:
            name:
              type: string
              description: Designation name of the employee.
              example: Marketing Associate
            id:
              type: string
              description: Unique ID of the designation.
              example: '290939409389008'
        checkin_status:
          type: boolean
          description: Indicates whether the employee is currently checked in.
          example: true
        organisation_members_count:
          type: integer
          description: Total number of members in the organization.
          example: 500
        image_url:
          type: string
          format: uri
          description: URL of the employee's profile image.
          example: https://people.zoho.com/api/viewEmployeePhoto?filename=123412345676
        display_name:
          type: string
          description: Display name of the employee.
          example: Ryan West
        name:
          type: string
          description: Full name of the employee.
          example: Ryan West
    checkin-response:
      type: object
      description: Response details after an employee checks in remotely.
      properties:
        checkin_allowed:
          type: boolean
          description: Indicates if the user is allowed to check in.
          example: true
        checkin_time:
          type: integer
          format: int64
          description: Timestamp when the employee checked in.
          example: 1678080540000
        checkin_status_text:
          type: string
          description: Text description of the current check-in status.
          example: Remote In
        location:
          type: boolean
          description: Indicates if location tracking is enabled.
          example: false
        checkin_status:
          type: boolean
          description: Indicates whether the employee is currently checked in.
          example: true
        live_feed_status:
          type: string
          description: Status of the live feed.
          example: disabled
        user_status_preference:
          type: object
          description: Preferences set by the user for status updates.
          properties:
            is_onboarded:
              type: string
              description: Indicates if the user has completed onboarding.
              example: '1'
            check_in:
              type: object
              description: Custom status preference for check-in.
              properties:
                status:
                  type: object
                  description: Details of the custom check-in status.
                  properties:
                    status_id:
                      type: string
                      description: Unique ID of the custom status.
                      example: '1775998001162118795'
                    message:
                      type: string
                      description: Text message describing the custom status.
                      example: Busy
                    code:
                      type: string
                      description: Code representing the custom status.
                      example: busy
                preference:
                  type: string
                  description: Preference type set by the user for status updates.
                  example: custom_status
        duration:
          type: integer
          description: Total duration of the check-in session in milliseconds.
          example: 9564
    checkout-response:
      type: object
      description: Response details after an employee checks out remotely.
      properties:
        checkin_allowed:
          type: boolean
          description: Indicates if the user is allowed to check in.
          example: true
        checkin_time:
          type: integer
          format: int64
          description: Timestamp of the last check-in.
          example: 1678080540000
        checkin_status_text:
          type: string
          description: Textual description of the check-out status.
          example: Out
        location:
          type: boolean
          description: Indicates if location tracking is enabled.
          example: false
        checkin_status:
          type: boolean
          description: Current check-in status of the employee.
          example: false
        live_feed_status:
          type: string
          description: Status of live feed.
          example: disabled
        user_status_preference:
          type: object
          description: User's status preference for check-out.
          properties:
            check_out:
              type: object
              description: Custom status settings for check-out.
              properties:
                status:
                  type: object
                  description: Details of the custom check-out status.
                  properties:
                    status_id:
                      type: string
                      description: Unique ID of the custom status.
                      example: '1775998001162118813'
                    message:
                      type: string
                      description: Text message describing the custom check-out status.
                      example: Away
                    code:
                      type: string
                      description: Code representing the custom check-out status.
                      example: away
                preference:
                  type: string
                  description: Preference type set by the user for the custom check-out status.
                  example: custom_status
            is_onboarded:
              type: string
              description: Indicates if the user has completed onboarding.
              example: '1'
        duration:
          type: integer
          description: Total duration of the check-out session in milliseconds.
          example: 9600
  securitySchemes:
    Cliq_Auth:
      type: oauth2
      x-authorization-example: Bearer 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f
      flows:
        implicit:
          authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
          scopes:
            ZohoCliq.Profile.UPDATE: Update Profile
            ZohoCliq.Profile.READ: Read Profile
            ZohoPeople.forms.READ: Read Employee Forms
            ZohoPeople.employee.READ: Read Employee Information
            ZohoPeople.attendance.READ: Read Employee Attendance
            ZohoPeople.attendance.UPDATE: Update Employee Attendance
