**Background**
The Block API currently assumes `$wgEnableMultiBlocks` is false, and provides no means to modify a specific block, and a means to //add// an additional block to a user.
For the Unblock API, see T378148.
**Acceptance criteria**
//Modifying an existing block://
* Accept a `blockid` parameter, which tells the backend to apply all other parameters to that specific block
* Providing //only// a block ID is acceptable; You should not have to also specify a username.
** If both a blockid and username are provided, and there's a mismatch, error out with a detailed message. This is because the API is used for automation, and there's no way to require "confirmation" as we can for T378140 and T378144.
//Adding a new block to a user://
* Accept a `newblock` boolean parameter, that tells the backend to apply all other parameters to a //new// block for the given user
//Possible new validations and errors..://
* What if you try to modify or add a block and the details are //identical// to an existing block? That should probably error out.