Height Activities API

Activities can be messages, status updates of the task or integration updates (i.e. GitHub).

OpenAPI Specification

height-activities-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Height APP Activities API
  description: "Unofficial Open API 3.1 specification for [Height App API](https://www.notion.so/API-documentation-643aea5bf01742de9232e5971cb4afda). This is not affiliated with Height team.\n\n---\n# Authentication\n\nThe Height API uses API keys to authenticate requests. **You can view your API key in the Height settings under API**.\n\nAuthentication to the API is performed via the `Authorization` header. All API requests should be made over HTTPs.\n\ni.e. Get your workspace.\n\n```bash\ncurl https://api.height.app/workspace \\\n  -H \"Authorization: api-key secret_1234\"\n```\n\nThird-party applications must connect to the Height API using [OAuth2](https://www.notion.so/API-documentation-643aea5bf01742de9232e5971cb4afda). \n\nSee [OAuth Apps on Height](https://www.notion.so/OAuth-Apps-on-Height-a8ebeab3f3f047e3857bd8ce60c2f640) for more information.\n\n# Object formats\n\nAll objects have a unique `id` ([UUID v4](https://en.m.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random))) and a `model` attribute to distinguish the model type.\n\ne.g. a task object.\n\n```json\n{\n  \"id\": \"123e4567-e89b-12d3-a456-426655440000\",\n  \"model\": \"task\",\n  \"name\": \"Fix bug\",\n  \"index\": 1,\n  \"status\": \"backLog\",\n  [...]\n}\n```\n\n# Date formats\n\nEvery date uses the ISO format e.g.\n\n```js\n\"2019-11-07T17:00:00.000Z\"\n```\n\n# Real-time\n\nAny change that you make to the API will be pushed to every user in real-time: i.e. creating tasks or messages.\n\n# Rate limits\n\nTo keep incoming traffic under control and maintain a great experience for all our users, our API is behind a rate limiter. Users who send many requests in quick succession may see error responses that show up as status code 429.\n\nHeight allows up to 120 requests/min, but we have stricter limits on these endpoints:\n\n- `POST /activities`: 60 requests/min\n- `POST /tasks`: 60 requests/min"
  contact:
    email: gil@beomjun.kr
  license:
    name: MIT
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
- url: https://api.height.app
security:
- apiKey: []
tags:
- name: Activities
  description: Activities can be messages, status updates of the task or integration updates (i.e. GitHub).
paths:
  /activities:
    post:
      tags:
      - Activities
      summary: Post a message
      operationId: postMessage
      x-codeSamples:
      - lang: JavaScript
        label: SDK
        source: 'const height = new Height({secretKey: ''secret_your-key''});


          height.activities.post({...});'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostMessageRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityObject'
    get:
      tags:
      - Activities
      summary: List activities and messages
      operationId: listActivities
      x-codeSamples:
      - lang: JavaScript
        label: SDK
        source: 'const height = new Height({secretKey: ''secret_your-key''});


          height.activities.get({...});'
      parameters:
      - name: taskId
        in: query
        description: Either the task unique `id` (UUID), or the task unique `index` (the 123 of T-123).
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListActivitiesResponse'
components:
  schemas:
    ListActivitiesResponse:
      type: object
      required:
      - list
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/ActivityObject'
    PostMessageRequest:
      type: object
      required:
      - taskId
      - type
      - message
      properties:
        taskId:
          type: string
          format: uuid
        type:
          type: string
          enum:
          - comment
          - description
        message:
          type: string
          description: '## Mentions


            Height supports multiple types of mentions, with each their own format:


            User mention: `@user_<userId>`


            Group mention: `@group_<groupId>`


            Task mention: `T-<taskIndex>`


            List mention: `#<listKey>`'
    ActivityObject:
      type: object
      required:
      - id
      - model
      - createdAt
      - taskId
      - createdUserId
      - type
      - reactjis
      - readUserIds
      - url
      properties:
        id:
          type: string
          format: uuid
          description: The unique id of the activity.
        model:
          type: string
          description: The model is always `activity`.
        createdAt:
          type: string
          format: date-time
          description: The date when the activity was created. See [Date formats](https://www.notion.so/API-documentation-643aea5bf01742de9232e5971cb4afda).
        taskId:
          type: string
          format: uuid
          description: The task id of the task this activity is linked to.
        createdUserId:
          type: string
          format: uuid
          description: The user id that posted that activity.
        type:
          type: string
          enum:
          - comment
          - description
          - createdAt
          - statusChange
          - statusRemoved
          - assigneeChange
          - listsChange
          - nameChange
          - customFieldChange
          - fieldOptionRemoved
          description: The type of the activity.
        message:
          type: string
          description: The message/body of this comment/description.
        oldValue:
          type: string
          description: For updates, this is the value before the change.
        newValue:
          type: string
          description: For status, this is the value after the change.
        reactjis:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: The id of the reactji.
              model:
                type: string
                description: Always set to `reactji`.
              emoji:
                type: string
                description: The emoji used for the reactji.
              userId:
                type: string
                format: uuid
                description: The user id that added the reactji.
              activityId:
                type: string
                format: uuid
                description: The id of the activity the reactji was added to.
          description: An array of reactjis.
        readUserIds:
          type: array
          items:
            type: string
            format: uuid
          description: The user ids that read this activity.
        url:
          type: string
          description: The url of the activity.
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      description: "The Height API uses API keys to authenticate requests. **You can view your API key in the Height settings under API**.\n ex: `api-key secret_1234`"
      in: header
externalDocs:
  description: Height official API Docs
  url: https://www.notion.so/API-documentation-643aea5bf01742de9232e5971cb4afda