University of Texas at Austin Events API
Event publication
Event publication
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/university-of-texas-at-austin:university-of-texas-at-austin-events-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Tapis Notifications Events API
description: The Tapis Notifications API provides for management of subscriptions and event publication
version: 26Q1.1
termsOfService: https://tapis-project.org
contact:
name: Notifications API - CICSupport
url: https://tapis-project.org
email: cicsupport@tacc.utexas.edu
license:
name: 3-Clause BSD License
url: https://opensource.org/licenses/BSD-3-Clause
servers:
- url: http://localhost:8080/
description: Local test environment
variables: {}
- url: https://dev.develop.tapis.io/
description: Development environment
variables: {}
tags:
- name: Events
description: Event publication
paths:
/v3/notifications/events/publish:
post:
tags:
- Events
description: Publish an event to be distributed to all subscribers.
operationId: publishEvent
security:
- TapisJWT: []
parameters:
- name: tenant
in: query
description: Highly restricted. Tenant associated with the event. Only services may set the tenant. By default, oboTenant from the JWT is used.
schema:
type: string
requestBody:
required: true
description: A JSON object specifying the event details.
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
responses:
'200':
description: Event published.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'400':
description: Input error. Invalid JSON.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'401':
description: Not authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'500':
description: Server error.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
summary: Publish event
x-summary-source: derived
/v3/notifications/events:
post:
tags:
- Events
description: '(**DEPRECATED** Please use endpoint *notifications/events/publishEvent*)
Post an event to be distributed to all subscribers. Only services may post events.
The attributes *source*, *type* and *timestamp* are required. Note that certain attributes, marked as
*attribute* in the list below, are allowed but ignored. These attributes are maintained by Tapis. They are
present when the event is part of a delivered notification.
Event attributes:
- source: Context in which event happened: Examples: *Jobs*, *Systems*.
- type: Type of event. Used for routing notifications. A series of 3 fields separated by the dot character. Pattern is *service.category.detail*. Examples: *jobs.new_status.complete*, *systems.system.create*, *files.object.delete*
- subject: Subject of event in the context of the service. Examples: job Id, system Id, file path, role name, etc.
- timestamp: When the event happened.
- data: Optional additional information associated with the event. Data specific to the service associated with the event.
- deleteSubscriptionsMatchingSubject: Boolean indicating that all subscriptions whose *subjectFilter* matches the *subject* of the event should be deleted once all notifications are delivered.
- seriesId: Optional Id that may be used to group events from the same tenant, source and subject. In a series, event order is preserved when sending out notifications.
- *tenant*: Tapis tenant associated with the event.
- *uuid*: Tapis generated unique identifier.
- *user*: Tapis user associated with the event.
Note that events are not persisted by the front end api service. When received they are simply sent to a
message broker. The back end dispatch service will persist events temporarily in order to support recovery.
An event is delivered to the delivery target in a Notification object. Notification attributes:
- uuid: Unique identifier for the notification.
- subscriptionName: Name of subscription associated with the event.
- event: All information contained in the event.
- eventUuid: Unique identifier for the event.
- tenant: tenant associated with the event.
- deliveryTarget: the delivery target
- created: When the notification was created.
For details on the schema for a Notification object, please see the request body specification included under
the endpoint for *recordTestNotification*, at path */v3/notifications/test/callback/{name}*
Note that certain attributes in the request body (such as tenant) are allowed but ignored. These attributes
are maintained by Tapis. They are present when the event is part of a delivered notification.
The attributes that are allowed but ignored are
- tenant
- uuid
- user'
operationId: postEvent
security:
- TapisJWT: []
deprecated: true
parameters:
- name: tenant
in: query
description: Highly restricted. Tenant associated with the event. Only services may set the tenant. By default, oboTenant from the JWT is used.
schema:
type: string
requestBody:
required: true
description: A JSON object specifying the event details.
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
responses:
'200':
description: Event posted.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'400':
description: Input error. Invalid JSON.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'401':
description: Not authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'500':
description: Server error.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
summary: Post event
x-summary-source: derived
/v3/notifications/events/endSeries:
post:
tags:
- Events
description: 'End an event series. Series tracking data will be deleted. A subsequent new event published with the same
tenant, source, subject and seriesId will create a new series with the *seriesSeqCount* starting at 1.
Associated event source, subject and seriesId must be provided in the request body.
To specify a tenant other than the oboTenant, please use the query parameter *tenant*.'
operationId: endEventSeries
security:
- TapisJWT: []
parameters:
- name: tenant
in: query
description: Highly restricted. Tenant associated with the event. Only services may set the tenant. By default, oboTenant from the JWT is used.
schema:
type: string
requestBody:
required: true
description: A JSON object specifying the event series to be ended.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSeries'
responses:
'200':
description: Event series ended.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'400':
description: Input error. Invalid JSON.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'401':
description: Not authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
'500':
description: Server error.
content:
application/json:
schema:
$ref: '#/components/schemas/RespBasic'
summary: End event series
x-summary-source: derived
components:
schemas:
EventSeries:
type: object
required:
- source
- subject
- seriesId
properties:
source:
type: string
minLength: 1
subject:
type: string
minLength: 1
seriesId:
type: string
minLength: 1
Event:
type: object
required:
- source
- type
- timestamp
properties:
source:
type: string
type:
type: string
subject:
type: string
data:
type: string
seriesId:
type: string
endSeries:
type: boolean
default: false
timestamp:
type: string
deleteSubscriptionsMatchingSubject:
type: boolean
default: false
tenant:
type: string
user:
type: string
uuid:
type: string
received:
type: string
seriesSeqCount:
type: integer
RespBasic:
type: object
properties:
status:
type: string
message:
type: string
version:
type: string
commit:
type: string
build:
type: string
result:
type: object
metadata:
type: object
securitySchemes:
TapisJWT:
type: apiKey
description: Tapis signed JWT token authentication
name: X-Tapis-Token
in: header
externalDocs:
description: Tapis Project
url: https://tapis-project.org