Every response is contained in an envelope. That is, each response has a predictable set of keys with which you can expect to interact:

{
    "meta": {
        "code": 200
    },
    "data": {}
}

meta

The meta key is used to communicate extra information about the response to the developer. If all goes well, you'll only ever see a code key with a value of 200. However, sometimes things go wrong, and in that case, you might see a response like:

{
    "meta": {
        "code": 401,
        "message": "Invalid API Key.",
        "type": "Unauthorized"
    },
    "data": {}
}

data

The data key is the meat of the response. It may be a list of results, but either way, this is where you'll find the data you requested.

Here is the example for GET /couriers

{
    "meta": {
        "code": 200
    },
    "data": {
        "couriers": [
            {
                ...
            },
            {
                ...
            },
            {
                ...
            }
        ]
    }
}