user-1: Copied the body part from https://bitcoincore.org/en/doc/0.21.0/rpc/wallet/addmultisigaddress/ and replaced addresses with 2 new addresses (regtest):
POST / HTTP/1.1
Host: localhost:18333
Authorization: Basic YmFzZTY0dXNlcjpiYXNlNjRwYXNz
Content-Type: text/plain
Content-Length: 186

{"jsonrpc": "1.0", "id": "curltest", "method": "addmultisigaddress", "params": [2, "[\"bcrt1qvtp07jfnk5wcslr6xjmntnkxchzt7j2rzswnqn\",\"bcrt1qzwpuwrykaacx7057tnafyrd4nnfecc602gptca\"]"]}

Error:
{
    "result": null,
    "error": {
        "code": -1,
        "message": "JSON value is not an array as expected"
    },
    "id": "curltest"
}


user-1: I was doing 2 things wrong:

backslash \ is used in shell
Extra quotes had to be removed

Thanks Pieter Wuille for the help.
Below request works fine:
POST / HTTP/1.1
Host: localhost:18333
Authorization: Basic YmFzZTY0dXNlcjpiYXNlNjRwYXNz
Content-Type: text/plain
Content-Length: 180

{"jsonrpc": "1.0", "id": "curltest", "method": "addmultisigaddress", "params": [2, ["bcrt1qvtp07jfnk5wcslr6xjmntnkxchzt7j2rzswnqn","bcrt1qzwpuwrykaacx7057tnafyrd4nnfecc602gptca"]]}

Response:
{
    "result": {
        "address": "bcrt1q5pza3z8vmt29xv2kyw9nvd30t0sgrfnzv55s6g9q22df4pkqp65qtuf0nn",
        "redeemScript": "5221024b72aac0b3a6dab576b344fa36384d39e95c0bc05f4e6ddf6567b581c50031712103e38d84ad58ddc696ee67e08ebec0df5931ce729fdd234acb50a2ed6785a9badc52ae",
        "descriptor": "wsh(multi(2,[7aabbdcc/0'/0'/16']024b72aac0b3a6dab576b344fa36384d39e95c0bc05f4e6ddf6567b581c5003171,[7aabbdcc/0'/0'/17']03e38d84ad58ddc696ee67e08ebec0df5931ce729fdd234acb50a2ed6785a9badc))#yg7pyr0r"
    },
    "error": null,
    "id": "curltest"
}


-1: <p>Copied the body part from <a href="https://bitcoincore.org/en/doc/0.21.0/rpc/wallet/addmultisigaddress/" rel="nofollow noreferrer">https://bitcoincore.org/en/doc/0.21.0/rpc/wallet/addmultisigaddress/</a> and replaced addresses with 2 new addresses (regtest):</p>
<pre><code>POST / HTTP/1.1
Host: localhost:18333
Authorization: Basic YmFzZTY0dXNlcjpiYXNlNjRwYXNz
Content-Type: text/plain
Content-Length: 186

{&quot;jsonrpc&quot;: &quot;1.0&quot;, &quot;id&quot;: &quot;curltest&quot;, &quot;method&quot;: &quot;addmultisigaddress&quot;, &quot;params&quot;: [2, &quot;[\&quot;bcrt1qvtp07jfnk5wcslr6xjmntnkxchzt7j2rzswnqn\&quot;,\&quot;bcrt1qzwpuwrykaacx7057tnafyrd4nnfecc602gptca\&quot;]&quot;]}
</code></pre>
<p>Error:</p>
<pre><code>{
    &quot;result&quot;: null,
    &quot;error&quot;: {
        &quot;code&quot;: -1,
        &quot;message&quot;: &quot;JSON value is not an array as expected&quot;
    },
    &quot;id&quot;: &quot;curltest&quot;
}
</code></pre>
 -1: <p>I was doing 2 things wrong:</p>
<ol>
<li>backslash <code>\</code> is used in <a href="https://unix.stackexchange.com/questions/398646/why-is-a-single-backslash-shown-when-using-quotes">shell</a></li>
<li>Extra quotes had to be removed</li>
</ol>
<p>Thanks Pieter Wuille for the help.</p>
<p>Below request works fine:</p>
<pre><code>POST / HTTP/1.1
Host: localhost:18333
Authorization: Basic YmFzZTY0dXNlcjpiYXNlNjRwYXNz
Content-Type: text/plain
Content-Length: 180

{&quot;jsonrpc&quot;: &quot;1.0&quot;, &quot;id&quot;: &quot;curltest&quot;, &quot;method&quot;: &quot;addmultisigaddress&quot;, &quot;params&quot;: [2, [&quot;bcrt1qvtp07jfnk5wcslr6xjmntnkxchzt7j2rzswnqn&quot;,&quot;bcrt1qzwpuwrykaacx7057tnafyrd4nnfecc602gptca&quot;]]}
</code></pre>
<p>Response:</p>
<pre><code>{
    &quot;result&quot;: {
        &quot;address&quot;: &quot;bcrt1q5pza3z8vmt29xv2kyw9nvd30t0sgrfnzv55s6g9q22df4pkqp65qtuf0nn&quot;,
        &quot;redeemScript&quot;: &quot;5221024b72aac0b3a6dab576b344fa36384d39e95c0bc05f4e6ddf6567b581c50031712103e38d84ad58ddc696ee67e08ebec0df5931ce729fdd234acb50a2ed6785a9badc52ae&quot;,
        &quot;descriptor&quot;: &quot;wsh(multi(2,[7aabbdcc/0'/0'/16']024b72aac0b3a6dab576b344fa36384d39e95c0bc05f4e6ddf6567b581c5003171,[7aabbdcc/0'/0'/17']03e38d84ad58ddc696ee67e08ebec0df5931ce729fdd234acb50a2ed6785a9badc))#yg7pyr0r&quot;
    },
    &quot;error&quot;: null,
    &quot;id&quot;: &quot;curltest&quot;
}
</code></pre>
