@apteva/integrations 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/apps/activecampaign.json +209 -0
- package/src/apps/activecollab.json +417 -0
- package/src/apps/airtable.json +235 -0
- package/src/apps/alpaca-trading.json +1554 -0
- package/src/apps/amadeus.json +225 -0
- package/src/apps/anthropic-api.json +96 -0
- package/src/apps/apify.json +203 -0
- package/src/apps/apollo.json +748 -0
- package/src/apps/apple-podcasts.json +116 -0
- package/src/apps/archive-api.json +104 -0
- package/src/apps/archive.json +151 -0
- package/src/apps/arduino-cloud.json +301 -0
- package/src/apps/arest.json +492 -0
- package/src/apps/asana.json +184 -0
- package/src/apps/ashby.json +176 -0
- package/src/apps/assemblyai.json +163 -0
- package/src/apps/attio.json +243 -0
- package/src/apps/aws-cloudfront.json +132 -0
- package/src/apps/aws-dynamodb.json +295 -0
- package/src/apps/aws-ec2.json +184 -0
- package/src/apps/aws-lambda.json +361 -0
- package/src/apps/aws-route53.json +110 -0
- package/src/apps/aws-s3.json +303 -0
- package/src/apps/aws-ses.json +556 -0
- package/src/apps/aws-sns.json +217 -0
- package/src/apps/aws-sqs.json +234 -0
- package/src/apps/axiom.json +123 -0
- package/src/apps/beehiiv.json +252 -0
- package/src/apps/binance-trading.json +555 -0
- package/src/apps/bitly.json +175 -0
- package/src/apps/bloobirds.json +246 -0
- package/src/apps/bluesky.json +201 -0
- package/src/apps/blynk.json +316 -0
- package/src/apps/booking-com.json +144 -0
- package/src/apps/box.json +289 -0
- package/src/apps/brevo.json +1423 -0
- package/src/apps/browse-ai.json +148 -0
- package/src/apps/bunny-cdn.json +330 -0
- package/src/apps/bunny-stream.json +387 -0
- package/src/apps/cal-com.json +240 -0
- package/src/apps/calendly.json +578 -0
- package/src/apps/calflow-calendar.json +706 -0
- package/src/apps/callrail.json +190 -0
- package/src/apps/canva.json +197 -0
- package/src/apps/cartesia.json +201 -0
- package/src/apps/castbase.json +753 -0
- package/src/apps/chargebee.json +226 -0
- package/src/apps/cleanster.json +359 -0
- package/src/apps/clicksend.json +278 -0
- package/src/apps/clickup.json +266 -0
- package/src/apps/clipkit.json +517 -0
- package/src/apps/close.json +359 -0
- package/src/apps/cloudflare.json +329 -0
- package/src/apps/cloudinary.json +164 -0
- package/src/apps/coda.json +288 -0
- package/src/apps/cohere.json +158 -0
- package/src/apps/coinbase.json +268 -0
- package/src/apps/composio.json +146 -0
- package/src/apps/confluence.json +270 -0
- package/src/apps/consensus.json +879 -0
- package/src/apps/contabo.json +733 -0
- package/src/apps/convertkit.json +211 -0
- package/src/apps/core-image.json +426 -0
- package/src/apps/core-video.json +1246 -0
- package/src/apps/craftcloud.json +298 -0
- package/src/apps/datadog.json +401 -0
- package/src/apps/dataforseo.json +1273 -0
- package/src/apps/deepseek.json +150 -0
- package/src/apps/dialpad.json +229 -0
- package/src/apps/discord.json +239 -0
- package/src/apps/dnsimple.json +405 -0
- package/src/apps/docusign.json +214 -0
- package/src/apps/docx.json +282 -0
- package/src/apps/dropbox.json +185 -0
- package/src/apps/duffel.json +231 -0
- package/src/apps/dux-soup.json +694 -0
- package/src/apps/dynadot.json +250 -0
- package/src/apps/elevenlabs.json +327 -0
- package/src/apps/eventbrite-events.json +598 -0
- package/src/apps/facebook-ads.json +1399 -0
- package/src/apps/facebook-api.json +282 -0
- package/src/apps/fal-ai.json +400 -0
- package/src/apps/fathom.json +86 -0
- package/src/apps/figma.json +162 -0
- package/src/apps/filestack.json +159 -0
- package/src/apps/firebase.json +271 -0
- package/src/apps/firecrawl.json +278 -0
- package/src/apps/folk.json +564 -0
- package/src/apps/forecast-app.json +377 -0
- package/src/apps/freshdesk.json +283 -0
- package/src/apps/gemini.json +528 -0
- package/src/apps/ghost.json +439 -0
- package/src/apps/gigs-marketplace.json +1442 -0
- package/src/apps/github.json +1479 -47
- package/src/apps/gitlab.json +448 -0
- package/src/apps/gmail.json +839 -28
- package/src/apps/gohighlevel.json +596 -0
- package/src/apps/google-ads.json +270 -0
- package/src/apps/google-calendar.json +996 -36
- package/src/apps/google-docs.json +278 -0
- package/src/apps/google-drive.json +360 -0
- package/src/apps/google-maps.json +473 -0
- package/src/apps/google-sheets.json +330 -0
- package/src/apps/gooten.json +411 -0
- package/src/apps/gravity-forms.json +385 -0
- package/src/apps/gusto.json +171 -0
- package/src/apps/hackernews.json +221 -0
- package/src/apps/harmonic.json +86 -0
- package/src/apps/helpscout.json +664 -0
- package/src/apps/hetzner.json +658 -0
- package/src/apps/heygen.json +184 -0
- package/src/apps/heyreach.json +388 -0
- package/src/apps/hospitable.json +340 -0
- package/src/apps/hostinger.json +374 -0
- package/src/apps/hubspot.json +682 -0
- package/src/apps/huggingface.json +97 -0
- package/src/apps/hunter.json +504 -0
- package/src/apps/ig-trading.json +849 -0
- package/src/apps/imaterialise.json +349 -0
- package/src/apps/instagram-api.json +538 -0
- package/src/apps/intercom.json +648 -0
- package/src/apps/jira.json +226 -0
- package/src/apps/klaviyo.json +199 -0
- package/src/apps/kling-ai.json +206 -0
- package/src/apps/kraken.json +870 -0
- package/src/apps/late.json +1056 -0
- package/src/apps/leadpages.json +243 -0
- package/src/apps/learning-platform.json +2244 -0
- package/src/apps/linear.json +184 -57
- package/src/apps/linkedin.json +179 -0
- package/src/apps/listen-notes.json +136 -0
- package/src/apps/lnk-bio.json +125 -0
- package/src/apps/loom.json +188 -0
- package/src/apps/luma.json +280 -0
- package/src/apps/mailchimp.json +238 -0
- package/src/apps/mailgun.json +310 -0
- package/src/apps/manychat.json +312 -0
- package/src/apps/marin-software.json +843 -0
- package/src/apps/media-downloader.json +157 -0
- package/src/apps/meetup-events.json +361 -0
- package/src/apps/meshy.json +248 -0
- package/src/apps/microsoft-teams.json +162 -0
- package/src/apps/monday.json +213 -0
- package/src/apps/mongodb-atlas.json +467 -0
- package/src/apps/namecheap.json +252 -0
- package/src/apps/nexar.json +289 -0
- package/src/apps/notion.json +530 -50
- package/src/apps/omnikit-analytics.json +374 -0
- package/src/apps/omnikit-api-gateway.json +660 -0
- package/src/apps/omnikit-billing.json +1781 -0
- package/src/apps/omnikit-cms.json +899 -0
- package/src/apps/omnikit-functions.json +329 -0
- package/src/apps/omnikit-intelligence.json +650 -0
- package/src/apps/omnikit-management.json +214 -0
- package/src/apps/omnikit-media.json +646 -0
- package/src/apps/omnikit-messaging.json +1826 -0
- package/src/apps/omnikit-redirects.json +209 -0
- package/src/apps/omnikit-webhooks.json +269 -0
- package/src/apps/omnikit-workflows.json +323 -0
- package/src/apps/openai-api.json +462 -0
- package/src/apps/openmeteo-weather.json +75 -0
- package/src/apps/optinmonster.json +244 -0
- package/src/apps/paidkit.json +1218 -0
- package/src/apps/paypal.json +254 -0
- package/src/apps/pdf.json +366 -0
- package/src/apps/pipedrive.json +255 -0
- package/src/apps/polymarket.json +653 -0
- package/src/apps/porkbun.json +417 -0
- package/src/apps/portfolio.json +501 -0
- package/src/apps/postmark.json +257 -0
- package/src/apps/printful.json +273 -0
- package/src/apps/printify.json +295 -0
- package/src/apps/producthunt.json +346 -0
- package/src/apps/pushover-notifications.json +113 -0
- package/src/apps/qonto.json +366 -0
- package/src/apps/quickbooks.json +234 -0
- package/src/apps/replicate.json +106 -0
- package/src/apps/rss.json +281 -0
- package/src/apps/salesflow.json +538 -0
- package/src/apps/salesforce-crm.json +216 -0
- package/src/apps/sap.json +256 -0
- package/src/apps/scaleway.json +911 -0
- package/src/apps/sculpteo.json +234 -0
- package/src/apps/sendgrid-email.json +233 -0
- package/src/apps/sendgrid.json +160 -35
- package/src/apps/shapeways.json +188 -0
- package/src/apps/shopify.json +1217 -0
- package/src/apps/skai.json +779 -0
- package/src/apps/slack.json +228 -38
- package/src/apps/slant3d.json +231 -0
- package/src/apps/slides.json +760 -0
- package/src/apps/smartly.json +504 -0
- package/src/apps/snov.json +467 -0
- package/src/apps/socialcast.json +553 -63
- package/src/apps/square.json +274 -0
- package/src/apps/storage-management.json +788 -0
- package/src/apps/storylane.json +180 -0
- package/src/apps/strapi.json +338 -0
- package/src/apps/stripe-payments.json +847 -0
- package/src/apps/stripe.json +472 -35
- package/src/apps/supabase.json +169 -0
- package/src/apps/supademo.json +115 -0
- package/src/apps/taskflow.json +714 -0
- package/src/apps/teamwork.json +457 -0
- package/src/apps/telegram.json +444 -0
- package/src/apps/thinger.json +458 -0
- package/src/apps/ticktick.json +169 -0
- package/src/apps/tiktok-api.json +406 -0
- package/src/apps/todoist.json +151 -0
- package/src/apps/together.json +123 -0
- package/src/apps/torrent.json +267 -0
- package/src/apps/trading.json +1012 -0
- package/src/apps/trading212.json +383 -0
- package/src/apps/trello.json +205 -0
- package/src/apps/tripo.json +157 -0
- package/src/apps/twilio.json +1008 -0
- package/src/apps/twitter-ads.json +875 -0
- package/src/apps/twitter-api.json +1151 -0
- package/src/apps/twitterapiio.json +548 -0
- package/src/apps/typeform.json +210 -0
- package/src/apps/vidforge.json +1020 -0
- package/src/apps/vonage.json +394 -0
- package/src/apps/vultr.json +225 -0
- package/src/apps/webflow.json +223 -0
- package/src/apps/wise.json +273 -0
- package/src/apps/wistia.json +283 -0
- package/src/apps/woocommerce.json +288 -0
- package/src/apps/wordpress.json +1675 -0
- package/src/apps/xero.json +257 -0
- package/src/apps/youtube-api.json +861 -0
- package/src/apps/zendesk.json +295 -0
- package/src/apps/zite.json +173 -0
- package/src/apps/zoho-crm.json +386 -0
- package/src/apps/zoo.json +193 -0
- package/src/apps/zoom.json +334 -0
|
@@ -0,0 +1,1781 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "omnikit-billing",
|
|
3
|
+
"name": "OmniKit Billing",
|
|
4
|
+
"description": "Comprehensive billing and invoicing system for OmniKit platform - handles invoices, subscriptions, payments, products, pricing, credits, vendors, expenses, and financial reporting",
|
|
5
|
+
"logo": "https://cdn.omnikit.co/cdn/project-10/public/10_1770556267491_eecb0n/603050903_10162713420734412_6016628635295692734_n.jpg",
|
|
6
|
+
"categories": [
|
|
7
|
+
"billing",
|
|
8
|
+
"invoicing",
|
|
9
|
+
"subscriptions",
|
|
10
|
+
"payments",
|
|
11
|
+
"accounting",
|
|
12
|
+
"financial",
|
|
13
|
+
"vendors",
|
|
14
|
+
"expenses",
|
|
15
|
+
"omnikit",
|
|
16
|
+
"commerce"
|
|
17
|
+
],
|
|
18
|
+
"base_url": "https://api.omnikit.co",
|
|
19
|
+
"auth": {
|
|
20
|
+
"types": [
|
|
21
|
+
"bearer"
|
|
22
|
+
],
|
|
23
|
+
"headers": {
|
|
24
|
+
"Authorization": "Bearer {{token}}"
|
|
25
|
+
},
|
|
26
|
+
"credential_fields": [
|
|
27
|
+
{
|
|
28
|
+
"name": "token",
|
|
29
|
+
"label": "API Key"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"tools": [
|
|
34
|
+
{
|
|
35
|
+
"name": "create_invoice",
|
|
36
|
+
"description": "Create a new invoice with line items, taxes, and discounts",
|
|
37
|
+
"method": "POST",
|
|
38
|
+
"path": "/billing/invoices",
|
|
39
|
+
"input_schema": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"customer_id": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Customer ID for the invoice"
|
|
45
|
+
},
|
|
46
|
+
"subscription_id": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Subscription ID if invoice is for a subscription"
|
|
49
|
+
},
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"description": "Invoice line items",
|
|
53
|
+
"items": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"properties": {
|
|
56
|
+
"price_id": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "Price ID if using predefined price"
|
|
59
|
+
},
|
|
60
|
+
"description": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
"quantity": {
|
|
64
|
+
"type": "number"
|
|
65
|
+
},
|
|
66
|
+
"unit_amount": {
|
|
67
|
+
"type": "number",
|
|
68
|
+
"description": "Amount in cents"
|
|
69
|
+
},
|
|
70
|
+
"currency": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"description": "Currency for this item"
|
|
73
|
+
},
|
|
74
|
+
"tax_rate": {
|
|
75
|
+
"type": "number",
|
|
76
|
+
"description": "Tax rate as percentage"
|
|
77
|
+
},
|
|
78
|
+
"period": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"description": "Billing period for subscription items"
|
|
81
|
+
},
|
|
82
|
+
"proration": {
|
|
83
|
+
"type": "boolean",
|
|
84
|
+
"description": "Whether this is a proration"
|
|
85
|
+
},
|
|
86
|
+
"tax_amounts": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"description": "Tax amounts array"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"required": [
|
|
92
|
+
"description",
|
|
93
|
+
"quantity",
|
|
94
|
+
"unit_amount"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"currency": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Currency code (e.g., usd, eur)",
|
|
101
|
+
"default": "usd"
|
|
102
|
+
},
|
|
103
|
+
"due_date": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"format": "date",
|
|
106
|
+
"description": "Invoice due date"
|
|
107
|
+
},
|
|
108
|
+
"test_mode": {
|
|
109
|
+
"type": "boolean",
|
|
110
|
+
"description": "Whether this is a test invoice",
|
|
111
|
+
"default": false
|
|
112
|
+
},
|
|
113
|
+
"sync_to_provider": {
|
|
114
|
+
"type": "boolean",
|
|
115
|
+
"description": "Sync to Stripe",
|
|
116
|
+
"default": false
|
|
117
|
+
},
|
|
118
|
+
"stripe_api_key": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "Stripe API key for syncing"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"required": [
|
|
124
|
+
"customer_id",
|
|
125
|
+
"items"
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "update_invoice",
|
|
131
|
+
"description": "Update invoice details or change status. Can mark invoices as 'paid' (auto-calculates amount_paid as full total), or update other fields like description, due_date, etc.",
|
|
132
|
+
"method": "PUT",
|
|
133
|
+
"path": "/billing/invoices/%7B%7Binvoice_id%7D%7D",
|
|
134
|
+
"input_schema": {
|
|
135
|
+
"type": "object",
|
|
136
|
+
"properties": {
|
|
137
|
+
"invoice_id": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"description": "Invoice ID to update"
|
|
140
|
+
},
|
|
141
|
+
"description": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "Invoice description"
|
|
144
|
+
},
|
|
145
|
+
"due_date": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"format": "date",
|
|
148
|
+
"description": "Updated due date"
|
|
149
|
+
},
|
|
150
|
+
"status": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"enum": [
|
|
153
|
+
"draft",
|
|
154
|
+
"open",
|
|
155
|
+
"paid",
|
|
156
|
+
"uncollectible",
|
|
157
|
+
"void"
|
|
158
|
+
],
|
|
159
|
+
"description": "Invoice status. Use 'paid' to mark as fully paid (auto-sets amount_paid and amount_remaining=0)"
|
|
160
|
+
},
|
|
161
|
+
"collection_method": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "Collection method"
|
|
164
|
+
},
|
|
165
|
+
"days_until_due": {
|
|
166
|
+
"type": "integer",
|
|
167
|
+
"description": "Days until due"
|
|
168
|
+
},
|
|
169
|
+
"default_payment_method_id": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "Default payment method ID"
|
|
172
|
+
},
|
|
173
|
+
"default_source": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"description": "Default payment source"
|
|
176
|
+
},
|
|
177
|
+
"footer": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"description": "Invoice footer text"
|
|
180
|
+
},
|
|
181
|
+
"statement_descriptor": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"description": "Statement descriptor"
|
|
184
|
+
},
|
|
185
|
+
"custom_fields": {
|
|
186
|
+
"type": "array",
|
|
187
|
+
"description": "Custom fields",
|
|
188
|
+
"items": {
|
|
189
|
+
"type": "object"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"metadata": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"description": "Updated metadata"
|
|
195
|
+
},
|
|
196
|
+
"line_items": {
|
|
197
|
+
"type": "array",
|
|
198
|
+
"description": "Updated line items",
|
|
199
|
+
"items": {
|
|
200
|
+
"type": "object"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"payment_terms": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"description": "Updated payment terms"
|
|
206
|
+
},
|
|
207
|
+
"notes": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"description": "Updated notes"
|
|
210
|
+
},
|
|
211
|
+
"sync_to_provider": {
|
|
212
|
+
"type": "boolean",
|
|
213
|
+
"default": false
|
|
214
|
+
},
|
|
215
|
+
"stripe_api_key": {
|
|
216
|
+
"type": "string",
|
|
217
|
+
"description": "Stripe API key if syncing"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"required": [
|
|
221
|
+
"invoice_id"
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"name": "finalize_invoice",
|
|
227
|
+
"description": "Finalize a draft invoice (makes it immutable and ready for sending)",
|
|
228
|
+
"method": "POST",
|
|
229
|
+
"path": "/billing/invoices/%7B%7Binvoice_id%7D%7D/finalize",
|
|
230
|
+
"input_schema": {
|
|
231
|
+
"type": "object",
|
|
232
|
+
"properties": {
|
|
233
|
+
"invoice_id": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"description": "Invoice ID to finalize"
|
|
236
|
+
},
|
|
237
|
+
"auto_advance": {
|
|
238
|
+
"type": "boolean",
|
|
239
|
+
"description": "Automatically advance the invoice",
|
|
240
|
+
"default": true
|
|
241
|
+
},
|
|
242
|
+
"sync_to_provider": {
|
|
243
|
+
"type": "boolean",
|
|
244
|
+
"default": false
|
|
245
|
+
},
|
|
246
|
+
"stripe_api_key": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"description": "Stripe API key if syncing"
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"required": [
|
|
252
|
+
"invoice_id"
|
|
253
|
+
]
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "list_invoices",
|
|
258
|
+
"description": "List and filter invoices with pagination and status filtering",
|
|
259
|
+
"method": "GET",
|
|
260
|
+
"path": "/billing/invoices",
|
|
261
|
+
"input_schema": {
|
|
262
|
+
"type": "object",
|
|
263
|
+
"properties": {
|
|
264
|
+
"customer_id": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"description": "Filter by customer ID"
|
|
267
|
+
},
|
|
268
|
+
"status": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"enum": [
|
|
271
|
+
"draft",
|
|
272
|
+
"sent",
|
|
273
|
+
"paid",
|
|
274
|
+
"overdue",
|
|
275
|
+
"cancelled",
|
|
276
|
+
"refunded"
|
|
277
|
+
],
|
|
278
|
+
"description": "Filter by invoice status"
|
|
279
|
+
},
|
|
280
|
+
"date_from": {
|
|
281
|
+
"type": "string",
|
|
282
|
+
"format": "date",
|
|
283
|
+
"description": "Filter invoices created after this date"
|
|
284
|
+
},
|
|
285
|
+
"date_to": {
|
|
286
|
+
"type": "string",
|
|
287
|
+
"format": "date",
|
|
288
|
+
"description": "Filter invoices created before this date"
|
|
289
|
+
},
|
|
290
|
+
"limit": {
|
|
291
|
+
"type": "integer",
|
|
292
|
+
"description": "Number of invoices to return",
|
|
293
|
+
"default": 50
|
|
294
|
+
},
|
|
295
|
+
"offset": {
|
|
296
|
+
"type": "integer",
|
|
297
|
+
"description": "Pagination offset",
|
|
298
|
+
"default": 0
|
|
299
|
+
},
|
|
300
|
+
"sort": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"enum": [
|
|
303
|
+
"created_desc",
|
|
304
|
+
"created_asc",
|
|
305
|
+
"due_date_desc",
|
|
306
|
+
"due_date_asc",
|
|
307
|
+
"amount_desc",
|
|
308
|
+
"amount_asc"
|
|
309
|
+
],
|
|
310
|
+
"default": "created_desc"
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"name": "get_invoice",
|
|
317
|
+
"description": "Retrieve detailed information about a specific invoice",
|
|
318
|
+
"method": "GET",
|
|
319
|
+
"path": "/billing/invoices/%7B%7Binvoice_id%7D%7D",
|
|
320
|
+
"input_schema": {
|
|
321
|
+
"type": "object",
|
|
322
|
+
"properties": {
|
|
323
|
+
"invoice_id": {
|
|
324
|
+
"type": "string",
|
|
325
|
+
"description": "Invoice ID to retrieve"
|
|
326
|
+
},
|
|
327
|
+
"include_line_items": {
|
|
328
|
+
"type": "boolean",
|
|
329
|
+
"description": "Include line items",
|
|
330
|
+
"default": false
|
|
331
|
+
},
|
|
332
|
+
"include_customer": {
|
|
333
|
+
"type": "boolean",
|
|
334
|
+
"description": "Include customer details",
|
|
335
|
+
"default": false
|
|
336
|
+
},
|
|
337
|
+
"include_subscription": {
|
|
338
|
+
"type": "boolean",
|
|
339
|
+
"description": "Include subscription details",
|
|
340
|
+
"default": false
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
"required": [
|
|
344
|
+
"invoice_id"
|
|
345
|
+
]
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "void_invoice",
|
|
350
|
+
"description": "Void an invoice (mark as cancelled)",
|
|
351
|
+
"method": "POST",
|
|
352
|
+
"path": "/billing/invoices/%7B%7Binvoice_id%7D%7D/void",
|
|
353
|
+
"input_schema": {
|
|
354
|
+
"type": "object",
|
|
355
|
+
"properties": {
|
|
356
|
+
"invoice_id": {
|
|
357
|
+
"type": "string",
|
|
358
|
+
"description": "Invoice ID to void"
|
|
359
|
+
},
|
|
360
|
+
"reason": {
|
|
361
|
+
"type": "string",
|
|
362
|
+
"description": "Reason for voiding the invoice"
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
"required": [
|
|
366
|
+
"invoice_id"
|
|
367
|
+
]
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"name": "generate_invoice_pdf",
|
|
372
|
+
"description": "Generate a PDF version of an invoice",
|
|
373
|
+
"method": "POST",
|
|
374
|
+
"path": "/billing/invoices/%7B%7Binvoice_id%7D%7D/regenerate-pdf",
|
|
375
|
+
"input_schema": {
|
|
376
|
+
"type": "object",
|
|
377
|
+
"properties": {
|
|
378
|
+
"invoice_id": {
|
|
379
|
+
"type": "string",
|
|
380
|
+
"description": "Invoice ID to generate PDF for"
|
|
381
|
+
},
|
|
382
|
+
"organization_id": {
|
|
383
|
+
"type": "string",
|
|
384
|
+
"description": "Organization ID"
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
"required": [
|
|
388
|
+
"invoice_id"
|
|
389
|
+
]
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "create_subscription",
|
|
394
|
+
"description": "Create a new subscription for recurring billing",
|
|
395
|
+
"method": "POST",
|
|
396
|
+
"path": "/billing/subscriptions",
|
|
397
|
+
"input_schema": {
|
|
398
|
+
"type": "object",
|
|
399
|
+
"properties": {
|
|
400
|
+
"customer_id": {
|
|
401
|
+
"type": "string",
|
|
402
|
+
"description": "Customer ID for the subscription"
|
|
403
|
+
},
|
|
404
|
+
"price_id": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"description": "Price ID for the subscription"
|
|
407
|
+
},
|
|
408
|
+
"quantity": {
|
|
409
|
+
"type": "integer",
|
|
410
|
+
"description": "Quantity of the subscription",
|
|
411
|
+
"default": 1
|
|
412
|
+
},
|
|
413
|
+
"items": {
|
|
414
|
+
"type": "array",
|
|
415
|
+
"description": "Array of subscription items (alternative to price_id/quantity)",
|
|
416
|
+
"items": {
|
|
417
|
+
"type": "object",
|
|
418
|
+
"properties": {
|
|
419
|
+
"price_id": {
|
|
420
|
+
"type": "string"
|
|
421
|
+
},
|
|
422
|
+
"quantity": {
|
|
423
|
+
"type": "integer"
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
"trial_period_days": {
|
|
429
|
+
"type": "integer",
|
|
430
|
+
"description": "Number of trial days"
|
|
431
|
+
},
|
|
432
|
+
"collection_method": {
|
|
433
|
+
"type": "string",
|
|
434
|
+
"enum": [
|
|
435
|
+
"charge_automatically",
|
|
436
|
+
"send_invoice"
|
|
437
|
+
],
|
|
438
|
+
"description": "How to collect payment",
|
|
439
|
+
"default": "charge_automatically"
|
|
440
|
+
},
|
|
441
|
+
"days_until_due": {
|
|
442
|
+
"type": "integer",
|
|
443
|
+
"description": "Days until invoice is due (for send_invoice method)"
|
|
444
|
+
},
|
|
445
|
+
"default_tax_rates": {
|
|
446
|
+
"type": "array",
|
|
447
|
+
"description": "Default tax rate IDs",
|
|
448
|
+
"items": {
|
|
449
|
+
"type": "string"
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
"metadata": {
|
|
453
|
+
"type": "object",
|
|
454
|
+
"description": "Custom metadata"
|
|
455
|
+
},
|
|
456
|
+
"promotion_code": {
|
|
457
|
+
"type": "string",
|
|
458
|
+
"description": "Promotion code to apply"
|
|
459
|
+
},
|
|
460
|
+
"billing_cycle_anchor": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"description": "Billing cycle anchor"
|
|
463
|
+
},
|
|
464
|
+
"test_mode": {
|
|
465
|
+
"type": "boolean",
|
|
466
|
+
"default": false
|
|
467
|
+
},
|
|
468
|
+
"sync_to_stripe": {
|
|
469
|
+
"type": "boolean",
|
|
470
|
+
"default": true
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
"required": [
|
|
474
|
+
"customer_id"
|
|
475
|
+
]
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "update_subscription",
|
|
480
|
+
"description": "Update subscription plan, quantity, or addons",
|
|
481
|
+
"method": "PUT",
|
|
482
|
+
"path": "/billing/subscriptions/%7B%7Bsubscription_id%7D%7D",
|
|
483
|
+
"input_schema": {
|
|
484
|
+
"type": "object",
|
|
485
|
+
"properties": {
|
|
486
|
+
"subscription_id": {
|
|
487
|
+
"type": "string",
|
|
488
|
+
"description": "Subscription ID to update"
|
|
489
|
+
},
|
|
490
|
+
"default_payment_method_id": {
|
|
491
|
+
"type": "string",
|
|
492
|
+
"description": "Default payment method ID"
|
|
493
|
+
},
|
|
494
|
+
"trial_end": {
|
|
495
|
+
"type": "string",
|
|
496
|
+
"description": "Trial end date/time"
|
|
497
|
+
},
|
|
498
|
+
"proration_behavior": {
|
|
499
|
+
"type": "string",
|
|
500
|
+
"enum": [
|
|
501
|
+
"create_prorations",
|
|
502
|
+
"none",
|
|
503
|
+
"always_invoice"
|
|
504
|
+
],
|
|
505
|
+
"description": "How to handle prorations",
|
|
506
|
+
"default": "create_prorations"
|
|
507
|
+
},
|
|
508
|
+
"billing_cycle_anchor": {
|
|
509
|
+
"type": "string",
|
|
510
|
+
"description": "Billing cycle anchor"
|
|
511
|
+
},
|
|
512
|
+
"collection_method": {
|
|
513
|
+
"type": "string",
|
|
514
|
+
"enum": [
|
|
515
|
+
"charge_automatically",
|
|
516
|
+
"send_invoice"
|
|
517
|
+
],
|
|
518
|
+
"description": "Collection method"
|
|
519
|
+
},
|
|
520
|
+
"days_until_due": {
|
|
521
|
+
"type": "integer",
|
|
522
|
+
"description": "Days until invoice is due"
|
|
523
|
+
},
|
|
524
|
+
"description": {
|
|
525
|
+
"type": "string",
|
|
526
|
+
"description": "Subscription description"
|
|
527
|
+
},
|
|
528
|
+
"metadata": {
|
|
529
|
+
"type": "object",
|
|
530
|
+
"description": "Custom metadata"
|
|
531
|
+
},
|
|
532
|
+
"sync_to_provider": {
|
|
533
|
+
"type": "boolean",
|
|
534
|
+
"default": false
|
|
535
|
+
},
|
|
536
|
+
"stripe_api_key": {
|
|
537
|
+
"type": "string",
|
|
538
|
+
"description": "Stripe API key if syncing"
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
"required": [
|
|
542
|
+
"subscription_id"
|
|
543
|
+
]
|
|
544
|
+
}
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"name": "cancel_subscription",
|
|
548
|
+
"description": "Cancel an active subscription",
|
|
549
|
+
"method": "POST",
|
|
550
|
+
"path": "/billing/subscriptions/%7B%7Bsubscription_id%7D%7D/cancel",
|
|
551
|
+
"input_schema": {
|
|
552
|
+
"type": "object",
|
|
553
|
+
"properties": {
|
|
554
|
+
"subscription_id": {
|
|
555
|
+
"type": "string",
|
|
556
|
+
"description": "Subscription ID to cancel"
|
|
557
|
+
},
|
|
558
|
+
"cancel_at_period_end": {
|
|
559
|
+
"type": "boolean",
|
|
560
|
+
"description": "Cancel at end of billing period",
|
|
561
|
+
"default": false
|
|
562
|
+
},
|
|
563
|
+
"cancel_at": {
|
|
564
|
+
"type": "string",
|
|
565
|
+
"description": "Timestamp to cancel subscription"
|
|
566
|
+
},
|
|
567
|
+
"proration_behavior": {
|
|
568
|
+
"type": "string",
|
|
569
|
+
"enum": [
|
|
570
|
+
"create_prorations",
|
|
571
|
+
"none",
|
|
572
|
+
"always_invoice"
|
|
573
|
+
],
|
|
574
|
+
"default": "create_prorations"
|
|
575
|
+
},
|
|
576
|
+
"invoice_now": {
|
|
577
|
+
"type": "boolean",
|
|
578
|
+
"description": "Generate final invoice immediately",
|
|
579
|
+
"default": false
|
|
580
|
+
},
|
|
581
|
+
"reason": {
|
|
582
|
+
"type": "string",
|
|
583
|
+
"description": "Cancellation reason"
|
|
584
|
+
},
|
|
585
|
+
"sync_to_provider": {
|
|
586
|
+
"type": "boolean",
|
|
587
|
+
"default": true
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"required": [
|
|
591
|
+
"subscription_id"
|
|
592
|
+
]
|
|
593
|
+
}
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"name": "list_subscriptions",
|
|
597
|
+
"description": "List and filter subscriptions with pagination",
|
|
598
|
+
"method": "GET",
|
|
599
|
+
"path": "/billing/subscriptions",
|
|
600
|
+
"input_schema": {
|
|
601
|
+
"type": "object",
|
|
602
|
+
"properties": {
|
|
603
|
+
"customer_id": {
|
|
604
|
+
"type": "string",
|
|
605
|
+
"description": "Filter by customer ID"
|
|
606
|
+
},
|
|
607
|
+
"status": {
|
|
608
|
+
"type": "string",
|
|
609
|
+
"enum": [
|
|
610
|
+
"incomplete",
|
|
611
|
+
"incomplete_expired",
|
|
612
|
+
"trialing",
|
|
613
|
+
"active",
|
|
614
|
+
"past_due",
|
|
615
|
+
"canceled",
|
|
616
|
+
"unpaid",
|
|
617
|
+
"paused"
|
|
618
|
+
],
|
|
619
|
+
"description": "Filter by subscription status"
|
|
620
|
+
},
|
|
621
|
+
"price_id": {
|
|
622
|
+
"type": "string",
|
|
623
|
+
"description": "Filter by price ID"
|
|
624
|
+
},
|
|
625
|
+
"collection_method": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"enum": [
|
|
628
|
+
"charge_automatically",
|
|
629
|
+
"send_invoice"
|
|
630
|
+
],
|
|
631
|
+
"description": "Filter by collection method"
|
|
632
|
+
},
|
|
633
|
+
"test_mode": {
|
|
634
|
+
"type": "string",
|
|
635
|
+
"enum": [
|
|
636
|
+
"true",
|
|
637
|
+
"false"
|
|
638
|
+
],
|
|
639
|
+
"description": "Filter by test mode"
|
|
640
|
+
},
|
|
641
|
+
"include_items": {
|
|
642
|
+
"type": "string",
|
|
643
|
+
"enum": [
|
|
644
|
+
"true",
|
|
645
|
+
"false"
|
|
646
|
+
],
|
|
647
|
+
"description": "Include subscription items in response",
|
|
648
|
+
"default": "false"
|
|
649
|
+
},
|
|
650
|
+
"include_customer": {
|
|
651
|
+
"type": "string",
|
|
652
|
+
"enum": [
|
|
653
|
+
"true",
|
|
654
|
+
"false"
|
|
655
|
+
],
|
|
656
|
+
"description": "Include customer details in response",
|
|
657
|
+
"default": "false"
|
|
658
|
+
},
|
|
659
|
+
"include_price": {
|
|
660
|
+
"type": "string",
|
|
661
|
+
"enum": [
|
|
662
|
+
"true",
|
|
663
|
+
"false"
|
|
664
|
+
],
|
|
665
|
+
"description": "Include price details in response",
|
|
666
|
+
"default": "false"
|
|
667
|
+
},
|
|
668
|
+
"limit": {
|
|
669
|
+
"type": "integer",
|
|
670
|
+
"description": "Number of subscriptions to return",
|
|
671
|
+
"default": 50
|
|
672
|
+
},
|
|
673
|
+
"offset": {
|
|
674
|
+
"type": "integer",
|
|
675
|
+
"description": "Number of subscriptions to skip",
|
|
676
|
+
"default": 0
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"name": "get_subscription",
|
|
683
|
+
"description": "Retrieve detailed information about a specific subscription",
|
|
684
|
+
"method": "GET",
|
|
685
|
+
"path": "/billing/subscriptions/%7B%7Bsubscription_id%7D%7D",
|
|
686
|
+
"input_schema": {
|
|
687
|
+
"type": "object",
|
|
688
|
+
"properties": {
|
|
689
|
+
"subscription_id": {
|
|
690
|
+
"type": "string",
|
|
691
|
+
"description": "Subscription ID to retrieve"
|
|
692
|
+
},
|
|
693
|
+
"expand": {
|
|
694
|
+
"type": "string",
|
|
695
|
+
"description": "Comma-separated list of objects to expand (customer, price, latest_invoice)"
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
"required": [
|
|
699
|
+
"subscription_id"
|
|
700
|
+
]
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"name": "create_customer",
|
|
705
|
+
"description": "Create a new billing customer profile",
|
|
706
|
+
"method": "POST",
|
|
707
|
+
"path": "/billing/customers",
|
|
708
|
+
"input_schema": {
|
|
709
|
+
"type": "object",
|
|
710
|
+
"properties": {
|
|
711
|
+
"email": {
|
|
712
|
+
"type": "string",
|
|
713
|
+
"format": "email",
|
|
714
|
+
"description": "Customer email (required)"
|
|
715
|
+
},
|
|
716
|
+
"name": {
|
|
717
|
+
"type": "string",
|
|
718
|
+
"description": "Customer name (optional)"
|
|
719
|
+
},
|
|
720
|
+
"customer_type": {
|
|
721
|
+
"type": "string",
|
|
722
|
+
"enum": [
|
|
723
|
+
"individual",
|
|
724
|
+
"business"
|
|
725
|
+
],
|
|
726
|
+
"default": "individual",
|
|
727
|
+
"description": "Customer type (optional)"
|
|
728
|
+
},
|
|
729
|
+
"company_name": {
|
|
730
|
+
"type": "string",
|
|
731
|
+
"description": "Company name (required if customer_type='business')"
|
|
732
|
+
},
|
|
733
|
+
"phone": {
|
|
734
|
+
"type": "string",
|
|
735
|
+
"description": "Phone number (optional)"
|
|
736
|
+
},
|
|
737
|
+
"vat_number": {
|
|
738
|
+
"type": "string",
|
|
739
|
+
"description": "VAT number for business customers (optional)"
|
|
740
|
+
},
|
|
741
|
+
"tax_id_type": {
|
|
742
|
+
"type": "string",
|
|
743
|
+
"description": "Type of tax ID (e.g., 'ssn', 'ein', 'vat') (optional)"
|
|
744
|
+
},
|
|
745
|
+
"tax_id_value": {
|
|
746
|
+
"type": "string",
|
|
747
|
+
"description": "Tax ID value (optional)"
|
|
748
|
+
},
|
|
749
|
+
"business_registration_number": {
|
|
750
|
+
"type": "string",
|
|
751
|
+
"description": "Business registration number (optional)"
|
|
752
|
+
},
|
|
753
|
+
"industry": {
|
|
754
|
+
"type": "string",
|
|
755
|
+
"description": "Industry type (optional)"
|
|
756
|
+
},
|
|
757
|
+
"user_id": {
|
|
758
|
+
"type": "string",
|
|
759
|
+
"description": "Associated user ID (optional)"
|
|
760
|
+
},
|
|
761
|
+
"organization_id": {
|
|
762
|
+
"type": "string",
|
|
763
|
+
"description": "Associated organization ID (optional)"
|
|
764
|
+
},
|
|
765
|
+
"currency": {
|
|
766
|
+
"type": "string",
|
|
767
|
+
"description": "Preferred currency",
|
|
768
|
+
"default": "usd"
|
|
769
|
+
},
|
|
770
|
+
"address": {
|
|
771
|
+
"type": "object",
|
|
772
|
+
"description": "Billing address (optional)",
|
|
773
|
+
"properties": {
|
|
774
|
+
"line1": {
|
|
775
|
+
"type": "string"
|
|
776
|
+
},
|
|
777
|
+
"line2": {
|
|
778
|
+
"type": "string"
|
|
779
|
+
},
|
|
780
|
+
"city": {
|
|
781
|
+
"type": "string"
|
|
782
|
+
},
|
|
783
|
+
"state": {
|
|
784
|
+
"type": "string"
|
|
785
|
+
},
|
|
786
|
+
"postal_code": {
|
|
787
|
+
"type": "string"
|
|
788
|
+
},
|
|
789
|
+
"country": {
|
|
790
|
+
"type": "string"
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
},
|
|
794
|
+
"shipping": {
|
|
795
|
+
"type": "object",
|
|
796
|
+
"description": "Shipping address (optional)"
|
|
797
|
+
},
|
|
798
|
+
"tax_info": {
|
|
799
|
+
"type": "object",
|
|
800
|
+
"description": "Tax information (optional)"
|
|
801
|
+
},
|
|
802
|
+
"test_mode": {
|
|
803
|
+
"type": "boolean",
|
|
804
|
+
"default": false,
|
|
805
|
+
"description": "Test mode flag (optional)"
|
|
806
|
+
},
|
|
807
|
+
"sync_to_provider": {
|
|
808
|
+
"type": "boolean",
|
|
809
|
+
"default": false,
|
|
810
|
+
"description": "Sync to external provider (optional)"
|
|
811
|
+
},
|
|
812
|
+
"sync_to_stripe": {
|
|
813
|
+
"type": "boolean",
|
|
814
|
+
"default": false,
|
|
815
|
+
"description": "Sync to Stripe (optional)"
|
|
816
|
+
},
|
|
817
|
+
"stripe_api_key": {
|
|
818
|
+
"type": "string",
|
|
819
|
+
"description": "Stripe API key if syncing (optional)"
|
|
820
|
+
}
|
|
821
|
+
},
|
|
822
|
+
"required": [
|
|
823
|
+
"email"
|
|
824
|
+
]
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"name": "update_customer",
|
|
829
|
+
"description": "Update customer billing information",
|
|
830
|
+
"method": "PUT",
|
|
831
|
+
"path": "/billing/customers/%7B%7Bcustomer_id%7D%7D",
|
|
832
|
+
"input_schema": {
|
|
833
|
+
"type": "object",
|
|
834
|
+
"properties": {
|
|
835
|
+
"customer_id": {
|
|
836
|
+
"type": "string",
|
|
837
|
+
"description": "Customer ID to update"
|
|
838
|
+
},
|
|
839
|
+
"email": {
|
|
840
|
+
"type": "string",
|
|
841
|
+
"format": "email"
|
|
842
|
+
},
|
|
843
|
+
"name": {
|
|
844
|
+
"type": "string"
|
|
845
|
+
},
|
|
846
|
+
"company": {
|
|
847
|
+
"type": "string"
|
|
848
|
+
},
|
|
849
|
+
"tax_id": {
|
|
850
|
+
"type": "string"
|
|
851
|
+
},
|
|
852
|
+
"billing_address": {
|
|
853
|
+
"type": "object"
|
|
854
|
+
},
|
|
855
|
+
"payment_terms": {
|
|
856
|
+
"type": "string"
|
|
857
|
+
},
|
|
858
|
+
"metadata": {
|
|
859
|
+
"type": "object"
|
|
860
|
+
}
|
|
861
|
+
},
|
|
862
|
+
"required": [
|
|
863
|
+
"customer_id"
|
|
864
|
+
]
|
|
865
|
+
}
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"name": "list_customers",
|
|
869
|
+
"description": "List customers with filtering, pagination, and sorting",
|
|
870
|
+
"method": "GET",
|
|
871
|
+
"path": "/billing/customers",
|
|
872
|
+
"input_schema": {
|
|
873
|
+
"type": "object",
|
|
874
|
+
"properties": {
|
|
875
|
+
"filters": {
|
|
876
|
+
"type": "object",
|
|
877
|
+
"description": "Additional filter criteria"
|
|
878
|
+
},
|
|
879
|
+
"customer_type": {
|
|
880
|
+
"type": "string",
|
|
881
|
+
"description": "Filter by customer type"
|
|
882
|
+
},
|
|
883
|
+
"company_name": {
|
|
884
|
+
"type": "string",
|
|
885
|
+
"description": "Filter by company name (partial match)"
|
|
886
|
+
},
|
|
887
|
+
"industry": {
|
|
888
|
+
"type": "string",
|
|
889
|
+
"description": "Filter by industry (partial match)"
|
|
890
|
+
},
|
|
891
|
+
"test_mode": {
|
|
892
|
+
"type": "boolean",
|
|
893
|
+
"description": "Filter by test mode"
|
|
894
|
+
},
|
|
895
|
+
"limit": {
|
|
896
|
+
"type": "integer",
|
|
897
|
+
"description": "Number of customers to return",
|
|
898
|
+
"default": 50
|
|
899
|
+
},
|
|
900
|
+
"offset": {
|
|
901
|
+
"type": "integer",
|
|
902
|
+
"description": "Number of customers to skip",
|
|
903
|
+
"default": 0
|
|
904
|
+
},
|
|
905
|
+
"sort": {
|
|
906
|
+
"type": "string",
|
|
907
|
+
"enum": [
|
|
908
|
+
"created_at:asc",
|
|
909
|
+
"created_at:desc",
|
|
910
|
+
"name:asc",
|
|
911
|
+
"name:desc",
|
|
912
|
+
"email:asc",
|
|
913
|
+
"email:desc"
|
|
914
|
+
],
|
|
915
|
+
"description": "Sort order",
|
|
916
|
+
"default": "created_at:desc"
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"name": "get_customer",
|
|
923
|
+
"description": "Retrieve detailed information about a specific customer",
|
|
924
|
+
"method": "GET",
|
|
925
|
+
"path": "/billing/customers/%7B%7Bcustomer_id%7D%7D",
|
|
926
|
+
"input_schema": {
|
|
927
|
+
"type": "object",
|
|
928
|
+
"properties": {
|
|
929
|
+
"customer_id": {
|
|
930
|
+
"type": "string",
|
|
931
|
+
"description": "Customer ID to retrieve"
|
|
932
|
+
}
|
|
933
|
+
},
|
|
934
|
+
"required": [
|
|
935
|
+
"customer_id"
|
|
936
|
+
]
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"name": "get_customer_by_user_id",
|
|
941
|
+
"description": "Retrieve customer information by associated user ID",
|
|
942
|
+
"method": "GET",
|
|
943
|
+
"path": "/billing/customers/by-user/%7B%7Buser_id%7D%7D",
|
|
944
|
+
"input_schema": {
|
|
945
|
+
"type": "object",
|
|
946
|
+
"properties": {
|
|
947
|
+
"user_id": {
|
|
948
|
+
"type": "string",
|
|
949
|
+
"description": "User ID to find customer for"
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
"required": [
|
|
953
|
+
"user_id"
|
|
954
|
+
]
|
|
955
|
+
}
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "delete_customer",
|
|
959
|
+
"description": "Delete a customer and associated billing data",
|
|
960
|
+
"method": "DELETE",
|
|
961
|
+
"path": "/billing/customers/%7B%7Bcustomer_id%7D%7D",
|
|
962
|
+
"input_schema": {
|
|
963
|
+
"type": "object",
|
|
964
|
+
"properties": {
|
|
965
|
+
"customer_id": {
|
|
966
|
+
"type": "string",
|
|
967
|
+
"description": "Customer ID to delete"
|
|
968
|
+
}
|
|
969
|
+
},
|
|
970
|
+
"required": [
|
|
971
|
+
"customer_id"
|
|
972
|
+
]
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
"name": "create_product",
|
|
977
|
+
"description": "Create a product for billing",
|
|
978
|
+
"method": "POST",
|
|
979
|
+
"path": "/billing/products",
|
|
980
|
+
"input_schema": {
|
|
981
|
+
"type": "object",
|
|
982
|
+
"properties": {
|
|
983
|
+
"name": {
|
|
984
|
+
"type": "string",
|
|
985
|
+
"description": "Product name"
|
|
986
|
+
},
|
|
987
|
+
"description": {
|
|
988
|
+
"type": "string",
|
|
989
|
+
"description": "Product description"
|
|
990
|
+
},
|
|
991
|
+
"test_mode": {
|
|
992
|
+
"type": "boolean",
|
|
993
|
+
"default": true
|
|
994
|
+
},
|
|
995
|
+
"sync_to_stripe": {
|
|
996
|
+
"type": "boolean",
|
|
997
|
+
"default": true
|
|
998
|
+
},
|
|
999
|
+
"sync_to_provider": {
|
|
1000
|
+
"type": "boolean",
|
|
1001
|
+
"default": false
|
|
1002
|
+
},
|
|
1003
|
+
"stripe_api_key": {
|
|
1004
|
+
"type": "string",
|
|
1005
|
+
"description": "Stripe API key if syncing"
|
|
1006
|
+
}
|
|
1007
|
+
},
|
|
1008
|
+
"required": [
|
|
1009
|
+
"name"
|
|
1010
|
+
]
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
"name": "create_refund",
|
|
1015
|
+
"description": "Create a refund for a charge",
|
|
1016
|
+
"method": "POST",
|
|
1017
|
+
"path": "/billing/refunds",
|
|
1018
|
+
"input_schema": {
|
|
1019
|
+
"type": "object",
|
|
1020
|
+
"properties": {
|
|
1021
|
+
"charge_id": {
|
|
1022
|
+
"type": "string",
|
|
1023
|
+
"description": "Charge ID to refund"
|
|
1024
|
+
},
|
|
1025
|
+
"amount": {
|
|
1026
|
+
"type": "number",
|
|
1027
|
+
"description": "Refund amount (in cents)"
|
|
1028
|
+
},
|
|
1029
|
+
"reason": {
|
|
1030
|
+
"type": "string",
|
|
1031
|
+
"description": "Reason for refund"
|
|
1032
|
+
},
|
|
1033
|
+
"metadata": {
|
|
1034
|
+
"type": "object",
|
|
1035
|
+
"description": "Custom metadata"
|
|
1036
|
+
},
|
|
1037
|
+
"refund_application_fee": {
|
|
1038
|
+
"type": "boolean",
|
|
1039
|
+
"default": false
|
|
1040
|
+
},
|
|
1041
|
+
"reverse_transfer": {
|
|
1042
|
+
"type": "boolean",
|
|
1043
|
+
"default": false
|
|
1044
|
+
},
|
|
1045
|
+
"sync_to_provider": {
|
|
1046
|
+
"type": "boolean",
|
|
1047
|
+
"default": false
|
|
1048
|
+
},
|
|
1049
|
+
"stripe_api_key": {
|
|
1050
|
+
"type": "string",
|
|
1051
|
+
"description": "Stripe API key if syncing"
|
|
1052
|
+
}
|
|
1053
|
+
},
|
|
1054
|
+
"required": [
|
|
1055
|
+
"charge_id"
|
|
1056
|
+
]
|
|
1057
|
+
}
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
"name": "create_payment_intent",
|
|
1061
|
+
"description": "Create a payment intent for collecting payment",
|
|
1062
|
+
"method": "POST",
|
|
1063
|
+
"path": "/billing/payments/intents",
|
|
1064
|
+
"input_schema": {
|
|
1065
|
+
"type": "object",
|
|
1066
|
+
"properties": {
|
|
1067
|
+
"amount": {
|
|
1068
|
+
"type": "integer",
|
|
1069
|
+
"description": "Amount in cents"
|
|
1070
|
+
},
|
|
1071
|
+
"currency": {
|
|
1072
|
+
"type": "string",
|
|
1073
|
+
"default": "usd"
|
|
1074
|
+
},
|
|
1075
|
+
"customer_id": {
|
|
1076
|
+
"type": "string",
|
|
1077
|
+
"description": "Customer ID"
|
|
1078
|
+
},
|
|
1079
|
+
"receipt_email": {
|
|
1080
|
+
"type": "string",
|
|
1081
|
+
"description": "Email for receipt"
|
|
1082
|
+
},
|
|
1083
|
+
"description": {
|
|
1084
|
+
"type": "string",
|
|
1085
|
+
"description": "Payment description"
|
|
1086
|
+
},
|
|
1087
|
+
"metadata": {
|
|
1088
|
+
"type": "object",
|
|
1089
|
+
"description": "Custom metadata"
|
|
1090
|
+
},
|
|
1091
|
+
"application_fee_amount": {
|
|
1092
|
+
"type": "integer",
|
|
1093
|
+
"description": "Application fee in cents"
|
|
1094
|
+
},
|
|
1095
|
+
"payment_method_types": {
|
|
1096
|
+
"type": "array",
|
|
1097
|
+
"items": {
|
|
1098
|
+
"type": "string"
|
|
1099
|
+
},
|
|
1100
|
+
"default": [
|
|
1101
|
+
"card"
|
|
1102
|
+
]
|
|
1103
|
+
},
|
|
1104
|
+
"test_mode": {
|
|
1105
|
+
"type": "boolean",
|
|
1106
|
+
"default": false
|
|
1107
|
+
},
|
|
1108
|
+
"sync_to_provider": {
|
|
1109
|
+
"type": "boolean",
|
|
1110
|
+
"default": false
|
|
1111
|
+
},
|
|
1112
|
+
"stripe_api_key": {
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"description": "Stripe API key if syncing"
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1117
|
+
"required": [
|
|
1118
|
+
"amount",
|
|
1119
|
+
"currency"
|
|
1120
|
+
]
|
|
1121
|
+
}
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
"name": "list_payment_methods",
|
|
1125
|
+
"description": "List payment methods for a customer",
|
|
1126
|
+
"method": "GET",
|
|
1127
|
+
"path": "/billing/customers/%7B%7Bcustomer_id%7D%7D/payment-methods",
|
|
1128
|
+
"input_schema": {
|
|
1129
|
+
"type": "object",
|
|
1130
|
+
"properties": {
|
|
1131
|
+
"customer_id": {
|
|
1132
|
+
"type": "string",
|
|
1133
|
+
"description": "Customer ID"
|
|
1134
|
+
},
|
|
1135
|
+
"type": {
|
|
1136
|
+
"type": "string",
|
|
1137
|
+
"enum": [
|
|
1138
|
+
"card",
|
|
1139
|
+
"bank_account"
|
|
1140
|
+
],
|
|
1141
|
+
"description": "Payment method type"
|
|
1142
|
+
},
|
|
1143
|
+
"test_mode": {
|
|
1144
|
+
"type": "boolean",
|
|
1145
|
+
"default": false
|
|
1146
|
+
}
|
|
1147
|
+
},
|
|
1148
|
+
"required": [
|
|
1149
|
+
"customer_id"
|
|
1150
|
+
]
|
|
1151
|
+
}
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"name": "create_payment_method",
|
|
1155
|
+
"description": "Create a new payment method for a customer",
|
|
1156
|
+
"method": "POST",
|
|
1157
|
+
"path": "/billing/customers/%7B%7Bcustomer_id%7D%7D/payment-methods",
|
|
1158
|
+
"input_schema": {
|
|
1159
|
+
"type": "object",
|
|
1160
|
+
"properties": {
|
|
1161
|
+
"customer_id": {
|
|
1162
|
+
"type": "string",
|
|
1163
|
+
"description": "Customer ID"
|
|
1164
|
+
},
|
|
1165
|
+
"type": {
|
|
1166
|
+
"type": "string",
|
|
1167
|
+
"enum": [
|
|
1168
|
+
"card",
|
|
1169
|
+
"bank_account"
|
|
1170
|
+
],
|
|
1171
|
+
"description": "Payment method type"
|
|
1172
|
+
},
|
|
1173
|
+
"card": {
|
|
1174
|
+
"type": "object",
|
|
1175
|
+
"description": "Card details if type is card",
|
|
1176
|
+
"properties": {
|
|
1177
|
+
"number": {
|
|
1178
|
+
"type": "string"
|
|
1179
|
+
},
|
|
1180
|
+
"exp_month": {
|
|
1181
|
+
"type": "integer"
|
|
1182
|
+
},
|
|
1183
|
+
"exp_year": {
|
|
1184
|
+
"type": "integer"
|
|
1185
|
+
},
|
|
1186
|
+
"cvc": {
|
|
1187
|
+
"type": "string"
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"bank_account": {
|
|
1192
|
+
"type": "object",
|
|
1193
|
+
"description": "Bank account details if type is bank_account",
|
|
1194
|
+
"properties": {
|
|
1195
|
+
"country": {
|
|
1196
|
+
"type": "string"
|
|
1197
|
+
},
|
|
1198
|
+
"currency": {
|
|
1199
|
+
"type": "string"
|
|
1200
|
+
},
|
|
1201
|
+
"account_number": {
|
|
1202
|
+
"type": "string"
|
|
1203
|
+
},
|
|
1204
|
+
"routing_number": {
|
|
1205
|
+
"type": "string"
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
},
|
|
1209
|
+
"test_mode": {
|
|
1210
|
+
"type": "boolean",
|
|
1211
|
+
"default": false
|
|
1212
|
+
},
|
|
1213
|
+
"sync_to_provider": {
|
|
1214
|
+
"type": "boolean",
|
|
1215
|
+
"default": false
|
|
1216
|
+
},
|
|
1217
|
+
"stripe_api_key": {
|
|
1218
|
+
"type": "string",
|
|
1219
|
+
"description": "Stripe API key if syncing"
|
|
1220
|
+
}
|
|
1221
|
+
},
|
|
1222
|
+
"required": [
|
|
1223
|
+
"customer_id",
|
|
1224
|
+
"type"
|
|
1225
|
+
]
|
|
1226
|
+
}
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"name": "create_price",
|
|
1230
|
+
"description": "Create a price for a product",
|
|
1231
|
+
"method": "POST",
|
|
1232
|
+
"path": "/billing/products/%7B%7Bproduct_id%7D%7D/prices",
|
|
1233
|
+
"input_schema": {
|
|
1234
|
+
"type": "object",
|
|
1235
|
+
"properties": {
|
|
1236
|
+
"product_id": {
|
|
1237
|
+
"type": "string",
|
|
1238
|
+
"description": "Product ID"
|
|
1239
|
+
},
|
|
1240
|
+
"unit_amount": {
|
|
1241
|
+
"type": "integer",
|
|
1242
|
+
"description": "Price in cents"
|
|
1243
|
+
},
|
|
1244
|
+
"currency": {
|
|
1245
|
+
"type": "string",
|
|
1246
|
+
"default": "usd"
|
|
1247
|
+
},
|
|
1248
|
+
"recurring": {
|
|
1249
|
+
"type": "object",
|
|
1250
|
+
"description": "Recurring billing details",
|
|
1251
|
+
"properties": {
|
|
1252
|
+
"interval": {
|
|
1253
|
+
"type": "string",
|
|
1254
|
+
"enum": [
|
|
1255
|
+
"day",
|
|
1256
|
+
"week",
|
|
1257
|
+
"month",
|
|
1258
|
+
"year"
|
|
1259
|
+
]
|
|
1260
|
+
},
|
|
1261
|
+
"interval_count": {
|
|
1262
|
+
"type": "integer",
|
|
1263
|
+
"default": 1
|
|
1264
|
+
},
|
|
1265
|
+
"usage_type": {
|
|
1266
|
+
"type": "string",
|
|
1267
|
+
"enum": [
|
|
1268
|
+
"licensed",
|
|
1269
|
+
"metered"
|
|
1270
|
+
],
|
|
1271
|
+
"default": "licensed"
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
},
|
|
1275
|
+
"billing_scheme": {
|
|
1276
|
+
"type": "string",
|
|
1277
|
+
"enum": [
|
|
1278
|
+
"per_unit",
|
|
1279
|
+
"tiered"
|
|
1280
|
+
],
|
|
1281
|
+
"default": "per_unit"
|
|
1282
|
+
},
|
|
1283
|
+
"tiers_mode": {
|
|
1284
|
+
"type": "string",
|
|
1285
|
+
"enum": [
|
|
1286
|
+
"graduated",
|
|
1287
|
+
"volume"
|
|
1288
|
+
]
|
|
1289
|
+
},
|
|
1290
|
+
"tiers": {
|
|
1291
|
+
"type": "array",
|
|
1292
|
+
"description": "Tiers for tiered pricing",
|
|
1293
|
+
"items": {
|
|
1294
|
+
"type": "object"
|
|
1295
|
+
}
|
|
1296
|
+
},
|
|
1297
|
+
"test_mode": {
|
|
1298
|
+
"type": "boolean",
|
|
1299
|
+
"default": true
|
|
1300
|
+
},
|
|
1301
|
+
"sync_to_stripe": {
|
|
1302
|
+
"type": "boolean",
|
|
1303
|
+
"default": true
|
|
1304
|
+
},
|
|
1305
|
+
"stripe_api_key": {
|
|
1306
|
+
"type": "string",
|
|
1307
|
+
"description": "Stripe API key if syncing"
|
|
1308
|
+
}
|
|
1309
|
+
},
|
|
1310
|
+
"required": [
|
|
1311
|
+
"product_id",
|
|
1312
|
+
"unit_amount",
|
|
1313
|
+
"currency"
|
|
1314
|
+
]
|
|
1315
|
+
}
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"name": "create_vendor",
|
|
1319
|
+
"description": "Create a new vendor for expense and bill management",
|
|
1320
|
+
"method": "POST",
|
|
1321
|
+
"path": "/billing/vendors",
|
|
1322
|
+
"input_schema": {
|
|
1323
|
+
"type": "object",
|
|
1324
|
+
"properties": {
|
|
1325
|
+
"name": {
|
|
1326
|
+
"type": "string",
|
|
1327
|
+
"description": "Vendor name"
|
|
1328
|
+
},
|
|
1329
|
+
"email": {
|
|
1330
|
+
"type": "string",
|
|
1331
|
+
"format": "email",
|
|
1332
|
+
"description": "Vendor email address"
|
|
1333
|
+
},
|
|
1334
|
+
"phone": {
|
|
1335
|
+
"type": "string",
|
|
1336
|
+
"description": "Vendor phone number"
|
|
1337
|
+
},
|
|
1338
|
+
"address": {
|
|
1339
|
+
"type": "object",
|
|
1340
|
+
"properties": {
|
|
1341
|
+
"street": {
|
|
1342
|
+
"type": "string"
|
|
1343
|
+
},
|
|
1344
|
+
"city": {
|
|
1345
|
+
"type": "string"
|
|
1346
|
+
},
|
|
1347
|
+
"state": {
|
|
1348
|
+
"type": "string"
|
|
1349
|
+
},
|
|
1350
|
+
"country": {
|
|
1351
|
+
"type": "string"
|
|
1352
|
+
},
|
|
1353
|
+
"postal_code": {
|
|
1354
|
+
"type": "string"
|
|
1355
|
+
}
|
|
1356
|
+
},
|
|
1357
|
+
"description": "Vendor address"
|
|
1358
|
+
},
|
|
1359
|
+
"tax_id": {
|
|
1360
|
+
"type": "string",
|
|
1361
|
+
"description": "Tax ID or business registration number"
|
|
1362
|
+
},
|
|
1363
|
+
"currency": {
|
|
1364
|
+
"type": "string",
|
|
1365
|
+
"description": "Default currency for this vendor",
|
|
1366
|
+
"default": "usd"
|
|
1367
|
+
},
|
|
1368
|
+
"metadata": {
|
|
1369
|
+
"type": "object",
|
|
1370
|
+
"description": "Additional metadata"
|
|
1371
|
+
},
|
|
1372
|
+
"test_mode": {
|
|
1373
|
+
"type": "boolean",
|
|
1374
|
+
"description": "Whether this is a test vendor",
|
|
1375
|
+
"default": false
|
|
1376
|
+
}
|
|
1377
|
+
},
|
|
1378
|
+
"required": [
|
|
1379
|
+
"name"
|
|
1380
|
+
]
|
|
1381
|
+
}
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
"name": "update_vendor",
|
|
1385
|
+
"description": "Update vendor information",
|
|
1386
|
+
"method": "PUT",
|
|
1387
|
+
"path": "/billing/vendors/%7B%7Bvendor_id%7D%7D",
|
|
1388
|
+
"input_schema": {
|
|
1389
|
+
"type": "object",
|
|
1390
|
+
"properties": {
|
|
1391
|
+
"vendor_id": {
|
|
1392
|
+
"type": "string",
|
|
1393
|
+
"description": "Vendor ID to update"
|
|
1394
|
+
},
|
|
1395
|
+
"name": {
|
|
1396
|
+
"type": "string",
|
|
1397
|
+
"description": "Updated vendor name"
|
|
1398
|
+
},
|
|
1399
|
+
"email": {
|
|
1400
|
+
"type": "string",
|
|
1401
|
+
"format": "email",
|
|
1402
|
+
"description": "Updated vendor email"
|
|
1403
|
+
},
|
|
1404
|
+
"phone": {
|
|
1405
|
+
"type": "string",
|
|
1406
|
+
"description": "Updated vendor phone"
|
|
1407
|
+
},
|
|
1408
|
+
"address": {
|
|
1409
|
+
"type": "object",
|
|
1410
|
+
"description": "Updated vendor address"
|
|
1411
|
+
},
|
|
1412
|
+
"tax_id": {
|
|
1413
|
+
"type": "string",
|
|
1414
|
+
"description": "Updated tax ID"
|
|
1415
|
+
},
|
|
1416
|
+
"currency": {
|
|
1417
|
+
"type": "string",
|
|
1418
|
+
"description": "Updated default currency"
|
|
1419
|
+
},
|
|
1420
|
+
"metadata": {
|
|
1421
|
+
"type": "object",
|
|
1422
|
+
"description": "Updated metadata"
|
|
1423
|
+
}
|
|
1424
|
+
},
|
|
1425
|
+
"required": [
|
|
1426
|
+
"vendor_id"
|
|
1427
|
+
]
|
|
1428
|
+
}
|
|
1429
|
+
},
|
|
1430
|
+
{
|
|
1431
|
+
"name": "get_vendor",
|
|
1432
|
+
"description": "Retrieve detailed information about a specific vendor",
|
|
1433
|
+
"method": "GET",
|
|
1434
|
+
"path": "/billing/vendors/%7B%7Bvendor_id%7D%7D",
|
|
1435
|
+
"input_schema": {
|
|
1436
|
+
"type": "object",
|
|
1437
|
+
"properties": {
|
|
1438
|
+
"vendor_id": {
|
|
1439
|
+
"type": "string",
|
|
1440
|
+
"description": "Vendor ID to retrieve"
|
|
1441
|
+
}
|
|
1442
|
+
},
|
|
1443
|
+
"required": [
|
|
1444
|
+
"vendor_id"
|
|
1445
|
+
]
|
|
1446
|
+
}
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
"name": "list_vendors",
|
|
1450
|
+
"description": "List vendors with filtering and pagination",
|
|
1451
|
+
"method": "GET",
|
|
1452
|
+
"path": "/billing/vendors",
|
|
1453
|
+
"input_schema": {
|
|
1454
|
+
"type": "object",
|
|
1455
|
+
"properties": {
|
|
1456
|
+
"name": {
|
|
1457
|
+
"type": "string",
|
|
1458
|
+
"description": "Filter by vendor name (partial match)"
|
|
1459
|
+
},
|
|
1460
|
+
"email": {
|
|
1461
|
+
"type": "string",
|
|
1462
|
+
"description": "Filter by vendor email"
|
|
1463
|
+
},
|
|
1464
|
+
"currency": {
|
|
1465
|
+
"type": "string",
|
|
1466
|
+
"description": "Filter by currency"
|
|
1467
|
+
},
|
|
1468
|
+
"test_mode": {
|
|
1469
|
+
"type": "boolean",
|
|
1470
|
+
"description": "Filter by test mode"
|
|
1471
|
+
},
|
|
1472
|
+
"limit": {
|
|
1473
|
+
"type": "integer",
|
|
1474
|
+
"description": "Number of vendors to return",
|
|
1475
|
+
"default": 50
|
|
1476
|
+
},
|
|
1477
|
+
"offset": {
|
|
1478
|
+
"type": "integer",
|
|
1479
|
+
"description": "Number of vendors to skip",
|
|
1480
|
+
"default": 0
|
|
1481
|
+
},
|
|
1482
|
+
"sort": {
|
|
1483
|
+
"type": "string",
|
|
1484
|
+
"enum": [
|
|
1485
|
+
"name:asc",
|
|
1486
|
+
"name:desc",
|
|
1487
|
+
"created_at:asc",
|
|
1488
|
+
"created_at:desc"
|
|
1489
|
+
],
|
|
1490
|
+
"default": "name:asc"
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1496
|
+
"name": "delete_vendor",
|
|
1497
|
+
"description": "Delete a vendor (soft delete to preserve expense history)",
|
|
1498
|
+
"method": "DELETE",
|
|
1499
|
+
"path": "/billing/vendors/%7B%7Bvendor_id%7D%7D",
|
|
1500
|
+
"input_schema": {
|
|
1501
|
+
"type": "object",
|
|
1502
|
+
"properties": {
|
|
1503
|
+
"vendor_id": {
|
|
1504
|
+
"type": "string",
|
|
1505
|
+
"description": "Vendor ID to delete"
|
|
1506
|
+
}
|
|
1507
|
+
},
|
|
1508
|
+
"required": [
|
|
1509
|
+
"vendor_id"
|
|
1510
|
+
]
|
|
1511
|
+
}
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"name": "create_expense",
|
|
1515
|
+
"description": "Record a new business expense",
|
|
1516
|
+
"method": "POST",
|
|
1517
|
+
"path": "/billing/expenses",
|
|
1518
|
+
"input_schema": {
|
|
1519
|
+
"type": "object",
|
|
1520
|
+
"properties": {
|
|
1521
|
+
"amount": {
|
|
1522
|
+
"type": "number",
|
|
1523
|
+
"description": "Expense amount in cents"
|
|
1524
|
+
},
|
|
1525
|
+
"currency": {
|
|
1526
|
+
"type": "string",
|
|
1527
|
+
"description": "Expense currency",
|
|
1528
|
+
"default": "usd"
|
|
1529
|
+
},
|
|
1530
|
+
"category": {
|
|
1531
|
+
"type": "string",
|
|
1532
|
+
"description": "Expense category (travel, meals, equipment, etc.)"
|
|
1533
|
+
},
|
|
1534
|
+
"description": {
|
|
1535
|
+
"type": "string",
|
|
1536
|
+
"description": "Expense description"
|
|
1537
|
+
},
|
|
1538
|
+
"expense_date": {
|
|
1539
|
+
"type": "string",
|
|
1540
|
+
"format": "date",
|
|
1541
|
+
"description": "Date of expense (defaults to today)"
|
|
1542
|
+
},
|
|
1543
|
+
"vendor_id": {
|
|
1544
|
+
"type": "string",
|
|
1545
|
+
"description": "ID of the vendor from vendors table"
|
|
1546
|
+
},
|
|
1547
|
+
"vendor_name": {
|
|
1548
|
+
"type": "string",
|
|
1549
|
+
"description": "Vendor/merchant name (fallback if vendor_id not provided)"
|
|
1550
|
+
},
|
|
1551
|
+
"status": {
|
|
1552
|
+
"type": "string",
|
|
1553
|
+
"enum": [
|
|
1554
|
+
"pending",
|
|
1555
|
+
"approved",
|
|
1556
|
+
"rejected",
|
|
1557
|
+
"reimbursed"
|
|
1558
|
+
],
|
|
1559
|
+
"default": "pending",
|
|
1560
|
+
"description": "Expense approval status"
|
|
1561
|
+
},
|
|
1562
|
+
"receipt_url": {
|
|
1563
|
+
"type": "string",
|
|
1564
|
+
"format": "uri",
|
|
1565
|
+
"description": "URL to receipt/invoice"
|
|
1566
|
+
},
|
|
1567
|
+
"user_id": {
|
|
1568
|
+
"type": "string",
|
|
1569
|
+
"description": "User who incurred the expense"
|
|
1570
|
+
},
|
|
1571
|
+
"metadata": {
|
|
1572
|
+
"type": "object",
|
|
1573
|
+
"description": "Additional metadata"
|
|
1574
|
+
},
|
|
1575
|
+
"test_mode": {
|
|
1576
|
+
"type": "boolean",
|
|
1577
|
+
"description": "Whether this is a test expense",
|
|
1578
|
+
"default": false
|
|
1579
|
+
}
|
|
1580
|
+
},
|
|
1581
|
+
"required": [
|
|
1582
|
+
"amount",
|
|
1583
|
+
"description"
|
|
1584
|
+
]
|
|
1585
|
+
}
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
"name": "update_expense",
|
|
1589
|
+
"description": "Update expense information and approval status",
|
|
1590
|
+
"method": "PUT",
|
|
1591
|
+
"path": "/billing/expenses/%7B%7Bexpense_id%7D%7D",
|
|
1592
|
+
"input_schema": {
|
|
1593
|
+
"type": "object",
|
|
1594
|
+
"properties": {
|
|
1595
|
+
"expense_id": {
|
|
1596
|
+
"type": "string",
|
|
1597
|
+
"description": "Expense ID to update"
|
|
1598
|
+
},
|
|
1599
|
+
"amount": {
|
|
1600
|
+
"type": "number",
|
|
1601
|
+
"description": "Updated expense amount in cents"
|
|
1602
|
+
},
|
|
1603
|
+
"currency": {
|
|
1604
|
+
"type": "string",
|
|
1605
|
+
"description": "Updated expense currency"
|
|
1606
|
+
},
|
|
1607
|
+
"category": {
|
|
1608
|
+
"type": "string",
|
|
1609
|
+
"description": "Updated expense category"
|
|
1610
|
+
},
|
|
1611
|
+
"description": {
|
|
1612
|
+
"type": "string",
|
|
1613
|
+
"description": "Updated expense description"
|
|
1614
|
+
},
|
|
1615
|
+
"expense_date": {
|
|
1616
|
+
"type": "string",
|
|
1617
|
+
"format": "date",
|
|
1618
|
+
"description": "Updated expense date"
|
|
1619
|
+
},
|
|
1620
|
+
"vendor_id": {
|
|
1621
|
+
"type": "string",
|
|
1622
|
+
"description": "Updated vendor ID"
|
|
1623
|
+
},
|
|
1624
|
+
"vendor_name": {
|
|
1625
|
+
"type": "string",
|
|
1626
|
+
"description": "Updated vendor name"
|
|
1627
|
+
},
|
|
1628
|
+
"status": {
|
|
1629
|
+
"type": "string",
|
|
1630
|
+
"enum": [
|
|
1631
|
+
"pending",
|
|
1632
|
+
"approved",
|
|
1633
|
+
"rejected",
|
|
1634
|
+
"reimbursed"
|
|
1635
|
+
],
|
|
1636
|
+
"description": "Updated expense status"
|
|
1637
|
+
},
|
|
1638
|
+
"receipt_url": {
|
|
1639
|
+
"type": "string",
|
|
1640
|
+
"format": "uri",
|
|
1641
|
+
"description": "Updated receipt URL"
|
|
1642
|
+
},
|
|
1643
|
+
"metadata": {
|
|
1644
|
+
"type": "object",
|
|
1645
|
+
"description": "Updated metadata"
|
|
1646
|
+
}
|
|
1647
|
+
},
|
|
1648
|
+
"required": [
|
|
1649
|
+
"expense_id"
|
|
1650
|
+
]
|
|
1651
|
+
}
|
|
1652
|
+
},
|
|
1653
|
+
{
|
|
1654
|
+
"name": "get_expense",
|
|
1655
|
+
"description": "Retrieve detailed information about a specific expense",
|
|
1656
|
+
"method": "GET",
|
|
1657
|
+
"path": "/billing/expenses/%7B%7Bexpense_id%7D%7D",
|
|
1658
|
+
"input_schema": {
|
|
1659
|
+
"type": "object",
|
|
1660
|
+
"properties": {
|
|
1661
|
+
"expense_id": {
|
|
1662
|
+
"type": "string",
|
|
1663
|
+
"description": "Expense ID to retrieve"
|
|
1664
|
+
},
|
|
1665
|
+
"include_vendor": {
|
|
1666
|
+
"type": "boolean",
|
|
1667
|
+
"description": "Include vendor details",
|
|
1668
|
+
"default": false
|
|
1669
|
+
}
|
|
1670
|
+
},
|
|
1671
|
+
"required": [
|
|
1672
|
+
"expense_id"
|
|
1673
|
+
]
|
|
1674
|
+
}
|
|
1675
|
+
},
|
|
1676
|
+
{
|
|
1677
|
+
"name": "list_expenses",
|
|
1678
|
+
"description": "List expenses with filtering and pagination",
|
|
1679
|
+
"method": "GET",
|
|
1680
|
+
"path": "/billing/expenses",
|
|
1681
|
+
"input_schema": {
|
|
1682
|
+
"type": "object",
|
|
1683
|
+
"properties": {
|
|
1684
|
+
"category": {
|
|
1685
|
+
"type": "string",
|
|
1686
|
+
"description": "Filter by expense category"
|
|
1687
|
+
},
|
|
1688
|
+
"user_id": {
|
|
1689
|
+
"type": "string",
|
|
1690
|
+
"description": "Filter by user who incurred expense"
|
|
1691
|
+
},
|
|
1692
|
+
"vendor_name": {
|
|
1693
|
+
"type": "string",
|
|
1694
|
+
"description": "Filter by vendor name"
|
|
1695
|
+
},
|
|
1696
|
+
"min_amount": {
|
|
1697
|
+
"type": "number",
|
|
1698
|
+
"description": "Minimum expense amount in cents"
|
|
1699
|
+
},
|
|
1700
|
+
"max_amount": {
|
|
1701
|
+
"type": "number",
|
|
1702
|
+
"description": "Maximum expense amount in cents"
|
|
1703
|
+
},
|
|
1704
|
+
"start_date": {
|
|
1705
|
+
"type": "string",
|
|
1706
|
+
"format": "date",
|
|
1707
|
+
"description": "Filter expenses from this date"
|
|
1708
|
+
},
|
|
1709
|
+
"end_date": {
|
|
1710
|
+
"type": "string",
|
|
1711
|
+
"format": "date",
|
|
1712
|
+
"description": "Filter expenses until this date"
|
|
1713
|
+
},
|
|
1714
|
+
"currency": {
|
|
1715
|
+
"type": "string",
|
|
1716
|
+
"description": "Filter by currency"
|
|
1717
|
+
},
|
|
1718
|
+
"status": {
|
|
1719
|
+
"type": "string",
|
|
1720
|
+
"enum": [
|
|
1721
|
+
"pending",
|
|
1722
|
+
"approved",
|
|
1723
|
+
"rejected",
|
|
1724
|
+
"reimbursed"
|
|
1725
|
+
],
|
|
1726
|
+
"description": "Filter by expense status"
|
|
1727
|
+
},
|
|
1728
|
+
"test_mode": {
|
|
1729
|
+
"type": "boolean",
|
|
1730
|
+
"description": "Filter by test mode"
|
|
1731
|
+
},
|
|
1732
|
+
"limit": {
|
|
1733
|
+
"type": "integer",
|
|
1734
|
+
"description": "Number of expenses to return",
|
|
1735
|
+
"default": 50
|
|
1736
|
+
},
|
|
1737
|
+
"offset": {
|
|
1738
|
+
"type": "integer",
|
|
1739
|
+
"description": "Number of expenses to skip",
|
|
1740
|
+
"default": 0
|
|
1741
|
+
},
|
|
1742
|
+
"sort": {
|
|
1743
|
+
"type": "string",
|
|
1744
|
+
"enum": [
|
|
1745
|
+
"expense_date:asc",
|
|
1746
|
+
"expense_date:desc",
|
|
1747
|
+
"amount:asc",
|
|
1748
|
+
"amount:desc",
|
|
1749
|
+
"created_at:asc",
|
|
1750
|
+
"created_at:desc"
|
|
1751
|
+
],
|
|
1752
|
+
"default": "expense_date:desc"
|
|
1753
|
+
},
|
|
1754
|
+
"include_vendor": {
|
|
1755
|
+
"type": "boolean",
|
|
1756
|
+
"description": "Include vendor details in response",
|
|
1757
|
+
"default": false
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
"name": "delete_expense",
|
|
1764
|
+
"description": "Delete an expense record",
|
|
1765
|
+
"method": "DELETE",
|
|
1766
|
+
"path": "/billing/expenses/%7B%7Bexpense_id%7D%7D",
|
|
1767
|
+
"input_schema": {
|
|
1768
|
+
"type": "object",
|
|
1769
|
+
"properties": {
|
|
1770
|
+
"expense_id": {
|
|
1771
|
+
"type": "string",
|
|
1772
|
+
"description": "Expense ID to delete"
|
|
1773
|
+
}
|
|
1774
|
+
},
|
|
1775
|
+
"required": [
|
|
1776
|
+
"expense_id"
|
|
1777
|
+
]
|
|
1778
|
+
}
|
|
1779
|
+
}
|
|
1780
|
+
]
|
|
1781
|
+
}
|