Height Field Templates API
The Field Templates API from Height — 3 operation(s) for field templates.
The Field Templates API from Height — 3 operation(s) for field templates.
openapi: 3.0.3
info:
title: Height APP Activities Field Templates 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: Field Templates
paths:
/fieldTemplates:
get:
tags:
- Field Templates
summary: List all field templates
operationId: listAllFieldTemplates
x-codeSamples:
- lang: JavaScript
label: SDK
source: 'const height = new Height({secretKey: ''secret_your-key''});
height.fieldTemplates.all();'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ListAllFieldTemplatesResponse'
/fieldTemplates/:id/options:
post:
tags:
- Field Templates
summary: Create an option for a field template
description: This endpoint adds an option to a `select` or `labels` field template.
operationId: createFieldTemplateOption
x-codeSamples:
- lang: JavaScript
label: SDK
source: 'const height = new Height({secretKey: ''secret_your-key''});
height.fieldTemplates.createOption({...});'
parameters:
- name: id
in: path
description: field template id (UUID)
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFieldTemplateOptionRequest'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FieldTemplateObject'
/fieldTemplates/:id/options/:optionId:
put:
tags:
- Field Templates
summary: Update or delete an option for a field template
operationId: updateFieldTemplateOption
x-codeSamples:
- lang: JavaScript
label: SDK
source: 'const height = new Height({secretKey: ''secret_your-key''});
height.fieldTemplates.updateOption({...});'
description: 'This endpoint updates or deletes an option to a `select` or `labels` field template.
The field template must be unlocked to use this endpoint. Locking and unlocking field templates is an enterprise feature.'
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: optionId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFieldTemplateOptionRequest'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FieldTemplateObject'
components:
schemas:
UpdateFieldTemplateOptionRequest:
type: object
required:
- value
properties:
value:
type: string
hue:
type: number
description: number between 0 and 360 (optional)
deleted:
type: boolean
ListAllFieldTemplatesResponse:
type: object
required:
- list
properties:
list:
type: array
items:
$ref: '#/components/schemas/FieldTemplateObject'
CreateFieldTemplateOptionRequest:
type: object
required:
- value
properties:
value:
type: string
hue:
type: number
description: number between 0 and 360 (optional)
FieldTemplateObject:
type: object
properties:
id:
type: string
format: uuid
description: The unique id of the field template.
model:
type: string
enum:
- fieldTemplate
description: The model is always `fieldTemplate`.
name:
type: string
description: The name of the field template.
type:
type: string
description: 'Possible types:
- `text`: any text value attribute (i.e. Story Points)
- `labels`: used for tags for example
- `select`: used for priority, sprint,…
- `date`: used for due date,…
- `linkedTasks`: usually used for dependencies and so on
- `status`: the status attribute (only one field template of that type)'
enum:
- text
- labels
- select
- date
- linkedTasks
- status
labelSets:
type: array
description: An array of label sets, only available when the type of the field template is `status`.
items:
type: object
required:
- id
- model
- value
properties:
id:
type: string
format: uuid
description: The unique id of the field label set.
model:
type: string
enum:
- fieldLabelSet
description: The model is always `fieldLabelSet`.
value:
type: string
description: The name of the field label set.
labels:
type: array
description: Only available when the type of the field template is `labels`, `select` or `status`.
items:
type: object
required:
- id
- model
- value
- hue
- statusState
properties:
id:
type: string
description: UUID or string (backLog, inProgress and done are hard-coded).
model:
type: string
enum:
- fieldLabel
description: The model is always `fieldLabel`.
value:
type: string
description: The name of the label.
hue:
type: number
description: The hue of the label's color (between 0 and 360).
labelSetId:
type: string
format: uuid
description: The id of the label set this label belongs to, if any. Only if the type of field template is `status`.
statusState:
type: string
description: 'The state of the status, only available when the type of the field template is `status`.
Note that a task is considered as completed if its status has a state of `canceled` or `completed`.'
enum:
- default
- started
- blocked
- canceled
- completed
archive:
type: boolean
description: This attribute has been archived.
required:
- id
- model
- name
- type
- archive
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