Reclaim.ai weekly-report API

The weekly-report API from Reclaim.ai — 4 operation(s) for weekly-report.

OpenAPI Specification

reclaim-ai-weekly-report-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes weekly-report 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: weekly-report
paths:
  /api/weekly-report/social:
    get:
      tags:
      - weekly-report
      operationId: social
      parameters:
      - name: id
        in: query
        required: true
        schema:
          type: string
      - name: verificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: social 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WeeklyReportTemplateData'
  /api/weekly-report/social/{id}.png:
    get:
      tags:
      - weekly-report
      operationId: socialImage
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: socialImage 200 response
          content:
            application/json:
              schema:
                type: object
  /api/weekly-report/social/{trackingCode}/{suffix}.png:
    get:
      tags:
      - weekly-report
      operationId: socialImageAlt
      parameters:
      - name: trackingCode
        in: path
        required: true
        schema:
          type: string
      - name: suffix
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: socialImageAlt 200 response
          content:
            application/json:
              schema:
                type: object
  /api/weekly-report/unsubscribe:
    post:
      tags:
      - weekly-report
      operationId: unsubscribe_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WeeklyReportUnsubscribeRequest'
        required: true
      responses:
        '200':
          description: unsubscribe_1 200 response
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    WeeklyReportCallout:
      required:
      - backgroundColor
      - icon
      - svgIcon
      - text
      - textColor
      type: object
      properties:
        text:
          type: string
        textColor:
          type: string
        backgroundColor:
          type: string
        icon:
          type: string
        svgIcon:
          type: string
    EventType:
      type: string
      enum:
      - MEETING
      - WORK
      - LOGISTICS
      - PERSONAL
    WeeklyReportAgenda:
      required:
      - firstRow
      - secondRow
      type: object
      properties:
        firstRow:
          type: array
          items:
            $ref: '#/components/schemas/WeeklyReportAgendaDay'
        secondRow:
          type: array
          items:
            $ref: '#/components/schemas/WeeklyReportAgendaDay'
    UserData:
      required:
      - disablePromotions
      - domain
      - email
      - firstName
      - slackEnabled
      - slackStatusEnabled
      - teamId
      - trackingCode
      type: object
      properties:
        email:
          type: string
        domain:
          type: string
        teamId:
          type: integer
          format: int64
        disablePromotions:
          type: boolean
        firstName:
          type: string
        trackingCode:
          type: string
        slackEnabled:
          type: boolean
        slackStatusEnabled:
          type: boolean
    TimeSpentDuringWeek:
      required:
      - eventType
      - eventTypeFriendly
      - hours
      - increased
      - infinity
      - noChange
      - percentChange
      type: object
      properties:
        eventType:
          $ref: '#/components/schemas/EventType'
        eventTypeFriendly:
          type: string
        hours:
          type: number
          format: double
        percentChange:
          type: number
          format: double
        noChange:
          type: boolean
        increased:
          type: boolean
        infinity:
          type: boolean
    WeeklyReportTemplateData:
      required:
      - agenda
      - baseUrl
      - callouts
      - celebration
      - reportRange
      - stats
      - tasks
      - user
      type: object
      properties:
        user:
          $ref: '#/components/schemas/UserData'
        reportRange:
          type: string
        reportRangeEncoded:
          type: string
        stats:
          $ref: '#/components/schemas/WeeklyReportHeadlineStats'
        celebration:
          type: string
        callouts:
          type: array
          items:
            $ref: '#/components/schemas/WeeklyReportCallout'
        agenda:
          $ref: '#/components/schemas/WeeklyReportAgenda'
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/WeeklyReportTask'
        baseUrl:
          type: string
        baseUrlEncoded:
          type: string
        social:
          $ref: '#/components/schemas/WeeklyReportSocialShare'
        unsubPayload:
          type: string
        currentWeekStartDate:
          type: string
          format: date
        currentWeekEndDate:
          type: string
          format: date
        currentWeekFocusStats:
          $ref: '#/components/schemas/WeeklyFocusStats'
        nextWeekFocusStats:
          $ref: '#/components/schemas/WeeklyFocusStats'
        nextWeekNumberOfConflicts:
          type: integer
          format: int32
        streaks:
          type: array
          items:
            $ref: '#/components/schemas/StreakMessage'
    WeeklyFocusStats:
      required:
      - actualFocusHours
      - actualMeetingHours
      - freeTimeHours
      - meetingCompareToLastWeekPercentage
      - meetingHoursDownComparedToLastWeek
      - otherWorkHours
      - targetFocusHours
      type: object
      properties:
        actualFocusHours:
          type: number
          format: double
        targetFocusHours:
          type: number
          format: double
        actualMeetingHours:
          type: number
          format: double
        meetingCompareToLastWeekPercentage:
          type: integer
          format: int32
        meetingHoursDownComparedToLastWeek:
          type: boolean
        freeTimeHours:
          type: number
          format: double
        otherWorkHours:
          type: number
          format: double
        outOfOfficeHours:
          type: number
          format: double
          nullable: true
        totalWorkingHours:
          type: number
          format: double
          nullable: true
    WeeklyReportHeadlineStats:
      required:
      - meetings
      - personal
      - work
      type: object
      properties:
        personal:
          $ref: '#/components/schemas/TimeSpentDuringWeek'
        work:
          $ref: '#/components/schemas/TimeSpentDuringWeek'
        meetings:
          $ref: '#/components/schemas/TimeSpentDuringWeek'
    WeeklyReportAgendaDay:
      required:
      - day
      - extraClass
      - items
      type: object
      properties:
        day:
          type: string
        items:
          type: array
          items:
            type: string
        extraClass:
          type: string
    WeeklyReportSocialShare:
      required:
      - id
      - verificationKey
      type: object
      properties:
        id:
          type: string
        verificationKey:
          type: string
    StreakMessage:
      required:
      - emoji
      - text
      type: object
      properties:
        text:
          type: string
        emoji:
          type: string
    WeeklyReportTask:
      required:
      - chip
      - name
      - timeLeft
      type: object
      properties:
        name:
          type: string
        chip:
          type: string
        due:
          type: string
          nullable: true
        timeLeft:
          type: string
    WeeklyReportUnsubscribeRequest:
      required:
      - id
      - verificationKey
      type: object
      properties:
        id:
          type: string
        verificationKey:
          type: string
  securitySchemes:
    Authorization:
      type: oauth2