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 operations30 paths74 schemas3 DELETE14 GET1 PATCH21 POST1 PUT
Metadata
The identity and technical contract details declared by the specification.
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…
getSystems11 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…
createSystem1 parambody→ 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…
searchSystemsQueryParameters9 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…
searchSystemsRequestBody8 paramsbody→ 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.
matchConstraintsbody→ 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…
getSystem8 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…
patchSystem1 parambody→ 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…
putSystem2 paramsbody→ 200400401403409500
GET
/v3/systems/{systemId}/isEnabled
Check if a system is currently enabled, i.e. available for use.
isEnabled1 param→ 200403404500
POST
/v3/systems/{systemId}/enable
Mark a system available for use.
enableSystem1 param→ 200403404500
POST
/v3/systems/{systemId}/disable
Mark a system unavailable for use.
disableSystem1 param→ 200403404500
POST
/v3/systems/{systemId}/delete
Mark a system as deleted. System will not appear in queries unless explicitly requested.
deleteSystem1 param→ 200403404500
POST
/v3/systems/{systemId}/undelete
Mark a system as not deleted. System will appear in queries.
undeleteSystem1 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…
changeSystemOwner2 params→ 200403404500
GET
/v3/systems/{systemId}/history
Retrieve history of changes for a given systemId.
getHistory1 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…
hostEval2 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…
createChildSystem1 parambody→ 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.
unlinkFromParent1 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…
unlinkChildren2 paramsbody→ 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 $…
getUserCredential3 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…
createUserCredential4 paramsbody→ 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…
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.…
checkUserCredential3 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.
Use a Globus authorization code + Tapis session Id to generate tokens
generateGlobusTokens4 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.
getUserPerms2 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.
Remove system user permission from the Security Kernel. Requester must be owner of the system. Permissions are READ, MODIFY, EXECUTE.
revokeUserPerm3 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
getShareInfo1 param→ 200400403404500
POST
/v3/systems/share/{systemId}
Share a system with one or more users.
shareSystem1 parambody→ 200400403500
POST
/v3/systems/share_public/{systemId}
Share a system publicly with all users in the tenant.
shareSystemPublic1 param→ 200403500
POST
/v3/systems/unshare/{systemId}
Unshare a system with one or more users.
unShareSystem1 parambody→ 200400403500
POST
/v3/systems/unshare_public/{systemId}
Remove public access for a system.
unShareSystemPublic1 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…
createSchedulerProfilebody→ 201400403409500
GET
/v3/systems/schedulerProfile/{name}
Retrieve information for a scheduler profile given the profile name.
getSchedulerProfile1 param→ 200400403404500
DELETE
/v3/systems/schedulerProfile/{name}
Remove a scheduler profile given the profile name. Requester must be owner of the profile.
deleteSchedulerProfile1 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 properties1 required
SchedulerProfile
object
6 properties1 required
ModuleLoadSpec
object
2 properties1 required
LogicalQueue
object
14 properties2 required
Capability
object
5 properties3 required
SysArgSpec
object
5 properties1 required
Credential
object
13 properties
SkShareRecord
object
10 properties
ShareInfo
object
3 properties2 required
KeyValuePair
object
5 properties1 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 properties5 required
ReqPostChildSystem
object
3 properties2 required
ReqPutSystem
object
24 properties
ReqPatchSystem
object
25 properties
ReqPostPutCredential
object
8 properties
ReqUpdateCredential
object
9 properties
ReqPerms
object
1 property1 required
ReqSearchSystems
object
1 property1 required
ReqMatchConstraints
object
1 property1 required
ReqPostSchedulerProfile
object
5 properties1 required
ReqShareUpdate
object
1 property1 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.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘ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.