API Documentation
Placeholder Usages ¶
Placeholder Usages ¶
The Placeholder Usage
object represents the connection between a placeholder and its target, which can currently be a Task or Todo, and the specific field it connects to.
The field can be assignee, subscriber, due_date, or start_date.
Supported filter params
-
field (assignee, subscriber, due_date, start_date)
-
interval_enabled (true, false)
-
placeholder_id (array)
-
skip_weekends (true, false)
-
target_id (array)
-
target_type
-
task_id (array)
-
todo_id (array)
Supported sort params
-
created_at
-
field
-
id
-
interval_value
GET /api/v2/placeholder_usages
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "2",
"type": "placeholder_usages",
"attributes": {
"id": 2,
"target_id": 531,
"target_type": "Ticket",
"field": "assignee",
"placeholder_id": 6,
"interval_value": null,
"interval_unit": null,
"interval_direction": null,
"skip_weekends": false,
"interval_enabled": false,
"created_at": "2025-10-03T06:19:55.639+02:00",
"updated_at": "2025-10-03T06:19:55.639+02:00"
},
"relationships": {
"placeholder": {
"meta": {
"included": false
}
},
"task": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/placeholder_usages?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/placeholder_usages?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get placeholder usagesGET/api/v2/placeholder_usages
GET /api/v2/placeholder_usages/3
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "3",
"type": "placeholder_usages",
"attributes": {
"id": 3,
"target_id": 532,
"target_type": "Ticket",
"field": "assignee",
"placeholder_id": 7,
"interval_value": null,
"interval_unit": null,
"interval_direction": null,
"skip_weekends": false,
"interval_enabled": false,
"created_at": "2025-10-03T06:19:55.829+02:00",
"updated_at": "2025-10-03T06:19:55.829+02:00"
},
"relationships": {
"placeholder": {
"meta": {
"included": false
}
},
"task": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
Gets a placeholder usageGET/api/v2/placeholder_usages/{id}
- id
number
(required) Example: 1placeholder usage id
POST /api/v2/placeholder_usages
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "placeholder_usages",
"attributes": {
"task_id": 533,
"field": "assignee",
"placeholder_id": 8,
"interval_enabled": false,
"skip_weekends": false
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "4",
"type": "placeholder_usages",
"attributes": {
"id": 4,
"target_id": 533,
"target_type": "Ticket",
"field": "assignee",
"placeholder_id": 8,
"interval_value": null,
"interval_unit": null,
"interval_direction": null,
"skip_weekends": false,
"interval_enabled": false,
"created_at": "2025-10-03T06:19:56.015+02:00",
"updated_at": "2025-10-03T06:19:56.015+02:00"
},
"relationships": {
"placeholder": {
"meta": {
"included": false
}
},
"task": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
POST /api/v2/placeholder_usages
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "placeholder_usages",
"attributes": {
"todo_id": 22,
"field": "assignee",
"placeholder_id": 9,
"interval_enabled": false,
"skip_weekends": false
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "5",
"type": "placeholder_usages",
"attributes": {
"id": 5,
"target_id": 22,
"target_type": "Todo",
"field": "assignee",
"placeholder_id": 9,
"interval_value": null,
"interval_unit": null,
"interval_direction": null,
"skip_weekends": false,
"interval_enabled": false,
"created_at": "2025-10-03T06:19:56.224+02:00",
"updated_at": "2025-10-03T06:19:56.224+02:00"
},
"relationships": {
"placeholder": {
"meta": {
"included": false
}
},
"todo": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
POST /api/v2/placeholder_usages
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "placeholder_usages",
"attributes": {
"field": "",
"placeholder_id": null
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/field"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "is not included in the list",
"source": {
"pointer": "data/attributes/field"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/placeholder"
}
}
]
}
POST /api/v2/placeholder_usages
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "placeholder_usages",
"attributes": {
"field": "assignee",
"placeholder_id": 10,
"interval_enabled": false,
"skip_weekends": false
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "attribute is invalid",
"source": {
"pointer": "data/attributes/target"
}
}
]
}
Create a placeholder usagePOST/api/v2/placeholder_usages
- placeholder_id
number
(required) Example: 1placeholder id
- task_id: `1` (number, optional) - task id (required if todo_id not provided)
string
(required)- todo_id: `1` (number, optional) - todo id (required if task_id not provided)
string
(required)- field
string
(required) Example: assigneefield name (assignee, subscriber, due_date, start_date)
- interval_enabled
boolean
(optional) Example: falsewhether interval is enabled
- interval_value
number
(optional) Example: 1interval value
- interval_unit
string
(optional) Example: dayinterval unit (day, week, month, year)
- interval_direction
string
(optional) Example: afterinterval direction (before, after)
- skip_weekends
boolean
(optional) Example: falsewhether to skip weekends
PATCH /api/v2/placeholder_usages/6
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "placeholder_usages",
"attributes": {
"interval_enabled": true,
"interval_value": 1,
"interval_unit": "day",
"interval_direction": "after"
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "6",
"type": "placeholder_usages",
"attributes": {
"id": 6,
"target_id": 535,
"target_type": "Ticket",
"field": "assignee",
"placeholder_id": 11,
"interval_value": 1,
"interval_unit": "day",
"interval_direction": "after",
"skip_weekends": false,
"interval_enabled": true,
"created_at": "2025-10-03T06:19:56.548+02:00",
"updated_at": "2025-10-03T06:19:56.558+02:00"
},
"relationships": {
"placeholder": {
"meta": {
"included": false
}
},
"task": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/placeholder_usages/7
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "placeholder_usages",
"attributes": {
"interval_value": -1
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "must be greater than 0",
"source": {
"pointer": "data/attributes/interval_value"
}
}
]
}
Update a placeholder usagePATCH/api/v2/placeholder_usages/{id}
- id
number
(required) Example: 1placeholder usage id
DELETE /api/v2/placeholder_usages/8
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Deletes a placeholder usageDELETE/api/v2/placeholder_usages/{id}
- id
number
(required) Example: 1placeholder usage id
Generated by aglio on 03 Oct 2025