Reclaim.ai effective-time-policy API

The effective-time-policy API from Reclaim.ai — 1 operation(s) for effective-time-policy.

OpenAPI Specification

reclaim-ai-effective-time-policy-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes effective-time-policy API
  description: Reclaim's awesome API
  contact:
    name: Reclaim.ai Inc.
    url: http://reclaim.ai
    email: info@reclaim.ai
  license:
    name: Reclaim 9.9
    url: http://reclaim.ai
  version: '0.1'
tags:
- name: effective-time-policy
paths:
  /api/effective-time-policy:
    post:
      tags:
      - effective-time-policy
      operationId: effectiveTimePolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EffectiveTimePolicyRequest'
        required: true
      responses:
        '200':
          description: effectiveTimePolicy 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EffectiveTimePolicyView'
      security:
      - Authorization: []
components:
  schemas:
    EffectiveTimePolicyParticipant:
      required:
      - timePolicyType
      - userEmail
      type: object
      properties:
        organizerUserId:
          type: string
          nullable: true
        userEmail:
          type: string
        timePolicyType:
          $ref: '#/components/schemas/TimePolicyType'
        oneOffPolicy:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        timeSchemeId:
          type: string
          nullable: true
        role:
          nullable: true
          deprecated: true
          allOf:
          - $ref: '#/components/schemas/SmartSeriesRole'
        participantRole:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ParticipantRole'
        targetCalendarId:
          type: integer
          format: int64
          nullable: true
        zoneId:
          type: string
          nullable: true
    ParticipantRole:
      type: string
      enum:
      - NONE
      - ORGANIZER
      - REQUIRED
      - OPTIONAL
      - ANY_OF
      - ROUND_ROBIN
    TimePolicy:
      required:
      - dayHours
      type: object
      properties:
        startOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
        endOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
        dayHours:
          properties:
            MONDAY:
              $ref: '#/components/schemas/DayHours'
            TUESDAY:
              $ref: '#/components/schemas/DayHours'
            WEDNESDAY:
              $ref: '#/components/schemas/DayHours'
            THURSDAY:
              $ref: '#/components/schemas/DayHours'
            FRIDAY:
              $ref: '#/components/schemas/DayHours'
            SATURDAY:
              $ref: '#/components/schemas/DayHours'
            SUNDAY:
              $ref: '#/components/schemas/DayHours'
    EffectiveTimePolicyRequest:
      required:
      - participants
      - resource
      type: object
      properties:
        participants:
          type: array
          items:
            $ref: '#/components/schemas/EffectiveTimePolicyParticipant'
        resource:
          $ref: '#/components/schemas/EffectiveTimePolicyResource'
        now:
          type: string
          format: date-time
          nullable: true
        fixedTimePolicy:
          type: boolean
          nullable: true
        schedulingLinkId:
          type: string
          nullable: true
    DayOfWeek:
      type: string
      enum:
      - MONDAY
      - TUESDAY
      - WEDNESDAY
      - THURSDAY
      - FRIDAY
      - SATURDAY
      - SUNDAY
    EffectiveTimePolicyParticipantView:
      required:
      - participant
      - timePolicy
      - timezone
      type: object
      properties:
        participant:
          $ref: '#/components/schemas/ThinPerson'
        timezone:
          type: string
          nullable: true
        timePolicy:
          $ref: '#/components/schemas/TimePolicy'
    SmartSeriesRole:
      type: string
      enum:
      - ORGANIZER
      - REQUIRED_ATTENDEE
      - OPTIONAL_ATTENDEE
    ThinPerson:
      required:
      - email
      type: object
      properties:
        reclaimUser:
          type: boolean
        userId:
          type: string
          nullable: true
        email:
          minLength: 1
          type: string
        name:
          type: string
        avatarUrl:
          type: string
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
    EffectiveTimePolicyView:
      required:
      - participants
      - timePolicy
      type: object
      properties:
        timePolicy:
          $ref: '#/components/schemas/TimePolicy'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/EffectiveTimePolicyParticipantView'
    DayHours:
      required:
      - intervals
      type: object
      properties:
        intervals:
          type: array
          items:
            $ref: '#/components/schemas/LocalTimeInterval'
        startOfDay:
          type: string
          format: partial-time
          nullable: true
        endOfDay:
          type: string
          format: partial-time
          nullable: true
    TimePolicyType:
      type: string
      enum:
      - WORK
      - PERSONAL
      - MEETING
      - ONE_OFF
      - INHERITED
      - CUSTOM
    LocalTimeInterval:
      required:
      - end
      - start
      type: object
      properties:
        start:
          type: string
          format: partial-time
        end:
          type: string
          format: partial-time
        duration:
          type: string
    EffectiveTimePolicyResource:
      type: string
      enum:
      - SMART_MEETING
      - SMART_HABIT
      - SCHEDULING_LINK
  securitySchemes:
    Authorization:
      type: oauth2