Approval

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
POST
GET
PATCH
DELETE

List all approval policies

Required API key scopes

approvals:read

Path parameters

  • project_id
    string

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/environments/:project_id/approval_policies
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/approval_policies/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"action_key": "string",
"conditions": null,
"approver_config": null,
"allow_self_approve": true,
"bypass_org_membership_levels": null,
"bypass_roles": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"expires_after": "string",
"enabled": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}

Create approval policies

Required API key scopes

approvals:write

Path parameters

  • project_id
    string

Request parameters

  • action_key
    string
  • conditions
  • approver_config
  • allow_self_approve
    boolean
  • bypass_org_membership_levels
  • bypass_roles
    array
  • expires_after
    string
  • enabled
    boolean

Response


Example request

POST /api/environments/:project_id/approval_policies
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/approval_policies/\
-d action_key="string",\
-d approver_config=undefined

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"action_key": "string",
"conditions": null,
"approver_config": null,
"allow_self_approve": true,
"bypass_org_membership_levels": null,
"bypass_roles": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"expires_after": "string",
"enabled": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Retrieve approval policies

Required API key scopes

approvals:read

Path parameters

  • id
    string
  • project_id
    string

Response


Example request

GET /api/environments/:project_id/approval_policies/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/approval_policies/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"action_key": "string",
"conditions": null,
"approver_config": null,
"allow_self_approve": true,
"bypass_org_membership_levels": null,
"bypass_roles": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"expires_after": "string",
"enabled": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Update approval policies

Required API key scopes

approvals:write

Path parameters

  • id
    string
  • project_id
    string

Request parameters

  • action_key
    string
  • conditions
  • approver_config
  • allow_self_approve
    boolean
  • bypass_org_membership_levels
  • bypass_roles
    array
  • expires_after
    string
  • enabled
    boolean

Response


Example request

PATCH /api/environments/:project_id/approval_policies/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/approval_policies/:id/\
-d action_key="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"action_key": "string",
"conditions": null,
"approver_config": null,
"allow_self_approve": true,
"bypass_org_membership_levels": null,
"bypass_roles": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"expires_after": "string",
"enabled": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Delete approval policies

Required API key scopes

approvals:write

Path parameters

  • id
    string
  • project_id
    string

Example request

DELETE /api/environments/:project_id/approval_policies/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/approval_policies/:id/

Example response

Status 204 No response body

Community questions

Questions about this page? or post a community question.