Перейти до вмісту
AstroWay/api v2.157.17 · docs
усі системи в нормі

Agent tool definitions

GET
/agent/tools
request.sh
curl -X GET https://api.astroway.info/v1/agent/tools \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json"

Tool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates. format=openai (default) returns { type, function } objects you can spread straight into a chat completion; format=anthropic returns { name, description, input_schema }. The objects carry nothing of ours: how to call each tool lives in a separate executors map keyed by tool name, because an unexpected key inside a vendor tool object is a 400 at their end. select chooses what to hand over: the curated starter set by default, all for the catalogue, group:Vedic for one area, paths:/chart,/synastry for an explicit list; q filters within that, limit caps it (default 32, max 128, which is the OpenAI ceiling). Nothing truncates silently: totalMatched, totalAvailable and a note say what was left out. No auth is embedded in a tool, so send X-Api-Key on the call itself.

format
string
default: openai
Allowed values: openai anthropic

Which vendor contract the tool objects follow. openai returns { type, function }, anthropic returns { name, description, input_schema }.

select
string
default: starter

What to hand over: starter (the curated set, the default), all, group:<tag> such as group:Vedic, or paths:/chart,/synastry for an explicit list. An unknown path is named in notes rather than dropped.

q
string
<= 120 characters

Free-text filter applied within the selection, matched against path, summary, description and group.

limit
integer
default: 32 >= 1 <= 128

How many tools to return. The ceiling is the OpenAI limit of 128 functions per request; models degrade well before it. Anything left out is counted in totalMatched.

Successful calculation

