{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/metricool/main/json-schema/metricool-connected-application-dto-schema.json",
  "title": "ConnectedApplicationDto",
  "description": "Third-party application on the user's Integrations screen: one with OAuth access to the account, or a verified partner the user has not connected. Groups every OAuth client registered by the same application; revoking it revokes all of them.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/metricool-api-openapi.json#/components/schemas/ConnectedApplicationDto",
  "required": [
    "clientIds",
    "name",
    "verified"
  ],
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Identifier to revoke the application with. One of its client ids. Absent when the application is not connected, which only happens to verified partners."
    },
    "name": {
      "type": "string",
      "description": "Display name. The verified partner's name when verified, otherwise the name the client declared on registration, which is self-reported and must not be used to brand it."
    },
    "redirectUri": {
      "type": "string",
      "description": "First redirect URI the client registered. Lets the user identify unverified applications by their origin; a loopback address means a local application. Absent when the client registered none."
    },
    "verified": {
      "type": "boolean",
      "description": "Whether Metricool vouches for this application (\"Reconocida\" badge)."
    },
    "partnerKey": {
      "type": "string",
      "description": "Stable identifier of the verified partner. Absent for unverified applications."
    },
    "logoUrl": {
      "type": "string",
      "description": "Logo to show for verified partners. Absent for unverified applications."
    },
    "descriptionKey": {
      "type": "string",
      "description": "i18n key of the verified partner's description. Absent for unverified applications."
    },
    "connectUrl": {
      "type": "string",
      "description": "Page where the user starts connecting the verified partner. Absent for unverified applications."
    },
    "clientIds": {
      "type": "array",
      "description": "Every OAuth client id grouped under this application. Empty when not connected.",
      "items": {
        "type": "string",
        "description": "Every OAuth client id grouped under this application. Empty when not connected."
      }
    }
  }
}