{
  "service": "the_cat_api",
  "displayName": "The Cat API",
  "categories": [
    "Design & Media",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "THE_CAT_API_KEY",
      "description": "The Cat API key sent with the x-api-key header. Create an account and copy your key from The Cat API dashboard: https://thecatapi.com/signup."
    }
  ],
  "homepageUrl": "https://thecatapi.com/",
  "actions": [
    {
      "id": "the_cat_api.get_breed",
      "service": "the_cat_api",
      "name": "get_breed",
      "description": "Get one cat breed by its The Cat API breed identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "breedId": {
            "type": "string",
            "minLength": 1,
            "description": "The Cat API breed identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for reading one cat breed."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "breed": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A cat breed object returned by The Cat API."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when reading one cat breed."
      }
    },
    {
      "id": "the_cat_api.get_image",
      "service": "the_cat_api",
      "name": "get_image",
      "description": "Get one cat image by its The Cat API image identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Cat API image identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for reading one cat image."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The image identifier."
              },
              "url": {
                "type": "string",
                "description": "The image URL."
              },
              "width": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The image width in pixels when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "height": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The image height in pixels when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "breeds": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "A cat breed object returned by The Cat API."
                },
                "description": "The breeds associated with this image."
              },
              "categories": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The category identifier."
                    },
                    "name": {
                      "type": "string",
                      "description": "The category display name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "An image category object returned by The Cat API."
                },
                "description": "The categories associated with this image."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw image object returned by The Cat API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized cat image returned by The Cat API."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when reading one cat image."
      }
    },
    {
      "id": "the_cat_api.list_breeds",
      "service": "the_cat_api",
      "name": "list_breeds",
      "description": "List cat breeds supported by The Cat API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of breeds to return."
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based result page number."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing cat breeds."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "breeds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A cat breed object returned by The Cat API."
            },
            "description": "The cat breeds returned by The Cat API."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing cat breeds."
      }
    },
    {
      "id": "the_cat_api.search_breeds",
      "service": "the_cat_api",
      "name": "search_breeds",
      "description": "Search cat breeds by breed name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The breed name search query."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching cat breeds."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "breeds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A cat breed object returned by The Cat API."
            },
            "description": "The matching cat breeds returned by The Cat API."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when searching cat breeds."
      }
    },
    {
      "id": "the_cat_api.search_images",
      "service": "the_cat_api",
      "name": "search_images",
      "description": "Search for cat images with optional breed, category, type, size, and paging filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "description": "The number of images to return."
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based result page number."
          },
          "order": {
            "type": "string",
            "enum": [
              "RANDOM",
              "ASC",
              "DESC"
            ],
            "description": "The Cat API result order."
          },
          "size": {
            "type": "string",
            "enum": [
              "small",
              "med",
              "full"
            ],
            "description": "The image size preset requested from The Cat API."
          },
          "mimeTypes": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated MIME type filters accepted by The Cat API, such as jpg,png or gif."
          },
          "hasBreeds": {
            "type": "boolean",
            "description": "Whether to only return images that have breed information attached."
          },
          "breedIds": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated breed identifiers used to filter image results."
          },
          "categoryIds": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated category identifiers used to filter image results."
          },
          "includeBreeds": {
            "type": "boolean",
            "description": "Whether The Cat API should include breed objects in image results."
          },
          "includeCategories": {
            "type": "boolean",
            "description": "Whether The Cat API should include category objects in image results."
          },
          "format": {
            "type": "string",
            "enum": [
              "json",
              "src"
            ],
            "description": "The response format requested from The Cat API."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching The Cat API images."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "images": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The image identifier."
                },
                "url": {
                  "type": "string",
                  "description": "The image URL."
                },
                "width": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The image width in pixels when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "height": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The image height in pixels when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "breeds": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "A cat breed object returned by The Cat API."
                  },
                  "description": "The breeds associated with this image."
                },
                "categories": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "The category identifier."
                      },
                      "name": {
                        "type": "string",
                        "description": "The category display name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "An image category object returned by The Cat API."
                  },
                  "description": "The categories associated with this image."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw image object returned by The Cat API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized cat image returned by The Cat API."
            },
            "description": "The cat images returned by The Cat API."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when searching cat images."
      }
    }
  ]
}
