{"openapi":"3.1.0","info":{"title":"Impact (BYOK) API","version":"0.1.0","description":"Impact (BYOK) lets an AI assistant read your own Impact data through the Impact API with a key you supply (impact.com Account SID). Read-only: 12 tools (list_programs, get_program, list_partners, get_partner, list_partner_groups, list_deals, list_promo_codes, list_ads, list_actions, list_action_items, list_contracts, list_invoices). The BYOK key travels with each request, is used for that one...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-impact.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-impact/docs"},"termsOfService":"https://connectorbay.com/byok-impact/terms"},"servers":[{"url":"https://byok-impact.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-impact/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_programs":{"post":{"operationId":"list_programs","summary":"List your brand's programs (campaigns) with state, type, tracking domain and promo code tracking; filter by name or stat","description":"List your brand's programs (campaigns) with state, type, tracking domain and promo code tracking; filter by name or state. Use for \"Which impact.com programs do I run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only programs with this name.","title":"Name"},"state":{"anyOf":[{"enum":["ACTIVE","AWAITING_REVIEW","CANCELLED","CLOSED","DEACTIVATED","DELINQUENT","REJECTED","SETUP","SETUP_COMPLETE"],"type":"string"},{"type":"null"}],"default":null,"description":"Only programs in this state.","title":"State"}},"required":["account_sid"],"title":"list_programsArguments","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_program":{"post":{"operationId":"get_program","summary":"Get one program with its categories, tracking settings and gateway tracking configuration. Company contacts are left out","description":"Get one program with its categories, tracking settings and gateway tracking configuration. Company contacts are left out. Use for \"Show impact.com program 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"description":"Program (campaign) id from list_programs.","maximum":999999999,"minimum":1,"title":"Campaign Id","type":"integer"}},"required":["account_sid","campaign_id"],"title":"get_programArguments","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_partners":{"post":{"operationId":"list_partners","summary":"List the media partners (affiliates, creators, publishers) in your account with state, type, country, categories and the","description":"List the media partners (affiliates, creators, publishers) in your account with state, type, country, categories and the programs they joined. Contacts, phone and tax numbers are left out. Use for \"Which partners are active in my impact.com program 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"anyOf":[{"maximum":999999999,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only partners joined to this program id.","title":"Campaign Id"},"group_id":{"anyOf":[{"maximum":999999999,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only partners in this partner group id.","title":"Group Id"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Only partners from this country (two-letter code).","title":"Country"},"state":{"anyOf":[{"enum":["ACTIVE","EXPIRED","PENDING","DECLINED","SUSPENDED","DEACTIVATED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only partners in this account state.","title":"State"},"updated_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only partners updated after this date (ISO 8601).","title":"Updated After"},"updated_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only partners updated before this date (ISO 8601).","title":"Updated Before"}},"required":["account_sid"],"title":"list_partnersArguments","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_partner":{"post":{"operationId":"get_partner","summary":"Get one media partner with description, website, type, country, promotional methods, properties and joined programs. Con","description":"Get one media partner with description, website, type, country, promotional methods, properties and joined programs. Contacts, phone and tax numbers are left out. Use for \"Show impact.com partner 9001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"partner_id":{"description":"Partner id from list_partners.","maximum":999999999,"minimum":1,"title":"Partner Id","type":"integer"}},"required":["account_sid","partner_id"],"title":"get_partnerArguments","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_partner_groups":{"post":{"operationId":"list_partner_groups","summary":"List the partner groups of a program with their member partners. Use for \"Which partner groups does impact.com program 1","description":"List the partner groups of a program with their member partners. Use for \"Which partner groups does impact.com program 1234 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"description":"Program (campaign) id from list_programs.","maximum":999999999,"minimum":1,"title":"Campaign Id","type":"integer"}},"required":["account_sid","campaign_id"],"title":"list_partner_groupsArguments","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_deals":{"post":{"operationId":"list_deals","summary":"List your deals (sales, free shipping, gifts, rebates) with scope, discount, default promo code and validity dates; filt","description":"List your deals (sales, free shipping, gifts, rebates) with scope, discount, default promo code and validity dates; filter by program, scope, state or type. Use for \"Which deals are active in my impact.com account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"anyOf":[{"maximum":999999999,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals of this program id.","title":"Campaign Id"},"scope":{"anyOf":[{"enum":["PRODUCT","CATEGORY","ENTIRE_STORE"],"type":"string"},{"type":"null"}],"default":null,"description":"Only deals with this scope.","title":"Scope"},"state":{"anyOf":[{"enum":["ACTIVE","EXPIRED","PENDING"],"type":"string"},{"type":"null"}],"default":null,"description":"Only deals in this state.","title":"State"}},"required":["account_sid"],"title":"list_dealsArguments","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_promo_codes":{"post":{"operationId":"list_promo_codes","summary":"List promo codes with the partner they are assigned to, linked deal, discount and validity dates. Use for \"Which promo c","description":"List promo codes with the partner they are assigned to, linked deal, discount and validity dates. Use for \"Which promo codes are assigned to partners in impact.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"anyOf":[{"maximum":999999999,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only promo codes of this program id.","title":"Campaign Id"},"code":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exact promo code.","title":"Code"},"state":{"anyOf":[{"enum":["ACTIVE","INACTIVE"],"type":"string"},{"type":"null"}],"default":null,"description":"Only promo codes in this state.","title":"State"}},"required":["account_sid"],"title":"list_promo_codesArguments","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_ads":{"post":{"operationId":"list_ads","summary":"List the ads (banners, text links, coupons) with type, program, landing page and dates; filter by program, type, deal or","description":"List the ads (banners, text links, coupons) with type, program, landing page and dates; filter by program, type, deal or creation date. Use for \"Which banner ads exist for impact.com program 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only ads of this program id.","title":"Campaign Id"},"type":{"anyOf":[{"enum":["BANNER","TEXT_LINK","COUPON"],"type":"string"},{"type":"null"}],"default":null,"description":"Only ads of this type.","title":"Type"},"deal_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only ads tied to this deal id.","title":"Deal Id"},"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only ads created on or after this date (ISO 8601).","title":"Created After"},"created_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only ads created on or before this date (ISO 8601).","title":"Created Before"}},"required":["account_sid"],"title":"list_adsArguments","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_actions":{"post":{"operationId":"list_actions","summary":"List tracked actions (sales, leads) with state, payout, amount, partner and dates; filter by program, state and date win","description":"List tracked actions (sales, leads) with state, payout, amount, partner and dates; filter by program, state and date window. Customer identifiers and IP addresses are left out. Use for \"Show approved impact.com actions for program 1234 in January\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"description":"Program id to list actions for.","maximum":999999999,"minimum":1,"title":"Campaign Id","type":"integer"},"state":{"anyOf":[{"enum":["PENDING","APPROVED","REVERSED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only actions in this state.","title":"State"},"action_date_start":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only actions with an event date on or after this (ISO 8601).","title":"Action Date Start"},"action_date_end":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only actions with an event date on or before this (ISO 8601).","title":"Action Date End"}},"required":["account_sid","campaign_id"],"title":"list_actionsArguments","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_action_items":{"post":{"operationId":"list_action_items","summary":"List the line items (SKU, name, quantity, sale amount, payout) of one tracked action. Use for \"What items were in impact","description":"List the line items (SKU, name, quantity, sale amount, payout) of one tracked action. Use for \"What items were in impact.com action 1000.1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"action_id":{"description":"Action id from list_actions.","maxLength":60,"title":"Action Id","type":"string"}},"required":["account_sid","action_id"],"title":"list_action_itemsArguments","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_contracts":{"post":{"operationId":"list_contracts","summary":"List a program's partner contracts with status, dates and template terms name; filter by status or partner. Use for \"Whi","description":"List a program's partner contracts with status, dates and template terms name; filter by status or partner. Use for \"Which active partner contracts does impact.com program 1234 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"campaign_id":{"description":"Program (campaign) id from list_programs.","maximum":999999999,"minimum":1,"title":"Campaign Id","type":"integer"},"status":{"anyOf":[{"enum":["ACTIVE","DECLINED","EXPIRED","PENDING","UPCOMING"],"type":"string"},{"type":"null"}],"default":null,"description":"Only contracts with this status (default ACTIVE).","title":"Status"},"partner_id":{"anyOf":[{"maximum":999999999,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only contracts of this partner id.","title":"Partner Id"}},"required":["account_sid","campaign_id"],"title":"list_contractsArguments","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_invoices":{"post":{"operationId":"list_invoices","summary":"List invoices from impact.com for your account with partner, currency, totals and line items; filter by creation date. U","description":"List invoices from impact.com for your account with partner, currency, totals and line items; filter by creation date. Use for \"Show my impact.com invoices from this year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_sid":{"description":"Your impact.com Account SID, the same value as the first credential (an identifier, not a secret).","maxLength":64,"title":"Account Sid","type":"string"},"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices created on or after this date (ISO 8601).","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices created on or before this date (ISO 8601).","title":"End Date"}},"required":["account_sid"],"title":"list_invoicesArguments","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}}}}