{"openapi":"3.1.0","info":{"title":"Basic Utilities Agent","version":"1.0.0","description":"Multi-utility service offering calculator, statistics, datetime operations, and unit conversions.","x-guidance":"All endpoints use POST with JSON request bodies.","contact":{"email":"basic-utils@agnet.world"}},"paths":{"/health":{"get":{"operationId":"getHealth","summary":"Health check","description":"Simple check to ensure the application is running.","tags":["Health"],"security":[],"responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"timestamp":{"type":"number","description":"Unix timestamp"}},"required":["status","message"]}}}}}}},"/explain_service":{"get":{"operationId":"explainService","summary":"Get detailed information about this service","tags":["service"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Service information","content":{"application/json":{"schema":{"type":"object","properties":{"service_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"endpoints":{"type":"object"}}}}}},"402":{"description":"Payment Required"}}}},"/ask_question":{"post":{"operationId":"askQuestion","summary":"Ask questions before using the service","tags":["service"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string"}},"required":["question"]}}}},"responses":{"200":{"description":"Answer to the question","content":{"application/json":{"schema":{"type":"object","properties":{"answer":{"type":"string"}}}}}},"402":{"description":"Payment Required"}}}},"/calculator":{"post":{"operationId":"calculator","summary":"Evaluate mathematical expressions","tags":["calculator"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string","description":"Mathematical expression to evaluate (e.g., '2+2', '10*5')"}},"required":["expression"]}}}},"responses":{"200":{"description":"Calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string","description":"The original mathematical expression that was evaluated"},"result":{"type":"number","description":"The result of evaluating the mathematical expression"}},"required":["expression","result"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/mean":{"post":{"operationId":"statisticsMean","summary":"Calculate mean (average) of a dataset","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Mean calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"mean":{"type":"number","description":"The mean (average) of the dataset"}},"required":["mean"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/median":{"post":{"operationId":"statisticsMedian","summary":"Calculate median (middle value) of a dataset","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Median calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"median":{"type":"number","description":"The median (middle value) of the dataset"}},"required":["median"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/mode":{"post":{"operationId":"statisticsMode","summary":"Calculate mode (most frequent value) of a dataset","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Mode calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"array","items":{"type":"number"},"description":"The mode (most frequent value(s)) of the dataset"}},"required":["mode"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/stddev":{"post":{"operationId":"statisticsStddev","summary":"Calculate standard deviation of a dataset","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Standard deviation calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"stddev":{"type":"number","description":"The standard deviation of the dataset"}},"required":["stddev"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/variance":{"post":{"operationId":"statisticsVariance","summary":"Calculate variance of a dataset","tags":["statistics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Variance calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"variance":{"type":"number","description":"The variance of the dataset"}},"required":["variance"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/min-max":{"post":{"operationId":"statisticsMinMax","summary":"Find minimum and maximum values in a dataset","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Min-max calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"min":{"type":"number","description":"The minimum value of the dataset"},"max":{"type":"number","description":"The maximum value of the dataset"}},"required":["min","max"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/range":{"post":{"operationId":"statisticsRange","summary":"Calculate range (max - min) of a dataset","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Range calculation result","content":{"application/json":{"schema":{"type":"object","properties":{"range":{"type":"number","description":"The range (max - min) of the dataset"}},"required":["range"]}}}},"402":{"description":"Payment Required"}}}},"/statistics/summary":{"post":{"operationId":"statisticsSummary","summary":"Get all statistics in one response","tags":["statistics"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"description":"List of numeric values for statistical analysis. Maximum length: 10000"}},"required":["data"]}}}},"responses":{"200":{"description":"Complete statistics summary","content":{"application/json":{"schema":{"type":"object","properties":{"mean":{"type":"number","description":"The mean (average) of the dataset"},"median":{"type":"number","description":"The median (middle value) of the dataset"},"mode":{"type":"array","items":{"type":"number"},"description":"The mode (most frequent value(s)) of the dataset"},"stddev":{"type":"number","description":"The standard deviation of the dataset"},"variance":{"type":"number","description":"The variance of the dataset"},"min":{"type":"number","description":"The minimum value of the dataset"},"max":{"type":"number","description":"The maximum value of the dataset"},"range":{"type":"number","description":"The range (max - min) of the dataset"}}}}}},"402":{"description":"Payment Required"}}}},"/datetime/now":{"post":{"operationId":"datetimeNow","summary":"Get current timestamp","tags":["datetime"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"The base date for the operation"},"days":{"type":"integer","description":"Number of days to add or subtract"},"date2":{"type":"string","format":"date-time","description":"The second date for difference calculation"}}}}}},"responses":{"200":{"description":"Current timestamp","content":{"application/json":{"schema":{"type":"object","properties":{"now":{"type":"string","format":"date-time","description":"The current timestamp"}},"required":["now"]}}}},"402":{"description":"Payment Required"}}}},"/datetime/add":{"post":{"operationId":"datetimeAdd","summary":"Add days to a date","tags":["datetime"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"The base date for the operation"},"days":{"type":"integer","description":"Number of days to add or subtract"},"date2":{"type":"string","format":"date-time","description":"The second date for difference calculation"}}}}}},"responses":{"200":{"description":"Result date","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","format":"date-time","description":"The resulting date after adding the specified number of days"}},"required":["result"]}}}},"402":{"description":"Payment Required"}}}},"/datetime/subtract":{"post":{"operationId":"datetimeSubtract","summary":"Subtract days from a date","tags":["datetime"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"The base date for the operation"},"days":{"type":"integer","description":"Number of days to add or subtract"},"date2":{"type":"string","format":"date-time","description":"The second date for difference calculation"}}}}}},"responses":{"200":{"description":"Result date","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","format":"date-time","description":"The resulting date after subtracting the specified number of days"}},"required":["result"]}}}},"402":{"description":"Payment Required"}}}},"/datetime/difference":{"post":{"operationId":"datetimeDifference","summary":"Calculate difference between two dates","tags":["datetime"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"The base date for the operation"},"days":{"type":"integer","description":"Number of days to add or subtract"},"date2":{"type":"string","format":"date-time","description":"The second date for difference calculation"}}}}}},"responses":{"200":{"description":"Difference in days","content":{"application/json":{"schema":{"type":"object","properties":{"difference":{"type":"integer","description":"The difference in days between the two dates"}},"required":["difference"]}}}},"402":{"description":"Payment Required"}}}},"/datetime/day-of-week":{"post":{"operationId":"datetimeDayOfWeek","summary":"Get day of week for a date","tags":["datetime"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.001000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"The base date for the operation"},"days":{"type":"integer","description":"Number of days to add or subtract"},"date2":{"type":"string","format":"date-time","description":"The second date for difference calculation"}}}}}},"responses":{"200":{"description":"Day of week","content":{"application/json":{"schema":{"type":"object","properties":{"day_of_week":{"type":"string","description":"The day of the week for the given date (e.g., 'Monday')"}},"required":["day_of_week"]}}}},"402":{"description":"Payment Required"}}}},"/convert/length":{"post":{"operationId":"convertLength","summary":"Convert between length units","tags":["conversion"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number","description":"The numeric value to convert"},"source_unit":{"type":"string","description":"The source unit of the value"},"target_unit":{"type":"string","description":"The target unit to convert to"}},"required":["value","source_unit","target_unit"]}}}},"responses":{"200":{"description":"Converted length value","content":{"application/json":{"schema":{"type":"object","properties":{"original_value":{"type":"number","description":"The original value before conversion"},"original_unit":{"type":"string","description":"The original unit of the value"},"converted_value":{"type":"number","description":"The value after conversion to the target unit"},"target_unit":{"type":"string","description":"The unit to which the value was converted"},"conversion_rate":{"type":"number","description":"The conversion rate from source to target unit"}},"required":["original_value","original_unit","converted_value","target_unit"]}}}},"402":{"description":"Payment Required"}}}},"/convert/weight":{"post":{"operationId":"convertWeight","summary":"Convert between weight units","tags":["conversion"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number","description":"The numeric value to convert"},"source_unit":{"type":"string","description":"The source unit of the value"},"target_unit":{"type":"string","description":"The target unit to convert to"}},"required":["value","source_unit","target_unit"]}}}},"responses":{"200":{"description":"Converted weight value","content":{"application/json":{"schema":{"type":"object","properties":{"original_value":{"type":"number","description":"The original value before conversion"},"original_unit":{"type":"string","description":"The original unit of the value"},"converted_value":{"type":"number","description":"The value after conversion to the target unit"},"target_unit":{"type":"string","description":"The unit to which the value was converted"},"conversion_rate":{"type":"number","description":"The conversion rate from source to target unit"}},"required":["original_value","original_unit","converted_value","target_unit"]}}}},"402":{"description":"Payment Required"}}}},"/convert/temperature":{"post":{"operationId":"convertTemperature","summary":"Convert between temperature units","tags":["conversion"],"x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.002000"}},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number","description":"The numeric value to convert"},"source_unit":{"type":"string","description":"The source unit of the value"},"target_unit":{"type":"string","description":"The target unit to convert to"}},"required":["value","source_unit","target_unit"]}}}},"responses":{"200":{"description":"Converted temperature value","content":{"application/json":{"schema":{"type":"object","properties":{"original_value":{"type":"number","description":"The original value before conversion"},"original_unit":{"type":"string","description":"The original unit of the value"},"converted_value":{"type":"number","description":"The value after conversion to the target unit"},"target_unit":{"type":"string","description":"The unit to which the value was converted"},"conversion_rate":{"type":"number","description":"The conversion rate from source to target unit"}},"required":["original_value","original_unit","converted_value","target_unit"]}}}},"402":{"description":"Payment Required"}}}}}}