API Documentation

API Endpoint

Placeholders

Placeholders

The Placeholder object represents a dynamic value substitution mechanism within the application.

It is used to define reusable values that are used in project templates.

Placeholders can represent two types of data: people and date values.

Supported filter params

  • category (array)

  • created_at

  • id (array)

  • name

  • project_id (array)

  • type (array) (person, date)

Supported sort params

  • category

  • id

  • name

  • type

GET /api/v2/placeholders
Requestsreturns placeholders

GET  /api/v2/placeholders

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
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1",
      "type": "placeholders",
      "attributes": {
        "name": "Placeholder 1",
        "category": "project",
        "color": "blue",
        "icon": "icon",
        "type": "person",
        "created_at": "2025-10-03T06:19:42.677+02:00",
        "updated_at": "2025-10-03T06:19:42.677+02:00"
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2283"
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/placeholders?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/placeholders?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 placeholders
GET/api/v2/placeholders


GET /api/v2/placeholders/1
Requestsreturns placeholder

GET  /api/v2/placeholders/2

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
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "2",
    "type": "placeholders",
    "attributes": {
      "name": "Placeholder 2",
      "category": "project",
      "color": "blue",
      "icon": "icon",
      "type": "person",
      "created_at": "2025-10-03T06:19:42.767+02:00",
      "updated_at": "2025-10-03T06:19:42.767+02:00"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2284"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a placeholder
GET/api/v2/placeholders/{id}

URI Parameters
HideShow
id
number (required) Example: 1

placeholder id


POST /api/v2/placeholders
Requestscreates placeholderreturns errors when project not accessible

POST  /api/v2/placeholders

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": "placeholders",
    "attributes": {
      "name": "Test Placeholder",
      "category": "project",
      "type": "person",
      "icon": "user",
      "color": "#ff0000",
      "project_id": 1718
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "3",
    "type": "placeholders",
    "attributes": {
      "name": "Test Placeholder",
      "category": "project",
      "color": "#ff0000",
      "icon": "user",
      "type": "person",
      "created_at": "2025-10-03T06:19:42.843+02:00",
      "updated_at": "2025-10-03T06:19:42.843+02:00"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2285"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/placeholders

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": "placeholders",
    "attributes": {
      "name": "Test Placeholder",
      "category": "project",
      "type": "person",
      "icon": "user",
      "color": "#ff0000",
      "project_id": 1719
    }
  }
}
Responses422
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/project"
      }
    }
  ]
}

Create a placeholder
POST/api/v2/placeholders

URI Parameters
HideShow
project_id
number (required) Example: 1

project id

category
string (required) Example: project

placeholder category (project is only option for now)

name
string (required) Example: Name

placeholder name

description
string (optional) Example: Description

placeholder description


PATCH /api/v2/placeholders/1
Requestsupdates placeholder

PATCH  /api/v2/placeholders/4

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": "placeholders",
    "id": 4,
    "attributes": {
      "name": "Updated Placeholder"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "4",
    "type": "placeholders",
    "attributes": {
      "name": "Updated Placeholder",
      "category": "project",
      "color": "blue",
      "icon": "icon",
      "type": "person",
      "created_at": "2025-10-03T06:19:42.963+02:00",
      "updated_at": "2025-10-03T06:19:42.971+02:00"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2287"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a placeholder
PATCH/api/v2/placeholders/{id}

URI Parameters
HideShow
id
number (required) Example: 1

placeholder id


DELETE /api/v2/placeholders/1
Requestsdeletes placeholder and its usages

DELETE  /api/v2/placeholders/5

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
Responses204
This response has no content.

Deletes a placeholder
DELETE/api/v2/placeholders/{id}

URI Parameters
HideShow
id
number (required) Example: 1

placeholder id


Generated by aglio on 03 Oct 2025