Granite · Schema
SocialLoginRequest
Knowledge BaseArtificial IntelligenceCollaborationSecurityEncryption
Properties
| Name | Type | Description |
|---|---|---|
| id_token | string | |
| nonce | string | |
| name | string | Apple gives the user's name to the app only on the first sign-in. |
| authorization_code | string | Apple only: the authorization code Apple returned with the ID token. The server exchanges it for a refresh token, kept encrypted, so that deleting the account can revoke Granite's access to the person |
| workspace_name | string | Signs up for a business account (with a company's Google Workspace account, say): when this sign-in creates the account, it also gets a workspace of this name, owned by it, on the 30-day Business tria |
| device | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/granite-md/json-schema/granite-md-social-login-request-schema.json",
"title": "SocialLoginRequest",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/granite-md-openapi.yaml#/components/schemas/SocialLoginRequest",
"type": "object",
"required": [
"id_token",
"nonce",
"device"
],
"properties": {
"id_token": {
"type": "string",
"maxLength": 8000
},
"nonce": {
"type": "string",
"minLength": 16,
"maxLength": 200
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Apple gives the user's name to the app only on the first sign-in."
},
"authorization_code": {
"type": "string",
"maxLength": 2000,
"description": "Apple only: the authorization code Apple returned with the ID token. The server\nexchanges it for a refresh token, kept encrypted, so that deleting the account can\nrevoke Granite's access to the person's Apple ID (App Store Review Guideline 5.1.1(v)).\nA failed exchange does not stop the sign-in.\n"
},
"workspace_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Signs up for a business account (with a company's Google Workspace account, say): when\nthis sign-in creates the account, it also gets a workspace of this name, owned by it,\non the 30-day Business trial. Ignored for an existing account.\n"
},
"device": {
"$ref": "#/$defs/DeviceInfo"
}
},
"$defs": {
"DeviceInfo": {
"type": "object",
"required": [
"platform"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Device ID from an earlier sign-in, to keep the same device record."
},
"name": {
"type": "string",
"maxLength": 100
},
"platform": {
"type": "string",
"enum": [
"web",
"macos",
"windows",
"ios",
"android",
"cli",
"other"
]
},
"app_version": {
"type": "string",
"maxLength": 50
}
}
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema 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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/granite-md-social-login-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.