{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/api-reference/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["api-container","api-content","endpoint","api-examples","tabs","tab","code-group"]},"redocly_category":"API Reference","searchWeight":120,"type":"markdown"},"seo":{"title":"Approve or dismiss vocabulary suggestions in bulk","description":"Complete API reference and documentation for Freddy AI-powered backend system by Aitronos","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"approve-or-dismiss-vocabulary-suggestions-in-bulk","__idx":0},"children":["Approve or dismiss vocabulary suggestions in bulk"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Approve or dismiss up to 100 suggestions. Each one is decided on its own and reported; one that cannot be decided never stops the others. Approvals need edit rights on the list. Needs the right to manage the team vocabulary."]},{"$$mdtype":"Tag","name":"ApiContainer","attributes":{},"children":[{"$$mdtype":"Tag","name":"ApiContent","attributes":{},"children":[{"$$mdtype":"Tag","name":"Endpoint","attributes":{"method":"POST","path":"https://api.aitronos.com/v1/vocabulary/suggestions/bulk"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"request-body","__idx":1},"children":["Request Body"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ids"]}]}," array of strings ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#ef4444 !important","fontWeight":"600 !important","fontStyle":"normal !important"}},"children":["required"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["1 to 100 suggestion IDs."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action"]}]}," string ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#ef4444 !important","fontWeight":"600 !important","fontStyle":"normal !important"}},"children":["required"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["approve"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dismiss"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["list_id"]}]}," string ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#9ca3af !important","fontWeight":"500 !important","fontStyle":"normal !important"}},"children":["optional"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["approve"]},": the list to write into; null for the organization's target list."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"returns","__idx":2},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["results"]}]}," array"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["One result per distinct ID, in the order given: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["approved"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dismissed"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["skipped"]},"), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reason"]}," when skipped (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["not_found"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["already_decided"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["duplicate"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["invalid"]},") and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["entry_id"]},", the entry an approval wrote."]}]},{"$$mdtype":"Tag","name":"ApiExamples","attributes":{},"children":[{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Example","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeGroup","attributes":{"mode":"dropdown"},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","data-title":"cURL","header":{"title":"cURL","controls":{"copy":{}}},"source":"curl -X POST \"https://api.aitronos.com/v1/vocabulary/suggestions/bulk\" \\\n  -H \"X-API-Key: $FREDDY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"ids\": [\"vsug_4e8b2d6f1a3c5097\", \"vsug_9d1f3b5a7c2e4068\"], \"action\": \"approve\"}'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","data-title":"Python","header":{"title":"Python","controls":{"copy":{}}},"source":"import os\nimport requests\n\napi_key = os.environ[\"FREDDY_API_KEY\"]\n\nresponse = requests.post(\n    \"https://api.aitronos.com/v1/vocabulary/suggestions/bulk\",\n    headers={\"X-API-Key\": api_key},\n    json={\"ids\": [\"vsug_4e8b2d6f1a3c5097\", \"vsug_9d1f3b5a7c2e4068\"], \"action\": \"approve\"},\n)\n\nprint(response.json())\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","data-title":"JavaScript","header":{"title":"JavaScript","controls":{"copy":{}}},"source":"const apiKey = process.env.FREDDY_API_KEY;\n\nconst response = await fetch('https://api.aitronos.com/v1/vocabulary/suggestions/bulk', {\n  method: 'POST',\n  headers: {\n    'X-API-Key': apiKey,\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\"ids\": [\"vsug_4e8b2d6f1a3c5097\", \"vsug_9d1f3b5a7c2e4068\"], \"action\": \"approve\"})\n});\n\nconst data = await response.json();\nconsole.log(data);\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","data-title":"200 OK","header":{"title":"200 OK","controls":{"copy":{}}},"source":"{\n  \"results\": [\n    {\n      \"id\": \"vsug_4e8b2d6f1a3c5097\",\n      \"status\": \"approved\",\n      \"reason\": null,\n      \"entry_id\": \"tdict_5a9c2e7b1d3f4068\"\n    },\n    {\n      \"id\": \"vsug_9d1f3b5a7c2e4068\",\n      \"status\": \"skipped\",\n      \"reason\": \"already_decided\",\n      \"entry_id\": null\n    }\n  ]\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Errors","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","data-title":"401 Unauthorized","header":{"title":"401 Unauthorized","controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Authentication required. Please provide a valid API key.\",\n    \"system_message\": \"Missing or invalid authorization header\",\n    \"type\": \"authentication_error\",\n    \"status\": 401,\n    \"details\": {},\n    \"trace_id\": \"req_7d1e4b9a2c\",\n    \"timestamp\": \"2026-10-26T09:30:00Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","data-title":"403 Forbidden","header":{"title":"403 Forbidden","controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_PERMISSIONS\",\n    \"message\": \"You do not have permission to perform this action.\",\n    \"system_message\": \"Caller lacks the rights this operation needs.\",\n    \"type\": \"authorization_error\",\n    \"status\": 403,\n    \"details\": {},\n    \"trace_id\": \"req_7d1e4b9a2c\",\n    \"timestamp\": \"2026-10-26T09:30:00Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","data-title":"422 Unprocessable Entity","header":{"title":"422 Unprocessable Entity","controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The request is not valid.\",\n    \"system_message\": \"Request validation failed.\",\n    \"type\": \"validation_error\",\n    \"status\": 422,\n    \"details\": {\n      \"field\": \"ids\"\n    },\n    \"trace_id\": \"req_7d1e4b9a2c\",\n    \"timestamp\": \"2026-10-26T09:30:00Z\"\n  }\n}\n","lang":"json"},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-resources","__idx":3},"children":["Related Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/vocabulary/approve-a-vocabulary-suggestion"},"children":["Approve a vocabulary suggestion"]}," — Approve one, choosing how it is written."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/vocabulary/_index"},"children":["Vocabulary API"]}," — Overview of lists, entries and settings."]}]}]},"headings":[{"value":"Approve or dismiss vocabulary suggestions in bulk","id":"approve-or-dismiss-vocabulary-suggestions-in-bulk","depth":1},{"value":"Request Body","id":"request-body","depth":4},{"value":"Returns","id":"returns","depth":2},{"value":"Related Resources","id":"related-resources","depth":2}],"frontmatter":{"title":"Approve or dismiss vocabulary suggestions in bulk","keywords":["approve or dismiss vocabulary suggestions in bulk","post","bulk","approve","dismiss","vocabulary","suggestions"],"seo":{"title":"Approve or dismiss vocabulary suggestions in bulk"}},"lastModified":"2026-10-26T18:31:40.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/api-reference/vocabulary/approve-or-dismiss-vocabulary-suggestions-in-bulk","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}