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"
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/gitlab-oauth2-token-request-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

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.

A second provider on the same verified email joins the account you already have.