{"openapi":"3.1.0","info":{"title":"Interlynk (BYOK) API","version":"0.1.0","description":"Interlynk (BYOK) lets an AI assistant read your own Interlynk data through the Interlynk API with a key you supply (Interlynk security token (personal or service token)). Read-only: 8 tools (get_organization, list_products, find_product, get_version_scan_status, list_version_components, list_version_vulnerabilities, get_vulnerability, list_vex_statuses). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-interlynk.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-interlynk/docs"},"termsOfService":"https://connectorbay.com/byok-interlynk/terms"},"servers":[{"url":"https://byok-interlynk.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-interlynk/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_organization":{"post":{"operationId":"get_organization","summary":"Show the id and name of the Interlynk organization the token belongs to. Use for \"Which Interlynk organization does my t","description":"Show the id and name of the Interlynk organization the token belongs to. Use for \"Which Interlynk organization does my token belong to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_organizationArguments","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 their environments and SBOM versions (id, version, vulnerability scan status, primary component). Cur","description":"List products with their environments and SBOM versions (id, version, vulnerability scan status, primary component). Cursor paged. Use for \"Which products and SBOM versions do I have in Interlynk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"first":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Page size (1 to 100).","title":"First"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from pageInfo.endCursor of the previous page (omit for the first 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/find_product":{"post":{"operationId":"find_product","summary":"Find products whose name partly matches a text (case-insensitive) and list their environments and versions. Use for \"Fin","description":"Find products whose name partly matches a text (case-insensitive) and list their environments and versions. Use for \"Find the payments product in Interlynk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"Part of the product name to search for.","maxLength":100,"title":"Name","type":"string"},"first":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Page size (1 to 100).","title":"First"}},"required":["name"],"title":"find_productArguments","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_version_scan_status":{"post":{"operationId":"get_version_scan_status","summary":"Show a version's vulnerability scan status and the status of its automation, vulnerability scan and policy scan stages. ","description":"Show a version's vulnerability scan status and the status of its automation, vulnerability scan and policy scan stages. Use for \"Has Interlynk finished scanning this SBOM version\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Environment id (UUID) of the product, from list_products (field projects.nodes[].id).","maxLength":40,"title":"Project Id","type":"string"},"sbom_id":{"description":"Version id (UUID) of the SBOM, from list_products (field sboms[].id).","maxLength":40,"title":"Sbom Id","type":"string"}},"required":["project_id","sbom_id"],"title":"get_version_scan_statusArguments","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_version_components":{"post":{"operationId":"list_version_components","summary":"List the components (dependencies) of one SBOM version with name, version and package URL. Cursor paged; optional name s","description":"List the components (dependencies) of one SBOM version with name, version and package URL. Cursor paged; optional name search. Use for \"Which components are in this Interlynk SBOM version\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Environment id (UUID) of the product, from list_products (field projects.nodes[].id).","maxLength":40,"title":"Project Id","type":"string"},"sbom_id":{"description":"Version id (UUID) of the SBOM, from list_products (field sboms[].id).","maxLength":40,"title":"Sbom Id","type":"string"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only components matching this text.","title":"Search"},"first":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Page size (1 to 100).","title":"First"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from pageInfo.endCursor of the previous page (omit for the first page).","title":"After"}},"required":["project_id","sbom_id"],"title":"list_version_componentsArguments","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_version_vulnerabilities":{"post":{"operationId":"list_version_vulnerabilities","summary":"List the vulnerabilities found in one SBOM version with advisory id, source, severity, CVSS score, affected component an","description":"List the vulnerabilities found in one SBOM version with advisory id, source, severity, CVSS score, affected component and VEX status. Cursor paged. Use for \"What vulnerabilities does this Interlynk SBOM version have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Environment id (UUID) of the product, from list_products (field projects.nodes[].id).","maxLength":40,"title":"Project Id","type":"string"},"sbom_id":{"description":"Version id (UUID) of the SBOM, from list_products (field sboms[].id).","maxLength":40,"title":"Sbom Id","type":"string"},"first":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Page size (1 to 100).","title":"First"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from pageInfo.endCursor of the previous page (omit for the first page).","title":"After"}},"required":["project_id","sbom_id"],"title":"list_version_vulnerabilitiesArguments","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_vulnerability":{"post":{"operationId":"get_vulnerability","summary":"Get a global vulnerability record by its Interlynk UUID: advisory id, CVE alias, severity, CVSS, description, KEV flag a","description":"Get a global vulnerability record by its Interlynk UUID: advisory id, CVE alias, severity, CVSS, description, KEV flag and EPSS score. Use for \"Give me the details of this vulnerability from Interlynk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"vuln_uuid":{"description":"UUID of the global vulnerability record (the node field vulnId in list_version_vulnerabilities).","maxLength":40,"title":"Vuln Uuid","type":"string"}},"required":["vuln_uuid"],"title":"get_vulnerabilityArguments","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_vex_statuses":{"post":{"operationId":"list_vex_statuses","summary":"List the valid VEX status names and ids of the organization (for example In Triage, Not Affected, Affected, Fixed). Use ","description":"List the valid VEX status names and ids of the organization (for example In Triage, Not Affected, Affected, Fixed). Use for \"Which VEX statuses can I use in Interlynk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_vex_statusesArguments","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}}}}