{
  "service": "owl_protocol",
  "displayName": "Owl Protocol",
  "categories": [
    "Developer Tools",
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "OWL_PROTOCOL_API_KEY",
      "description": "Owl Protocol API key sent with the x-api-key header. Sign up from the official quickstart, then copy the key shown for your project: https://docs.owlprotocol.xyz/quickstart.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://owlprotocol.xyz",
  "actions": [
    {
      "id": "owl_protocol.get_project_info",
      "service": "owl_protocol",
      "name": "get_project_info",
      "description": "Read the connected Owl Protocol project's summary information.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for reading Owl Protocol project info."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "minLength": 1,
                "description": "The unique slug for the Owl Protocol project."
              },
              "teamId": {
                "type": "string",
                "minLength": 1,
                "description": "The Owl Protocol team identifier that owns the project."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The human-readable Owl Protocol project name."
              },
              "defaultChainId": {
                "type": "integer",
                "minimum": 1,
                "description": "The EVM chain identifier for the Owl Protocol project."
              },
              "description": {
                "type": "string",
                "description": "The optional Owl Protocol project description."
              },
              "authorizedDomains": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One authorized domain."
                },
                "description": "The optional domains authorized for the Owl Protocol project."
              },
              "coverImage": {
                "type": "string",
                "description": "The optional cover image URL for the Owl Protocol project."
              },
              "projectType": {
                "type": "string",
                "description": "The optional Owl Protocol project type string."
              },
              "isArchived": {
                "type": "boolean",
                "description": "Whether the Owl Protocol project is archived."
              },
              "hasPublicUsers": {
                "type": "boolean",
                "description": "Whether the Owl Protocol project allows public users."
              }
            },
            "additionalProperties": false,
            "required": [
              "slug",
              "teamId",
              "name",
              "defaultChainId"
            ],
            "description": "The Owl Protocol project summary returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "project"
        ],
        "description": "The normalized Owl Protocol project info response."
      }
    },
    {
      "id": "owl_protocol.get_project_token",
      "service": "owl_protocol",
      "name": "get_project_token",
      "description": "Read one Owl Protocol token metadata record by chain, contract address, and token id.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "integer",
            "minimum": 1,
            "description": "The EVM chain identifier for the Owl Protocol project."
          },
          "address": {
            "type": "string",
            "minLength": 42,
            "maxLength": 42,
            "description": "The contract address managed by the Owl Protocol project.",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "tokenId": {
            "type": "string",
            "minLength": 1,
            "description": "The token identifier within the target contract."
          }
        },
        "additionalProperties": false,
        "required": [
          "chainId",
          "address",
          "tokenId"
        ],
        "description": "The input payload for reading an Owl Protocol project token."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "object",
            "properties": {
              "chainId": {
                "type": "integer",
                "minimum": 1,
                "description": "The EVM chain identifier for the Owl Protocol project."
              },
              "address": {
                "type": "string",
                "minLength": 42,
                "maxLength": 42,
                "description": "The contract address managed by the Owl Protocol project.",
                "pattern": "^0x[a-fA-F0-9]{40}$"
              },
              "tokenId": {
                "type": "string",
                "minLength": 1,
                "description": "The token identifier within the target contract."
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The NFT name."
                  },
                  "description": {
                    "type": "string",
                    "description": "The NFT description."
                  },
                  "image": {
                    "type": "string",
                    "description": "The image URL stored for the NFT."
                  },
                  "image_data": {
                    "type": "string",
                    "description": "The raw image data string stored for the NFT."
                  },
                  "background_color": {
                    "type": "string",
                    "description": "The NFT background color string."
                  },
                  "animation_url": {
                    "type": "string",
                    "description": "The animation URL stored for the NFT."
                  },
                  "youtube_url": {
                    "type": "string",
                    "description": "The YouTube URL stored for the NFT."
                  },
                  "external_url": {
                    "type": "string",
                    "description": "The external URL stored for the NFT."
                  },
                  "decimals": {
                    "type": "integer",
                    "description": "The decimals value stored for the NFT."
                  },
                  "attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "trait_type": {
                          "type": "string",
                          "description": "The trait name for the attribute."
                        },
                        "description": {
                          "type": "string",
                          "description": "The optional attribute description."
                        },
                        "value": {
                          "description": "The attribute value."
                        },
                        "max_value": {
                          "type": "number",
                          "description": "The maximum numeric value for the attribute when present."
                        },
                        "display_type": {
                          "type": "string",
                          "description": "The NFT display type for the attribute."
                        },
                        "display_value": {
                          "type": "string",
                          "description": "The rendered attribute value string."
                        }
                      },
                      "additionalProperties": true,
                      "description": "One NFT attribute entry stored in Owl Protocol."
                    },
                    "description": "The NFT attributes array stored for the token."
                  },
                  "properties": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The property display name."
                        },
                        "description": {
                          "type": "string",
                          "description": "The property description."
                        },
                        "value": {
                          "description": "The property value."
                        },
                        "max_value": {
                          "type": "number",
                          "description": "The maximum numeric property value when present."
                        },
                        "display_type": {
                          "type": "string",
                          "description": "The NFT display type for the property."
                        },
                        "display_value": {
                          "type": "string",
                          "description": "The rendered property value string."
                        }
                      },
                      "additionalProperties": true,
                      "description": "One NFT properties entry stored in Owl Protocol."
                    },
                    "description": "The NFT properties map stored for the token."
                  },
                  "localization": {
                    "type": "object",
                    "properties": {
                      "uri": {
                        "type": "string",
                        "description": "The localization URI template."
                      },
                      "default": {
                        "type": "string",
                        "description": "The default locale code."
                      },
                      "locales": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "One locale code."
                        },
                        "description": "The locale codes available for this token."
                      }
                    },
                    "additionalProperties": true,
                    "description": "The localization object stored in Owl Protocol metadata."
                  }
                },
                "additionalProperties": true,
                "description": "The NFT metadata object stored for the token in Owl Protocol."
              }
            },
            "additionalProperties": false,
            "required": [
              "chainId",
              "address",
              "tokenId"
            ],
            "description": "The Owl Protocol token record returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "token"
        ],
        "description": "The normalized Owl Protocol project token response."
      }
    },
    {
      "id": "owl_protocol.patch_project_token",
      "service": "owl_protocol",
      "name": "patch_project_token",
      "description": "Patch one Owl Protocol token metadata record with a JSON metadata object only.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "integer",
            "minimum": 1,
            "description": "The EVM chain identifier for the Owl Protocol project."
          },
          "address": {
            "type": "string",
            "minLength": 42,
            "maxLength": 42,
            "description": "The contract address managed by the Owl Protocol project.",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "tokenId": {
            "type": "string",
            "minLength": 1,
            "description": "The token identifier within the target contract."
          },
          "metadata": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The NFT name."
              },
              "description": {
                "type": "string",
                "description": "The NFT description."
              },
              "image": {
                "type": "string",
                "description": "The image URL stored for the NFT."
              },
              "image_data": {
                "type": "string",
                "description": "The raw image data string stored for the NFT."
              },
              "background_color": {
                "type": "string",
                "description": "The NFT background color string."
              },
              "animation_url": {
                "type": "string",
                "description": "The animation URL stored for the NFT."
              },
              "youtube_url": {
                "type": "string",
                "description": "The YouTube URL stored for the NFT."
              },
              "external_url": {
                "type": "string",
                "description": "The external URL stored for the NFT."
              },
              "decimals": {
                "type": "integer",
                "description": "The decimals value stored for the NFT."
              },
              "attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "trait_type": {
                      "type": "string",
                      "description": "The trait name for the attribute."
                    },
                    "description": {
                      "type": "string",
                      "description": "The optional attribute description."
                    },
                    "value": {
                      "description": "The attribute value."
                    },
                    "max_value": {
                      "type": "number",
                      "description": "The maximum numeric value for the attribute when present."
                    },
                    "display_type": {
                      "type": "string",
                      "description": "The NFT display type for the attribute."
                    },
                    "display_value": {
                      "type": "string",
                      "description": "The rendered attribute value string."
                    }
                  },
                  "additionalProperties": true,
                  "description": "One NFT attribute entry stored in Owl Protocol."
                },
                "description": "The NFT attributes array stored for the token."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The property display name."
                    },
                    "description": {
                      "type": "string",
                      "description": "The property description."
                    },
                    "value": {
                      "description": "The property value."
                    },
                    "max_value": {
                      "type": "number",
                      "description": "The maximum numeric property value when present."
                    },
                    "display_type": {
                      "type": "string",
                      "description": "The NFT display type for the property."
                    },
                    "display_value": {
                      "type": "string",
                      "description": "The rendered property value string."
                    }
                  },
                  "additionalProperties": true,
                  "description": "One NFT properties entry stored in Owl Protocol."
                },
                "description": "The NFT properties map stored for the token."
              },
              "localization": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "description": "The localization URI template."
                  },
                  "default": {
                    "type": "string",
                    "description": "The default locale code."
                  },
                  "locales": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "One locale code."
                    },
                    "description": "The locale codes available for this token."
                  }
                },
                "additionalProperties": true,
                "description": "The localization object stored in Owl Protocol metadata."
              }
            },
            "additionalProperties": true,
            "description": "The NFT metadata object stored for the token in Owl Protocol."
          }
        },
        "additionalProperties": false,
        "required": [
          "chainId",
          "address",
          "tokenId",
          "metadata"
        ],
        "description": "The input payload for patching an Owl Protocol project token."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "object",
            "properties": {
              "chainId": {
                "type": "integer",
                "minimum": 1,
                "description": "The EVM chain identifier for the Owl Protocol project."
              },
              "address": {
                "type": "string",
                "minLength": 42,
                "maxLength": 42,
                "description": "The contract address managed by the Owl Protocol project.",
                "pattern": "^0x[a-fA-F0-9]{40}$"
              },
              "tokenId": {
                "type": "string",
                "minLength": 1,
                "description": "The token identifier within the target contract."
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The NFT name."
                  },
                  "description": {
                    "type": "string",
                    "description": "The NFT description."
                  },
                  "image": {
                    "type": "string",
                    "description": "The image URL stored for the NFT."
                  },
                  "image_data": {
                    "type": "string",
                    "description": "The raw image data string stored for the NFT."
                  },
                  "background_color": {
                    "type": "string",
                    "description": "The NFT background color string."
                  },
                  "animation_url": {
                    "type": "string",
                    "description": "The animation URL stored for the NFT."
                  },
                  "youtube_url": {
                    "type": "string",
                    "description": "The YouTube URL stored for the NFT."
                  },
                  "external_url": {
                    "type": "string",
                    "description": "The external URL stored for the NFT."
                  },
                  "decimals": {
                    "type": "integer",
                    "description": "The decimals value stored for the NFT."
                  },
                  "attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "trait_type": {
                          "type": "string",
                          "description": "The trait name for the attribute."
                        },
                        "description": {
                          "type": "string",
                          "description": "The optional attribute description."
                        },
                        "value": {
                          "description": "The attribute value."
                        },
                        "max_value": {
                          "type": "number",
                          "description": "The maximum numeric value for the attribute when present."
                        },
                        "display_type": {
                          "type": "string",
                          "description": "The NFT display type for the attribute."
                        },
                        "display_value": {
                          "type": "string",
                          "description": "The rendered attribute value string."
                        }
                      },
                      "additionalProperties": true,
                      "description": "One NFT attribute entry stored in Owl Protocol."
                    },
                    "description": "The NFT attributes array stored for the token."
                  },
                  "properties": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The property display name."
                        },
                        "description": {
                          "type": "string",
                          "description": "The property description."
                        },
                        "value": {
                          "description": "The property value."
                        },
                        "max_value": {
                          "type": "number",
                          "description": "The maximum numeric property value when present."
                        },
                        "display_type": {
                          "type": "string",
                          "description": "The NFT display type for the property."
                        },
                        "display_value": {
                          "type": "string",
                          "description": "The rendered property value string."
                        }
                      },
                      "additionalProperties": true,
                      "description": "One NFT properties entry stored in Owl Protocol."
                    },
                    "description": "The NFT properties map stored for the token."
                  },
                  "localization": {
                    "type": "object",
                    "properties": {
                      "uri": {
                        "type": "string",
                        "description": "The localization URI template."
                      },
                      "default": {
                        "type": "string",
                        "description": "The default locale code."
                      },
                      "locales": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "One locale code."
                        },
                        "description": "The locale codes available for this token."
                      }
                    },
                    "additionalProperties": true,
                    "description": "The localization object stored in Owl Protocol metadata."
                  }
                },
                "additionalProperties": true,
                "description": "The NFT metadata object stored for the token in Owl Protocol."
              }
            },
            "additionalProperties": false,
            "required": [
              "chainId",
              "address",
              "tokenId"
            ],
            "description": "The Owl Protocol token record returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "token"
        ],
        "description": "The normalized Owl Protocol patched token response."
      }
    }
  ]
}
