Reclaim.ai ooo-calendars API

The ooo-calendars API from Reclaim.ai — 5 operation(s) for ooo-calendars.

OpenAPI Specification

reclaim-ai-ooo-calendars-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes ooo-calendars 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: ooo-calendars
paths:
  /api/team/ooo-calendars:
    get:
      tags:
      - ooo-calendars
      operationId: listOOOCalendars
      responses:
        '200':
          description: listOOOCalendars 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TeamOOOCalendarView'
      security:
      - Authorization: []
    post:
      tags:
      - ooo-calendars
      operationId: createOOOCalendar
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamOOOCalendarCreateRequest'
        required: true
      responses:
        '200':
          description: createOOOCalendar 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamOOOCalendarView'
      security:
      - Authorization: []
  /api/team/ooo-calendars/available:
    get:
      tags:
      - ooo-calendars
      operationId: getAvailableOOOCalendars
      responses:
        '200':
          description: getAvailableOOOCalendars 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CalendarView'
      security:
      - Authorization: []
  /api/team/ooo-calendars/{id}:
    get:
      tags:
      - ooo-calendars
      operationId: getOOOCalendar
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: getOOOCalendar 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamOOOCalendarDetailedView'
      security:
      - Authorization: []
    delete:
      tags:
      - ooo-calendars
      operationId: deleteOOOCalendar
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: deleteOOOCalendar 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
    patch:
      tags:
      - ooo-calendars
      operationId: updateOOOCalendar
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamOOOCalendarViewUpdateRequest'
        required: true
      responses:
        '200':
          description: updateOOOCalendar 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamOOOCalendarView'
      security:
      - Authorization: []
  /api/team/ooo-calendars/{id}/link-calendar:
    post:
      tags:
      - ooo-calendars
      operationId: linkCalendar
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamOOOCalendarLinkRequest'
        required: true
      responses:
        '200':
          description: linkCalendar 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamOOOCalendarDetailedView'
      security:
      - Authorization: []
  /api/team/ooo-calendars/{id}/reconcile:
    post:
      tags:
      - ooo-calendars
      operationId: reconcileOOOCalendar
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: reconcileOOOCalendar 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamOOOCalendarDetailedView'
      security:
      - Authorization: []