Media type application/json
object
ok
boolean
data
object
format
string
nullable
select
string
nullable
tools
Array<object>
nullable
object
type
string
nullable
function
object
name
string
nullable
description
string
nullable
parameters
object
type
string
nullable
properties
object
date
object
type
string
nullable
pattern
string
nullable
time
object
type
string
nullable
pattern
string
nullable
timezoneOffset
object
type
Array<string>
nullable
minimum
number
nullable
maximum
number
nullable
default
number
nullable
description
string
nullable
latitude
object
type
string
nullable
minimum
number
nullable
maximum
number
nullable
longitude
object
type
string
nullable
minimum
number
nullable
maximum
number
nullable
houseSystem
object
type
string
nullable
default
string
nullable
name
object
type
string
nullable
default
string
nullable
city
object
type
string
nullable
default
string
nullable
zodiacType
object
type
string
nullable
enum
Array<string>
nullable
ayanamsaId
object
type
Array<string>
nullable
ayanamsa
object
type
string
nullable
enum
Array<string>
nullable
description
string
nullable
cosmogram
object
type
string
nullable
timeUnknown
object
type
string
nullable
required
Array<string>
nullable
additionalProperties
boolean
nullable
description
string
nullable
executors
object
astroway_post_chart
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_planets
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_sun_times
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_synastry
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_composite
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_synastry_attraction_score
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_transits
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_transit_calendar
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_forecast_calendar
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_solar_return
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_render_wheel_western
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_moon_phase
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_human_design
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_hd_penta
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_vedic_varga_D1
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_vedic_varga_D9
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_vedic_panchang_full
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_vedic_dashas_vimshottari_maha
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_horoscope_daily
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_numerology_pythagorean_life_path
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_numerology_pythagorean_expression
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_numerology_chaldean_life_path
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_tarot_rider_waite_draw_single
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_tarot_rider_waite_draw_three_card
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_reports_natal
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
astroway_post_ai_explain_aspect
object
method
string
nullable
path
string
nullable
credits
number
nullable
group
string
nullable
docs
string
nullable
count
number
nullable
totalMatched
number
nullable
totalAvailable
number
nullable
truncated
boolean
nullable
notes
Array<string>
nullable
Example
{
"ok": true,
"data": {
"format": "openai",
"select": "starter",
"tools": [
{
"type": "function",
"function": {
"name": "astroway_post_chart",
"description": "Natal Chart. Calculate a full natal chart: planets, house cusps, aspects, sect, and angular data for a given birth moment. When the birth time is unknown, send timeUnknown: true instead of time and the response carries planets and aspects with houses, angles and sect set to null, plus a timeUnknown block giving the ran…",
"parameters": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}:\\d{2}$"
},
"timezoneOffset": {
"type": [
"number"
],
"minimum": -14,
"maximum": 14,
"default": 0,
"description": "Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC."
},
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"houseSystem": {
"type": "string",
"default": "P"
},
"name": {
"type": "string",
"default": ""
},
"city": {
"type": "string",
"default": ""
},
"zodiacType": {
"type": "string",
"enum": [
"tropical"
]
},
"ayanamsaId": {
"type": [
"number"
]
},
"ayanamsa": {
"type": "string",
"enum": [
"fagan-bradley"
],
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"cosmogram": {
"type": "boolean"
},
"timeUnknown": {
"type": "boolean"
}
},
"required": [
"date"
],
"additionalProperties": true,
"description": "Birth data where the clock time may be unknown. Either pass time (HH:mm:ss), or set timeUnknown: true and omit it. In the second case the response carries planets and aspects but no houses, angles or sect."
}
}
}
],
"executors": {
"astroway_post_chart": {
"method": "POST",
"path": "/v1/chart",
"credits": 20,
"group": "Core",
"docs": "https://api.astroway.info/docs/api/chart"
},
"astroway_post_planets": {
"method": "POST",
"path": "/v1/planets",
"credits": 10,
"group": "Core",
"docs": "https://api.astroway.info/docs/api/planets"
},
"astroway_post_sun_times": {
"method": "POST",
"path": "/v1/sun-times",
"credits": 10,
"group": "Core",
"docs": "https://api.astroway.info/docs/api/sun-times"
},
"astroway_post_synastry": {
"method": "POST",
"path": "/v1/synastry",
"credits": 50,
"group": "Comparisons",
"docs": "https://api.astroway.info/docs/api/synastry"
},
"astroway_post_composite": {
"method": "POST",
"path": "/v1/composite",
"credits": 50,
"group": "Comparisons",
"docs": "https://api.astroway.info/docs/api/composite"
},
"astroway_post_synastry_attraction_score": {
"method": "POST",
"path": "/v1/synastry/attraction-score",
"credits": 50,
"group": "Comparisons",
"docs": "https://api.astroway.info/docs/api/synastry/attraction-score"
},
"astroway_post_transits": {
"method": "POST",
"path": "/v1/transits",
"credits": 50,
"group": "Prognostics",
"docs": "https://api.astroway.info/docs/api/transits"
},
"astroway_post_transit_calendar": {
"method": "POST",
"path": "/v1/transit-calendar",
"credits": 100,
"group": "Prognostics",
"docs": "https://api.astroway.info/docs/api/transit-calendar"
},
"astroway_post_forecast_calendar": {
"method": "POST",
"path": "/v1/forecast-calendar",
"credits": 100,
"group": "Prognostics",
"docs": "https://api.astroway.info/docs/api/forecast-calendar"
},
"astroway_post_solar_return": {
"method": "POST",
"path": "/v1/solar-return",
"credits": 50,
"group": "Prognostics",
"docs": "https://api.astroway.info/docs/api/solar-return"
},
"astroway_post_render_wheel_western": {
"method": "POST",
"path": "/v1/render/wheel-western",
"credits": 10,
"group": "Visualization",
"docs": "https://api.astroway.info/docs/api/render/wheel-western"
},
"astroway_post_moon_phase": {
"method": "POST",
"path": "/v1/moon-phase",
"credits": 10,
"group": "Calendar & Cycles",
"docs": "https://api.astroway.info/docs/api/moon-phase"
},
"astroway_post_human_design": {
"method": "POST",
"path": "/v1/human-design",
"credits": 50,
"group": "Human Design",
"docs": "https://api.astroway.info/docs/api/human-design"
},
"astroway_post_hd_penta": {
"method": "POST",
"path": "/v1/hd/penta",
"credits": 100,
"group": "Human Design",
"docs": "https://api.astroway.info/docs/api/hd/penta"
},
"astroway_post_vedic_varga_D1": {
"method": "POST",
"path": "/v1/vedic/varga/D1",
"credits": 20,
"group": "Vedic",
"docs": "https://api.astroway.info/docs/api/vedic/varga/D1"
},
"astroway_post_vedic_varga_D9": {
"method": "POST",
"path": "/v1/vedic/varga/D9",
"credits": 20,
"group": "Vedic",
"docs": "https://api.astroway.info/docs/api/vedic/varga/D9"
},
"astroway_post_vedic_panchang_full": {
"method": "POST",
"path": "/v1/vedic/panchang/full",
"credits": 20,
"group": "Vedic",
"docs": "https://api.astroway.info/docs/api/vedic/panchang/full"
},
"astroway_post_vedic_dashas_vimshottari_maha": {
"method": "POST",
"path": "/v1/vedic/dashas/vimshottari/maha",
"credits": 20,
"group": "Vedic",
"docs": "https://api.astroway.info/docs/api/vedic/dashas/vimshottari/maha"
},
"astroway_post_horoscope_daily": {
"method": "POST",
"path": "/v1/horoscope/daily",
"credits": 50,
"group": "Horoscope",
"docs": "https://api.astroway.info/docs/api/horoscope/daily"
},
"astroway_post_numerology_pythagorean_life_path": {
"method": "POST",
"path": "/v1/numerology/pythagorean/life-path",
"credits": 10,
"group": "Numerology: Pythagorean",
"docs": "https://api.astroway.info/docs/api/numerology/pythagorean/life-path"
},
"astroway_post_numerology_pythagorean_expression": {
"method": "POST",
"path": "/v1/numerology/pythagorean/expression",
"credits": 10,
"group": "Numerology: Pythagorean",
"docs": "https://api.astroway.info/docs/api/numerology/pythagorean/expression"
},
"astroway_post_numerology_chaldean_life_path": {
"method": "POST",
"path": "/v1/numerology/chaldean/life-path",
"credits": 10,
"group": "Numerology: Chaldean",
"docs": "https://api.astroway.info/docs/api/numerology/chaldean/life-path"
},
"astroway_post_tarot_rider_waite_draw_single": {
"method": "POST",
"path": "/v1/tarot/rider-waite/draw/single",
"credits": 10,
"group": "Tarot: Rider-Waite-Smith",
"docs": "https://api.astroway.info/docs/api/tarot/rider-waite/draw/single"
},
"astroway_post_tarot_rider_waite_draw_three_card": {
"method": "POST",
"path": "/v1/tarot/rider-waite/draw/three-card",
"credits": 10,
"group": "Tarot: Rider-Waite-Smith",
"docs": "https://api.astroway.info/docs/api/tarot/rider-waite/draw/three-card"
},
"astroway_post_reports_natal": {
"method": "POST",
"path": "/v1/reports/natal",
"credits": 5000,
"group": "Reports",
"docs": "https://api.astroway.info/docs/api/reports/natal"
},
"astroway_post_ai_explain_aspect": {
"method": "POST",
"path": "/v1/ai/explain-aspect",
"credits": 100,
"group": "AI & MCP",
"docs": "https://api.astroway.info/docs/api/ai/explain-aspect"
}
},
"count": 26,
"totalMatched": 26,
"totalAvailable": 760,
"truncated": false,
"notes": [
"Tools carry no auth. Send X-Api-Key on the call itself, exactly as for a direct request."
]
}
}

Validation error

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Date must be YYYY-MM-DD",
"details": [
{
"path": "date",
"message": "Date must be YYYY-MM-DD"
}
]
}
}

Missing or invalid API key

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid API key"
}
}
Корисно?