{
  "service": "keyword",
  "displayName": "Keyword.com",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "KEYWORD_API_TOKEN",
      "description": "Keyword.com API token sent with the Authorization Bearer header. Create an account and retrieve the token under Settings > Account: https://app.keyword.com/settings/account"
    }
  ],
  "homepageUrl": "https://keyword.com",
  "actions": [
    {
      "id": "keyword.get_current_user",
      "service": "keyword",
      "name": "get_current_user",
      "description": "Get the current Keyword.com user profile for the API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for retrieving the current Keyword.com user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "The user resource type returned by Keyword.com."
              },
              "id": {
                "type": "string",
                "description": "The user identifier returned by Keyword.com."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The user profile and subscription attributes returned by Keyword.com."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw user resource returned by Keyword.com."
              }
            },
            "additionalProperties": false,
            "description": "The current Keyword.com user profile."
          }
        },
        "additionalProperties": false,
        "description": "The current Keyword.com user response."
      }
    },
    {
      "id": "keyword.get_keyword",
      "service": "keyword",
      "name": "get_keyword",
      "description": "Get one Keyword.com keyword and its ranking data by project and keyword ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectName": {
            "type": "string",
            "minLength": 1,
            "description": "The Keyword.com project or group name. Use the full `[sub]` convention for subprojects.",
            "pattern": "\\S"
          },
          "keywordId": {
            "type": "string",
            "minLength": 1,
            "description": "The Keyword.com keyword identifier.",
            "pattern": "\\S"
          },
          "date": {
            "type": "string",
            "description": "The ranking data date to retrieve in YYYY-MM-DD format.",
            "format": "date"
          }
        },
        "additionalProperties": false,
        "required": [
          "projectName",
          "keywordId"
        ],
        "description": "The input payload for retrieving one Keyword.com keyword."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "The resource type returned by Keyword.com."
              },
              "id": {
                "type": "string",
                "description": "The keyword identifier returned by Keyword.com."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The keyword attributes and ranking metrics returned by Keyword.com."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw keyword resource returned by Keyword.com."
              }
            },
            "additionalProperties": false,
            "description": "A Keyword.com keyword resource."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Keyword.com keyword."
      }
    },
    {
      "id": "keyword.get_project",
      "service": "keyword",
      "name": "get_project",
      "description": "Get one Keyword.com project or group by name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectName": {
            "type": "string",
            "minLength": 1,
            "description": "The Keyword.com project or group name. Use the full `[sub]` convention for subprojects.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving one Keyword.com project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "The resource type returned by Keyword.com."
              },
              "id": {
                "type": "string",
                "description": "The project or group identifier returned by Keyword.com."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The project or group attributes returned by Keyword.com."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw project or group resource returned by Keyword.com."
              }
            },
            "additionalProperties": false,
            "description": "A Keyword.com project or group resource."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Keyword.com project."
      }
    },
    {
      "id": "keyword.list_keywords",
      "service": "keyword",
      "name": "list_keywords",
      "description": "List Keyword.com keywords and ranking data for a project or group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectName": {
            "type": "string",
            "minLength": 1,
            "description": "The Keyword.com project or group name. Use the full `[sub]` convention for subprojects.",
            "pattern": "\\S"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number for a paginated Keyword.com response."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The maximum number of records to return per page."
          },
          "date": {
            "type": "string",
            "description": "The ranking data date to retrieve in YYYY-MM-DD format.",
            "format": "date"
          }
        },
        "additionalProperties": false,
        "required": [
          "projectName"
        ],
        "description": "The input payload for listing Keyword.com keywords."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The resource type returned by Keyword.com."
                },
                "id": {
                  "type": "string",
                  "description": "The keyword identifier returned by Keyword.com."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The keyword attributes and ranking metrics returned by Keyword.com."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw keyword resource returned by Keyword.com."
                }
              },
              "additionalProperties": false,
              "description": "A Keyword.com keyword resource."
            },
            "description": "The keywords returned by Keyword.com."
          },
          "meta": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The metadata object returned by Keyword.com."
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The pagination links returned by Keyword.com."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Keyword.com keywords."
      }
    },
    {
      "id": "keyword.list_project_regions",
      "service": "keyword",
      "name": "list_project_regions",
      "description": "List Google regions tracked by a Keyword.com project or group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectName": {
            "type": "string",
            "minLength": 1,
            "description": "The Keyword.com project or group name. Use the full `[sub]` convention for subprojects.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Keyword.com project regions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "regions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string",
                  "description": "The Google region domain returned by Keyword.com."
                },
                "language": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The language code returned by Keyword.com."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The tracking type returned by Keyword.com."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "total": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of keywords tracked for this region."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw region object returned by Keyword.com."
                }
              },
              "additionalProperties": false,
              "description": "A Google region tracked in a Keyword.com project."
            },
            "description": "The tracked regions returned by Keyword.com."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Keyword.com project regions."
      }
    },
    {
      "id": "keyword.list_projects",
      "service": "keyword",
      "name": "list_projects",
      "description": "List active Keyword.com projects and groups visible to the API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Keyword.com projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The resource type returned by Keyword.com."
                },
                "id": {
                  "type": "string",
                  "description": "The project or group identifier returned by Keyword.com."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The project or group attributes returned by Keyword.com."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw project or group resource returned by Keyword.com."
                }
              },
              "additionalProperties": false,
              "description": "A Keyword.com project or group resource."
            },
            "description": "The projects and groups returned by Keyword.com."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Keyword.com projects."
      }
    }
  ]
}
