TokenRequest is a JSON Structure definition published by GitLab, describing 10 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/gitlab/refs/heads/main/json-structure/gitlab-oauth2-token-request-structure.json",
"name": "TokenRequest",
"description": "TokenRequest from GitLab API",
"type": "object",
"properties": {
"grant_type": {
"type": "string",
"enum": [
"authorization_code",
"refresh_token",
"device_code",
"password"
],
"description": "The grant type for the token request.",
"example": "authorization_code"
},
"client_id": {
"type": "string",
"description": "The application ID registered in GitLab.",
"example": "123456"
},
"client_secret": {
"type": "string",
"description": "The application secret. Required for confidential clients using authorization_code or refresh_token grant types.",
"example": "example_value"
},
"code": {
"type": "string",
"description": "The authorization code received from the authorize endpoint.",
"example": "example_value"
},
"redirect_uri": {
"type": "uri",
"description": "The redirect URI used in the original authorization request.",
"example": "example_value"
},
"code_verifier": {
"type": "string",
"description": "The PKCE code verifier corresponding to the code_challenge.",
"example": "example_value"
},
"refresh_token": {
"type": "string",
"description": "The refresh token to exchange for a new access token.",
"example": "main"
},
"device_code": {
"type": "string",
"description": "The device code from the device authorization response.",
"example": "example_value"
},
"username": {
"type": "string",
"description": "Resource owner username. Only for password grant type.",
"example": "Example Project"
},
"password": {
"type": "string",
"description": "Resource owner password. Only for password grant type.",
"example": "example_value"
}
},
"required": [
"grant_type",
"client_id"
]
}
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.