University of Calgary Operations - SITL API
Endpoints for Scientist In The Loop (SITL) operations
Endpoints for Scientist In The Loop (SITL) operations
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-calgary-operations-sitl-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
x-method: derived
x-source-url: https://api.phys.ucalgary.ca/openapi.json
x-derived-from: openapi/_original/university-of-calgary-srs-api.yaml
x-operator: institution
openapi: 3.2.0
info:
title: UCalgary Space Remote Sensing Operations - SITL API
description: API providing data and tools for UCalgary Space Remote Sensing
version: 1.66.0
servers:
- url: https://api.phys.ucalgary.ca
description: UCalgary Space Remote Sensing API
tags:
- name: Operations - SITL
description: Endpoints for Scientist In The Loop (SITL) operations
paths:
/api/v1/ops/sitl/arctics/data_products:
get:
tags:
- Operations - SITL
summary: Retrieve ARCTICS SITL data products
operationId: get_data_products_api_v1_ops_sitl_arctics_data_products_get
security:
- HTTPBearer: []
- APIKeyHeader: []
parameters:
- name: date
in: query
required: true
schema:
type: string
format: date
title: Date
- name: site_uid
in: query
required: true
schema:
type: string
title: Site Uid
- name: device_uid
in: query
required: true
schema:
type: string
title: Device Uid
responses:
'200':
description: ARCTICS SITL data products for a given day
content:
application/json:
schema:
$ref: '#/components/schemas/ARCTICSDataProductsResponse'
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: The supplied credentials do not permit access to this endpoint
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/ops/sitl/arctics/keep_times:
get:
tags:
- Operations - SITL
summary: Retrieve timeframes to keep ARCTICS data for
operationId: get_keep_times_api_v1_ops_sitl_arctics_keep_times_get
security:
- HTTPBearer: []
- APIKeyHeader: []
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date-time
title: Start
- name: end
in: query
required: true
schema:
type: string
format: date-time
title: End
- name: site_uid
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Site Uid
- name: device_uid
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Device Uid
- name: instrument_uid
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Instrument Uid
responses:
'200':
description: ARCTICS saved timeframes
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ARCTICSKeepTimeframe'
title: Response Get Keep Times Api V1 Ops Sitl Arctics Keep Times Get
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: The supplied credentials do not permit access to this endpoint
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Operations - SITL
summary: Upload a timeframe to keep ARCTICS data for
description: Upload a timeframe to keep ARCTICS data for.
operationId: upload_timeframe_api_v1_ops_sitl_arctics_keep_times_post
security:
- HTTPBearer: []
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ARCTICSUploadTimeframeRequest'
responses:
'201':
description: Timeframe successfully ingested
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: The supplied credentials do not permit access to this endpoint
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'500':
description: Timeframe upload error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Operations - SITL
summary: Delete a timeframe to keep ARCTICS data for
description: Delete a timeframe to keep ARCTICS data for.
operationId: delete_timeframe_api_v1_ops_sitl_arctics_keep_times_delete
security:
- HTTPBearer: []
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ARCTICSDeleteTimeframeRequest'
responses:
'200':
description: Timeframe successfully deleted
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: The supplied credentials do not permit access to this endpoint
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'404':
description: Timeframe to delete was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'500':
description: Timeframe deletion error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/ops/sitl/logging:
post:
tags:
- Operations - SITL
summary: Upload a SITL log event
description: "Upload a SITL log message.\n\nNotes:\n - Possible values for category: arctics, trex_rgb_burst\n - Possible values for level: debug, info, warning, error"
operationId: upload_log_messages_api_v1_ops_sitl_logging_post
security:
- HTTPBearer: []
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SITLLogMessage'
title: Request Obj
responses:
'201':
description: Log message successfully ingested
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: The supplied credentials do not permit access to this endpoint
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'500':
description: Log message upload error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Operations - SITL
summary: Retrieve SITL log events
description: "Retrieve SITL log messages.\n\nNotes:\n - ordering key is 'timestamp'\n - if level parameter is not supplied, it will return log messages from all levels"
operationId: get_log_messages_api_v1_ops_sitl_logging_get
security:
- HTTPBearer: []
- APIKeyHeader: []
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date-time
title: Start
- name: end
in: query
required: true
schema:
type: string
format: date-time
title: End
- name: category
in: query
required: true
schema:
enum:
- arctics
- trex_rgb_burst
type: string
title: Category
- name: level
in: query
required: false
schema:
anyOf:
- enum:
- debug
- info
- warning
- error
type: string
- type: 'null'
title: Level
- name: order
in: query
required: false
schema:
enum:
- ascending
- descending
type: string
default: ascending
title: Order
responses:
'200':
description: SITL log events
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SITLLogMessage'
title: Response Get Log Messages Api V1 Ops Sitl Logging Get
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: The supplied credentials do not permit access to this endpoint
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'500':
description: Log message retrieval error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ARCTICSDataProductsResponse:
properties:
date:
type: string
format: date
title: Date
site_uid:
type: string
title: Site Uid
device_uid:
type: string
title: Device Uid
dp_daily_keogram:
anyOf:
- $ref: '#/components/schemas/ARCTICSKeogramRecord'
- type: 'null'
dp_hourly_keograms:
items:
$ref: '#/components/schemas/ARCTICSKeogramRecord'
type: array
title: Dp Hourly Keograms
default: []
dp_daily_montage:
anyOf:
- $ref: '#/components/schemas/ARCTICSMontageRecord'
- type: 'null'
dp_hourly_montages:
items:
$ref: '#/components/schemas/ARCTICSMontageRecord'
type: array
title: Dp Hourly Montages
default: []
dp_daily_movie_lowres:
anyOf:
- $ref: '#/components/schemas/ARCTICSMovieRecord'
- type: 'null'
type: object
required:
- date
- site_uid
- device_uid
title: ARCTICSDataProductsResponse
ARCTICSDeleteTimeframeRequest:
properties:
start:
type: string
format: date-time
title: Start
end:
type: string
format: date-time
title: End
instrument_uid:
type: string
const: smile
title: Instrument Uid
site_uid:
type: string
title: Site Uid
device_uid:
type: string
title: Device Uid
type: object
required:
- start
- end
- instrument_uid
- site_uid
- device_uid
title: ARCTICSDeleteTimeframeRequest
ARCTICSKeepTimeframe:
properties:
start:
type: string
format: date-time
title: Start
end:
type: string
format: date-time
title: End
site_uid:
type: string
title: Site Uid
device_uid:
type: string
title: Device Uid
instrument_uid:
type: string
const: smile
title: Instrument Uid
last_updated_user:
type: string
title: Last Updated User
last_updated_ts:
type: string
format: date-time
title: Last Updated Ts
type: object
required:
- start
- end
- site_uid
- device_uid
- instrument_uid
- last_updated_user
- last_updated_ts
title: ARCTICSKeepTimeframe
ARCTICSKeogramRecord:
properties:
url:
type: string
title: Url
timestamp:
type: string
format: date-time
title: Timestamp
modified_time:
type: string
format: date-time
title: Modified Time
filesize_bytes:
type: integer
title: Filesize Bytes
filesize_str:
type: string
title: Filesize Str
type: object
required:
- url
- timestamp
- modified_time
- filesize_bytes
- filesize_str
title: ARCTICSKeogramRecord
ARCTICSMontageRecord:
properties:
url:
type: string
title: Url
timestamp:
type: string
format: date-time
title: Timestamp
modified_time:
type: string
format: date-time
title: Modified Time
filesize_bytes:
type: integer
title: Filesize Bytes
filesize_str:
type: string
title: Filesize Str
type: object
required:
- url
- timestamp
- modified_time
- filesize_bytes
- filesize_str
title: ARCTICSMontageRecord
ARCTICSMovieRecord:
properties:
url:
type: string
title: Url
timestamp:
type: string
format: date-time
title: Timestamp
modified_time:
type: string
format: date-time
title: Modified Time
filesize_bytes:
type: integer
title: Filesize Bytes
filesize_str:
type: string
title: Filesize Str
duration_seconds:
type: number
title: Duration Seconds
duration_str:
type: string
title: Duration Str
type: object
required:
- url
- timestamp
- modified_time
- filesize_bytes
- filesize_str
- duration_seconds
- duration_str
title: ARCTICSMovieRecord
ARCTICSUploadTimeframeRequest:
properties:
start:
type: string
format: date-time
title: Start
end:
type: string
format: date-time
title: End
instrument_uid:
type: string
const: smile
title: Instrument Uid
site_uid:
type: string
title: Site Uid
device_uid:
type: string
title: Device Uid
username:
type: string
title: Username
type: object
required:
- start
- end
- instrument_uid
- site_uid
- device_uid
- username
title: ARCTICSUploadTimeframeRequest
ErrorMessage:
properties:
detail:
type: string
title: Detail
type: object
required:
- detail
title: ErrorMessage
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
SITLLogMessage:
properties:
category:
type: string
enum:
- arctics
- trex_rgb_burst
title: Category
level:
type: string
enum:
- debug
- info
- warning
- error
title: Level
timestamp:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Timestamp
message:
type: string
title: Message
type: object
required:
- category
- level
- message
title: SITLLogMessage
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
securitySchemes:
HTTPBearer:
type: http
scheme: bearer
APIKeyHeader:
type: apiKey
in: header
name: x-srs-api-key