{ "opencollection": "1.0.0", "info": { "name": "ALTR Classification Engine Classifiers API", "version": "1.1.0" }, "request": { "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "items": [ { "info": { "name": "Classifiers", "type": "folder" }, "items": [ { "info": { "name": "List classifiers", "type": "http" }, "http": { "method": "GET", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers", "params": [ { "name": "limit", "value": "100", "type": "query", "description": "Number of items to return (default: 100, max: 100)" }, { "name": "contiguous_id", "value": "eyJQSyI6eyJTIjoiT1JHSUQjMTIzNDU2Nzg5MCJ9fQ", "type": "query", "description": "Continuation token for pagination (returned in previous response)" }, { "name": "prefix", "value": "email", "type": "query", "description": "Prefix to filter classifier names (e.g., 'email' matches 'email_address', 'email_domain')" }, { "name": "order_by", "value": "name", "type": "query", "description": "Field to order by: 'name' (alphabetical) or 'collection_count' (number of collections using this classifier)" }, { "name": "sort_order", "value": "asc", "type": "query", "description": "Sort order: 'asc' (ascending) or 'desc' (descending)" }, { "name": "exclude_collection", "value": "pii_data", "type": "query", "description": "Exclude classifiers that belong to this collection (useful when adding classifiers to a collection)" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Retrieves a list of all classifiers with optional pagination, prefix filtering, and sorting. Use exclude_collection to filter out classifiers already assigned to a specific collection." }, { "info": { "name": "Create classifier", "type": "http" }, "http": { "method": "POST", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers", "body": { "type": "json", "data": "{}" }, "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Creates a new classifier. Pattern uses RE2 regex syntax. Classifier names starting with 'ALTR' are reserved. Sampling (sample_size, sample_type) is configured on the job, not the classifier.\n\nThree modes are supported:\n\n**Legacy (regex only)** — Provide a top-level `pattern` and `minimum_threshold`. No compound_ruleset needed.\n\n**Regex + metadata filter** — Same top-level pattern fields, plus a `compound_ruleset` with METADATA or COLUMN_LOCATION conditions to narrow matches.\n\n**Compound ruleset " }, { "info": { "name": "Get classifier by name", "type": "http" }, "http": { "method": "GET", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers/:classifier_name", "params": [ { "name": "classifier_name", "value": "email_address", "type": "path", "description": "Classifier name (URL-encoded if contains special characters)" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Retrieves a specific classifier by its name, including its pattern, thresholds, and associated collections." }, { "info": { "name": "Update classifier", "type": "http" }, "http": { "method": "PATCH", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers/:classifier_name", "params": [ { "name": "classifier_name", "value": "email_address", "type": "path", "description": "Classifier name (URL-encoded if contains special characters)" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Updates a classifier's properties using RESTful PATCH semantics.\n\n**PATCH semantics**: Omitted fields are **preserved** (not modified). Only fields explicitly\nincluded in the request body are updated. This allows partial updates without affecting other fields.\n\n**Clearing fields**: To explicitly clear a field, send it with an empty/null/zero value:\n- Clear `pattern`: send `\"pattern\": \"\"` or `\"pattern\": null`\n- Clear `compound_ruleset`: send `\"compound_ruleset\": {}` or `\"compound_ruleset\": null`\n" }, { "info": { "name": "Delete classifier", "type": "http" }, "http": { "method": "DELETE", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers/:classifier_name", "params": [ { "name": "classifier_name", "value": "email_address", "type": "path", "description": "Classifier name (URL-encoded if contains special characters)" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Soft deletes a classifier by its name. This will remove it from all collections and mark it as deleted. ALTR managed classifiers cannot be deleted." }, { "info": { "name": "Append collections to classifier", "type": "http" }, "http": { "method": "PATCH", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers/:classifier_name/collections/append", "params": [ { "name": "classifier_name", "value": "email_address", "type": "path", "description": "Classifier name (URL-encoded if contains special characters)" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Adds multiple collections to an existing classifier in a single atomic transaction. All collections must exist and not already be associated with this classifier. ALTR managed collections cannot be appended to classifiers." }, { "info": { "name": "Remove collections from classifier", "type": "http" }, "http": { "method": "PATCH", "url": "https://{orgID}.classification.live.altr.com/v1/classifiers/:classifier_name/collections/remove", "params": [ { "name": "classifier_name", "value": "email_address", "type": "path", "description": "Classifier name (URL-encoded if contains special characters)" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Removes multiple collections from an existing classifier in a single atomic transaction. All collections must be currently associated with this classifier. Collections with names starting with \"ALTR\" (such as the ALTR Managed collection) cannot be removed from any classifier." }, { "info": { "name": "List the org's tag vocabulary", "type": "http" }, "http": { "method": "GET", "url": "https://{orgID}.classification.live.altr.com/v1/tags", "params": [ { "name": "key", "value": "type", "type": "query", "description": "Exact-match filter on the tag key (the part before ':')" }, { "name": "prefix", "value": "type:s", "type": "query", "description": "Prefix filter on the full key:value tag string (typeahead)" }, { "name": "limit", "value": "100", "type": "query", "description": "Page size (default 100, max 500)" }, { "name": "contiguous_id", "value": "eyJsYXN0X3RhZyI6InR5cGU6c3NuIn0", "type": "query", "description": "Continuation token from the previous response (infinite-scroll pagination)" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Returns every distinct key:value tag currently in use across the org's classifiers — both condition tags (compound-ruleset nodes) and classifier attribute tags — so tag editors can offer pick-from-existing suggestions. Each entry carries the parsed key/value, the number of classifiers using the tag, and where it appears (condition, attributes, or both). Deleted classifiers are excluded; imported ALTR-managed classifiers are included." } ] } ], "bundled": true }