//native
/**
* List Policies
* List the policies of a given type in your org. `type` is required (e.g. OKTA_SIGN_ON, PASSWORD, MFA_ENROLL, ACCESS_POLICY). Optionally narrow by `status` (ACTIVE / INACTIVE) and page with `limit` and the `after` cursor from the previous response's Link header.
*/
export async function main(
auth: RT.Okta,
type:
| "OKTA_SIGN_ON"
| "PASSWORD"
| "MFA_ENROLL"
| "IDP_DISCOVERY"
| "ACCESS_POLICY"
| "PROFILE_ENROLLMENT"
| "POST_AUTH_SESSION"
| "ENTITY_RISK"
| "DEVICE_SIGNAL_COLLECTION"
| "SESSION_VIOLATION_DETECTION"
| "CLIENT_UPDATE"
| "IDENTITY_CLAIM_SOURCING",
status: "ACTIVE" | "INACTIVE" | undefined,
limit: number | undefined,
after: string | undefined
) {
const url = new URL(`${auth.org_url}/api/v1/policies`)
url.searchParams.append("type", type)
if (status !== undefined) url.searchParams.append("status", status)
if (limit !== undefined) url.searchParams.append("limit", String(limit))
if (after !== undefined && after !== "")
url.searchParams.append("after", after)
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: `SSWS ${auth.token}`,
Accept: "application/json",
},
})
if (!response.ok) {
throw new Error(`${response.status} ${await response.text()}`)
}
return await response.json()
}
Submitted by hugo989 6 days ago