{
  "service": "the_odds_api",
  "displayName": "The Odds API",
  "categories": [
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "the_odds_api_key",
      "description": "The Odds API key sent as the apiKey query parameter."
    }
  ],
  "homepageUrl": "https://the-odds-api.com",
  "actions": [
    {
      "id": "the_odds_api.get_event_odds",
      "service": "the_odds_api",
      "name": "get_event_odds",
      "description": "Get odds for one The Odds API event.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "minLength": 1,
            "description": "The sport key returned by The Odds API sports endpoint, or upcoming for the next live and upcoming games across all sports."
          },
          "eventId": {
            "type": "string",
            "minLength": 1,
            "description": "The event ID returned by The Odds API."
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Bookmaker regions to request, such as us, us2, uk, au, or eu.",
            "minItems": 1
          },
          "markets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Betting market keys to request, such as h2h, spreads, or totals.",
            "minItems": 1
          },
          "dateFormat": {
            "type": "string",
            "enum": [
              "iso",
              "unix"
            ],
            "description": "Timestamp format returned by The Odds API."
          },
          "oddsFormat": {
            "type": "string",
            "enum": [
              "decimal",
              "american"
            ],
            "description": "Odds format returned by The Odds API."
          },
          "bookmakers": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Bookmaker keys used to filter event odds.",
            "minItems": 1
          },
          "includeLinks": {
            "type": "boolean",
            "description": "Whether bookmaker event, market, and betslip links are included."
          },
          "includeSids": {
            "type": "boolean",
            "description": "Whether source IDs are included when available."
          },
          "includeBetLimits": {
            "type": "boolean",
            "description": "Whether bet limits are included when available."
          },
          "includeMultipliers": {
            "type": "boolean",
            "description": "Whether DFS multipliers are included when available."
          }
        },
        "additionalProperties": false,
        "required": [
          "sport",
          "eventId",
          "regions"
        ],
        "description": "Input parameters for reading odds for a single The Odds API event."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "eventOdds": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Single-event odds payload returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Single-event odds returned by The Odds API."
      }
    },
    {
      "id": "the_odds_api.get_odds",
      "service": "the_odds_api",
      "name": "get_odds",
      "description": "Get live and upcoming odds for a sport from The Odds API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "minLength": 1,
            "description": "The sport key returned by The Odds API sports endpoint, or upcoming for the next live and upcoming games across all sports."
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Bookmaker regions to request, such as us, us2, uk, au, or eu.",
            "minItems": 1
          },
          "markets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Betting market keys to request, such as h2h, spreads, or totals.",
            "minItems": 1
          },
          "dateFormat": {
            "type": "string",
            "enum": [
              "iso",
              "unix"
            ],
            "description": "Timestamp format returned by The Odds API."
          },
          "oddsFormat": {
            "type": "string",
            "enum": [
              "decimal",
              "american"
            ],
            "description": "Odds format returned by The Odds API."
          },
          "eventIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Event IDs used to filter odds.",
            "minItems": 1
          },
          "bookmakers": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Bookmaker keys used to filter odds.",
            "minItems": 1
          },
          "commenceTimeFrom": {
            "type": "string",
            "minLength": 1,
            "description": "ISO 8601 timestamp used by The Odds API to filter event commence time."
          },
          "commenceTimeTo": {
            "type": "string",
            "minLength": 1,
            "description": "ISO 8601 timestamp used by The Odds API to filter event commence time."
          },
          "includeLinks": {
            "type": "boolean",
            "description": "Whether bookmaker event, market, and betslip links are included."
          },
          "includeSids": {
            "type": "boolean",
            "description": "Whether source IDs are included when available."
          },
          "includeBetLimits": {
            "type": "boolean",
            "description": "Whether bet limits are included when available."
          },
          "includeRotationNumbers": {
            "type": "boolean",
            "description": "Whether home and away rotation numbers are included."
          }
        },
        "additionalProperties": false,
        "required": [
          "sport",
          "regions"
        ],
        "description": "Input parameters for reading odds from The Odds API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "odds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An event odds payload."
            },
            "description": "Event odds returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Odds returned by The Odds API."
      }
    },
    {
      "id": "the_odds_api.get_scores",
      "service": "the_odds_api",
      "name": "get_scores",
      "description": "Get live and recent completed scores for a sport from The Odds API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "minLength": 1,
            "description": "The sport key returned by The Odds API sports endpoint, or upcoming for the next live and upcoming games across all sports."
          },
          "daysFrom": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of days in the past from which to return completed scores."
          },
          "dateFormat": {
            "type": "string",
            "enum": [
              "iso",
              "unix"
            ],
            "description": "Timestamp format returned by The Odds API."
          },
          "eventIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Event IDs used to filter scores.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "sport"
        ],
        "description": "Input parameters for reading scores from The Odds API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "scores": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An event score payload."
            },
            "description": "Event scores returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Scores returned by The Odds API."
      }
    },
    {
      "id": "the_odds_api.list_event_markets",
      "service": "the_odds_api",
      "name": "list_event_markets",
      "description": "List recently seen market keys for one The Odds API event.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "minLength": 1,
            "description": "The sport key returned by The Odds API sports endpoint, or upcoming for the next live and upcoming games across all sports."
          },
          "eventId": {
            "type": "string",
            "minLength": 1,
            "description": "The event ID returned by The Odds API."
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Bookmaker regions to request, such as us, us2, uk, au, or eu.",
            "minItems": 1
          },
          "bookmakers": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Bookmaker keys used to filter event markets.",
            "minItems": 1
          },
          "dateFormat": {
            "type": "string",
            "enum": [
              "iso",
              "unix"
            ],
            "description": "Timestamp format returned by The Odds API."
          }
        },
        "additionalProperties": false,
        "required": [
          "sport",
          "eventId",
          "regions"
        ],
        "description": "Input parameters for listing recently seen markets for a The Odds API event."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "eventMarkets": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The event ID."
              },
              "sport_key": {
                "type": "string",
                "description": "The sport key for this event."
              },
              "sport_title": {
                "type": "string",
                "description": "The sport title for this event."
              },
              "commence_time": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO 8601 event commence time."
                  },
                  {
                    "type": "number",
                    "description": "The UNIX event commence time."
                  }
                ],
                "description": "The event commence time in the requested date format."
              },
              "home_team": {
                "type": "string",
                "description": "The home team name."
              },
              "away_team": {
                "type": "string",
                "description": "The away team name."
              },
              "bookmakers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "The bookmaker key."
                    },
                    "title": {
                      "type": "string",
                      "description": "The bookmaker title."
                    },
                    "markets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "The market key."
                          },
                          "last_update": {
                            "type": "string",
                            "description": "When this market was last seen by The Odds API."
                          }
                        },
                        "additionalProperties": true,
                        "description": "A market key object returned by The Odds API."
                      },
                      "description": "Recently seen market keys for this bookmaker."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A bookmaker with recently seen markets."
                },
                "description": "Bookmakers with recently seen markets for this event."
              }
            },
            "additionalProperties": true,
            "description": "Event market payload returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Event markets returned by The Odds API."
      }
    },
    {
      "id": "the_odds_api.list_events",
      "service": "the_odds_api",
      "name": "list_events",
      "description": "List live and upcoming events for a sport from The Odds API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "minLength": 1,
            "description": "The sport key returned by The Odds API sports endpoint, or upcoming for the next live and upcoming games across all sports."
          },
          "dateFormat": {
            "type": "string",
            "enum": [
              "iso",
              "unix"
            ],
            "description": "Timestamp format returned by The Odds API."
          },
          "eventIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A single The Odds API comma-list value."
            },
            "description": "Event IDs used to filter events.",
            "minItems": 1
          },
          "commenceTimeFrom": {
            "type": "string",
            "minLength": 1,
            "description": "ISO 8601 timestamp used by The Odds API to filter event commence time."
          },
          "commenceTimeTo": {
            "type": "string",
            "minLength": 1,
            "description": "ISO 8601 timestamp used by The Odds API to filter event commence time."
          },
          "includeRotationNumbers": {
            "type": "boolean",
            "description": "Whether home and away rotation numbers are included."
          }
        },
        "additionalProperties": false,
        "required": [
          "sport"
        ],
        "description": "Input parameters for listing events from The Odds API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The event ID."
                },
                "sport_key": {
                  "type": "string",
                  "description": "The sport key for this event."
                },
                "sport_title": {
                  "type": "string",
                  "description": "The sport title for this event."
                },
                "commence_time": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO 8601 event commence time."
                    },
                    {
                      "type": "number",
                      "description": "The UNIX event commence time."
                    }
                  ],
                  "description": "The event commence time in the requested date format."
                },
                "home_team": {
                  "type": "string",
                  "description": "The home team name."
                },
                "away_team": {
                  "type": "string",
                  "description": "The away team name."
                }
              },
              "additionalProperties": true,
              "description": "An event object returned by The Odds API."
            },
            "description": "Event objects returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Events returned by The Odds API."
      }
    },
    {
      "id": "the_odds_api.list_participants",
      "service": "the_odds_api",
      "name": "list_participants",
      "description": "List participants for a sport from The Odds API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "minLength": 1,
            "description": "The sport key returned by The Odds API sports endpoint, or upcoming for the next live and upcoming games across all sports."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing participants from The Odds API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "participants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "full_name": {
                  "type": "string",
                  "description": "The participant full name."
                }
              },
              "additionalProperties": true,
              "description": "A participant returned by The Odds API."
            },
            "description": "Participant objects returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Participants returned by The Odds API."
      }
    },
    {
      "id": "the_odds_api.list_sports",
      "service": "the_odds_api",
      "name": "list_sports",
      "description": "List sports supported by The Odds API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "all": {
            "type": "boolean",
            "description": "Whether to include both in-season and out-of-season sports."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing sports from The Odds API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sports": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A sport object returned by The Odds API."
            },
            "description": "Sport objects returned by The Odds API."
          },
          "quota": {
            "type": "object",
            "properties": {
              "requestsRemaining": {
                "type": "string",
                "description": "The x-requests-remaining response header value."
              },
              "requestsUsed": {
                "type": "string",
                "description": "The x-requests-used response header value."
              },
              "requestsLast": {
                "type": "string",
                "description": "The x-requests-last response header value."
              }
            },
            "additionalProperties": false,
            "description": "The Odds API quota headers returned with the response, when available."
          }
        },
        "additionalProperties": false,
        "description": "Sports returned by The Odds API."
      }
    }
  ]
}
