API Documentation

API Endpoint

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:

ApprovalPolicyAssignment diagram

Supported filter params

  • id

  • target_id

  • target_type

GET /api/v2/approval_policy_assignments
Requestsreturns approval policy assignments

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
Responses200
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": "2309"
          }
        },
        "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": "2309"
          }
        },
        "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 assignments
GET/api/v2/approval_policy_assignments


GET /api/v2/approval_policy_assignments/1
Requestsreturns approval policy assignment

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
Responses200
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": "2310"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      },
      "approval_policy": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets the approval policy assignment
GET/api/v2/approval_policy_assignments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

approval policy assignment id


POST /api/v2/approval_policy_assignments
Requestscreates the approval policy assignment when params are validreturns validation error when params are invalidreturns error when person already has defined approval policy assignment

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": 9119
    }
  }
}
Responses201
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": "2311"
        }
      },
      "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": 9121
    }
  }
}
Responses422
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": 9123
    }
  }
}
Responses422
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 assignment
POST/api/v2/approval_policy_assignments

URI Parameters
HideShow
approval_policy_id
number (required) Example: 1

approval policy id

target_type
string (required) Example: Person

Object to which we assign the approval policy

person_id
number (required) Example: 1

person id


PATCH /api/v2/approval_policy_assignments/
Requestsupdates approval policy assignment when params are validreturns error when params are invalid

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
    }
  }
}
Responses200
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": "2314"
        }
      },
      "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
    }
  }
}
Responses422
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 assignment
PATCH/api/v2/approval_policy_assignments/

URI Parameters
HideShow
approval_policy_id
number (required) Example: 1

approval policy id


DELETE /api/v2/approval_policy_assignments/1
Requestsdeletes the approval policy assignment

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

Deletes the approval policy assignment
DELETE/api/v2/approval_policy_assignments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

approval policy assignment id


Generated by aglio on 02 Aug 2025