# ApexLink ApexLink is a powerful command-line interface tool designed to streamline the interaction with RESTful and GraphQL APIs. It enables developers to define, store, and execute complex HTTP requests with templated parameters and dynamic variable substitution directly from the terminal. The tool offers features like intelligent JSON/XML response pretty-printing, automatic authentication handling, and the ability to chain requests for sophisticated workflows. Its primary goal is to provide a rapid, efficient environment for API testing, debugging, and development, significantly reducing the manual overhead and context switching involved in working with web services. ## Usage To use ApexLink, run the `main.py` script with the desired arguments. ### Basic Request ```bash python src/apexlink/main.py ``` Example: ```bash python src/apexlink/main.py https://api.example.com/data ``` ### Specifying HTTP Method Use the `-m` or `--method` flag to specify the HTTP method. ```bash python src/apexlink/main.py -m POST https://api.example.com/submit ``` ### Adding Headers Use the `-H` or `--header` flag to add custom headers. Can be used multiple times. ```bash python src/apexlink/main.py -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com/protected ``` ### Sending Data (POST/PUT) Use the `-d` or `--data` flag for raw request body data, or `-j` or `--json` for JSON data. ```bash python src/apexlink/main.py -m POST -d "key=value" https://api.example.com/form python src/apexlink/main.py -m POST -j '{"name": "ApexLink"}' https://api.example.com/json_data ``` ### Authentication Use the `-a` or `--auth` flag for authentication. Supported formats: * **Basic Auth**: `basic:username:password` * **API Key Header**: `apikey:Header-Name:your_api_key` ```bash python src/apexlink/main.py -a "basic:myuser:mypass" https://api.example.com/basic_auth python src/apexlink/main.py -a "apikey:X-API-Key:YOUR_API_KEY" https://api.example.com/api_key_protected ```