IntegrationOS · Schema

Paginated_OAuthAuthorizationView

Artificial IntelligenceTrustLayerIntegrationPlatformDeveloper Tools

Properties

Name Type Description
page integer
pages integer
rows array
total integer
View JSON Schema on GitHub

JSON Schema

picaos-paginated-oauth-authorization-view-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/picaos/main/json-schema/picaos-paginated-oauth-authorization-view-schema.json",
  "title": "Paginated_OAuthAuthorizationView",
  "x-generated": "2026-10-21",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/picaos-api-openapi.json#/components/schemas/Paginated_OAuthAuthorizationView",
  "properties": {
    "page": {
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "pages": {
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "rows": {
      "items": {
        "description": "One app a user has granted access to, as their dashboard lists it.\n\nCore's response shape, not `common`'s: it names this service's consent\nvocabulary (`reach`) and nothing outside core reads it.",
        "properties": {
          "clientId": {
            "$ref": "#/$defs/OAuthClientId"
          },
          "clientName": {
            "type": "string"
          },
          "clientType": {
            "description": "Whether the app holds a secret. A public client is one that cannot, so\nthe pair says which kind of app the row is - the MCP clients that\nregister themselves and the OAuth apps a developer configured read\nidentically without it.",
            "type": "string"
          },
          "consentSurface": {
            "$ref": "#/$defs/ConsentSurface",
            "description": "Where the app's users granted this: the page core renders, or the\nconnect card framed inside the app's own site."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "expiresAt": {
            "description": "When the app's current access token expires. `None` while the app holds\na live grant but no live token - the window between re-consent and\nthe client redeeming the new code.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "homepageUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "lastUsedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "logoUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "reach": {
            "description": "What a grant reaches, generic over how each entry is rendered - the one\ntrichotomy two surfaces share: a dashboard reads it as counts\n([`GrantedReachView`]), a reconnect card as pre-selectable rules\n([`PriorGrantView`]). `KnowledgeOnly`/`Full` are identical on the wire for\nboth; only the `Connectors` element type differs.\n\nA bare generic derives a single schema named `ReachView`, so both\ninstantiations would collide on that one OpenAPI component and one endpoint\nwould advertise the other's connector shape. Every schema site that carries\none of these therefore inlines it (`#[schema(inline)]` / `inline(...)`), so\nno shared `ReachView` component exists to collide.",
            "oneOf": [
              {
                "description": "Docs and search only: no connection access of any kind.",
                "properties": {
                  "type": {
                    "enum": [
                      "knowledgeOnly"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              },
              {
                "description": "Every connection in the consented scope. No connector list because the\ngrant names none - it follows the account.",
                "properties": {
                  "type": {
                    "enum": [
                      "full"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              },
              {
                "description": "Only what the grant names, each entry rendered as `C`. **The granularity\nis the instantiation's**: a reach report carries one entry per\nconnector, a prior grant one per granted *connection*, so two entries\nthere can share a connector.",
                "properties": {
                  "connectors": {
                    "items": {
                      "$ref": "#/$defs/GrantedConnectorView"
                    },
                    "type": "array"
                  },
                  "type": {
                    "enum": [
                      "connectors"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "connectors",
                  "type"
                ],
                "type": "object"
              }
            ]
          },
          "scopes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "tokenCount": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "clientId",
          "clientName",
          "clientType",
          "consentSurface",
          "scopes",
          "reach",
          "createdAt",
          "tokenCount"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "total": {
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "rows",
    "total",
    "pages",
    "page"
  ],
  "type": "object",
  "$defs": {
    "ConnectionDefinitionId": {
      "description": "Prefixed ID with 'conn_def' prefix (e.g., 'conn_def_1C'), also accepts raw integer",
      "type": "string"
    },
    "ConsentSurface": {
      "description": "Where an OAuth client's users are sent to grant consent.\n\nThe surface used to be read off the client id, so a client could only get a\ndifferent one by being renamed, and every existing client would have moved\nthe moment the rule changed. Naming it on the row makes it a property of the\nclient that its owner can see and set, and leaves the ones already running\nexactly where they are.",
      "enum": [
        "hosted",
        "connect"
      ],
      "type": "string"
    },
    "GrantedConnectorView": {
      "description": "One connector an issued grant reaches, as an audit surface reports it.\n\n**Not [`ResolvedConnectorView`].** This is a read-only report, never fed\nback into a request: a dashboard folds every live token together, and the\nenvelopes of several grants on one connector do not combine into one, so a\nrule-shaped answer here would be a rule nobody granted.",
      "properties": {
        "actionCount": {
          "description": "Distinct actions reached across every grant and connection touching\nthis connector - the union, so a shared action counts once and disjoint\nones each.",
          "minimum": 0,
          "type": "integer"
        },
        "connectionCount": {
          "description": "Distinct connections the grants name here. `None` when one of them\nnamed the *connector*, which reaches every connection on it including\nones added later, so no count would be true for long.",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "connectionDefinitionId": {
          "$ref": "#/$defs/ConnectionDefinitionId"
        },
        "imageUrl": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "platform": {
          "type": "string"
        }
      },
      "required": [
        "connectionDefinitionId",
        "name",
        "platform",
        "imageUrl",
        "actionCount"
      ],
      "type": "object"
    },
    "OAuthClientId": {
      "description": "Prefixed ID with 'oac' prefix (e.g., 'oac_1C'), also accepts raw integer",
      "type": "string"
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/picaos-paginated-oauth-authorization-view"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.