{
	"openapi": "3.1.0",
	"info": {
		"title": "auor.io",
		"description": "auor.io (Oreo) - x402 AI agent research toolkit",
		"version": "1.0.0"
	},
	"servers": [
		{
			"url": "https://api.auor.io",
			"description": "auor.io (Oreo) Production server"
		}
	],
	"paths": {
		"/all-rates-today/v1/historical": {
			"get": {
				"operationId": "historicalRatesV1",
				"summary": "Retrieve historical exchange rates.",
				"tags": ["AllRatesToday"],
				"parameters": [
					{
						"name": "from",
						"in": "query",
						"description": "Start date and time for historical rates.",
						"required": true,
						"schema": {
							"type": "string",
							"format": "date-time"
						},
						"example": "2026-01-10T08:59:56+0000"
					},
					{
						"name": "group",
						"in": "query",
						"description": "Grouping for historical rates.",
						"required": true,
						"schema": {
							"type": "string",
							"enum": ["day", "hour", "minute"]
						},
						"example": "minute"
					},
					{
						"name": "source",
						"in": "query",
						"description": "Source currency (3-letter ISO 4217 code).",
						"required": true,
						"schema": {
							"type": "string",
							"minLength": 3,
							"maxLength": 3
						},
						"example": "GBP"
					},
					{
						"name": "target",
						"in": "query",
						"description": "Target currency (3-letter ISO 4217 code).",
						"required": true,
						"schema": {
							"type": "string",
							"minLength": 3,
							"maxLength": 3
						},
						"example": "SBD"
					},
					{
						"name": "to",
						"in": "query",
						"description": "End date and time for historical rates.",
						"required": true,
						"schema": {
							"type": "string",
							"format": "date-time"
						},
						"example": "2026-01-10T08:59:56+0000"
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/all-rates-today/v1/historical/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/all-rates-today/v1/rates": {
			"get": {
				"operationId": "currentRatesV1",
				"summary": "Retrieve current exchange rates.",
				"tags": ["AllRatesToday"],
				"parameters": [
					{
						"name": "source",
						"in": "query",
						"description": "Source currency (3-letter ISO 4217 code).",
						"required": true,
						"schema": {
							"type": "string",
							"minLength": 3,
							"maxLength": 3
						},
						"example": "GBP"
					},
					{
						"name": "target",
						"in": "query",
						"description": "Target currency (3-letter ISO 4217 code).",
						"required": false,
						"schema": {
							"type": "string",
							"minLength": 3,
							"maxLength": 3
						},
						"example": "SBD"
					},
					{
						"name": "time",
						"in": "query",
						"description": "Specific timestamp for the rate.",
						"required": false,
						"schema": {
							"type": "string",
							"format": "date-time"
						},
						"example": "2026-01-10T08:59:56+0000"
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/all-rates-today/v1/rates/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/amadeus/v1/search": {
			"get": {
				"operationId": "amadeusSearchV1",
				"summary": "Use the Amadeus API to find flight offers.",
				"tags": ["Amadeus"],
				"parameters": [
					{
						"name": "origin",
						"in": "query",
						"description": "The IATA code of the origin airport.",
						"required": true,
						"schema": {
							"type": "string",
							"minLength": 3,
							"maxLength": 3
						},
						"example": "AMS"
					},
					{
						"name": "destination",
						"in": "query",
						"description": "The IATA code of the destination airport.",
						"required": true,
						"schema": {
							"type": "string",
							"minLength": 3,
							"maxLength": 3
						},
						"example": "JNB"
					},
					{
						"name": "dateDepart",
						"in": "query",
						"description": "The departure date in YYYY-MM-DD format.",
						"required": true,
						"schema": {
							"type": "string",
							"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
						},
						"example": "2026-03-01"
					},
					{
						"name": "dateReturn",
						"in": "query",
						"description": "The return date in YYYY-MM-DD format.",
						"required": false,
						"schema": {
							"type": "string",
							"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
						},
						"example": "2026-04-01"
					},
					{
						"name": "travelersAdult",
						"in": "query",
						"description": "The number of adult travelers.",
						"required": true,
						"schema": {
							"type": "integer",
							"minimum": 1,
							"maximum": 1024
						},
						"example": 1
					},
					{
						"name": "travelersChild",
						"in": "query",
						"description": "The number of child travelers.",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 0,
							"maximum": 1024
						}
					},
					{
						"name": "travelersInfant",
						"in": "query",
						"description": "The number of infant travelers.",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 0,
							"maximum": 1024
						}
					},
					{
						"name": "class",
						"in": "query",
						"description": "The travel class.",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["ECONOMY", "PREMIUM_ECONOMY", "BUSINESS", "FIRST"]
						}
					},
					{
						"name": "direct",
						"in": "query",
						"description": "Whether to search for direct flights only.",
						"required": false,
						"schema": {
							"type": "boolean"
						}
					},
					{
						"name": "currencyCode",
						"in": "query",
						"description": "The currency code for the price.",
						"required": false,
						"schema": {
							"type": "string",
							"enum": [
								"CAD",
								"HKD",
								"ISK",
								"PHP",
								"DKK",
								"HUF",
								"CZK",
								"AUD",
								"RON",
								"SEK",
								"IDR",
								"INR",
								"BRL",
								"RUB",
								"HRK",
								"JPY",
								"THB",
								"EUR",
								"CHF",
								"SGD",
								"PLN",
								"BGN",
								"TRY",
								"CNY",
								"NOK",
								"NZD",
								"ZAR",
								"USD",
								"MXN",
								"ILS",
								"GBP",
								"KRW",
								"MYR"
							]
						}
					},
					{
						"name": "priceMaximum",
						"in": "query",
						"description": "The maximum price for the flight.",
						"required": false,
						"schema": {
							"type": "integer"
						}
					},
					{
						"name": "resultsMaximum",
						"in": "query",
						"description": "The maximum number of results to return.",
						"required": false,
						"schema": {
							"type": "integer"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/amadeus/v1/search/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.03"
				}
			}
		},
		"/crustdata/v1/companies/enrich": {
			"get": {
				"operationId": "crustDataCompaniesEnrichV1",
				"summary": "Enrich company data using the CrustData API",
				"tags": ["CrustData"],
				"parameters": [
					{
						"name": "domain",
						"in": "query",
						"description": "The domain of the company you want to retrieve data for.",
						"required": false,
						"schema": {
							"type": "string",
							"format": "uri"
						}
					},
					{
						"name": "name",
						"in": "query",
						"description": "The name of the company you want to retrieve data for.",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "linkedInURL",
						"in": "query",
						"description": "The LinkedIn URL of the company to retrieve data for.",
						"required": false,
						"schema": {
							"type": "string",
							"format": "uri"
						}
					},
					{
						"name": "exact",
						"in": "query",
						"description": "Controls how `name` (and `domain`) are matched.",
						"required": false,
						"schema": {
							"type": "boolean",
							"default": false
						}
					},
					{
						"name": "fieldGroups",
						"in": "query",
						"description": "The fields to add to the response.",
						"required": false,
						"schema": {
							"type": "array",
							"items": {
								"type": "string",
								"enum": [
									"taxonomy",
									"competitors",
									"headcount",
									"webTraffic",
									"glassdoor",
									"g2",
									"linkedInFollowers",
									"fundingAndInvestment",
									"jobOpenings",
									"seo",
									"founders",
									"cxos",
									"newsArticles",
									"productHunt",
									"decisionMakers",
									"gartner"
								]
							}
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/companies/enrich/output.json"
								}
							}
						}
					},
					"202": {
						"description": "Enriching",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/companies/enrich/enriching.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					},
					"404": {
						"description": "Not Found",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/companies/enrich/notFound.json"
								}
							}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.12"
				}
			}
		},
		"/crustdata/v1/companies/search": {
			"post": {
				"operationId": "crustDataCompaniesSearchV1",
				"summary": "Search for companies using the CrustData API",
				"tags": ["CrustData"],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "./schemas/crustdata/v1/companies/search/input.json"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/companies/search/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.05"
				}
			}
		},
		"/crustdata/v1/filters": {
			"get": {
				"operationId": "crustDataFiltersV1",
				"summary": "Get a list of possible values for CrustData search filters",
				"tags": ["CrustData"],
				"parameters": [
					{
						"name": "count",
						"in": "query",
						"description": "The number of results to return. Maximum 50.",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 1,
							"maximum": 50
						},
						"example": 10
					},
					{
						"name": "offset",
						"in": "query",
						"description": "The offset for paginated results.",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 0
						},
						"example": 0
					},
					{
						"name": "query",
						"in": "query",
						"description": "The query, used to search for values of type `type`.",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "San Francisco"
					},
					{
						"name": "type",
						"in": "query",
						"description": "The filter type to search on.",
						"required": true,
						"schema": {
							"type": "string",
							"enum": ["region", "industry", "title", "school"]
						},
						"example": "region"
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/filters/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/crustdata/v1/people/enrich": {
			"get": {
				"operationId": "crustDataPeopleEnrichV1",
				"summary": "Enrich a person's profile using CrustData.",
				"tags": ["CrustData"],
				"parameters": [
					{
						"name": "linkedInProfileURL",
						"in": "query",
						"description": "The URL of the LinkedIn profile to enrich data for.",
						"required": false,
						"schema": {
							"type": "string",
							"format": "uri"
						}
					},
					{
						"name": "businessEmail",
						"in": "query",
						"description": "The business email address to enrich data for.",
						"required": false,
						"schema": {
							"type": "string",
							"format": "email"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/people/enrich/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.12"
				}
			}
		},
		"/crustdata/v1/people/search": {
			"post": {
				"operationId": "crustDataPeopleSearchV1",
				"summary": "Search for people using the CrustData API",
				"tags": ["CrustData"],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "./schemas/crustdata/v1/people/search/input.json"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/crustdata/v1/people/search/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.05"
				}
			}
		},
		"/google-maps/v1/geocode": {
			"get": {
				"operationId": "googleMapsGeocodeV1",
				"summary": "Use Google Maps API to turn an address into geo coordinates",
				"tags": ["Google Maps"],
				"parameters": [
					{
						"name": "address",
						"in": "query",
						"description": "The address to geodode. Specify addresses in accordance with the format used by the national postal service of the country concerned.",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "24 Sussex Drive, Ottawa, ON"
					},
					{
						"name": "Accept",
						"in": "header",
						"description": "The content-type to respond with",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["application/json", "application/xml"]
						},
						"example": "application/json"
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-maps/v1/geocode/output.json"
								}
							},
							"application/xml": {
								"schema": {
									"$ref": "./schemas/google-maps/v1/geocode/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.005"
				}
			}
		},
		"/google-maps/v1/search/basic": {
			"get": {
				"operationId": "googleMapsSearchBasicV1",
				"summary": "Use the Google Maps API to search for places with a query, returning basic details",
				"tags": ["Google Maps"],
				"parameters": [
					{
						"name": "query",
						"in": "query",
						"description": "The search query used to search for a place",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "Restaurants in Ottawa"
					},
					{
						"name": "pageSize",
						"in": "query",
						"description": "The amount of results to return per page",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 1,
							"maximum": 20
						},
						"example": 5
					},
					{
						"name": "pageToken",
						"in": "query",
						"description": "If another page is available, this token signifies the start of the next page.",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-maps/v1/search/basic/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.032"
				}
			}
		},
		"/google-maps/v1/search/full": {
			"get": {
				"operationId": "googleMapsSearchFullV1",
				"summary": "Use the Google Maps API to search for places with a query, returning all available details",
				"tags": ["Google Maps"],
				"parameters": [
					{
						"name": "query",
						"in": "query",
						"description": "The search query used to search for a place",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "Restaurants in Ottawa"
					},
					{
						"name": "pageSize",
						"in": "query",
						"description": "The amount of results to return per page",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 1,
							"maximum": 20
						},
						"example": 5
					},
					{
						"name": "pageToken",
						"in": "query",
						"description": "If another page is available, this token signifies the start of the next page.",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-maps/v1/search/full/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.04"
				}
			}
		},
		"/google-maps/v1/details/basic": {
			"get": {
				"operationId": "googleMapsDetailsBasicV1",
				"summary": "Use the Google Maps API to get basic details about a place",
				"tags": ["Google Maps"],
				"parameters": [
					{
						"name": "placeId",
						"in": "query",
						"description": "The unique identifier of a place, obtained via the /google-maps/v1/search endpoint.",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "ChIJj61dQgK6j4AR4GeTYWZsKWw"
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-maps/v1/details/basic/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.005"
				}
			}
		},
		"/google-maps/v1/details/full": {
			"get": {
				"operationId": "googleMapsDetailsFullV1",
				"summary": "Use the Google Maps API to get all available details about a place",
				"tags": ["Google Maps"],
				"parameters": [
					{
						"name": "placeId",
						"in": "query",
						"description": "The unique identifier of a place, obtained via the /google-maps/v1/search endpoint.",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "ChIJj61dQgK6j4AR4GeTYWZsKWw"
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-maps/v1/details/full/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.025"
				}
			}
		},
		"/google-translate/v1/detect": {
			"post": {
				"operationId": "languageDetectV1",
				"summary": "Use the Google Translate API to detect the language for a given input text",
				"tags": ["Google Translate"],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "object",
								"properties": {
									"text": {
										"description": "The text to translate.",
										"type": "string"
									}
								},
								"required": ["text"]
							},
							"example": {
								"text": "Ek wou net sê jy lyk pragtig vandag."
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-translate/v1/detect/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "range",
					"minPrice": "0.001",
					"maxPrice": "0.02"
				}
			}
		},
		"/google-translate/v1/languages": {
			"get": {
				"operationId": "translateLanguagesV1",
				"summary": "Use the Google Translate API to list the available languages for translation and language detection",
				"tags": ["Google Translate"],
				"parameters": [
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-translate/v1/languages/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/google-translate/v1/translate": {
			"post": {
				"operationId": "translateV1",
				"summary": "Use the Google Translate API to translate text from one language to another",
				"tags": ["Google Translate"],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "object",
								"properties": {
									"sourceLanguage": {
										"description": "The language to translate from. Will be automatically detected if not supplied",
										"type": "string"
									},
									"targetLanguage": {
										"description": "The language to translate to.",
										"type": "string"
									},
									"text": {
										"description": "The text to translate.",
										"type": "string"
									}
								},
								"required": ["targetLanguage", "text"]
							},
							"example": {
								"sourceLanguage": "af",
								"targetLanguage": "en",
								"text": "Jou glimlag maak die hele kamer helder."
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-translate/v1/translate/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "range",
					"minPrice": "0.001",
					"maxPrice": "0.02"
				}
			}
		},
		"/google-weather/v1/current": {
			"get": {
				"operationId": "currentWeatherV1",
				"summary": "Use the Google Weather API to get current weather conditions for a given location",
				"tags": ["Google Weather"],
				"parameters": [
					{
						"name": "latitude",
						"in": "query",
						"description": "The latitude of the location to get current weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__latitude"
						},
						"example": 37.422
					},
					{
						"name": "longitude",
						"in": "query",
						"description": "The longitude of the location to get current weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__longitude"
						},
						"example": -122.0841
					},
					{
						"name": "units",
						"in": "query",
						"description": "The unit system to return results in",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["imperial", "metric"]
						},
						"example": "metric"
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-weather/v1/current/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/google-weather/v1/forecast/days": {
			"get": {
				"operationId": "dailyWeatherForecastV1",
				"summary": "Use the Google Weather API to forecast the weather daily for a given amount of days",
				"tags": ["Google Weather"],
				"parameters": [
					{
						"name": "latitude",
						"in": "query",
						"description": "The latitude of the location to get forecasted weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__latitude"
						},
						"example": 37.422
					},
					{
						"name": "longitude",
						"in": "query",
						"description": "The longitude of the location to get forecasted weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__longitude"
						},
						"example": -122.0841
					},
					{
						"name": "days",
						"in": "query",
						"description": "The amount of days to return a forecast for.",
						"required": true,
						"schema": {
							"type": "integer",
							"maximum": 10,
							"minimum": 1
						},
						"example": 3
					},
					{
						"name": "units",
						"in": "query",
						"description": "The unit system to return results in",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["imperial", "metric"]
						},
						"example": "metric"
					},
					{
						"name": "pageSize",
						"in": "query",
						"description": "The amount of results to return per page",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 1
						},
						"example": 2
					},
					{
						"name": "pageToken",
						"in": "query",
						"description": "If another page is available, this token signifies the start of the next page.",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-weather/v1/forecast/days/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/google-weather/v1/forecast/hours": {
			"get": {
				"operationId": "hourlyWeatherForecastV1",
				"summary": "Use the Google Weather API to forecast the weather hourly for a given amount of hours",
				"tags": ["Google Weather"],
				"parameters": [
					{
						"name": "latitude",
						"in": "query",
						"description": "The latitude of the location to get forecasted weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__latitude"
						},
						"example": 37.422
					},
					{
						"name": "longitude",
						"in": "query",
						"description": "The longitude of the location to get forecasted weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__longitude"
						},
						"example": -122.0841
					},
					{
						"name": "hours",
						"in": "query",
						"description": "The amount of hours to return a forecast for.",
						"required": true,
						"schema": {
							"type": "integer",
							"maximum": 240,
							"minimum": 1
						},
						"example": 24
					},
					{
						"name": "units",
						"in": "query",
						"description": "The unit system to return results in",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["imperial", "metric"]
						},
						"example": "metric"
					},
					{
						"name": "pageSize",
						"in": "query",
						"description": "The amount of results to return per page",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 1
						},
						"example": 12
					},
					{
						"name": "pageToken",
						"in": "query",
						"description": "If another page is available, this token signifies the start of the next page.",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-weather/v1/forecast/hours/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/google-weather/v1/history/hours": {
			"get": {
				"operationId": "hourlyWeatherHistoryV1",
				"summary": "Use the Google Weather API to fetch hourly weather history for a given amount of hours",
				"tags": ["Google Weather"],
				"parameters": [
					{
						"name": "latitude",
						"in": "query",
						"description": "The latitude of the location to get historical weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__latitude"
						},
						"example": 37.422
					},
					{
						"name": "longitude",
						"in": "query",
						"description": "The longitude of the location to get historical weather conditions for.",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/weather__longitude"
						},
						"example": -122.0841
					},
					{
						"name": "hours",
						"in": "query",
						"description": "The amount of hours to return historical weather for.",
						"required": true,
						"schema": {
							"type": "integer",
							"maximum": 240,
							"minimum": 1
						},
						"example": 24
					},
					{
						"name": "units",
						"in": "query",
						"description": "The unit system to return results in",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["imperial", "metric"]
						},
						"example": "metric"
					},
					{
						"name": "pageSize",
						"in": "query",
						"description": "The amount of results to return per page",
						"required": false,
						"schema": {
							"type": "integer",
							"minimum": 1
						},
						"example": 12
					},
					{
						"name": "pageToken",
						"in": "query",
						"description": "If another page is available, this token signifies the start of the next page.",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/google-weather/v1/history/hours/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/ip-stack/v1/lookup": {
			"get": {
				"operationId": "ipAddressLookupV1",
				"summary": "Use the IPStack API to look up information about an IP Address",
				"tags": ["IPStack"],
				"parameters": [
					{
						"name": "ip",
						"in": "query",
						"description": "The IP Address to look up information about.",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "134.201.250.155"
					},
					{
						"name": "Accept",
						"in": "header",
						"description": "The content-type to respond with",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["application/json", "application/xml"]
						},
						"example": "application/json"
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/ip-stack/v1/lookup/output.json"
								}
							},
							"application/xml": {
								"schema": {
									"$ref": "./schemas/ip-stack/v1/lookup/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/open-holidays/v1/public": {
			"get": {
				"operationId": "publicHolidaysV1",
				"summary": "Use the OpenHolidays API to list public holidays for a specified country and year",
				"tags": ["OpenHolidays"],
				"parameters": [
					{
						"name": "country",
						"in": "query",
						"description": "The ISO 3166-1 country to fetch public holidays for",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "NL"
					},
					{
						"name": "year",
						"in": "query",
						"description": "The year to fetch public holidays for, up to ~5 years in the future",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/holidays__year"
						},
						"example": 2022
					},
					{
						"name": "Accept",
						"in": "header",
						"description": "The content-type to respond with",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["application/json", "text/calendar"]
						},
						"example": "application/json"
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/open-holidays/v1/public/output.json"
								}
							},
							"text/calendar": {}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/open-holidays/v1/school": {
			"get": {
				"operationId": "schoolHolidaysV1",
				"summary": "Use the OpenHolidays API to list school holidays for a specified country and year",
				"tags": ["OpenHolidays"],
				"parameters": [
					{
						"name": "country",
						"in": "query",
						"description": "The ISO 3166-1 country to fetch school holidays for",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "ZA"
					},
					{
						"name": "subdivision",
						"in": "query",
						"description": "The specific subdivision to filter by",
						"required": false,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "year",
						"in": "query",
						"description": "The year to fetch school holidays for, up to ~5 years in the future",
						"required": true,
						"schema": {
							"$ref": "#/components/parameters/holidays__year"
						},
						"example": 2025
					},
					{
						"name": "Accept",
						"in": "header",
						"description": "The content-type to respond with",
						"required": false,
						"schema": {
							"type": "string",
							"enum": ["application/json", "text/calendar"]
						},
						"example": "application/json"
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/open-holidays/v1/school/output.json"
								}
							},
							"text/calendar": {}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/open-holidays/v1/subdivisions": {
			"get": {
				"operationId": "holidaySubdivisionsV1",
				"summary": "Use the OpenHolidays API to list sub divisions for a specified country",
				"tags": ["OpenHolidays"],
				"parameters": [
					{
						"name": "country",
						"in": "query",
						"description": "The ISO 3166-1 country to fetch school holidays for",
						"required": true,
						"schema": {
							"type": "string"
						},
						"example": "ZH"
					},
					{
						"name": "Accept-Language",
						"in": "header",
						"description": "The language to return the results in",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/open-holidays/v1/subdivisions/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.001"
				}
			}
		},
		"/tavily/v1/extract": {
			"post": {
				"operationId": "tavilyExtractV1",
				"summary": "Use Tavily to extract content from web pages.",
				"tags": ["Tavily"],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "./schemas/tavily/v1/extract/input.json"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/tavily/v1/extract/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.02"
				}
			}
		},
		"/tavily/v1/search": {
			"post": {
				"operationId": "tavilySearchV1",
				"summary": "Use Tavily to search the web.",
				"tags": ["Tavily"],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "./schemas/tavily/v1/search/input.json"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "Success",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "./schemas/tavily/v1/search/output.json"
								}
							}
						}
					},
					"400": {
						"description": "Validation error",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationError"
								}
							}
						}
					},
					"402": {
						"description": "Payment required",
						"content": {
							"application/json": {}
						}
					}
				},
				"x-payment-info": {
					"protocols": ["x402"],
					"pricingMode": "fixed",
					"price": "0.02"
				}
			}
		}
	},
	"components": {
		"parameters": {
			"holidays__year": {
				"name": "year",
				"in": "query",
				"description": "The year, up to ~5 years in the future",
				"schema": {
					"type": "integer",
					"minimum": 1970,
					"maximum": 9999,
					"format": "int32"
				}
			},
			"weather__latitude": {
				"name": "latitude",
				"in": "query",
				"description": "The latitude of the location.",
				"required": true,
				"schema": {
					"type": "number",
					"minimum": -90,
					"maximum": 90,
					"format": "float"
				}
			},
			"weather__longitude": {
				"name": "longitude",
				"in": "query",
				"description": "The longitude of the location.",
				"required": true,
				"schema": {
					"type": "number",
					"minimum": -180,
					"maximum": 180,
					"format": "float"
				}
			}
		},
		"schemas": {
			"ValidationError": {
				"type": "object",
				"properties": {
					"errors": {
						"type": "array",
						"items": {
							"type": "string"
						}
					}
				},
				"required": ["errors"]
			}
		}
	}
}
