# VoiceMeUp Developer API Guide - for external LLMs and API integrators > **Audience:** External automated tools, LLMs, and third-party developers integrating with the VoiceMeUp API. See also [/agents.txt](https://developer.voicemeup.com/agents.txt) for the external agent entry point to this documentation site. Interactive documentation for the VoiceMeUp Developer API (HTTP XML/JSON API for telecommunications services). This site is the primary reference for request types, parameters, response formats, and examples. Sample response bodies are **not** included in simplified HTML or markdown scrapes of the guide page; use the machine-readable resources below instead. The Introduction section of the guide also includes a short visible note (`#guide_agent_resources`) with the same links for tools that read rendered page text. ## Guide - [Developer API Guide](https://developer.voicemeup.com/): Full interactive documentation (table of contents, parameter tables, collapsible samples) ## Machine-readable resources - [Sample manifest](https://developer.voicemeup.com/api_guide/samples/manifest.json): JSON index of every sample file (`entries` with guide context and labels; `files` with direct URLs; `"dynamic": true`) - Sample files: `https://developer.voicemeup.com/api_guide/samples/{path}` - plain XML, JSON, or cURL files (GET without JavaScript) - Legacy HTML (deprecated): `https://developer.voicemeup.com/guides/xml_engine.html` The guide HTML `` links to the sample manifest and this file via ``. A small JSON metadata block (`#guide-agent-metadata`) is also present in the page source. ## API integration notes - **Authentication:** Prefer `Authorization: Bearer ` over passing `auth_token` in the query string or form body. - **Response format:** Prefer JSON endpoints (`/api/v1.1/json/{request_type}` on your client portal host). - **Request parameters:** For non-trivial payloads, use **POST** with `Content-Type: application/json` and a JSON body. - **GET limitations:** GET does not work when files must be uploaded (multipart), when parameters need awkward query encoding, or when the URL would be too long - use POST instead. - **Permissions:** Call `get_request_types` first to see which request types return `permission="allowed"` for the authenticated user. - **Rate limits:** Soft and hard hourly limits apply; see the Limitation section in Getting Started. ## cURL examples Getting Started includes cURL samples (also listed in the manifest): - `getting_started/curl-bearer-get.curl` - GET with Bearer token (preferred) - `getting_started/curl-query-auth-get.curl` - GET with query `auth_token` (legacy) - `getting_started/curl-bearer-json-post.curl` - POST with JSON body (recommended) - `getting_started/curl-multipart-post.curl` - POST with file upload