{"info":{"_postman_id":"3e72ea1c-e8a8-4271-85b8-7061c941734c","name":"authcell","description":"<html><head></head><body><p>AuthCell is a self-hosted, developer-friendly API key management service.<br>Easily manage, verify, audit, and revoke API keys for any stack.<br>Runs securely in your environment—no cloud dependencies, no vendor lock-in.</p>\n<ul>\n<li><p>Create and issue secure API keys</p>\n</li>\n<li><p>Verify API keys with bcrypt-based security</p>\n</li>\n<li><p>Track usage and full audit events</p>\n</li>\n<li><p>Simple RESTful endpoints (Create, Verify, Revoke, Audit, Usage)</p>\n</li>\n<li><p>Instant Docker Compose deployment</p>\n</li>\n<li><p>Works out of the box with PostgreSQL</p>\n</li>\n</ul>\n<p><strong>GitHub:</strong> <a href=\"https://github.com/TheLabvent/authcell\">https://github.com/TheLabvent/authcell</a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"28328727","collectionId":"3e72ea1c-e8a8-4271-85b8-7061c941734c","publishedId":"2sB3QQJnT4","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-10-18T22:44:35.000Z"},"item":[{"name":"Health check","id":"1c780de7-3dce-4574-9c45-85066eb5fc55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"/v1/health","urlObject":{"path":["v1","health"],"host":[""],"query":[],"variable":[]}},"response":[],"_postman_id":"1c780de7-3dce-4574-9c45-85066eb5fc55"},{"name":"Create API Key","id":"be11f7c6-14f0-4a50-9d05-a726046306fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"key_prefix\": \"demo_\",\n    \"expires_at\": \"2025-12-31T23:59:59Z\",\n    \"rate_limit\": 1000\n  }","options":{"raw":{"language":"json"}}},"url":"/v1/keys","description":"<p>Generated from cURL: curl -X POST <a href=\"http://localhost:8080/v1/keys\">http://localhost:8080/v1/keys</a> <br />  -H \"Content-Type: application/json\" <br />  -d '{\n    \"key_prefix\": \"demo_\",\n    \"expires_at\": \"2025-12-31T23:59:59Z\",\n    \"rate_limit\": 1000\n  }'</p>\n","urlObject":{"path":["v1","keys"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"0a7b880b-06b6-48c5-9be5-fa3fd9f17533","name":"API key create success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"key_prefix\": \"demo_\",\n    \"expires_at\": \"2025-12-31T23:59:59Z\",\n    \"rate_limit\": 1000\n  }","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/v1/keys"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"authcell"},{"key":"Date","value":"Sat, 18 Oct 2025 20:04:31 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"94"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"code\": 201,\n    \"data\": {\n        \"api_key\": \"demo_958b8594_5f3a3a70-c8a3-4127-924b-6134e67c4da8\",\n        \"id\": \"435f7127-448f-43a0-891d-4b6bbc8d544b\",\n        \"key_id\": \"958b8594\"\n    },\n    \"timestamp\": 1760824721\n}"}],"_postman_id":"be11f7c6-14f0-4a50-9d05-a726046306fa"},{"name":"Get API Key Metadata","id":"0b22ebe0-c0cd-44b4-b2e3-c48d7be0807e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"/v1/keys/<KEY_ID>","description":"<p>Generated from cURL: curl -X GET <a href=\"http://localhost:8080/v1/keys/\">http://localhost:8080/v1/keys/</a></p>\n","urlObject":{"path":["v1","keys","<KEY_ID>"],"host":[""],"query":[],"variable":[]}},"response":[],"_postman_id":"0b22ebe0-c0cd-44b4-b2e3-c48d7be0807e"},{"name":"Verify API Key","id":"49b13343-a931-4c6a-b462-805ea2671eab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"api_key\": \"demo_cb3a4b89_ae47eec3-c369-490e-9d9f-da2e41ae0d1f\"\n}","options":{"raw":{"language":"json"}}},"url":"/v1/keys/verify","description":"<p>Generated from cURL: curl -X POST <a href=\"http://localhost:8080/v1/keys/verify\">http://localhost:8080/v1/keys/verify</a> <br />  -H \"Content-Type: application/json\" <br />  -d '{\n    \"api_key\": \"6ea2cd58-95cb-4b2f-b6e3-090269b7fdfa\"\n  }'</p>\n","urlObject":{"path":["v1","keys","verify"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"ebf992cd-5041-4f44-a1a4-8ea31bfcb525","name":"Invalid key","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"api_key\": \"6ea2cd58-95cb-4b2f-b6e3-090269b7fdfa\"\n  }","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/v1/keys/verify"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"authcell"},{"key":"Date","value":"Sat, 18 Oct 2025 20:06:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"39"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"code\": 401,\n    \"message\": \"Invalid API key\",\n    \"timestamp\": 1760823525\n}"},{"id":"3bf0f423-5835-4c02-90c6-ea53e0be9d82","name":"Expired or Inactive key","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"api_key\": \"demo_2ab4d5d4-561e-47bf-a2e0-0d164d555b39\"\n}","options":{"raw":{"language":"json"}}},"url":"/v1/keys/verify"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"authcell"},{"key":"Date","value":"Sat, 18 Oct 2025 20:22:47 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"45"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"code\": 401,\n    \"message\": \"API key expired or inactive\",\n    \"timestamp\": 1760823513\n}"}],"_postman_id":"49b13343-a931-4c6a-b462-805ea2671eab"},{"name":"Revoke API Key","id":"a5000461-fd61-4fc5-ae4f-b4fd1325158a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:8080/v1/keys/<KEY_ID>","description":"<p>Generated from cURL: curl -X DELETE <a href=\"http://localhost:8080/v1/keys/\">http://localhost:8080/v1/keys/</a></p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","keys","<KEY_ID>"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f5ea2d2c-8aae-4da5-bd9a-faf111f175e9","name":"Revoked","originalRequest":{"method":"DELETE","header":[],"url":"http://localhost:8080/v1/keys/f05e12b8-ce63-4d2f-9b55-540a0a8f1917"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"authcell"},{"key":"Date","value":"Sat, 18 Oct 2025 20:43:35 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"20"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"revoked\"\n}"}],"_postman_id":"a5000461-fd61-4fc5-ae4f-b4fd1325158a"},{"name":"List Usage for a Key","id":"d3d529a8-ddc7-421b-88d0-fdad671b14b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/v1/usage/04303368-fd23-48eb-9f5b-2f59e5db6e7a","description":"<p>Generated from cURL: curl -X GET <a href=\"http://localhost:8080/v1/usage/\">http://localhost:8080/v1/usage/</a></p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","usage","04303368-fd23-48eb-9f5b-2f59e5db6e7a"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d3d529a8-ddc7-421b-88d0-fdad671b14b1"},{"name":"List Audit Log","id":"3ad5d711-dc85-436e-adc2-5473e2171c32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/v1/audit","description":"<p>Generated from cURL: curl -X GET <a href=\"http://localhost:8080/v1/audit\">http://localhost:8080/v1/audit</a></p>\n","urlObject":{"protocol":"http","port":"8080","path":["v1","audit"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"1102ab27-0459-48cf-b0ee-7c736f728035","name":"Audit logs","originalRequest":{"method":"GET","header":[],"url":"http://localhost:8080/v1/audit"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"authcell"},{"key":"Date","value":"Sat, 18 Oct 2025 21:41:57 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1130"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"code\": 200,\n    \"data\": [\n        {\n            \"id\": 16,\n            \"actor_id\": \"252e8630-7e48-4cd6-90ae-a2c2fd38f7c1\",\n            \"actor_type\": \"system\",\n            \"event_type\": \"create_key\",\n            \"event_data\": {\n                \"key_id\": \"857e73e5-c368-4dff-9b2e-655ea68e530c\",\n                \"prefix\": \"demo_\"\n            },\n            \"event_time\": \"2025-10-19T01:39:01.343873+04:00\",\n            \"remote_ip\": \"127.0.0.1\"\n        },\n        {\n            \"id\": 15,\n            \"actor_id\": \"19e9c0aa-bbb0-4d40-ad88-dde1a50a1510\",\n            \"actor_type\": \"system\",\n            \"event_type\": \"revoke_key\",\n            \"event_data\": {\n                \"key_id\": \"f05e12b8-ce63-4d2f-9b55-540a0a8f1917\"\n            },\n            \"event_time\": \"2025-10-19T00:43:36.030065+04:00\",\n            \"remote_ip\": \"127.0.0.1\"\n        },\n        {\n            \"id\": 14,\n            \"actor_id\": \"64768cdd-cd7e-4bd6-b56c-a6fc66530490\",\n            \"actor_type\": \"api\",\n            \"event_type\": \"verify_key\",\n            \"event_data\": {\n                \"valid\": true,\n                \"key_id\": \"f05e12b8-ce63-4d2f-9b55-540a0a8f1917\",\n                \"endpoint\": \"/v1/keys/verify\"\n            },\n            \"event_time\": \"2025-10-19T00:41:13.562532+04:00\",\n            \"remote_ip\": \"127.0.0.1\"\n        },\n        {\n            \"id\": 13,\n            \"actor_id\": \"7d15bde6-dc74-4de7-b504-484c225d94a8\",\n            \"actor_type\": \"api\",\n            \"event_type\": \"verify_key\",\n            \"event_data\": {\n                \"valid\": true,\n                \"key_id\": \"f05e12b8-ce63-4d2f-9b55-540a0a8f1917\",\n                \"endpoint\": \"/v1/keys/verify\"\n            },\n            \"event_time\": \"2025-10-19T00:41:12.711471+04:00\",\n            \"remote_ip\": \"127.0.0.1\"\n        }\n    ],\n    \"timestamp\": 1760823717\n}"}],"_postman_id":"3ad5d711-dc85-436e-adc2-5473e2171c32"}],"variable":[{"key":"BASE_URL","value":"","type":"default"}]}