Revoke a token
--------------
Endpoint:
	https://auth.datasetu.org/auth/v1/token/revoke
Description:
	This API is used to revoke a valid access token.
Called by:
	A "data provider" or a "data consumer" with a valid class-3 or above certificate.
Methods:
	POST
Headers:
	content-type : "application/json"
Body in JSON format:
	{
		"tokens"	: <array of tokens to be revoked>	(to be sent by a data consumer)		
		"token-hashes"	: <array of token-hashes to be revoked>	(to be sent by a data provider)		
	}
	Note: Either of "tokens" or "token-hashes" must be provided; not both.
	Note: Data providers can get the "token-hashes" using the "audit/tokens" API.
HTTP response codes:
	200
		If token has been successfully revoked.
	403
		If token is invalid.
	429
		If the user makes too many requests.
Using pyIUDX SDK:
	from pyIUDX.auth import auth
	# as a data consumer
	iudx_auth		= auth.Auth("consumer-certificate.pem","private-key.pem")
	tokens_to_revoke	= ["auth.datasetu.org/2204adcbc990ffff234689aaabcdef90"]
	iudx_auth.revoke_tokens(tokens_to_revoke)
	# as a data provider
	iudx_auth		= auth.Auth("provider-certificate.pem","private-key.pem")
	token_hashes_to_revoke	= ["6d025974c916cadf8f683a99c65ebce871913118"]
	iudx_auth.revoke_token_hashes(token_hashes_to_revoke)
CURL example:
	Request:
		curl -XPOST https://auth.datasetu.org/auth/v1/token/revoke
		--cert certificate.pem --key private-key.pem
		-H 'content-type: application/json'
		-d '{"tokens" : ["auth.datasetu.org/2204adcbc990ffff234689aaabcdef90"]}
	Response:
		200 OK
		content-type : "application/json"
		{
			"num-tokens-revoked" : 1
		}
See also:
	audit tokens API:
		http://auth.datasetu.org/audit-tokens.html
	token revoke all API:
		http://auth.datasetu.org/token-revoke-all.html