API Documentation
Approval Policy Assignments ¶
Approval Policy Assignment ¶
ApprovalPolicyAssignment is an entity used to assign ApprovalPolicy to one or more targets. Target can be either a person or a budget, depending on the type of approval policy. One target can have only one policy assigned at a time.
Following diagram shows approval policy assignments in our data hierarchy:
Supported filter params
-
id
-
target_id
-
target_type
GET /api/v2/approval_policy_assignments
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+jsonHeaders
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"data": [
{
"id": "266",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2371"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
},
{
"id": "267",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2371"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/approval_policy_assignments?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/approval_policy_assignments?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 2,
"page_size": 30,
"max_page_size": 200
}
}Get approval policy assignmentsGET/api/v2/approval_policy_assignments
GET /api/v2/approval_policy_assignments/268
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+jsonHeaders
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"data": {
"id": "268",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2372"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}Gets the approval policy assignmentGET/api/v2/approval_policy_assignments/{id}
- id
number(required) Example: 1approval policy assignment id
POST /api/v2/approval_policy_assignments
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+jsonBody
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 323,
"target_type": "person",
"person_id": 8955
}
}
}Headers
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"data": {
"id": "269",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2373"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}POST /api/v2/approval_policy_assignments
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+jsonBody
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 324,
"target_type": "wrong target type",
"target_id": 8957
}
}
}Headers
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "is not included in the list",
"source": {
"pointer": "data/attributes/target_type"
}
}
]
}POST /api/v2/approval_policy_assignments
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+jsonBody
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 326,
"target_type": "wrong target type",
"target_id": 8959
}
}
}Headers
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "is not included in the list",
"source": {
"pointer": "data/attributes/target_type"
}
}
]
}Creates the approval policy assignmentPOST/api/v2/approval_policy_assignments
- approval_policy_id
number(required) Example: 1approval policy id
- target_type
string(required) Example: PersonObject to which we assign the approval policy
- person_id
number(required) Example: 1person id
PATCH /api/v2/approval_policy_assignments/271
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+jsonBody
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 328
}
}
}Headers
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"data": {
"id": "271",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2376"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}PATCH /api/v2/approval_policy_assignments/272
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+jsonBody
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": null
}
}
}Headers
Content-Type: application/vnd.api+json; charset=utf-8Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/approval_policy"
}
}
]
}Updates the approval policy assignmentPATCH/api/v2/approval_policy_assignments/
- approval_policy_id
number(required) Example: 1approval policy id
DELETE /api/v2/approval_policy_assignments/273
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+jsonDeletes the approval policy assignmentDELETE/api/v2/approval_policy_assignments/{id}
- id
number(required) Example: 1approval policy assignment id
Generated by aglio on 25 Oct 2025