BoxLang 🚀 A New JVM Dynamic Language Learn More...
Apiman is a curl-like application that can be executed from the commandbox commandline.
box install commandbox-apiman
apiman <verb> <url>
Supported commandline flags
❯ apiman get https://jsonplaceholder.typicode.com/todos/1
{
    "userId":1,
    "id":1,
    "title":"delectus aut autem",
    "completed":false
}
If you need to pass query parameters you can either wrap the url in
quotes to pass the query string or you may use the query
paraameter to pass a list of semicolon seperated parameters.
❯ apiman get "https://jsonplaceholder.typicode.com/comments?postId=1"
Can also be expressed as:
❯ apiman get -q "postId=1" https://jsonplaceholder.typicode.com/comments
[
    {
        "postId":1,
        "id":1,
        "name":"id labore ex et quam laborum",
        "email":"[email protected]",
        "body":"laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium"
    },
    {
        "postId":1,
        "id":2,
        "name":"quo vero reiciendis velit similique earum",
        "email":"[email protected]",
        "body":"est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et"
    },
    {
        "postId":1,
        "id":3,
        "name":"odio adipisci rerum aut animi",
        "email":"[email protected]",
        "body":"quia molestiae reprehenderit quasi aspernatur\naut expedita occaecati aliquam eveniet laudantium\nomnis quibusdam delectus saepe quia accusamus maiores nam est\ncum et ducimus et vero voluptates excepturi deleniti ratione"
    },
    {
        "postId":1,
        "id":4,
        "name":"alias odio sit",
        "email":"[email protected]",
        "body":"non et atque\noccaecati deserunt quas accusantium unde odit nobis qui voluptatem\nquia voluptas consequuntur itaque dolor\net qui rerum deleniti ut occaecati"
    },
    {
        "postId":1,
        "id":5,
        "name":"vero eaque aliquid doloribus et culpa",
        "email":"[email protected]",
        "body":"harum non quasi et ratione\ntempore iure ex voluptates in ratione\nharum architecto fugit inventore cupiditate\nvoluptates magni quo et"
    }
]
❯ apiman post http://localhost:8000/ui/auth/login -h
    "Content-Type=application/json" -d '{username :
    "admin", password : "commandbox" }'
{
    "data":{
        "isIdentified":true,
        "user":"admin"
    },
    "error":false,
    "pagination":{
        "totalPages":1,
        "maxRows":0,
        "offset":0,
        "page":1,
        "totalRecords":0
    },
    "messages":[]
}
❯ apiman get https://api.stripe.com/v1/charges -u "YOUR_USERNAME_HERE"
{
  "object": "list",
  "count": 45,
  "data": [
    ...
  ]
}
								$ 
									box install commandbox-apiman