{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hubspot/refs/heads/main/json-structure/oauth-api-refresh-token-metadata-structure.json",
  "name": "RefreshTokenMetadata",
  "description": "Metadata associated with an OAuth refresh token",
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "The refresh token string",
      "example": "6f18f26a-3e95-4d95-a6e5-3d5c6e5c9e5a"
    },
    "client_id": {
      "type": "string",
      "description": "The client ID of the application",
      "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    },
    "hub_id": {
      "type": "int32",
      "description": "The HubSpot portal (hub) ID associated with this token",
      "example": 62515
    },
    "user_id": {
      "type": "int32",
      "description": "The ID of the user who authorized the token",
      "example": 123456
    },
    "user": {
      "type": "string",
      "description": "The email address of the user who authorized the token",
      "example": "user@example.com"
    },
    "scopes": {
      "type": "array",
      "description": "List of scopes granted to this token",
      "items": {
        "type": "string"
      },
      "example": [
        "contacts",
        "content"
      ]
    }
  },
  "required": [
    "token",
    "client_id",
    "hub_id",
    "scopes"
  ]
}