components:
  schemas:
    CalendarView:
      required:
      - colorHex
      - connected
      - credentialId
      - externalId
      - googleMeetAllowed
      - id
      - microsoftTeamsAllowed
      - name
      - otherConnectedCalendarsExist
      - provider
      - useType
      - writableFor
      type: object
      properties:
        name:
          type: string
        id:
          type: integer
          format: int64
        externalId:
          type: string
        connected:
          type: boolean
        colorHex:
          type: string
        credentialId:
          type: integer
          format: int64
        reason:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/IneligibilityReason'
        writableFor:
          type: array
          items:
            $ref: '#/components/schemas/ReclaimEventType'
        provider:
          type: string
        googleMeetAllowed:
          type: boolean
        microsoftTeamsAllowed:
          type: boolean
        defaultReminders:
          type: array
          nullable: true
          deprecated: true
          items:
            type: integer
            format: int32
        reminderDefaults:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Reminder'
        useType:
          $ref: '#/components/schemas/CalendarUseType'
        otherConnectedCalendarsExist:
          type: boolean
        accessDomainRead:
          type: boolean
          nullable: true
    TeamOOOCalendarViewUpdateRequest:
      type: object
      properties:
        id:
          type: integer
          format: int64
          nullable: true
        name:
          type: string
          nullable: true
        calendarId:
          type: string
          nullable: true
        calendarName:
          type: string
          nullable: true
        ownerUserId:
          type: string
          nullable: true
        ownerEmail:
          type: string
          nullable: true
        type:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TeamOOOCalendarType'
        status:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TeamOOOCalendarStatus'
        memberCount:
          type: integer
          format: int32
          nullable: true
        createdAt:
          type: string
          format: date-time
          nullable: true
        updatedAt:
          type: string
          format: date-time
          nullable: true
    TeamOOOCalendarStatus:
      type: string
      enum:
      - NEEDS_SETUP
      - ACTIVE
      - ACTIVE_NO_MEMBERS
      - INACTIVE_OWNER_DELETED
      - INACTIVE_CALENDAR_NOT_FOUND
      - INACTIVE_CALENDAR_NOT_CONNECTED
      - INACTIVE_OWNER_CREDENTIALS_REVOKED
    Reminder:
      required:
      - minutes
      - reminderType
      type: object
      properties:
        reminderType:
          $ref: '#/components/schemas/ReminderType'
        minutes:
          type: integer
          format: int32
    TeamOOOCalendarMemberView:
      required:
      - email
      - status
      type: object
      properties:
        email:
          type: string
        status:
          $ref: '#/components/schemas/TeamOOOCalendarMemberStatus'
    ReminderType:
      type: string
      enum:
      - UI_NOTIFICATION
      - EMAIL
    IneligibilityReason:
      type: string
      enum:
      - MAIN_ACCOUNT_PRIMARY
      - SYNCED_ALREADY
      - FREE_BUSY_ONLY
    ReclaimEventType:
      type: string
      enum:
      - USER
      - SYNC
      - HABIT_ASSIGNMENT
      - SMART_HABIT
      - ONE_ON_ONE_ASSIGNMENT
      - SMART_MEETING
      - TASK_ASSIGNMENT
      - CONF_BUFFER
      - TRAVEL_BUFFER
      - SCHEDULING_LINK_MEETING
      - UNKNOWN
      - FOCUS
    CalendarUseType:
      type: string
      enum:
      - UNKNOWN
      - MULTI_USE
      - WORK
      - PERSONAL
      - FAMILY
      - TEAM
      - VACATION
      - TRAVEL
      - TEAM_OOO_CALENDAR
    TeamOOOCalendarCreateRequest:
      required:
      - name
      type: object
      properties:
        name:
          type: string
        ownerUserId:
          type: string
          nullable: true
    TeamOOOCalendarDetailedView:
      required:
      - canManage
      - createdAt
      - id
      - memberCount
      - members
      - name
      - status
      - type
      - updatedAt
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        calendarId:
          type: string
          nullable: true
        calendarName:
          type: string
          nullable: true
        ownerUserId:
          type: string
          nullable: true
        ownerEmail:
          type: string
          nullable: true
        type:
          $ref: '#/components/schemas/TeamOOOCalendarType'
        status:
          $ref: '#/components/schemas/TeamOOOCalendarStatus'
        memberCount:
          type: integer
          format: int32
        canManage:
          type: boolean
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        externalCalendarUrl:
          type: string
          nullable: true
        members:
          type: array
          items:
            $ref: '#/components/schemas/TeamOOOCalendarMemberView'
    TeamOOOCalendarType:
      type: string
      enum:
      - ACL
      - MANUAL
      - ORG_HIERARCHY
    TeamOOOCalendarView:
      required:
      - canManage
      - createdAt
      - id
      - memberCount
      - name
      - status
      - type
      - updatedAt
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        calendarId:
          type: string
          nullable: true
        calendarName:
          type: string
          nullable: true
        ownerUserId:
          type: string
          nullable: true
        ownerEmail:
          type: string
          nullable: true
        type:
          $ref: '#/components/schemas/TeamOOOCalendarType'
        status:
          $ref: '#/components/schemas/TeamOOOCalendarStatus'
        memberCount:
          type: integer
          format: int32
        canManage:
          type: boolean
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        externalCalendarUrl:
          type: string
          nullable: true
    TeamOOOCalendarMemberStatus:
      type: string
      enum:
      - ACTIVE
      - PENDING_SYNC
      - SYNC_ERROR
      - CREDENTIALS_REVOKED
      - NOT_ON_RECLAIM
      - NOT_ON_PIPELINE
    TeamOOOCalendarLinkRequest:
      required:
      - calendarId
      type: object
      properties:
        calendarId:
          type: string
  securitySchemes:
    Authorization:
      type: oauth2