Right now, only OAuth2 authentication is supported. It's the most common, and current gold standard for security best practices. Also most APIs use it. That said, I have no beef with all the APIs out there using something else, so feel free to open a ticket if you want something else supported. 🎟
You can also always manually set headers.
As long as you have python 3.7 or higher (I recommend using pyenv), just:
pip install api-buddy
First, specify the API you're exploring in your preferences
# ~/.api-buddy.yaml
api_url: https://some.api.com
Then it's as easy as:
api get some-endpoint
=> 200
{
"look": "I haz data",
"thx": "API Buddy"
}
HTTP Method defaults to get
:
api this-endpoint # same as first example
You can add query params in key=val format:
api get \
my/favorite/endpoint \
first_name=cosmo \
last_name=kramer
You can also add request body data in JSON format:
api post \
some-endpoint \
'{"id": 1, "field": "value"}'
🤔 Note the single-quotes. You can expand this accross multiple lines:
api post \
some-endpoint \
'{
"id": 1,
"field": "value"
}'
http_method
: (optional, default=get
) The HTTP method to use in your request.- It should be one of:
get
post
patch
put
delete
- It should be one of:
endpoint
: (required) The relative path to an API endpoint.- AKA you don't need to type the base api url again here.
params
: (optional) A list ofkey=val
query paramsdata
: (optional) A JSON string of requets body data.- You can't use this with
get
because HTTP.
- You can't use this with
-h
,--help
: Show the help message-v
,--version
: Show the installed version
Requires:
Steps to start working:
- Build and create the local venv with
bin/setup
- Make sure everything works with
bin/test
- Try the local cli with
poetry run api --help
- Find other management commands with
bin/list