Reclaim.ai private API

The private API from Reclaim.ai — 45 operation(s) for private.

Operations 57

GET /api/asana/integrations #
DELETE /api/asana/integrations #
PATCH /api/asana/integrations #
POST /api/calendars/{credentialId}/{externalCalendarId}/clean #
GET /api/clickup/integrations #
DELETE /api/clickup/integrations #
GET /api/clickup/integrations/details #
PATCH /api/clickup/integrations/settings/{workspaceId} #
PATCH /api/clickup/integrations/{workspaceId} #
POST /api/google-add-on/add-html-to-email #
GET /api/google-add-on/integrations #
GET /api/integrations/enabled #
GET /api/jira-v2/sites #
DELETE /api/jira-v2/sites/{id} #
GET /api/jira/integrations #
DELETE /api/jira/integrations/{id} #
PATCH /api/jira/integrations/{id} #
GET /api/linear/integrations #
DELETE /api/linear/integrations/{id} #
PATCH /api/linear/integrations/{id} #
GET /api/linear/issue/{id} #
GET /api/notion/workspaces #
DELETE /api/notion/workspaces/{id} #
POST /api/partnerstack/partners/repair-customers #
DELETE /api/people/subscriptions #
POST /api/people/sync #
POST /api/slack/action-endpoint #
GET /api/slack/add #
POST /api/slack/command #
GET /api/slack/connect #
GET /api/slack/integrations #
PUT /api/slack/integrations #
POST /api/slack/interactive-endpoint #
POST /api/slack/options-load-endpoint #
GET /api/slack/streamlined-connect #
GET /api/slack/streamlined-init #
GET /api/todoist/integrations #
GET /api/todoist/integrations/details #
PATCH /api/todoist/integrations/settings/{id} #
DELETE /api/todoist/integrations/{id} #
PATCH /api/todoist/integrations/{id} #
POST /api/todoist/sync Initiate a Todoist sync job. #
POST /web/asana/formfieldchange #
OPTIONS /web/asana/formfieldchange #
POST /web/asana/formsubmit Called on-submit of the "schedule via reclaim" widget. #
OPTIONS /web/asana/formsubmit #
GET /web/asana/syncform Called on-render of a task inside of Asana for tasks that have already been associated with / scheduled in Reclaim. #
OPTIONS /web/asana/syncform #
GET /web/asana/task/{asanaTaskId} #
OPTIONS /web/asana/task/{asanaTaskId} #
GET /web/asana/widget Called on-render of a task inside of Asana for tasks that have NOT already been associated with / scheduled in Reclaim. #
OPTIONS /web/asana/widget #
GET /web/clickup/task/{taskId} #
GET /web/jira/task/{issueKey}/{issueId} #
GET /web/linear/task/{id} #
GET /web/todoist/task/{itemId} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reclaim-ai-private-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reclaim-ai-private-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reclaim account-time-schemes Private 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'
servers:
- url: https://api.app.reclaim.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: private
paths:
  /api/asana/integrations:
    get:
      tags:
      - private
      operationId: integrations
      responses:
        '200':
          description: integrations 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AsanaIntegration'
      security:
      - Authorization: []
    delete:
      tags:
      - private
      operationId: deleteIntegration
      responses:
        '200':
          description: deleteIntegration 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AsanaIntegration'
      security:
      - Authorization: []
    patch:
      tags:
      - private
      operationId: integrations_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AsanaIntegrationPatch'
        required: true
      responses:
        '200':
          description: integrations_1 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AsanaIntegration'
      security:
      - Authorization: []
  /api/calendars/{credentialId}/{externalCalendarId}/clean:
    post:
      tags:
      - private
      operationId: cleanCalendar
      parameters:
      - name: credentialId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: externalCalendarId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CleanRequest'
        required: true
      responses:
        '200':
          description: cleanCalendar 200 response
      security:
      - Authorization: []
  /api/clickup/integrations:
    get:
      tags:
      - private
      operationId: integrations_2
      responses:
        '200':
          description: integrations_2 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClickUpIntegration'
      deprecated: true
      security:
      - Authorization: []
    delete:
      tags:
      - private
      operationId: deleteIntegration_1
      responses:
        '200':
          description: deleteIntegration_1 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/clickup/integrations/details:
    get:
      tags:
      - private
      operationId: clickUpIntegrationsDetails
      responses:
        '200':
          description: clickUpIntegrationsDetails 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClickUpIntegrationDetails'
      security:
      - Authorization: []
  /api/clickup/integrations/settings/{workspaceId}:
    patch:
      tags:
      - private
      operationId: patchIntegration
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClickUpIntegrationPatch'
        required: true
      responses:
        '200':
          description: patchIntegration 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/clickup/integrations/{workspaceId}:
    patch:
      tags:
      - private
      operationId: patchIntegration_1
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeprecatedClickUpIntegrationPatch'
        required: true
      responses:
        '200':
          description: patchIntegration_1 200 response
          content:
            application/json:
              schema:
                type: object
      deprecated: true
      security:
      - Authorization: []
  /api/google-add-on/add-html-to-email:
    post:
      tags:
      - private
      operationId: addHtmlToEmail
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/AddOnInsertableState'
              - properties:
                  user:
                    $ref: '#/components/schemas/User'
        required: true
      responses:
        '200':
          description: addHtmlToEmail 200 response
          content:
            application/json:
              schema:
                type: string
      security:
      - Authorization: []
  /api/google-add-on/integrations:
    get:
      tags:
      - private
      operationId: integrations_3
      responses:
        '200':
          description: integrations_3 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GoogleAddOnSettings'
      security:
      - Authorization: []
  /api/integrations/enabled:
    get:
      tags:
      - private
      operationId: enabled
      responses:
        '200':
          description: enabled 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationStatus'
      security:
      - Authorization: []
  /api/jira-v2/sites:
    get:
      tags:
      - private
      operationId: sites
      responses:
        '200':
          description: sites 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JiraV2IntegrationView'
      security:
      - Authorization: []
  /api/jira-v2/sites/{id}:
    delete:
      tags:
      - private
      operationId: deleteSite
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: deleteSite 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/jira/integrations:
    get:
      tags:
      - private
      operationId: integrations_4
      responses:
        '200':
          description: integrations_4 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JiraIntegration'
      security:
      - Authorization: []
  /api/jira/integrations/{id}:
    delete:
      tags:
      - private
      operationId: deleteIntegration_2
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: deleteIntegration_2 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JiraIntegration'
      security:
      - Authorization: []
    patch:
      tags:
      - private
      operationId: patchIntegration_2
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JiraIntegrationPatch'
        required: true
      responses:
        '200':
          description: patchIntegration_2 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/linear/integrations:
    get:
      tags:
      - private
      operationId: integrations_5
      responses:
        '200':
          description: integrations_5 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinearIntegration'
      security:
      - Authorization: []
  /api/linear/integrations/{id}:
    delete:
      tags:
      - private
      operationId: deleteIntegration_3
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: deleteIntegration_3 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
    patch:
      tags:
      - private
      operationId: patchIntegration_3
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinearIntegrationPatch'
        required: true
      responses:
        '200':
          description: patchIntegration_3 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/linear/issue/{id}:
    get:
      tags:
      - private
      operationId: issueDetails
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: issueDetails 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinearTaskDetails'
  /api/notion/workspaces:
    get:
      tags:
      - private
      operationId: notionIntegrations
      responses:
        '200':
          description: notionIntegrations 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NotionIntegrationView'
      security:
      - Authorization: []
  /api/notion/workspaces/{id}:
    delete:
      tags:
      - private
      operationId: deleteNotionWorkspace
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: deleteNotionWorkspace 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/partnerstack/partners/repair-customers:
    post:
      tags:
      - private
      operationId: repairCustomers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepairCustomersRequest'
        required: true
      responses:
        '200':
          description: repairCustomers 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnonymousPartner'
      security:
      - Authorization: []
  /api/people/subscriptions:
    delete:
      tags:
      - private
      operationId: unsubscribe
      parameters:
      - name: email
        in: query
        required: true
        schema:
          type: string
      - name: type
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/people/sync:
    post:
      tags:
      - private
      operationId: refreshContacts
      responses:
        '200':
          description: refreshContacts 200 response
      security:
      - Authorization: []
  /api/slack/action-endpoint:
    post:
      tags:
      - private
      operationId: actionEndpoint
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/add:
    get:
      tags:
      - private
      operationId: slackRedirect
      parameters:
      - name: scope
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: bot
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: userScopes
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: teamId
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/command:
    post:
      tags:
      - private
      operationId: command
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/connect:
    get:
      tags:
      - private
      operationId: connect
      parameters:
      - name: code
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: error
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: state
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/integrations:
    get:
      tags:
      - private
      operationId: get_4
      responses:
        '200':
          description: get_4 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackSettingsView'
      security:
      - Authorization: []
    put:
      tags:
      - private
      operationId: put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackSettingsView'
        required: true
      responses:
        '200':
          description: put 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackSettingsView'
      security:
      - Authorization: []
  /api/slack/interactive-endpoint:
    post:
      tags:
      - private
      operationId: interactiveEndpoint
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/link:
    post:
      tags:
      - private
      operationId: link
      parameters:
      - name: teamId
        in: query
        required: true
        schema:
          type: string
      - name: userId
        in: query
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  $ref: '#/components/schemas/User'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
      security:
      - Authorization: []
  /api/slack/options-load-endpoint:
    post:
      tags:
      - private
      operationId: optionsLoadEndpoint
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OptionsLoadEndpointRequest'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/streamlined-connect:
    get:
      tags:
      - private
      operationId: streamlinedConnect
      parameters:
      - name: code
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: error
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: state
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/slack/streamlined-init:
    get:
      tags:
      - private
      operationId: streamLinedRedirect
      parameters:
      - name: slackTeamId
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: slackUserId
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
  /api/todoist/integrations:
    get:
      tags:
      - private
      operationId: integrations_6
      responses:
        '200':
          description: integrations_6 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TodoistIntegration'
      deprecated: true
      security:
      - Authorization: []
  /api/todoist/integrations/details:
    get:
      tags:
      - private
      operationId: integrationsDetails
      responses:
        '200':
          description: integrationsDetails 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TodoistIntegrationDetails'
      security:
      - Authorization: []
  /api/todoist/integrations/settings/{id}:
    patch:
      tags:
      - private
      operationId: patchIntegrationSettings
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TodoistIntegrationPatch'
        required: true
      responses:
        '200':
          description: patchIntegrationSettings 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/todoist/integrations/{id}:
    delete:
      tags:
      - private
      operationId: deleteIntegration_4
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: deleteIntegration_4 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
    patch:
      tags:
      - private
      operationId: patchIntegration_4
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TodoistIntegrationPatch'
        required: true
      responses:
        '200':
          description: patchIntegration_4 200 response
          content:
            application/json:
              schema:
                type: object
      deprecated: true
      security:
      - Authorization: []
  /api/todoist/sync:
    post:
      tags:
      - private
      summary: Initiate a Todoist sync job.
      description: Initiate a Todoist sync job. Used by support (hence the private tag) for customers when debugging issues.
      operationId: syncTasks
      responses:
        '200':
          description: syncTasks 200 response
      security:
      - Authorization: []
  /web/asana/formfieldchange:
    post:
      tags:
      - private
      operationId: fieldChangeCallback
      responses:
        '200':
          description: fieldChangeCallback 200 response
          content:
            application/json:
              schema:
                type: object
    options:
      tags:
      - private
      operationId: fieldChangeCallbackPreflight
      responses:
        '200':
          description: fieldChangeCallbackPreflight 200 response
          content:
            application/json:
              schema:
                type: object
  /web/asana/formsubmit:
    post:
      tags:
      - private
      summary: Called on-submit of the "schedule via reclaim" widget.
      description: Called on-submit of the "schedule via reclaim" widget.
      operationId: formCallback
      parameters:
      - name: x-asana-request-signature
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AsanaSyncFormSubmission'
        required: true
      responses:
        '200':
          description: formCallback 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsanaAttachedResource'
    options:
      tags:
      - private
      operationId: formCallbackPreflight
      responses:
        '200':
          description: formCallbackPreflight 200 response
          content:
            application/json:
              schema:
                type: object
  /web/asana/syncform:
    get:
      tags:
      - private
      summary: Called on-render of a task inside of Asana for tasks that have already been associated with / scheduled in Reclaim.
      description: Called on-render of a task inside of Asana for tasks that have already been associated with / scheduled in Reclaim.
      operationId: syncForm
      parameters:
      - name: x-asana-request-signature
        in: header
        required: true
        schema:
          type: string
      - name: workspace
        in: query
        required: true
        schema:
          type: string
      - name: task
        in: query
        required: true
        schema:
          type: string
      - name: user
        in: query
        required: true
        schema:
          type: string
      - name: expires_at
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: syncForm 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsanaFormMetadata'
    options:
      tags:
      - private
      operationId: syncFormPreflight
      responses:
        '200':
          description: syncFormPreflight 200 response
          content:
            application/json:
              schema:
                type: object
  /web/asana/task/{asanaTaskId}:
    get:
      tags:
      - private
      operationId: taskDetails
      parameters:
      - name: asanaTaskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: taskDetails 200 response
          content:
            application/json:
              schema:
                type: object
    options:
      tags:
      - private
      operationId: taskDetailsPreflight
      parameters:
      - name: asanaTaskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: taskDetailsPreflight 200 response
          content:
            application/json:
              schema:
                type: object
  /web/asana/widget:
    get:
      tags:
      - private
      summary: Called on-render of a task inside of Asana for tasks that have NOT already been associated with / scheduled in Reclaim.
      description: Called on-render of a task inside of Asana for tasks that have NOT already been associated with / scheduled in Reclaim.
      operationId: widget
      parameters:
      - name: x-asana-request-signature
        in: header
        required: true
        schema:
          type: string
      - name: workspace
        in: query
        required: true
        schema:
          type: string
      - name: task
        in: query
        required: true
        schema:
          type: string
      - name: user
        in: query
        required: true
        schema:
          type: string
      - name: attachment
        in: query
        required: true
        schema:
          type: string
      - name: expires_at
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: widget 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsanaWidgetMetadata'
    options:
      tags:
      - private
      operationId: widgetPreflight
      responses:
        '200':
          description: widgetPreflight 200 response
          content:
            application/json:
              schema:
                type: object
  /web/clickup/task/{taskId}:
    get:
      tags:
      - private
      operationId: taskDetails_1
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: taskDetails_1 200 response
          content:
            application/json:
              schema:
                type: object
  /web/jira/task/{issueKey}/{issueId}:
    get:
      tags:
      - private
      operationId: taskDetails_2
      parameters:
      - name: issueKey
        in: path
        required: true
        schema:
          type: string
      - name: issueId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: taskDetails_2 200 response
          content:
            application/json:
              schema:
                type: object
  /web/linear/task/{id}:
    get:
      tags:
      - private
      operationId: taskDetails_3
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: taskDetails_3 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinearTaskDetails'
  /web/todoist/task/{itemId}:
    get:
      tags:
      - private
      operationId: taskDetails_4
      parameters:
      - name: itemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: taskDetails_4 200 response
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    JiraProject:
      type: object
      properties:
        project_key:
          type: string
        project_name:
          type: string
        withProject_key:
          type: string
        withProject_name:
          type: string
        equals: {}
        hashCode:
          type: integer
          format: int32
        toString:
          type: string
        toAnalyticsValue: {}
    EventDisplayPreferences:
      required:
      - attribution
      - busyEmoji
      - description
      - doneEmoji
      - freeEmoji
      - lockEmoji
      - prefix
      - progressEmoji
      - warningEmoji
      type: object
      properties:
        progressEmoji:
          type: boolean
        lockEmoji:
          type: boolean
        freeEmoji:
          type: boolean
        busyEmoji:
          type: boolean
        doneEmoji:
          type: boolean
        warningEmoji:
          type: boolean
        description:
          type: boolean
        attribution:
          type: boolean
        prefix:
          type: boolean
    DetailedEntitlements:
      type: object
      properties:
        unlimitedHabitsEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        unlimitedSyncEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        unlimitedConnectedCalendarsEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        customSyncTransparencyEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        smart11CreationEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        customSlackSyncStatusEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        customConferenceBufferTitleEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        linearEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        jiraEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        todoistEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        asanaEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        clickupEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        trelloEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
        mondayEnabled:
          $ref: '#/components/schemas/EntitlementDetails'
    LinearTaskDetails:
      type: object
      properties:
        taskId:
          type: integer
          format: int64
        owner:
          type: boolean
        status:
          $ref: '#/components/schemas/TaskStatus'
        withTaskId:
          type: integer
          format: int64
        withOwner:
          type: boolean
        withStatus:
          $ref: '#/components/schemas/TaskStatus'
        equals: {}
        hashCode:
          type: integer
          format: int32
        toString:
          type: string
    ImmutableList_AsanaFormFieldOption_:
      type: object
      allOf:
      - $ref: '#/components/schemas/ImmutableCollection_AsanaFormFieldOption_'
      - $ref: '#/components/schemas/AbstractCollection_AsanaFormFieldOption_'
      - properties:
          empty:
            type: boolean
          first:
            $ref: '#/components/schemas/AsanaFormFieldOption'
          last:
            $ref: '#/components/schemas/AsanaFormFieldOption'
    ImmutableCollection_TodoistLabel_:
      type: object
      allOf:
      - $ref: '#/components/schemas/AbstractCollection_TodoistLabel_'
      - properties:
          empty:
            type: boolean
          partialView:
            type: boolean
    TodoistSettings_2:
      type: object
      properties:
        titleFormat:
          $ref: '#/components/schemas/TodoistTitleFormat'
        withTitleFormat:
          $ref: '#/components/schemas/TodoistTitleFormat'
        equals: {}
        hashCode:
          type: integer
          format: int32
        toString:
          type: string
    EntitlementValue_Object_:
      required:
      - nextEdition
      - nextValue
      - value
      type: object
      properties:
        value: {}
        nextValue: {}
        nextEdition:
          allOf:
          - $ref: '#/components/schemas/ReclaimEdition'
    UserAccountLock.AccountLockType:
      type: string
      enum:
      - PIPELINE_MIGRATION
    ImmutableCollection_JiraProject_:
      type: object
      allOf:
      - $ref: '#/components/schemas/AbstractCollection_JiraProject_'
      - properties:
          empty:
            type: boolean
          partialView:
            type: boolean
    TodoistIntegrationDetails:
      type: object
      properties:
        id:
          type: string
        availableProjects:
          $ref: '#/components/schemas/ImmutableList_TodoistProject_'
        labels:
          deprecated: true
          allOf:
          - $ref: '#/components/schemas/ImmutableSet_TodoistLabel_'
        labelNames:
          $ref: '#/components/

# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/reclaim-ai/refs/heads/main/openapi/reclaim-ai-private-api-openapi.yml