{"openapi":"3.1.0","info":{"title":"Stigg (BYOK) API","version":"0.1.0","description":"Stigg (BYOK) lets an AI assistant read your own Stigg data through the Stigg API with a key you supply (Stigg server API key). Read-only: 10 tools (list_subscriptions, list_customers, list_plans, list_addons, list_features, list_products, list_coupons, list_custom_currencies, list_credit_grants, get_usage_history). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-stigg.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-stigg/docs"},"termsOfService":"https://connectorbay.com/byok-stigg/terms"},"servers":[{"url":"https://byok-stigg.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-stigg/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_subscriptions":{"post":{"operationId":"list_subscriptions","summary":"List customer subscriptions with status, plan, pricing type, billing period, trial and end dates, payment collection sta","description":"List customer subscriptions with status, plan, pricing type, billing period, trial and end dates, payment collection state and resource, newest first. Use for \"Which Stigg subscriptions are active or in trial right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"default":null,"description":"Subscription status, or several separated by commas: ACTIVE, IN_TRIAL, CANCELED, EXPIRED, PAYMENT_PENDING, NOT_STARTED.","title":"Status"},"customer_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions of this customer ID.","title":"Customer Id"},"plan_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions on this plan ID.","title":"Plan Id"},"resource_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions of this resource ID.","title":"Resource Id"},"pricing_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Pricing type, or several separated by commas: FREE, PAID, CUSTOM.","title":"Pricing Type"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_subscriptionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_customers":{"post":{"operationId":"list_customers","summary":"List customers known to Stigg with ID, name, billing currency, time zone, language and created, updated and archived dat","description":"List customers known to Stigg with ID, name, billing currency, time zone, language and created, updated and archived dates. Email and payment details are left out. Use for \"Which customers are in Stigg and when were they created\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only customers whose name matches this text.","title":"Name"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_customersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_plans":{"post":{"operationId":"list_plans","summary":"List pricing plans with name, product, status, pricing type, version, whether it is the latest version, entitlement coun","description":"List pricing plans with name, product, status, pricing type, version, whether it is the latest version, entitlement count and trial setup. Use for \"Which pricing plans do we have in Stigg and which are published\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Plan status, or several separated by commas: DRAFT, PUBLISHED, ARCHIVED.","title":"Status"},"product_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only plans of this product ID.","title":"Product Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_plansArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_addons":{"post":{"operationId":"list_addons","summary":"List add-ons with name, product, status, pricing type, version, maximum quantity and dependencies. Use for \"Which add-on","description":"List add-ons with name, product, status, pricing type, version, maximum quantity and dependencies. Use for \"Which add-ons can customers buy in Stigg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Add-on status, or several separated by commas: DRAFT, PUBLISHED, ARCHIVED.","title":"Status"},"product_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only add-ons of this product ID.","title":"Product Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_addonsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_features":{"post":{"operationId":"list_features","summary":"List features with name, type (boolean, number, enum), meter type, status, units and the metering aggregation. Use for \"","description":"List features with name, type (boolean, number, enum), meter type, status, units and the metering aggregation. Use for \"Which features and meters are defined in Stigg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"feature_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Feature type, or several separated by commas: BOOLEAN, NUMBER, ENUM.","title":"Feature Type"},"meter_type":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Meter type, or several separated by commas: None, FLUCTUATING, INCREMENTAL.","title":"Meter Type"},"status":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Feature status, or several separated by commas: NEW, SUSPENDED, ACTIVE.","title":"Status"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_featuresArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_products":{"post":{"operationId":"list_products","summary":"List products with name, status, whether multiple subscriptions are allowed, and the subscription start and end behaviou","description":"List products with name, status, whether multiple subscriptions are allowed, and the subscription start and end behaviour. Use for \"Which products are set up in Stigg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Product status, or both separated by commas: PUBLISHED, ARCHIVED.","title":"Status"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_productsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_coupons":{"post":{"operationId":"list_coupons","summary":"List discount coupons with name, type (fixed or percentage), percent or amounts off, duration in months, status and sour","description":"List discount coupons with name, type (fixed or percentage), percent or amounts off, duration in months, status and source. Use for \"Which discount coupons exist in Stigg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["FIXED","PERCENTAGE"],"type":"string"},{"type":"null"}],"default":null,"description":"Coupon type.","title":"Type"},"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Coupon status, or both separated by commas: ACTIVE, ARCHIVED.","title":"Status"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_couponsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_custom_currencies":{"post":{"operationId":"list_custom_currencies","summary":"List custom credit currencies (such as AI credits) with symbol, units and archive state. Use for \"Which credit currencie","description":"List custom credit currencies (such as AI credits) with symbol, units and archive state. Use for \"Which credit currencies are defined in Stigg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Currency status, or both separated by commas: ACTIVE, ARCHIVED.","title":"Status"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"title":"list_custom_currenciesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_credit_grants":{"post":{"operationId":"list_credit_grants","summary":"List the credit grants of one customer with type, amount, amount consumed, status, effective and expiry dates and curren","description":"List the credit grants of one customer with type, amount, amount consumed, status, effective and expiry dates and currency. Use for \"How many credits has this Stigg customer been granted and how many are used\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"customer_id":{"description":"Customer ID whose grants to list.","maxLength":255,"title":"Customer Id","type":"string"},"resource_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only grants of this resource ID.","title":"Resource Id"},"currency_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only grants in this custom currency ID.","title":"Currency Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum items to return (1 to 100, default 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.next to get the next page.","title":"After"}},"required":["customer_id"],"title":"list_credit_grantsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_usage_history":{"post":{"operationId":"get_usage_history","summary":"Show the usage history of one metered feature for one customer as time series points between two dates, with reset marke","description":"Show the usage history of one metered feature for one customer as time series points between two dates, with reset markers. Use for \"How much of this feature did this Stigg customer use over the last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"customer_id":{"description":"Customer ID.","maxLength":200,"title":"Customer Id","type":"string"},"feature_id":{"description":"Metered feature ID.","maxLength":200,"title":"Feature Id","type":"string"},"start_date":{"description":"Start of the range, ISO 8601 date-time (for example 2026-10-01T00:00:00Z).","maxLength":40,"title":"Start Date","type":"string"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"End of the range, ISO 8601 date-time.","title":"End Date"},"resource_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Only usage of this resource ID.","title":"Resource Id"},"group_by":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"Tag key to group the series by.","title":"Group By"}},"required":["customer_id","feature_id","start_date"],"title":"get_usage_historyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}