OpenProject Custom Fields API
The Custom Fields API from OpenProject — 1 operation(s) for custom fields.
The Custom Fields API from OpenProject — 1 operation(s) for custom fields.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/openproject-custom-fields-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
description: You're looking at the current **stable** documentation of the OpenProject APIv3.
title: OpenProject API V3 (Stable) Custom Fields API
version: '3'
servers:
- url: https://qa.openproject-edge.com
description: Edge QA instance
- url: https://qa.openproject-stage.com
description: Staging instance
- url: https://community.openproject.org
description: Community instance
security:
- BasicAuth: []
tags:
- name: Custom Fields
paths:
/api/v3/custom_fields/{id}/items:
get:
summary: Get the custom field hierarchy items
operationId: get_custom_field_items
description: 'Retrieves the hierarchy of custom fields.
The hierarchy is a tree structure of hierarchy items. It is represented as a flat list of items, where each item
has a reference to its parent and children. The list is ordered in a depth-first manner. The first item is the
requested parent. If parent was unset, the root item is returned as first element.
Passing the `depth` query parameter allows to limit the depth of the hierarchy. If the depth is unset, the full
hierarchy tree is returned. If the depth is set to `0`, only the requested parent is returned. Any other positive
integer will return the number of children levels specified by this value.
This endpoint only returns, if the custom field is of type `hierarchy`.'
parameters:
- name: id
description: The custom field's unique identifier
in: path
example: '42'
required: true
schema:
type: integer
- name: parent
description: The identifier of the parent hierarchy item
in: query
example: '1337'
required: false
schema:
type: integer
- name: depth
description: The level of hierarchy depth
in: query
example: '1'
required: false
schema:
type: integer
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/HierarchyItemCollectionModel'
examples:
simple response:
$ref: '#/components/examples/HierarchyItemCollectionResponse'
filtered response:
$ref: '#/components/examples/HierarchyItemCollectionFilteredResponse'
'403':
description: Returned if the user is not logged in.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission
message: You are not authorized to access this resource.
'404':
description: Returned if the custom field does not exist or the user lacks the permission to view it.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
'422':
description: Returned if the custom field is not of type hierarchy.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:UnprocessableContent
message: The requested custom field resource is of wrong type.
tags:
- Custom Fields
components:
examples:
HierarchyItemCollectionFilteredResponse:
description: Filtered response of a hierarchy structure starting at a specific parent and restricting the depth.
value:
_type: Collection
total: 3
count: 3
_embedded:
elements:
- _type: HierarchyItem
id: 1338
label: Stormtroopers
short: ST
weight: null
formattedWeight: null
depth: 1
_links:
self:
href: /api/v3/custom_field_items/1338
name: Stormtroopers
parent:
href: /api/v3/custom_field_items/1337
name: null
branch:
href: /api/v3/custom_field_items/1338/branch
children:
- href: /api/v3/custom_field_items/1340
name: ST-377
- href: /api/v3/custom_field_items/1341
name: ST-422
- _type: HierarchyItem
id: 1340
label: ST-377
short: null
weight: null
formattedWeight: null
depth: 2
_links:
self:
href: /api/v3/custom_field_items/1340
name: ST-377
parent:
href: /api/v3/custom_field_items/1338
name: Stormtroopers
branch:
href: /api/v3/custom_field_items/1340/branch
children:
- href: /api/v3/custom_field_items/1480
name: ST-377-200
- href: /api/v3/custom_field_items/1481
name: ST-377-201
- _type: HierarchyItem
id: 1341
label: ST-422
short: null
weight: null
formattedWeight: null
depth: 2
_links:
self:
href: /api/v3/custom_field_items/1341
name: ST-422
parent:
href: /api/v3/custom_field_items/1338
name: Stormtroopers
branch:
href: /api/v3/custom_field_items/1341/branch
children:
- href: /api/v3/custom_field_items/1580
name: ST-422-137
- href: /api/v3/custom_field_items/1581
name: ST-422-138
_links:
self:
href: /api/v3/custom_field/42/items?parent=1338&depth=1
HierarchyItemCollectionResponse:
description: Simple response of a hierarchy structure starting at root.
value:
_type: Collection
total: 37
count: 37
_embedded:
elements:
- _type: HierarchyItem
id: 1337
label: null
short: null
weight: null
formattedWeight: null
depth: 0
_links:
self:
href: /api/v3/custom_field_items/1337
branch:
href: /api/v3/custom_field_items/1337/branch
children:
- href: /api/v3/custom_field_items/1338
name: Stormtroopers
- href: /api/v3/custom_field_items/1339
name: Dark Troopers
- _type: HierarchyItem
id: 1338
label: Stormtroopers
short: ST
weight: null
formattedWeight: null
depth: 1
_links:
self:
href: /api/v3/custom_field_items/1338
name: Stormtroopers
parent:
href: /api/v3/custom_field_items/1337
name: Imperial Troopers
branch:
href: /api/v3/custom_field_items/1338/branch
children:
- href: /api/v3/custom_field_items/1340
name: ST-377
- href: /api/v3/custom_field_items/1341
name: ST-422
- _type: HierarchyItem
id: 1340
label: ST-377
short: null
weight: null
formattedWeight: null
depth: 2
_links:
self:
href: /api/v3/custom_field_items/1340
branch:
href: /api/v3/custom_field_items/1340/branch
children: []
_links:
self:
href: /api/v3/custom_field/42/items
schemas:
CollectionLinks:
type: object
required:
- self
properties:
self:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'This collection resource.
**Resource**: Collection'
HierarchyItemReadModel:
type: object
required:
- _type
- id
- label
- short
- weight
- formattedWeight
- depth
- _links
properties:
_type:
type: string
enum:
- HierarchyItem
id:
type: integer
description: Hierarchy item identifier
label:
type:
- string
- 'null'
description: The label of the hierarchy item
short:
type:
- string
- 'null'
description: 'The short name of the hierarchy item. If this attribute is set, the `weight` and
the `formattedWeight` are `null`.'
weight:
type:
- string
- 'null'
description: 'The accurate weight of the hierarchy item. As a decimal precision number it is written as a string to
not loose precision with conversion to a floating point number.
If this attribute is set, the `short` is null.'
formattedWeight:
type:
- string
- 'null'
description: 'The formatted weight of the hierarchy item. The standard formatting of the OpenProject server is used to
convert this number into a representable format - i.e. falling back to scientific notation for very small and
very big numbers.
If this attribute is set, the `short` is null.'
depth:
type: integer
description: The hierarchy depth. The root item has a depth of 0.
_links:
type: object
required:
- self
- children
- branch
properties:
self:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'This hierarchy item
**Resource**: HierarchyItem'
parent:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'The hierarchy item that is the parent of the current hierarchy item
**Resource**: HierarchyItem'
children:
type: array
items:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'A hierarchy item that is a child of the current hierarchy item
**Resource**: HierarchyItem'
branch:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'The branch of the hierarchy item, ordered from root to node.
**Resource**: HierarchyItemCollection'
Link:
type: object
required:
- href
properties:
href:
type:
- string
- 'null'
description: URL to the referenced resource (might be relative)
title:
type: string
description: Representative label for the resource
templated:
type: boolean
default: false
description: If true the href contains parts that need to be replaced by the client
method:
type: string
default: GET
description: The HTTP verb to use when requesting the resource
payload:
type: object
description: The payload to send in the request to achieve the desired result
identifier:
type: string
description: An optional unique identifier to the link object
type:
type: string
description: The MIME-Type of the returned resource.
example:
href: /api/v3/work_packages
method: POST
HierarchyItemCollectionModel:
allOf:
- $ref: '#/components/schemas/CollectionModel'
- type: object
required:
- _links
- _embedded
properties:
_links:
type: object
required:
- self
properties:
self:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'This hierarchy item collection
**Resource**: HierarchyItemCollectionModel'
_embedded:
type: object
required:
- elements
properties:
elements:
type: array
items:
$ref: '#/components/schemas/HierarchyItemReadModel'
ErrorResponse:
type: object
required:
- _type
- errorIdentifier
- message
properties:
_embedded:
type: object
properties:
details:
type: object
properties:
attribute:
type: string
example: project
_type:
type: string
enum:
- Error
errorIdentifier:
type: string
example: urn:openproject-org:api:v3:errors:PropertyConstraintViolation
message:
type: string
example: Project can't be blank.
CollectionModel:
type: object
required:
- _type
- total
- count
- _links
properties:
_type:
type: string
enum:
- Collection
total:
type: integer
description: The total amount of elements available in the collection.
minimum: 0
count:
type: integer
description: Actual amount of elements in this response.
minimum: 0
_links:
$ref: '#/components/schemas/CollectionLinks'
securitySchemes:
BasicAuth:
type: http
scheme: basic