Overview

The TeamDynamix Web API provides a series of RESTful web services to facilitate integration with various areas of the TeamDynamix solution.

It is important to note that these web services have been designed to send and receive data in JSON (JavaScript Object Notation) format. Other formats, such as XML or plain text, are not supported. When calling the web API, this requires a content type of application/json.

Authentication

Authentication for these API methods below is based on the inclusion of a "Bearer" token in the standard "Authorization" header of any HTTP requests. This token is in JSON Web Token (JWT) format, and such tokens can be retrieved though standard authentication methods.

For example, authentication may be performed like so:

POST /api/auth HTTP/1.1
Content-Type: application/json; charset=utf-8

{username: "user", password: "password"}

When successful, that will result in a response like the following, which will return the full contents of the JWT:

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJURCIsImF1ZCI6Imh0dHBzOi8vd3d3LnRlYW1keW5hbWl4LmNvbS8iLCJuYmYiOjE0MDA3MDUwNzQsImV4cCI6MTQwMDc5MTQ3NCwidW5pcXVlX25hbWUiOiJUZXN0VGVhbUR5bmFtaXhVc2VyIn0.tiRPGaawhPSy__B_xoyiQ7-mD2GUaBVk10BOsO1eoE8

After this token has been retrieved, it can be included in any subsequent HTTP requests like so:

GET /api/tickets/123456 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1...

You can re-use this token for more than one request. The token will expire 24 hours after it has been issued. To determine the lifetime of a returned token, we recommend that you decode the JWT and verify the expiration date stored within it (stored as the exp claim).

Where noted, some actions require the use of a special key-based administrative account. For these actions, tokens obtained through the standard login methods will not work.

If you submit an HTTP request with the aforementioned header and still receive a 401 Unauthorized response, there are two typical causes:

  1. The user you are authenticated as lacks sufficient permissions to perform the requested action.
  2. Your authentication token has expired.

In the latter case, simply re-authenticate to obtain a new token.

APIs

Accounts
Contains methods for working with accounts/departments.
Applications
Contains methods for working with user applications.
Attachments
Contains methods for working with attachments.
Attributes
Contains methods for working with custom attributes.
Auth
Contains methods for authentication.
Feed
Contains methods for working with feed entries.
Groups
Contains methods for working with groups within the TeamDynamix people database.
Industries
Contains methods for working with account/department industries.
Locations
Contains methods for working with locations.
People
Contains methods for working with users and other individuals within the TeamDynamix people database.
Time
Contains methods for creating, reading, updating, and deleting time entries as well as methods for getting information about time accounts and time reports (weekly timesheets).
Type Categories
Contains methods for managing type categories, which are used to group project and ticket types.
User Management
Contains methods for performing bulk operations upon users and other individuals within the TeamDynamix people database.

Asset/Configuration Management

Asset Searches/Reports
Contains methods for working with asset saved searches in an assets/CIs application.
Asset Statuses
Contains methods for working with asset statuses.
Assets
Contains methods for working with assets.
Configuration Item Searches/Reports
Contains methods for working with configuration saved searches in an assets/CIs application.
Configuration Item Types
Contains methods for working with configuration item types.
Configuration Items
Contains methods for working with configuration items and their relationships.
Configuration Relationship Types
Contains methods for working with configuration relationship types.
Contracts
Contains methods for working with contracts.
Maintenance Windows
Contains methods for working with maintenance windows.
Product Models
Contains methods for working with asset product models.
Product Types
Contains methods for working with asset product types.
Vendors
Contains methods for working with asset vendors.

Projects

Briefcase Files
Contains methods for working with briefcase files.
Briefcase Folders
Contains methods for working with briefcase folders.
Issues
Contains methods for working with issues.
Links
Contains methods for working with links.
Plans
Contains methods for working with project plans.
Project Templates
Contains methods for working with project templates.
Project Types
Contains methods for working with project types.
Projects
Contains methods for working with projects.
Risks
Contains methods for working with risks.
Tasks
Contains methods for working with project tasks.

Reporting

Reports
Contains methods for working with Report Builder reports.

Roles

Functional Roles
Contains methods for working with functional roles.
Resource Pools
Contains methods for working with resource pools.
Security Roles
Contains methods for working with security roles.

Self-Service

Knowledge Base
Contains methods for working with Knowledge Base articles and categories.
Project Requests
Contains methods for working with project requests.
Service Catalog
Contains methods for working with the service catalog.

Tickets

Blackout Windows
Contains methods for working with blackout windows .
Impacts
Contains methods for working with ticket impacts.
Maintenance Activities
Contains methods for working with maintenance activities.
Priorities
Contains methods for working with ticket priorities.
Sources
Contains methods for working with ticket sources.
Ticket Searches/Reports
Contains methods for working with ticket saved searches in a ticketing application.
Ticket Statuses
Contains methods for working with ticket statuses.
Ticket Tasks
Contains methods for working with ticket tasks.
Ticket Types
Contains methods for working with ticket types.
Tickets
Contains methods for working with tickets.
Urgencies
Contains methods for working with ticket urgencies.