# (NEW!) List Security Templates (Paginated) Retrieve a paginated, cursor-based 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. - limit defaults to 50. - includeInUse defaults to false. Business Rules: - Results are ordered by name. - inUse is included on each row only when includeInUse=true. It is an advisory hint for enabling or disabling a delete action on the list screen — the DELETE endpoint performs its own authoritative in-use check regardless of this value, so a value that goes stale between list load and delete click is harmless. 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: - `type` (string) Template classification to list. Defaults to security-template. Enum: "security-template", "rights-template", "access-template" - `limit` (integer) Number of results to return per page. Defaults to 50. Example: 50 - `cursor` (string) Opaque cursor for pagination. Omit on the first request. Use the nextCursor value from the previous response for subsequent pages. - `includeInUse` (boolean) When true, includes an inUse flag on each row indicating whether the template is currently referenced by at least one object. Defaults to false. ## 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" - `templates.inUse` (boolean) Whether the template is currently referenced by at least one object. Present only when includeInUse=true. Example: true - `pageInfo` (object) - `pageInfo.hasNextPage` (boolean) Whether more templates exist beyond this page. - `pageInfo.nextCursor` (string,null) Cursor for the next page. Null if no more pages. - `pageInfo.totalCount` (integer) Total number of templates matching the query. ## 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)