{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "AuthorizationGrantInput", "description": "Input for the authorization grant policy.", "type": "object", "required": [ "client", "grant_type", "requester", "scope" ], "properties": { "user": { "type": "object", "additionalProperties": true }, "client": { "type": "object", "additionalProperties": true }, "scope": { "type": "string" }, "grant_type": { "$ref": "#/definitions/GrantType" }, "requester": { "$ref": "#/definitions/Requester" } }, "definitions": { "GrantType": { "type": "string", "enum": [ "authorization_code", "client_credentials", "urn:ietf:params:oauth:grant-type:device_code" ] }, "Requester": { "description": "Identity of the requester", "type": "object", "properties": { "ip_address": { "description": "IP address of the entity making the request", "type": "string", "format": "ip" }, "user_agent": { "description": "User agent of the entity making the request", "type": "string" } } } } }