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_` Group mention: `@group_` Task mention: `T-` List mention: `#`' 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