# (NEW!) List Security Templates (Paginated) Retrieve an offset-paginated list of security, rights, or access templates for the authenticated customer. Each row is a lightweight summary — group and permission counts, not group contents — suited to an admin browse/list screen. Defaults: - type defaults to security-template. - from defaults to 0. - limit defaults to 100. - sortField defaults to templateName. - order defaults to asc. Business Rules: - searchTerm is trimmed and, when non-empty, matched as a case-insensitive substring against template name. It is trimmed before use, so a blank or whitespace-only value is treated as if omitted. Literal % and _ are treated as text, not SQL wildcards. - Results are ordered by the requested sortField/order. Template id is used as a deterministic secondary sort field, using the same order as the primary sort field. - groupCount and permissionCount are returned as first-class fields without returning the underlying group or permission objects. The user submitting the request must have the Security Template Management admin privilege. Endpoint: GET /security/templates Version: 1.5 Security: ApiKeyAuth, BasicAuth ## Header parameters: - `X-API-Key` (string, required) Customer-specific API key required to invoke API. - `Authorization` (string, required) Provided by Authentication Token creation operation. ## Query parameters: - `searchTerm` (string) Case-insensitive substring match against template name. Trimmed before use — a blank or whitespace-only value is treated as if omitted. Literal % and _ are treated as text, not SQL wildcards. Omitted returns all templates of the requested type. Example: "confidential" - `type` (string) Template classification to list. Defaults to security-template. Enum: "security-template", "rights-template", "access-template" - `from` (integer) Result offset from which to start. Defaults to 0. - `limit` (integer) Number of results to return per page. Defaults to 100. Example: 100 - `sortField` (string) Field to sort results by. Defaults to templateName. Enum: "templateName", "groupCount", "permissionCount", "createdEpoch", "lastUpdatedEpoch" - `order` (string) Sort direction. Defaults to asc. Enum: "asc", "desc" ## Response 200 fields (application/json): - `templates` (array) Templates on this page. - `templates.id` (string) Unique ID of the template. Example: "a9380047-07d7-48aa-b4b7-474d00f0f428" - `templates.name` (string) Display name of the template. Example: "Confidential" - `templates.type` (string) Enum: "security-template", "rights-template", "access-template" - `templates.groupCount` (integer) Total number of groups on the template. Example: 34 - `templates.permissionCount` (integer) Total number of permissions granted across all groups, including the watermark permission. Example: 12 - `templates.createdBy` (string) User ID of the template's creator. Example: "dc63db1b-1e63-43bc-877e-418931b6895c" - `templates.createdEpoch` (integer) Unix timestamp (ms) of creation. Example: 1773070355217 - `templates.createdDate` (string) ISO 8601 creation date. Example: "2026-03-11T14:32:35Z" - `templates.lastUpdatedBy` (string) User ID of the user who last updated the template. Example: "dc63db1b-1e63-43bc-877e-418931b6895c" - `templates.lastUpdatedEpoch` (integer) Unix timestamp (ms) of the last update. Example: 1773070399999 - `templates.lastUpdatedDate` (string) ISO 8601 last updated date. Example: "2026-03-11T15:00:00Z" - `pageInfo` (object) - `pageInfo.from` (integer) Offset of the first result on this page. - `pageInfo.limit` (integer) Maximum number of results requested per page. Example: 100 - `pageInfo.totalCount` (integer) Total number of templates matching the query. Example: 120 - `pageInfo.hasNextPage` (boolean) Whether more templates exist beyond this page. Example: true ## Response 400 fields (application/json): - `message` (string) - `detail` (string) ## Response 401 fields (application/json): - `message` (string) - `detail` (string) ## Response 403 fields (application/json): - `message` (string) - `detail` (string)