{
  "swagger": "2.0",
  "info": {
    "version": "1.0.0",
    "title": "Get token with username and password",
    "description": "Call to get a JWT token providing username and password"
  },
  "host": "keycloak-edu-keycloak.apps.openshift-01.knowis.cloud:443",
  "basePath": "/",
  "schemes": ["https"],
  "produces": ["application/json;charset=UTF-8"],
  "paths": {
    "/auth/realms/education/protocol/openid-connect/token": {
      "post": {
        "operationId": "GetToken",
        "consumes": ["application/x-www-form-urlencoded"],
        "parameters": [
          {
            "name": "grant_type",
            "type": "string",
            "in": "formData"
          },
          {
            "name": "client_id",
            "type": "string",
            "in": "formData"
          },
          {
            "name": "client_secret",
            "type": "string",
            "in": "formData"
          },
          {
            "name": "username",
            "type": "string",
            "in": "formData"
          },
          {
            "name": "password",
            "type": "string",
            "in": "formData"
          },
          {
            "name": "scope",
            "type": "string",
            "in": "formData"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TokenResponse"
            }
          },
          "400": {
            "description": "BAD_REQUEST",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "UNAUTHORIZED",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "TokenResponse": {
      "properties": {
        "access_token": {
          "type": "string",
          "example": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJTUG11LXA1ZDVRYnFhX3NtRlg1UGd0c2huOWtTQ1lkSjdqODFKSDRLSlNzIn0.eyJqdGkiOiI3NjRiM2I4MC0wYWUzLTQ0NDgtOWQzYy01MTk5MGEyYmYxYmQiLCJleHAiOjE1MzIzOTcyNDUsIm5iZiI6MCwiaWF0IjoxNTMyMzYxMjQ1LCJpc3MiOiJodHRwczovL2NwLWlkZW50aXR5Lmtub3dpcy5uZXQvYXV0aC9yZWFsbXMvcHJvZCIsImF1ZCI6ImRvbWFpbi1zZXJ2ZXItY2xpZW50Iiwic3ViIjoiZWE4ODM0MGUtMWRmMC00MzQ2LWE4NTAtYWZjMWZmNjkzNDA0IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZG9tYWluLXNlcnZlci1jbGllbnQiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI0ZDFiZjBiOS02NTE5LTQxMTItYmJlYi05NDk4YjMwMTc5YTUiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwibmFtZSI6IkrDtnJnIEVyZG1lbmdlciIsImdpdmVuX25hbWUiOiJKw7ZyZyIsImZhbWlseV9uYW1lIjoiRXJkbWVuZ2VyIiwiZW1haWwiOiJqb2VyZy5lcmRtZW5nZXJAa25vd2lzLmRlIiwidXNlcm5hbWUiOiJqZXIifQ.yxZkfdLnMS4lff4ZbhSzauVLYipMF1HmU5bdUC4HepGvG_SJyYp4SfQKBtezuJaG4AX0KDzi_PAeOLrPc4dklCB20zMs-TUqaMRZ4_4Vn5XtYBGWSXebKm3yh0S1pORob2RTE_LbNNklY6q_pezCSeICnFgk7UlcY__xxrgl7cSFEe4OeOoLp4jxbbjBkQQ_Am3mzhwE1PKwOojhQh0O1H03Vbeb2l9wi3VHHcNoefIkhCQzyPmGdQ_AVZMzWGuOl3kvQIoq1I3W7TYRRfxICIZn1igAQO2Qp2Sv4DTPEnAEiWM3DZRwVmqKcHtN3SJW3Wt5VICEJaX4Yy3o4nYbGg"
        },
        "expires_in": {
          "type": "integer",
          "example": 36000
        },
        "refresh_expires_in": {
          "type": "integer",
          "example": 1800
        },
        "refresh_token": {
          "type": "string",
          "example": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJTUG11LXA1ZDVRYnFhX3NtRlg1UGd0c2huOWtTQ1lkSjdqODFKSDRLSlNzIn0.eyJqdGkiOiI5ZWVlOTFkMS0wMzdlLTQxMGQtOTc0NC0xNzFmNGVkMThlNTIiLCJleHAiOjE1MzIzNjMwNDUsIm5iZiI6MCwiaWF0IjoxNTMyMzYxMjQ1LCJpc3MiOiJodHRwczovL2NwLWlkZW50aXR5Lmtub3dpcy5uZXQvYXV0aC9yZWFsbXMvcHJvZCIsImF1ZCI6ImRvbWFpbi1zZXJ2ZXItY2xpZW50Iiwic3ViIjoiZWE4ODM0MGUtMWRmMC00MzQ2LWE4NTAtYWZjMWZmNjkzNDA0IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6ImRvbWFpbi1zZXJ2ZXItY2xpZW50IiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiNGQxYmYwYjktNjUxOS00MTEyLWJiZWItOTQ5OGIzMDE3OWE1IiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fX0.Nv_MLBnKsQKWwJ1zThDjETAM4yYckLE1nR4sZFuaCWEfmR7Ka6mynPd90Uw4fIxjrObMP4QCMjvj5HJseq1OAjt1uaZwD-gmNgX1xvFS794SMS4A-P2zmviPsc9ui9Rl_PjvUhX9R0ZX3s02erCh9nVgsMG4hlBLYVSl50FV0oCqL8GKF0vH44BOUrPgboVlMDD2fopYZgdU4Mxaf9y_oYzwLYSEAaXLG12IrfFnYPgiB8Fau_7AWphufaqjmu-P6uYK5JuOzdSxr-WWwqFGKlVv2iDQI4m390w1p8DQSyfhytRoLLENpStKCyihAugAI9wIIoOuqSKrTDyLnt66wQ"
        },
        "token_type": {
          "type": "string",
          "example": "bearer"
        },
        "id_token": {
          "type": "string",
          "example": "\"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJTUG11LXA1ZDVRYnFhX3NtRlg1UGd0c2huOWtTQ1lkSjdqODFKSDRLSlNzIn0.eyJqdGkiOiIyNTM5ZGQ1Ni1hZTI0LTRiZjMtOWU5YS0yNjk1ODZmNzY3ZTciLCJleHAiOjE1MzIzOTcyNDUsIm5iZiI6MCwiaWF0IjoxNTMyMzYxMjQ1LCJpc3MiOiJodHRwczovL2NwLWlkZW50aXR5Lmtub3dpcy5uZXQvYXV0aC9yZWFsbXMvcHJvZCIsImF1ZCI6ImRvbWFpbi1zZXJ2ZXItY2xpZW50Iiwic3ViIjoiZWE4ODM0MGUtMWRmMC00MzQ2LWE4NTAtYWZjMWZmNjkzNDA0IiwidHlwIjoiSUQiLCJhenAiOiJkb21haW4tc2VydmVyLWNsaWVudCIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjRkMWJmMGI5LTY1MTktNDExMi1iYmViLTk0OThiMzAxNzlhNSIsImFjciI6IjEiLCJuYW1lIjoiSsO2cmcgRXJkbWVuZ2VyIiwiZ2l2ZW5fbmFtZSI6IkrDtnJnIiwiZmFtaWx5X25hbWUiOiJFcmRtZW5nZXIiLCJlbWFpbCI6ImpvZXJnLmVyZG1lbmdlckBrbm93aXMuZGUiLCJ1c2VybmFtZSI6ImplciJ9.WMdrxSMuFi7bChcVFLR06nsSLVoJNbUNHHyOklNicx1-3XcRKWo34qkXeZMJSD2fWpUhNGygSnJwWSrSOMZIZAQSS8tibwyCilQNGnW0hNOpgR0L-mG2tCMtctppi_f4z5hDcz2j2cG5Y2XixuU3ljc1-tumU_0soewgtoBnhoRXqCOHAjCevk_qGKlcr8Hw9pIeBtQP355jl9ILg9ob3hlSJu1HsFsg6e8Gypxh5ik4kWESFIM-7YMQfbZ8NLjvNCkldEJgQYbhtxa0CzbwDc3qAUC6y89eNhrq83FWTNgC-0svyvjDU-4q6_EboCvIhx9ha6QK9aUB9PEpqDvN4Q"
        },
        "not-before-policy": {
          "type": "string",
          "example": 0
        },
        "session_state": {
          "type": "string",
          "example": "4d1bf0b9-6519-4112-bbeb-9498b30179a5"
        },
        "scope": {
          "type": "string",
          "example": ""
        }
      }
    },
    "ErrorResponse": {
      "properties": {
        "error": {
          "type": "string",
          "example": "unauthorized_client"
        },
        "error_description": {
          "type": "string",
          "example": "Invalid client secret"
        }
      }
    }
  }
}
