How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Tapis v3 Research Computing Platform (TACC production tenant)

Tapis is the API platform TACC builds and operates for programmatic access to research computing: registering storage and compute systems, moving files, defining applications, submitting and tracking HPC jobs, and subscribing to job events. The production TACC tenant serves five OpenAPI 3.0.3-described services, all verified healthy (HTTP 200 on /healthcheck) on 2026-08-30. Reads and writes require a tenant-issued JWT; the health-check endpoints are anonymous. This is the one surface in this profile where the institution wrote the contract.

Tapis v3 Research Computing Platform (TACC production tenant) is one of 5 APIs that University of Texas at Austin publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Research Computing, HPC, Job Execution, File Transfer, and Research. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and authentication docs.

This API exposes 40 operations across 30 paths, organized into 7 resource areas, and defines 74 schemas. It is described by OpenAPI 3.0.3, at version 26Q2.0.

Requests are made against a single base URL, https://tacc.tapis.io.

40 operations 30 paths 74 schemas 3 DELETE14 GET1 PATCH21 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
26Q2.0
Base URL
https://tacc.tapis.io/v3
Authentication
API Key
Terms of Service
Resource Areas
7

Authentication & Security 1

Tapis v3 Research Computing Platform (TACC production tenant) declares 1 security scheme for authenticating requests. An API key is passed in the header as X-Tapis-Token (TapisJWT).

  • TapisJWT — Tapis signed JWT token authentication

Paths & Operations 40

Across 30 paths, the API surfaces 40 operations — 3 DELETE, 14 GET, 1 PATCH, 21 POST, 1 PUT. They span 7 resource areas: General, Systems, Child Systems, Credentials, Permissions, Sharing, Scheduler Profiles. Each is listed below with its method, path, parameters, and response codes.

General 2

General service health and readiness

GET
/v3/systems/healthcheck
Health check. Lightweight non-authenticated check that service is alive.
healthCheck → 200500
GET
/v3/systems/readycheck
Ready check. Non-authenticated check that service is ready to do work.
readyCheck → 200503
Systems 16

Manage Tapis system resources. Create, retrieve, update, etc.

GET
/v3/systems
Retrieve list of systems. Use listType, search and select query parameters to limit results. Query parameter listType allows for filtering results based on authorization. Please note that using ALL m…
getSystems 11 params → 200400500
POST
/v3/systems
Create a system using a request body. System name must be unique within a tenant and can be composed of alphanumeric characters and the following special characters [-.~]. Name must begin with an alp…
createSystem 1 param body → 201400403409500
GET
/v3/systems/search
Retrieve details for systems. Use query parameters to specify search conditions. For example owner.eq=jdoe&port.gt=1024 Use listType and select query parameters to limit results. Query parameter list…
searchSystemsQueryParameters 9 params → 200400500
POST
/v3/systems/search
Retrieve details for systems. Use request body to specify SQL-like search conditions. Use listType and select query parameters to limit results. Query parameter listType allows for filtering results…
searchSystemsRequestBody 8 params body → 200400500
POST
/v3/systems/match/constraints
WARNING Capability constraint matching is not yet supported. Retrieve details for systems. Use request body to specify constraint conditions as an SQL-like WHERE clause.
matchConstraints body → 200400500
GET
/v3/systems/{systemId}
Retrieve information for a system given the system Id. Use query parameter authnMethod to override the default authentication method. Certain Tapis services or a tenant administrator may use the quer…
getSystem 8 params → 200400403404500
PATCH
/v3/systems/{systemId}
Update selected attributes of a system. Request body may only contain updatable attributes. System must exist. Attributes that may not be updated via PATCH are - id - systemType - owner - enabled - b…
patchSystem 1 param body → 200400403404500
PUT
/v3/systems/{systemId}
Update all updatable attributes of a system using a request body identical to POST. System must exist. Note that certain attributes in the request body (such as tenant) are allowed but ignored so tha…
putSystem 2 params body → 200400401403409500
GET
/v3/systems/{systemId}/isEnabled
Check if a system is currently enabled, i.e. available for use.
isEnabled 1 param → 200403404500
POST
/v3/systems/{systemId}/enable
Mark a system available for use.
enableSystem 1 param → 200403404500
POST
/v3/systems/{systemId}/disable
Mark a system unavailable for use.
disableSystem 1 param → 200403404500
POST
/v3/systems/{systemId}/delete
Mark a system as deleted. System will not appear in queries unless explicitly requested.
deleteSystem 1 param → 200403404500
POST
/v3/systems/{systemId}/undelete
Mark a system as not deleted. System will appear in queries.
undeleteSystem 1 param → 200403404500
POST
/v3/systems/{systemId}/changeOwner/{userName}
Change owner of a system. Please note that existing permission grants and shares will remain. WARNING Note also that no credentials are deleted during this process. So, for example, after the change…
changeSystemOwner 2 params → 200403404500
GET
/v3/systems/{systemId}/history
Retrieve history of changes for a given systemId.
getHistory 1 param → 200403404500
GET
/v3/systems/{systemId}/hostEval/{envVarName}
Resolve environment variable by connecting to host associated with system. Note that this is done for the current effectiveUserId. Appropriate valid credentials must have already been registered. The…
hostEval 2 params → 200400401403404500
Child Systems 3

