GitLab · JSON Structure

Gitlab Oauth2 Token Request Structure

TokenRequest from GitLab API

Type: object Properties: 10 Required: 2
CodePlatformSoftware DevelopmentSource Control

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.

Properties

grant_type client_id client_secret code redirect_uri code_verifier refresh_token device_code username password

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$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"
  ]
}