{"openapi":"3.1.0","info":{"title":"Zendesk Sell (BYOK) API","version":"0.1.0","description":"Zendesk Sell (BYOK) lets an AI assistant read your own Zendesk Sell data through the Zendesk Sell API with a key you supply (personal access token). Read-only: 12 tools (get_current_user, list_contacts, get_contact, list_leads, list_deals, get_deal, list_pipelines, list_stages, list_tasks, list_notes, list_users, list_products). The BYOK key travels with each request, is used for that one call...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-zendesk-sell.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-zendesk-sell/docs"},"termsOfService":"https://connectorbay.com/byok-zendesk-sell/terms"},"servers":[{"url":"https://byok-zendesk-sell.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-zendesk-sell/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/get_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Sell user the token belongs to: id, name, email, role and team. Use for \"Which Zendesk Sell user am I connected","description":"Show the Sell user the token belongs to: id, name, email, role and team. Use for \"Which Zendesk Sell user am I connected as\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","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_contacts":{"post":{"operationId":"list_contacts","summary":"List contacts (people and organizations) with title, email, phone, customer and prospect status, owner and tags. Filtera","description":"List contacts (people and organizations) with title, email, phone, customer and prospect status, owner and tags. Filterable by name, email, owner and status. Use for \"Which contacts in Zendesk Sell are called Johnson\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Contact name to match.","title":"Name"},"email":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Email address to match.","title":"Email"},"owner_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only contacts owned by this user id.","title":"Owner Id"},"is_organization":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for organizations only, false for individuals only.","title":"Is Organization"},"customer_status":{"anyOf":[{"enum":["none","current","past"],"type":"string"},{"type":"null"}],"default":null,"description":"Customer status: none, current or past.","title":"Customer Status"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort field: id, name, first_name, last_name, email, updated_at or created_at; append ':desc' for descending.","title":"Sort By"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_contactsArguments","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_contact":{"post":{"operationId":"get_contact","summary":"Get one contact or organization by id with title, industry, website, email, phone, status, owner and tags. Use for \"Show","description":"Get one contact or organization by id with title, industry, website, email, phone, status, owner and tags. Use for \"Show Zendesk Sell contact 2\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"contact_id":{"description":"Numeric contact id from list_contacts.","title":"Contact Id","type":"integer"}},"required":["contact_id"],"title":"get_contactArguments","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_leads":{"post":{"operationId":"list_leads","summary":"List leads with name, organization, status, source, title, email, phone, owner and tags. Filterable by status, owner and","description":"List leads with name, organization, status, source, title, email, phone, owner and tags. Filterable by status, owner and name. Use for \"What new leads do I have in Zendesk Sell\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Lead status, for example 'New' (statuses are configured per account).","title":"Status"},"owner_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only leads owned by this user id.","title":"Owner Id"},"last_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Last name to match.","title":"Last Name"},"organization_name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Organization name to match.","title":"Organization Name"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort field: id, first_name, last_name, organization_name, email, created_at or updated_at; append ':desc' for descending.","title":"Sort By"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_leadsArguments","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 deals with value, currency, stage, contact, organization, owner, hot flag, estimated close date and last activity. ","description":"List deals with value, currency, stage, contact, organization, owner, hot flag, estimated close date and last activity. Filterable by stage, owner, contact and hot flag. Use for \"Which hot deals are open in Zendesk Sell\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"stage_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals in this stage id (see list_stages).","title":"Stage Id"},"owner_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals owned by this user id.","title":"Owner Id"},"contact_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals with this primary contact id.","title":"Contact Id"},"organization_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals for this organization id.","title":"Organization Id"},"hot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only hot deals.","title":"Hot"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Deal name to match.","title":"Name"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort field: id, value, name, estimated_close_date, updated_at or created_at; append ':desc' for descending.","title":"Sort By"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"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/get_deal":{"post":{"operationId":"get_deal","summary":"Get one deal by id with value, currency, stage, contact, organization, owner, estimated close date and tags. Use for \"Sh","description":"Get one deal by id with value, currency, stage, contact, organization, owner, estimated close date and tags. Use for \"Show Zendesk Sell deal 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deal_id":{"description":"Numeric deal id from list_deals.","title":"Deal Id","type":"integer"}},"required":["deal_id"],"title":"get_dealArguments","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_pipelines":{"post":{"operationId":"list_pipelines","summary":"List the sales pipelines (id, name, disabled flag). Use the ids to look up stages. Use for \"What sales pipelines exist i","description":"List the sales pipelines (id, name, disabled flag). Use the ids to look up stages. Use for \"What sales pipelines exist in Zendesk Sell\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"disabled":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":null,"description":"'true' for disabled pipelines only, 'false' for enabled ones only.","title":"Disabled"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_pipelinesArguments","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_stages":{"post":{"operationId":"list_stages","summary":"List pipeline stages with name, category, position, win likelihood and the pipeline each belongs to. Use for \"What stage","description":"List pipeline stages with name, category, position, win likelihood and the pipeline each belongs to. Use for \"What stages does pipeline 1 have in Zendesk Sell\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pipeline_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only stages of this pipeline id.","title":"Pipeline Id"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active stages only, false for inactive ones.","title":"Active"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_stagesArguments","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_tasks":{"post":{"operationId":"list_tasks","summary":"List tasks (floating or attached to a lead, contact or deal) with content, due date, completion and owner. Filterable by","description":"List tasks (floating or attached to a lead, contact or deal) with content, due date, completion and owner. Filterable by owner, completion, overdue and related record. Use for \"Which Zendesk Sell tasks are overdue\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only tasks owned by this user id.","title":"Owner Id"},"completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for completed tasks, false for open ones.","title":"Completed"},"overdue":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only tasks past their due date.","title":"Overdue"},"resource_type":{"anyOf":[{"enum":["lead","contact","deal"],"type":"string"},{"type":"null"}],"default":null,"description":"Type of the related record.","title":"Resource Type"},"resource_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Id of the related record (use with resource_type).","title":"Resource Id"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Full-text search in the task content.","title":"Search"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_tasksArguments","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_notes":{"post":{"operationId":"list_notes","summary":"List notes attached to leads, contacts or deals with their text, importance flag, author and dates. Can be limited to on","description":"List notes attached to leads, contacts or deals with their text, importance flag, author and dates. Can be limited to one record or searched by text. Use for \"What notes are on Zendesk Sell deal 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"resource_type":{"anyOf":[{"enum":["lead","contact","deal"],"type":"string"},{"type":"null"}],"default":null,"description":"Type of the record the notes belong to.","title":"Resource Type"},"resource_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Id of that record (use with resource_type).","title":"Resource Id"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Full-text search in the note content.","title":"Search"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort field: resource_type, created_at or updated_at; append ':desc' for descending.","title":"Sort By"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_notesArguments","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_users":{"post":{"operationId":"list_users","summary":"List the users of the Sell account with name, email, role, status and team. Filterable by role and status. Use for \"Who ","description":"List the users of the Sell account with name, email, role, status and team. Filterable by role and status. Use for \"Who are the active users in our Zendesk Sell account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"role":{"anyOf":[{"enum":["user","admin"],"type":"string"},{"type":"null"}],"default":null,"description":"Role: user or admin.","title":"Role"},"status":{"anyOf":[{"enum":["active","inactive"],"type":"string"},{"type":"null"}],"default":null,"description":"Account status: active or inactive.","title":"Status"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 100, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_usersArguments","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 catalog products with name, SKU, description, active flag and prices. Filterable by name, SKU and active flag. Use ","description":"List catalog products with name, SKU, description, active flag and prices. Filterable by name, SKU and active flag. Use for \"What products are in our Zendesk Sell catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Product name to match.","title":"Name"},"sku":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"SKU to match.","title":"Sku"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active products only.","title":"Active"},"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return per page (1 to 500, default 25).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"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}}}}