For the complete documentation index, see llms.txt. This page is also available as Markdown.

TSANet Connect Integrations

TSANet Connect API can be used to create system connectors or implement custom integrations.

TSANet Apps

TSANet has created connectors for the following systems. These can be downloaded and installed by system administrators.

Salesforce: See the Salesforce App in Documentation

Microsoft Dynamics: See Microsoft Dynamics App in Documentation

Service Now: See Service Now App in Documentation

Zendesk: See Zendesk App in Documentation

Give TSANet Feedback on Future Apps

TSANet is gathering input from Members on the systems they use. This feedback will be used to organize additional system Apps.

Take the Survey

Connect SDK

Build Apps and custom integrations with the TSANet Connect SDK https://github.com/tsanetgit/Connect_SDK

Partner and Member Integrations

Developers use the TSANet Connect API and Connect SDK to implement system Apps or custom integrations. Contact TSANet at membership@tsanet.org for access to the Beta and Production environments. The base URL for each environment is:

Terminology

Collaboration request is the term the API uses for the record created when one member asks another for help. Every endpoint path, webhook event type, and payload field refers to that record.

You will also see case in the API, in two different senses. Keeping them apart avoids a common integration bug:

Term
Refers to

caseNotes, caseResponses, and the Case Notes / Case Responses / Case Attachments groupings

Child records of the TSANet collaboration request

internalCaseNumber, submitterCaseNumber, receiverCaseNumber

The ticket number in your own system, or your partner's — not a TSANet identifier

The TSANet record is always addressed by its token, never by a case number.

Authentication

Two methods are supported. Both are documented in full on the Identity reference page.

  • Bearer JWT — obtain a token with POST /v1/login, then send it as Authorization: Bearer <token>.

  • Azure AD client credentials (M2M) — for server-to-server integrations. Your service principal must be provisioned by TSANet before tokens are accepted; contact TSANet with your service principal OID.

Webhooks

Webhooks remove the need for frequent polling.

  • V2 (POST /v2/webhooks) delivers all five event types as CloudEvents 1.0 payloads. Use this for new integrations.

  • V1 (POST /v1/webhooks) is a frozen legacy format covering only collaboration-request.created and note.created. It is deprecated and scheduled for removal after 2027-01-01.

Every delivery is signed with HMAC-SHA256 in the X-Hub-Signature-256 header. See Webhook Events for payload schemas, delivery headers, signature verification, and retry behaviour.

Event delivery

Collaboration request lifecycle events — created, closed, note added, response created, and response updated — are published internally as CloudEvents 1.0 and fanned out to each integration channel separately.

Each channel consumes its own copy, so delivery is isolated: a failure or backlog affecting one integration does not delay or block another. Webhooks are the channel available to members.

Endpoint summary

Full request and response schemas for every endpoint are generated from the OpenAPI specification and published on the reference pages listed in the sidebar.

Outbound process

Endpoint
Use

POST /v1/login

Log in and obtain a bearer token

GET /v1/partners/{searchTerm}

Search for a partner company or department

GET /v1/partners/search

Natural-language partner search

GET /v1/forms/company/{companyId}

Get the collaboration form for a company

GET /v1/forms/department/{departmentId}

Get the collaboration form for a department

POST /v1/collaboration-requests

Create a collaboration request

POST /v1/collaboration-requests/{token}/closure

Close a request (submitter only)

Inbound process

Endpoint
Use

GET /v2/collaboration-requests

List requests, paginated

GET /v2/collaboration-requests/list

List requests, with date filters

GET /v1/collaboration-requests/{token}

Get a single request by token

POST /v1/collaboration-requests/{token}/approval

Approve a request

PATCH /v1/collaboration-requests/{token}/approval

Update an approval (for example, reassign the engineer)

POST /v1/collaboration-requests/{token}/information-request

Request further information before deciding

POST /v1/collaboration-requests/{token}/information-response

Respond to an information request

POST /v1/collaboration-requests/{token}/rejection

Reject a request

Notes and attachments

Endpoint
Use

POST /v1/collaboration-requests/{token}/notes

Add a note to a collaboration request

GET /v1/collaboration-requests/{token}/notes

Get notes, with optional date filters

GET /v1/collaboration-requests/{token}/attachments/config

Get a member's attachment configuration

PUT /v1/collaboration-requests/{token}/attachments/config/https

Update HTTPS attachment configuration — how a member receives a file, for example into their AWS S3 bucket

POST /v1/collaboration-requests/{token}/attachments

Forward an attachment directly to the partner's file storage


The Integration Guide provides an overview of the TSANet Connect API and examples of both System Connector and a Custom integration.

Last updated