---
title: Modules
description: Authorization modules are divisions of a PingOne Authorize environment, each with their own Trust Framework definitions, policies, and version history. Use these endpoints to create, read, update, and delete custom authorization modules.
component: pingone-api
page_id: pingone-api:authorize:authorization-modules/modules/index
canonical_url: https://developer.pingidentity.com/pingone-api/authorize/authorization-modules/modules/index.html
llms_txt: https://developer.pingidentity.com/pingone-api/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
section_ids:
  modules-data-model: Modules data model
  event-types: Event types
  response-codes: Response codes
---

# Modules

Authorization modules are divisions of a PingOne Authorize environment, each with their own Trust Framework definitions, policies, and version history. Use these endpoints to create, read, update, and delete custom authorization modules.

Each environment contains one `Default` module that is bootstrapped by the system and cannot be deleted. Custom modules are limited to 100 per environment, and API Service modules are limited to 100 per environment.

Each module is limited to 100 tagged versions and 500 total versions. Attempting to create a tagged version after the 100-tag limit is reached returns an error. New versions created after the 500-version limit is reached result in the oldest version being removed.

|   |                                                                                                                                                                                                                                                                                                                                                                                        |
| - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | PingOne Authorize automatically creates an `API Access Management` module when you create an API service. This module shares the Trust Framework of the `Default` module, including attributes, services, processors, and conditions, but maintains a separate space for policies. For more information, refer to [API services](../../api-access-management/api-services/index.html). |

For more information about modules, refer to [Modules](https://docs.pingidentity.com/pingone/authorization_using_pingone_authorize/p1az_modules.html) in the PingOne Cloud Platform Administrator Guide.

## Modules data model

| Property      | Type   | Required | Mutable   | Description                                                                                                                    |
| ------------- | ------ | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `id`          | UUID   | N/A      | Immutable | The authorization module's unique identifier. For API Access Management modules, this value is the same as the API Service ID. |
| `description` | String | Optional | Mutable   | The authorization module's description.                                                                                        |
| `name`        | String | Required | Mutable   | The name of the authorization module. Must be a unique value.                                                                  |
| `type`        | String | N/A      | Read-only | The type of authorization module. This value is always present. Options are `Custom`, `System`, and `API Access Management`.   |

## Event types

The audit reporting events applicable to the authorization modules service are:

| Topic               | Event                      |
| ------------------- | -------------------------- |
| `authorize-modules` | `AUTHORIZE_MODULE.CREATED` |
| `authorize-modules` | `AUTHORIZE_MODULE.UPDATED` |
| `authorize-modules` | `AUTHORIZE_MODULE.DELETED` |

## Response codes

| Code | Message                                                               |
| ---- | --------------------------------------------------------------------- |
| 200  | Successful operation.                                                 |
| 201  | Successfully created.                                                 |
| 204  | Successfully removed. No content.                                     |
| 400  | The request could not be completed.                                   |
| 401  | You do not have access to this resource.                              |
| 403  | You do not have permissions or are not licensed to make this request. |
| 404  | The requested resource was not found.                                 |
| 409  | The request could not be completed.                                   |