A system that has allowChildren set to true allows for the creation of child systems based on it. This ability provides a way to easily clone and manage systems based on existing…

POST
/v3/systems/{parentId}/createChildSystem
Create a child system based on a parent system. The child system inherits most attributes from the parent. The following fields are filled in when the child system is created: - id - effectiveUserId…
createChildSystem 1 param body → 201400403409500
POST
/v3/systems/{childSystemId}/unlinkFromParent
Make a child system a standalone system. This will break the connection with it's parent. From this point on, the child system will not be connected to the parent. WARNING This cannot be undone.
unlinkFromParent 1 param → 200403404500
POST
/v3/systems/{parentSystemId}/unlinkChildren
Make a child system a standalone system. This will break the connection with it's parent, and from this point on, the child system will not be connected to the parent. This is similar to unlinkFromPa…
unlinkChildren 2 params body → 200403404500
Credentials 6

Manage Tapis system user access credentials.

GET
/v3/systems/credential/{systemId}/user/{userName}
Restricted. Only certain Tapis services authorized. Retrieve credentials for given system, target userName and authentication method. If the effectiveUserId for the system is dynamic (i.e. equal to $…
getUserCredential 3 params → 200400403404500
POST
/v3/systems/credential/{systemId}/user/{userName}
Create or update credentials in the Security Kernel for given system and target userName using a request body. Credentials for multiple authentication methods may be provided. Note that there is supp…
createUserCredential 4 params body → 200400403500
DELETE
/v3/systems/credential/{systemId}/user/{userName}
Remove credentials from the Security Kernel for given system and target user. Requester must be owner of the system. Operation is allowed if requester is the system owner or a tenant administrator. I…
removeUserCredential 2 params → 200400403500
POST
/v3/systems/credential/{systemId}/user/{userName}/check
Check user credentials by connecting to the system host. Not supported for all system types. Currently supported for LINUX and S3 type systems. If the effectiveUserId for the system is dynamic (i.e.…
checkUserCredential 3 params → 200400403404500
GET
/v3/systems/credential/{systemId}/globus/authUrl
Retrieve a Globus URL that can be used to generate an authorization code for an OAuth2 flow.
getGlobusAuthUrl 1 param → 200400401404500
POST
/v3/systems/credential/{systemId}/user/{userName}/globus/tokens/{authCode}/{sessionId}
Use a Globus authorization code + Tapis session Id to generate tokens
generateGlobusTokens 4 params → 200400401500
Permissions 4

The permissions model allows for fine grained access control of resources. The system owner may grant READ and MODIFY permission to specific users. MODIFY implies READ. Note that…

GET
/v3/systems/perms/{systemId}/user/{userName}
Retrieve all system related permissions for a given system and user.
getUserPerms 2 params → 200400403404500
POST
/v3/systems/perms/{systemId}/user/{userName}
Create permissions in the Security Kernel for a user. Requester must be owner of the system. Permissions are READ, MODIFY, EXECUTE. MODIFY implies READ.
grantUserPerms 2 params body → 200400403500
POST
/v3/systems/perms/{systemId}/user/{userName}/revoke
Remove permissions from the Security Kernel for a user. Requester must be owner of the system. Permissions are READ, MODIFY, EXECUTE.
revokeUserPerms 2 params body → 200403500
DELETE
/v3/systems/perms/{systemId}/user/{userName}/{permission}
Remove system user permission from the Security Kernel. Requester must be owner of the system. Permissions are READ, MODIFY, EXECUTE.
revokeUserPerm 3 params → 200400403500
Sharing 5

In addition to fine grained permissions support, Tapis also supports a higher level approach to granting access. This approach is known simply as sharing. The sharing API allows y…

GET
/v3/systems/share/{systemId}
Retrieve all sharing information for a system
getShareInfo 1 param → 200400403404500
POST
/v3/systems/share/{systemId}
Share a system with one or more users.
shareSystem 1 param body → 200400403500
POST
/v3/systems/share_public/{systemId}
Share a system publicly with all users in the tenant.
shareSystemPublic 1 param → 200403500
POST
/v3/systems/unshare/{systemId}
Unshare a system with one or more users.
unShareSystem 1 param body → 200400403500
POST
/v3/systems/unshare_public/{systemId}
Remove public access for a system.
unShareSystemPublic 1 param → 200403500
Scheduler Profiles 4

The Systems service supports managing Tapis scheduler profiles. An HPC center often has certain conventions and restrictions around the use of batch schedulers. A scheduler profil…

GET
/v3/systems/schedulerProfile
Retrieve list of scheduler profiles.
getSchedulerProfiles → 200400403500
POST
/v3/systems/schedulerProfile
Create a scheduler profile using a request body. Name must be unique within a tenant and can be composed of alphanumeric characters and the following special characters [-.~]. Name must begin with an…
createSchedulerProfile body → 201400403409500
GET
/v3/systems/schedulerProfile/{name}
Retrieve information for a scheduler profile given the profile name.
getSchedulerProfile 1 param → 200400403404500
DELETE
/v3/systems/schedulerProfile/{name}
Remove a scheduler profile given the profile name. Requester must be owner of the profile.
deleteSchedulerProfile 1 param → 200400403500

Schemas 74

The contract defines 74 schemas that model the data the API accepts and returns. The most detailed are TapisSystem (43 properties), ReqPostSystem (33 properties), ReqPatchSystem (25 properties), ReqPutSystem (24 properties). Each schema is shown below with its type and property counts.

TapisSystem
object
43 properties
SystemHistory
object
7 properties
JobRuntime
object
2 properties 1 required
SchedulerProfile
object
6 properties 1 required
ModuleLoadSpec
object
2 properties 1 required
LogicalQueue
object
14 properties 2 required
Capability
object
5 properties 3 required
SysArgSpec
object
5 properties 1 required
Credential
object
13 properties
SkShareRecord
object
10 properties
ShareInfo
object
3 properties 2 required
KeyValuePair
object
5 properties 1 required
SysHost
string
FQDN, IP address, Globus endpoint ID or Globus collection ID.
HostString
string
SysId
string
Short descriptive name for the system that is unique within the tenant.
DtnSysId
string
An alternate system to use as a Data Transfer Node (DTN) during job execution.
ParentSysId
string
Parent system associated with this child system.
IdString
string
UserNameString
string
EnvVarNameString
string
EffectiveUserId
string
Username to use when accessing the system. A specific user (such as a service account) or the dynamic user ${apiUserId}.
Enabled
boolean
Indicates if system is currently considered active and available for use.
UserNameApiDefaultString
string
DescriptionString
string
Optional more verbose description.
BucketName
string
Name of the bucket for an S3 type system.
RootDir
string
Effective root directory to be used when listing files or moving files to and from the system.
DirString
string
TagString
string
QueueNameString
string
ArgDescriptionString
string
InputNameString
string
ReqPostSystem
object
33 properties 5 required
ReqPostChildSystem
object
3 properties 2 required
ReqPutSystem
object
24 properties
ReqPatchSystem
object
25 properties
ReqPostPutCredential
object
8 properties
ReqUpdateCredential
object
9 properties
ReqPerms
object
1 property 1 required
ReqSearchSystems
object
1 property 1 required
ReqMatchConstraints
object
1 property 1 required
ReqPostSchedulerProfile
object
5 properties 1 required
ReqShareUpdate
object
1 property 1 required
ReqUnlinkChildren
object
1 property
RespBasic
object
7 properties
RespBoolean
object
7 properties
ResultBoolean
object
1 property
RespName
object
7 properties
ResultName
object
1 property
RespNameArray
object
7 properties
ResultNameArray
object
1 property
RespChangeCount
object
7 properties
ResultChangeCount
object
1 property
RespResourceUrl
object
7 properties
ResultResourceUrl
object
1 property
RespSystem
object
7 properties
RespSystems
object
7 properties
RespSystemHistory
object
7 properties
RespCredential
object
7 properties
RespSchedulerProfile
object
7 properties
RespSchedulerProfiles
object
7 properties
RespGlobusAuthUrl
object
7 properties
ResultGlobusAuthUrl
object
3 properties
RespShareInfo
object
7 properties
SystemTypeEnum
string
Type of system
ListTypeEnum
string
AuthnEnum
string
CategoryEnum
string
DatatypeEnum
string
RuntimeTypeEnum
string
SchedulerTypeEnum
string
SchedulerHiddenOptionEnum
string
OperationTypeEnum
string
KeyValueInputModeEnum
string
SysArgInputModeEnum
string

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

university-of-texas-at-austin-tapis-systems-openapi.yml Raw ↑

Other APIs University of Texas at Austin publishes across the network.

UT Austin Enterprise Identity Provider (SAML 2.0 + OpenID Connect)
Texas ScholarWorks DSpace REST API
Texas ScholarWorks OAI-PMH Endpoint
Texas Data Repository (Dataverse) — UT Austin collection
Where this information came from

This is an independent, third-party profile of Tapis v3 Research Computing Platform (TACC production tenant), published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.