{"info":{"_postman_id":"6d31a9c7-ecae-49e2-b37a-3d6fe09480f6","name":"Askium External API","description":"Postman collection for Askium external API. Protected requests use a per-user private API key as a Bearer token. Result verification is public and does not use the API token.","schema":"https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiToken}}","type":"string"}]},"variable":[{"key":"baseUrl","value":"https:\/\/askium.org\/api"},{"key":"apiToken","value":"replace-with-private-api-key"},{"key":"formKey","value":"exam-api-001"},{"key":"linkKey","value":"link-abc123"},{"key":"resultKey","value":"res-8f2d1a"},{"key":"verificationKey","value":""}],"item":[{"name":"Invitation Links","item":[{"name":"Create Invitation Link","request":{"method":"POST","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n  \"first_name\": \"Ivan\",\n  \"last_name\": \"Petrov\",\n  \"email\": \"ivan.petrov@example.com\"\n}"},"url":{"raw":"{{baseUrl}}\/forms\/{{formKey}}\/invitation-links","host":["{{baseUrl}}"],"path":["forms","{{formKey}}","invitation-links"]},"description":"Creates a personal invitation link for the specified form."}},{"name":"Delete Invitation Link","request":{"method":"DELETE","url":{"raw":"{{baseUrl}}\/forms\/{{formKey}}\/invitation-links\/{{linkKey}}","host":["{{baseUrl}}"],"path":["forms","{{formKey}}","invitation-links","{{linkKey}}"]},"description":"Deletes an existing invitation link."}},{"name":"List Active Unused Invitation Links","request":{"method":"GET","url":{"raw":"{{baseUrl}}\/forms\/{{formKey}}\/invitation-links\/active","host":["{{baseUrl}}"],"path":["forms","{{formKey}}","invitation-links","active"]},"description":"Returns active invitation links that are not yet used."}}]},{"name":"Question Import","item":[{"name":"Import Questions","request":{"method":"POST","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n  \"difficulty\": \"medium\",\n  \"points_num\": 2,\n  \"questions\": [\n    {\n      \"question_short_title\": \"HTTP code\",\n      \"question\": \"Which status code means success?\",\n      \"options\": [\"200 OK\", \"301\", \"404\", \"500\"],\n      \"correct_index\": 0\n    },\n    {\n      \"question_short_title\": \"TCP port\",\n      \"question\": \"Which port is typically used by HTTPS?\",\n      \"options\": [\"21\", \"25\", \"80\", \"443\"],\n      \"correct_index\": 3\n    }\n  ]\n}"},"url":{"raw":"{{baseUrl}}\/forms\/{{formKey}}\/questions\/import","host":["{{baseUrl}}"],"path":["forms","{{formKey}}","questions","import"]},"description":"Imports questions into a quiz or exam form."}}]},{"name":"Result Verification","item":[{"name":"Issue Verification Key","request":{"method":"POST","url":{"raw":"{{baseUrl}}\/results\/{{resultKey}}\/verification-key","host":["{{baseUrl}}"],"path":["results","{{resultKey}}","verification-key"]},"description":"Issues a short-lived one-time verification key for a result."}},{"name":"Verify Result (Public)","request":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n  \"verification_key\": \"{{verificationKey}}\"\n}"},"url":{"raw":"{{baseUrl}}\/results\/verify","host":["{{baseUrl}}"],"path":["results","verify"]},"description":"Public endpoint. Verifies a result using the one-time verification key from the previous request."}}]}]}