Idea Hub API icon

Idea Hub API

This is an invitation-only API

COMMUNITYNO AUTH0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://ideahub.googleapis.com/"
    }
  ],
  "info": {
    "contact": {
      "name": "Google",
      "url": "https://google.com",
      "x-twitter": "youtube"
    },
    "description": "This is an invitation-only API.",
    "license": {
      "name": "Creative Commons Attribution 3.0",
      "url": "http://creativecommons.org/licenses/by/3.0/"
    },
    "termsOfService": "https://developers.google.com/terms/",
    "title": "Idea Hub API",
    "version": "v1alpha",
    "x-apisguru-categories": [
      "analytics",
      "media"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_upload.wikimedia.org_wikipedia_commons_e_e1_YouTube_play_buttom_icon_%282013-2017%29.svg"
    },
    "x-origin": [
      {
        "format": "google",
        "url": "https://ideahub.googleapis.com/$discovery/rest?version=v1alpha",
        "version": "v1"
      }
    ],
    "x-preferred": true,
    "x-providerName": "googleapis.com",
    "x-serviceName": "ideahub"
  },
  "externalDocs": {
    "url": "https://console.cloud.google.com/apis/library/ideahub.googleapis.com"
  },
  "tags": [
    {
      "name": "ideas"
    },
    {
      "name": "platforms"
    }
  ],
  "paths": {
    "/v1alpha/ideas": {
      "get": {
        "description": "List ideas for a given Creator and filter and sort options.",
        "operationId": "ideahub.ideas.list",
        "parameters": [
          {
            "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions are implicitly combined, as if the `AND` operator was always used. The `OR` operator is currently unsupported. * Supported functions: - `saved(bool)`: If set to true, fetches only saved ideas. If set to false, fetches all except saved ideas. Can't be simultaneously used with `dismissed(bool)`. - `dismissed(bool)`: If set to true, fetches only dismissed ideas. Can't be simultaneously used with `saved(bool)`. The `false` value is currently unsupported. Examples: * `saved(true)` * `saved(false)` * `dismissed(true)` The length of this field should be no more than 500 characters.",
            "in": "query",
            "name": "filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order semantics described below.",
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum number of ideas per page. If unspecified, at most 10 ideas will be returned. The maximum value is 2000; values above 2000 will be coerced to 2000.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Used to fetch next page.",
            "in": "query",
            "name": "pageToken",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If defined, specifies the creator for which to filter by. Format: publishers/{publisher}/properties/{property}",
            "in": "query",
            "name": "parent",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaListIdeasResponse"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "tags": [
          "ideas"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    },
    "/v1alpha/{name}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ],
      "patch": {
        "description": "Update a topic state resource.",
        "operationId": "ideahub.platforms.properties.topicStates.patch",
        "parameters": [
          {
            "description": "Unique identifier for the topic state. Format: platforms/{platform}/properties/{property}/topicStates/{topic_state}",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The list of fields to be updated.",
            "in": "query",
            "name": "updateMask",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaTopicState"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaTopicState"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "tags": [
          "platforms"
        ]
      }
    },
    "/v1alpha/{parent}/ideaActivities": {
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ],
      "post": {
        "description": "Creates an idea activity entry.",
        "operationId": "ideahub.platforms.properties.ideaActivities.create",
        "parameters": [
          {
            "description": "Required. The parent resource where this idea activity will be created. Format: platforms/{platform}/property/{property}",
            "in": "path",
            "name": "parent",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaIdeaActivity"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaIdeaActivity"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "tags": [
          "platforms"
        ]
      }
    },
    "/v1alpha/{parent}/ideas": {
      "get": {
        "description": "List ideas for a given Creator and filter and sort options.",
        "operationId": "ideahub.platforms.properties.ideas.list",
        "parameters": [
          {
            "description": "If defined, specifies the creator for which to filter by. Format: publishers/{publisher}/properties/{property}",
            "in": "path",
            "name": "parent",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions are implicitly combined, as if the `AND` operator was always used. The `OR` operator is currently unsupported. * Supported functions: - `saved(bool)`: If set to true, fetches only saved ideas. If set to false, fetches all except saved ideas. Can't be simultaneously used with `dismissed(bool)`. - `dismissed(bool)`: If set to true, fetches only dismissed ideas. Can't be simultaneously used with `saved(bool)`. The `false` value is currently unsupported. Examples: * `saved(true)` * `saved(false)` * `dismissed(true)` The length of this field should be no more than 500 characters.",
            "in": "query",
            "name": "filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order semantics described below.",
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum number of ideas per page. If unspecified, at most 10 ideas will be returned. The maximum value is 2000; values above 2000 will be coerced to 2000.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Used to fetch next page.",
            "in": "query",
            "name": "pageToken",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaListIdeasResponse"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "tags": [
          "platforms"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    },
    "/v1alpha/{parent}/locales": {
      "get": {
        "description": "Returns which locales ideas are available in for a given Creator.",
        "operationId": "ideahub.platforms.properties.locales.list",
        "parameters": [
          {
            "description": "Required. The web property to check idea availability for Format: platforms/{platform}/property/{property}",
            "in": "path",
            "name": "parent",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum number of locales to return. The service may return fewer than this value. If unspecified, at most 100 locales will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "A page token, received from a previous `ListAvailableLocales` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAvailableLocales` must match the call that provided the page token.",
            "in": "query",
            "name": "pageToken",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaListAvailableLocalesResponse"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "tags": [
          "platforms"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "_.xgafv": {
        "description": "V1 error format.",
        "in": "query",
        "name": "$.xgafv",
        "schema": {
          "enum": [
            "1",
            "2"
          ],
          "type": "string"
        }
      },
      "access_token": {
        "description": "OAuth access token.",
        "in": "query",
        "name": "access_token",
        "schema": {
          "type": "string"
        }
      },
      "alt": {
        "description": "Data format for response.",
        "in": "query",
        "name": "alt",
        "schema": {
          "enum": [
            "json",
            "media",
            "proto"
          ],
          "type": "string"
        }
      },
      "callback": {
        "description": "JSONP",
        "in": "query",
        "name": "callback",
        "schema": {
          "type": "string"
        }
      },
      "fields": {
        "description": "Selector specifying which fields to include in a partial response.",
        "in": "query",
        "name": "fields",
        "schema": {
          "type": "string"
        }
      },
      "key": {
        "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
        "in": "query",
        "name": "key",
        "schema": {
          "type": "string"
        }
      },
      "oauth_token": {
        "description": "OAuth 2.0 token for the current user.",
        "in": "query",
        "name": "oauth_token",
        "schema": {
          "type": "string"
        }
      },
      "prettyPrint": {
        "description": "Returns response with indentations and line breaks.",
        "in": "query",
        "name": "prettyPrint",
        "schema": {
          "type": "boolean"
        }
      },
      "quotaUser": {
        "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
        "in": "query",
        "name": "quotaUser",
        "schema": {
          "type": "string"
        }
      },
      "uploadType": {
        "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
        "in": "query",
        "name": "uploadType",
        "schema": {
          "type": "string"
        }
      },
      "upload_protocol": {
        "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
        "in": "query",
        "name": "upload_protocol",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "GoogleSearchIdeahubV1alphaAvailableLocale": {
        "description": "Represents locales that are available for a web property.",
        "properties": {
          "locale": {
            "description": "A string in BCP 47 format, without a resource prefix.",
            "type": "string"
          },
          "name": {
            "description": "A string in BCP 47 format, prefixed with the platform and property name, and \"locales/\". Format: platforms/{platform}/properties/{property}/locales/{locale}",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaIdea": {
        "description": "A single Idea that we want to show the end user.",
        "properties": {
          "name": {
            "description": "Unique identifier for the idea. Format: ideas/{ideaId}",
            "type": "string"
          },
          "text": {
            "description": "The idea’s text.",
            "type": "string"
          },
          "topics": {
            "description": "The Topics that match the idea.",
            "items": {
              "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaTopic"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaIdeaActivity": {
        "description": "An idea activity entry.",
        "properties": {
          "ideas": {
            "description": "The Idea IDs for this entry. If empty, topics should be set.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "name": {
            "description": "Unique identifier for the idea activity. The name is ignored when creating an idea activity. Format: platforms/{platform}/properties/{property}/ideaActivities/{idea_activity}",
            "type": "string"
          },
          "topics": {
            "description": "The Topic IDs for this entry. If empty, ideas should be set.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "description": "The type of activity performed.",
            "enum": [
              "TYPE_UNSPECIFIED",
              "POST_DRAFTED",
              "POST_PUBLISHED",
              "POST_DELETED",
              "POST_UNPUBLISHED"
            ],
            "type": "string"
          },
          "uri": {
            "description": "The uri the activity relates to.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaIdeaState": {
        "description": "Represents idea state specific to a web property.",
        "properties": {
          "dismissed": {
            "description": "Whether the idea is dismissed.",
            "type": "boolean"
          },
          "name": {
            "description": "Unique identifier for the idea state. Format: platforms/{platform}/properties/{property}/ideaStates/{idea_state}",
            "type": "string"
          },
          "saved": {
            "description": "Whether the idea is saved.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaListAvailableLocalesResponse": {
        "description": "Response for whether ideas are available for a given web property on a platform, for the currently logged-in user.",
        "properties": {
          "availableLocales": {
            "description": "Locales for which ideas are available for the given Creator.",
            "items": {
              "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaAvailableLocale"
            },
            "type": "array"
          },
          "nextPageToken": {
            "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaListIdeasResponse": {
        "properties": {
          "ideas": {
            "description": "Results for the ListIdeasRequest.",
            "items": {
              "$ref": "#/components/schemas/GoogleSearchIdeahubV1alphaIdea"
            },
            "type": "array"
          },
          "nextPageToken": {
            "description": "Used to fetch the next page in a subsequent request.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaTopic": {
        "description": "Represents a Topic umbrella for a list of questions that a Creator may want to respond to.",
        "properties": {
          "displayName": {
            "description": "String displayed to the creator indicating the name of the Topic.",
            "type": "string"
          },
          "mid": {
            "description": "The mID of the topic.",
            "type": "string"
          },
          "name": {
            "description": "Unique identifier for the topic. Format: topics/{topic}",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GoogleSearchIdeahubV1alphaTopicState": {
        "description": "Represents topic state specific to a web property.",
        "properties": {
          "dismissed": {
            "description": "Whether the topic is dismissed.",
            "type": "boolean"
          },
          "name": {
            "description": "Unique identifier for the topic state. Format: platforms/{platform}/properties/{property}/topicStates/{topic_state}",
            "type": "string"
          },
          "saved": {
            "description": "Whether the topic is saved.",
            "type": "boolean"
          }
        },
        "type": "object"
      }
    }
  }
}