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+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "1",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2311"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
},
{
"id": "2",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2311"
}
},
"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/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": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2312"
}
},
"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+json
Body
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 29,
"target_type": "person",
"person_id": 9122
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "4",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2313"
}
},
"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+json
Body
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 30,
"target_type": "wrong target type",
"target_id": 9124
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"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+json
Body
{
"data": {
"type": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 32,
"target_type": "wrong target type",
"target_id": 9126
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"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/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": "approval_policy_assignments",
"attributes": {
"approval_policy_id": 34
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "6",
"type": "approval_policy_assignments",
"attributes": {
"target_type": "person"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2316"
}
},
"person": {
"meta": {
"included": false
}
},
"deal": {
"meta": {
"included": false
}
},
"approval_policy": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/approval_policy_assignments/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": "approval_policy_assignments",
"attributes": {
"approval_policy_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/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/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 the approval policy assignmentDELETE/api/v2/approval_policy_assignments/{id}
- id
number
(required) Example: 1approval policy assignment id
Generated by aglio on 02 Aug 2025