Skip to main content

Tator REST API (1.2.4)

Download OpenAPI specification:Download

Tator

GetAnonymousGatewaySchema

Allows for logging into Tator as an anonymous user.

Authorizations:
TokenAuthSessionAuth
query Parameters
redirect
string

URI to redirect to after logging in as anonymous user. Defaults to /projects.

Responses

Response samples

Content type
[
  • null
]

DeleteAffiliation

Delete affiliation.

Affiliations specify a permission level of a user to an organization. There are currently two cumulative permission levels. Member can only view an organization and not change any data. Admin can modify an organization, add members to an organization, and create new projects under the organization's account.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a affiliation.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAffiliation

Get affiliation.

Affiliations specify a permission level of a user to an organization. There are currently two cumulative permission levels. Member can only view an organization and not change any data. Admin can modify an organization, add members to an organization, and create new projects under the organization's account.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a affiliation.

Responses

Response samples

Content type
application/json
{
  • "email": "string",
  • "first_name": "string",
  • "id": 0,
  • "last_name": "string",
  • "organization_id": 1,
  • "permission": "Member",
  • "user_id": 1,
  • "username": "string"
}

UpdateAffiliation

Update affiliation.

Affiliations specify a permission level of a user to an organization. There are currently two cumulative permission levels. Member can only view an organization and not change any data. Admin can modify an organization, add members to an organization, and create new projects under the organization's account.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a affiliation.

Request Body schema: application/json
permission
string
Enum: "Member" "Admin"

User permission level for the organization.

Responses

Request samples

Content type
application/json
{
  • "permission": "View Only"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAffiliationList

Get affiliation list.

Affiliations specify a permission level of a user to an organization. There are currently two cumulative permission levels. Member can only view an organization and not change any data. Admin can modify an organization, add members to an organization, and create new projects under the organization's account.

Authorizations:
TokenAuthSessionAuth
path Parameters
organization
required
integer

A unique integer identifying an organization.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateAffiliation

Create affiliation.

Affiliations specify a permission level of a user to an organization. There are currently two cumulative permission levels. Member can only view an organization and not change any data. Admin can modify an organization, add members to an organization, and create new projects under the organization's account.

Authorizations:
TokenAuthSessionAuth
path Parameters
organization
required
integer

A unique integer identifying an organization.

Request Body schema: application/json
permission
string
Enum: "Member" "Admin"

User permission level for the organization.

user
integer >= 1

Unique integer identifying a user.

Responses

Request samples

Content type
application/json
{
  • "permission": "Admin",
  • "user": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteAlgorithm

Delete registered algorithm workflow

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered algorithm workflow.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAlgorithm

Get registered algorithm workflow

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered algorithm workflow.

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ],
  • "cluster": 0,
  • "description": "string",
  • "files_per_job": 0,
  • "id": 0,
  • "manifest": "string",
  • "name": "string",
  • "parameters": [
    ],
  • "project": 0,
  • "user": 0
}

UpdateAlgorithm

Updated registered algorithm workflow

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered algorithm workflow.

Request Body schema: application/json
categories
Array of strings

List of categories the algorithm workflow belongs to

cluster
integer or null

Unique integer identifying the job cluster.

description
string

Description of the algorithm.

files_per_job
required
integer

Number of media files to be submitted to each workflow.

manifest
required
string

Server URL to argo manifest file (.yaml)

name
required
string

Unique name of the algorithm workflow.

Array of objects (AlgorithmParameter)

List of algorithm workflow parameters

user
required
integer

Unique integer identifying the user registering the algorithm.

Responses

Request samples

Content type
application/json
{
  • "manifest": "Server path to new manifest file",
  • "name": "New unique name"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAlgorithmList

Get registered algorithms.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

RegisterAlgorithm

Register an algorithm argo workflow.

This endpoint replicates the algorithm registration through the admin portal. The provided manifest file must have been uploaded and saved by the SaveAlgorithmManifest endpoint. This endpoint will respond with an error if one of the following conditions occur:

  • Provided workflow name is not unique (across projects)
  • Not all the required fields are present
  • There are syntax errors with the given manifest file
Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
categories
Array of strings

List of categories the algorithm workflow belongs to

cluster
integer or null

Unique integer identifying the job cluster.

description
string

Description of the algorithm.

files_per_job
required
integer

Number of media files to be submitted to each workflow.

manifest
required
string

Server URL to argo manifest file (.yaml)

name
required
string

Unique name of the algorithm workflow.

Array of objects (AlgorithmParameter)

List of algorithm workflow parameters

user
required
integer

Unique integer identifying the user registering the algorithm.

Responses

Request samples

Content type
application/json
{
  • "categories": [
    ],
  • "cluster": 0,
  • "description": "string",
  • "files_per_job": 0,
  • "manifest": "string",
  • "name": "string",
  • "parameters": [
    ],
  • "user": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteAnnouncement

Delete announcement.

Announcements are system-wide messages sent to users. Users may delete individual announcements to acknowledge and stop displaying them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a announcement.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAnnouncementList

Get announcement list.

Announcements are system-wide messages sent to users. Users may delete individual announcements to acknowledge and stop displaying them.

Authorizations:
TokenAuthSessionAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

DeleteApplet

Delete registered applet file

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered applet file.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetApplet

Get registered applet file

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered applet file.

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ],
  • "description": "string",
  • "html_file": "string",
  • "id": 0,
  • "name": "string",
  • "project": 0
}

UpdateApplet

Updated registered applet file

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered applet file.

Request Body schema: application/json
categories
Array of strings

List of categories the applet belongs to

description
string

Description of applet

html_file
string

Server URL to applet HTML file

name
string

Name of applet

Responses

Request samples

Content type
application/json
{
  • "name": "New applet name"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "message": "string"
}

GetAppletList

Get applet list.

Applets are customized interfaces (i.e. html files) displayed within the Tator projects.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

RegisterApplet

Create applet.

Applets are customized interfaces (i.e. html files) displayed within the Tator projects.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
categories
Array of strings

List of categories the applet belongs to

description
string

Description of applet

html_file
string

Server URL to applet HTML file

name
string

Name of applet

Responses

Request samples

Content type
application/json
{
  • "categories": [
    ],
  • "description": "string",
  • "html_file": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteAttributeType

Deletes an existing attribute on Type.

A attribute type is the metadata definition object for a user-defined attribute. It includes name, type, and any other associated fields, depending on the type.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a unique entity type.

Request Body schema: application/json
entity_type
string

The entity type containing the attribute to rename.

name
string

The attribute to delete.

Responses

Request samples

Content type
application/json
{
  • "entity_type": "LocalizationType",
  • "name": "My Old Attribute"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

UpdateAttributeType

Renames and/or changes the type of an existing attribute on Type.

A attribute type is the metadata definition object for a user-defined attribute. It includes name, type, and any other associated fields, depending on the type.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a unique entity type.

Request Body schema: application/json
required
object
current_name
required
string

The attribute to rename.

entity_type
required
string

The entity type containing the attribute to rename.

Responses

Request samples

Content type
application/json
{
  • "attribute_type_update": {
    },
  • "current_name": "My Old Attribute",
  • "entity_type": "LocalizationType"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

CreateAttributeType

Adds an attribute to Type.

A attribute type is the metadata definition object for a user-defined attribute. It includes name, type, and any other associated fields, depending on the type.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a unique entity type.

Request Body schema: application/json
object (AttributeType)

The full definition of an attribute on an entity type.

entity_type
string

The entity type containing the attribute to rename.

Responses

Request samples

Content type
application/json
{
  • "addition": {
    },
  • "entity_type": "LocalizationType"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

ReplaceAttributeType

Replaces the definition of an existing attribute on Type.

WARNING This completely replaces the existing definition and will delete any existing fields that are not present in the attribute_type_update definition.

A attribute type is the metadata definition object for a user-defined attribute. It includes name, type, and any other associated fields, depending on the type.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a unique entity type.

Request Body schema: application/json
required
object
current_name
required
string

The attribute to rename.

entity_type
required
string

The entity type containing the attribute to rename.

Responses

Request samples

Content type
application/json
{
  • "attribute_type_update": {
    },
  • "current_name": "My Old Attribute",
  • "entity_type": "LocalizationType"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

DeleteAudioFile

Delete audio file.

Audio files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying audio. One or more audio files can be used to reference the audio role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the audio file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "audio"
Value: "audio"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of audio files for the specified role.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAudioFile

Get audio file.

Audio files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying audio. One or more audio files can be used to reference the audio role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the audio file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "audio"
Value: "audio"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of audio files for the specified role.

Responses

Response samples

Content type
application/json
{
  • "bit_rate": 0,
  • "codec": "string",
  • "codec_description": "string",
  • "codec_mime": "string",
  • "host": "string",
  • "http_auth": "string",
  • "path": "string",
  • "size": 0
}

UpdateAudioFile

Update audio file.

Audio files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying audio. One or more audio files can be used to reference the audio role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the audio file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "audio"
Value: "audio"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of audio files for the specified role.

Request Body schema: application/json
bit_rate
integer

Bit rate in bits per second

codec
required
string

Human readable codec.

codec_description
string

Description other than codec.

codec_mime
string

Example mime: "video/mp4; codecs="avc1.64001e"". Only relevant for streaming files, will assume example above if not present.

host
string

If supplied will use this instead of currently connected host, e.g. https://example.com

http_auth
string

If specified will be used for HTTP authorization in request for media, i.e. "bearer TOKEN".

path
required
string

Relative URL to the file.

size
integer

File size in bytes.

Responses

Request samples

Content type
application/json
{
  • "bit_rate": 0,
  • "codec": "string",
  • "codec_description": "string",
  • "codec_mime": "string",
  • "host": "string",
  • "http_auth": "string",
  • "path": "string",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAudioFileList

Get audio file list.

Audio files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying audio. One or more audio files can be used to reference the audio role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the audio file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "audio"
Value: "audio"

Role of media file being referenced.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateAudioFile

Create audio file.

Audio files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying audio. One or more audio files can be used to reference the audio role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the audio file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "audio"
Value: "audio"

Role of media file being referenced.

index
integer >= 0

Insertion index. Must be less than size of current list of audio files for the specified role. If omitted, the audio file will be appended to the end of the list.

Request Body schema: application/json
bit_rate
integer

Bit rate in bits per second

codec
required
string

Human readable codec.

codec_description
string

Description other than codec.

codec_mime
string

Example mime: "video/mp4; codecs="avc1.64001e"". Only relevant for streaming files, will assume example above if not present.

host
string

If supplied will use this instead of currently connected host, e.g. https://example.com

http_auth
string

If specified will be used for HTTP authorization in request for media, i.e. "bearer TOKEN".

path
required
string

Relative URL to the file.

size
integer

File size in bytes.

Responses

Request samples

Content type
application/json
{
  • "bit_rate": 0,
  • "codec": "string",
  • "codec_description": "string",
  • "codec_mime": "string",
  • "host": "string",
  • "http_auth": "string",
  • "path": "string",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

DeleteAuxiliaryFile

Delete auxiliary file.

Auxiliary files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying generic file. One or more files can be used to reference the attachment role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "attachment"
Value: "attachment"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of files for the specified role.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAuxiliaryFile

Get auxiliary file.

Auxiliary files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying generic file. One or more files can be used to reference the attachment role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "attachment"
Value: "attachment"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of files for the specified role.

Responses

Response samples

Content type
application/json
{
  • "host": "string",
  • "http_auth": "string",
  • "mime": "string",
  • "name": "string",
  • "path": "string",
  • "size": 0
}

UpdateAuxiliaryFile

Update auxiliary file.

Auxiliary files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying generic file. One or more files can be used to reference the attachment role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "attachment"
Value: "attachment"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of files for the specified role.

Request Body schema: application/json
host
string

If supplied will use this instead of currently connected host, e.g. https://example.com

http_auth
string

If specified will be used for HTTP authorization in request for media, i.e. "bearer TOKEN".

mime
string

Example mime: "text/csv".

name
string

Name of the file.

path
required
string

Relative URL to the file.

size
integer

File size in bytes.

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "http_auth": "string",
  • "mime": "string",
  • "name": "string",
  • "path": "string",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetAuxiliaryFileList

Get file list.

Auxiliary files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying generic file. One or more files can be used to reference the attachment role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "attachment"
Value: "attachment"

Role of media file being referenced.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateAuxiliaryFile

Create file.

Auxiliary files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying generic file. One or more files can be used to reference the attachment role in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
string
Default: "attachment"
Value: "attachment"

Role of media file being referenced.

index
integer >= 0

Insertion index. Must be less than size of current list of files for the specified role. If omitted, the file will be appended to the end of the list.

Request Body schema: application/json
host
string

If supplied will use this instead of currently connected host, e.g. https://example.com

http_auth
string

If specified will be used for HTTP authorization in request for media, i.e. "bearer TOKEN".

mime
string

Example mime: "text/csv".

name
string

Name of the file.

path
required
string

Relative URL to the file.

size
integer

File size in bytes.

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "http_auth": "string",
  • "mime": "string",
  • "name": "string",
  • "path": "string",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

DeleteBookmark

Delete bookmark.

Bookmarks are saved links that can be used to mark videos/frames of interest. They are scoped to a project and user, so if a user requests Bookmarks for a project they will only receive the Bookmarks created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a bookmark.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetBookmark

Get bookmark.

Bookmarks are saved links that can be used to mark videos/frames of interest. They are scoped to a project and user, so if a user requests Bookmarks for a project they will only receive the Bookmarks created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a bookmark.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "project": 0,
  • "uri": "string",
  • "user": 1
}

UpdateBookmark

Update bookmark.

Bookmarks are saved links that can be used to mark videos/frames of interest. They are scoped to a project and user, so if a user requests Bookmarks for a project they will only receive the Bookmarks created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a bookmark.

Request Body schema: application/json
name
string

Name of the bookmark.

uri
string

URI to the saved link.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "uri": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetBookmarkList

Get bookmark list.

Bookmarks are saved links that can be used to mark videos/frames of interest. They are scoped to a project and user, so if a user requests Bookmarks for a project they will only receive the Bookmarks created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
name
string

Name of the bookmark to filter on.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateBookmark

Create bookmark.

Bookmarks are saved links that can be used to mark videos/frames of interest. They are scoped to a project and user, so if a user requests Bookmarks for a project they will only receive the Bookmarks created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
name
string

Name of the bookmark to filter on.

Request Body schema: application/json
name
string

Name of the bookmark.

uri
string

URI to the saved link.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "uri": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteBucket

Delete bucket.

Buckets allow users to specify a project-specific S3 bucket to store media. Buckets are defined at the Organization level. Creating and setting a bucket on a project requires administrative access within the organization. Once a bucket is defined for a project, all media subsequently uploaded to that project will be stored in the bucket. Projects may have media in multiple buckets. For example, if a project is initially created without setting a separate bucket and media is uploaded, then the bucket field is updated and more media is uploaded, that project would then contain some media in the default bucket and some in the newly defined bucket.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a bucket.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetBucket

Get bucket.

Buckets allow users to specify a project-specific S3 bucket to store media. Buckets are defined at the Organization level. Creating and setting a bucket on a project requires administrative access within the organization. Once a bucket is defined for a project, all media subsequently uploaded to that project will be stored in the bucket. Projects may have media in multiple buckets. For example, if a project is initially created without setting a separate bucket and media is uploaded, then the bucket field is updated and more media is uploaded, that project would then contain some media in the default bucket and some in the newly defined bucket.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a bucket.

Responses

Response samples

Content type
application/json
{
  • "archive_sc": "STANDARD",
  • "endpoint_url": "string",
  • "external_host": "string",
  • "id": 0,
  • "live_sc": "STANDARD",
  • "name": "string",
  • "organization": 0,
  • "store_type": "AWS"
}

UpdateBucket

Update bucket.

Buckets allow users to specify a project-specific S3 bucket to store media. Buckets are defined at the Organization level. Creating and setting a bucket on a project requires administrative access within the organization. Once a bucket is defined for a project, all media subsequently uploaded to that project will be stored in the bucket. Projects may have media in multiple buckets. For example, if a project is initially created without setting a separate bucket and media is uploaded, then the bucket field is updated and more media is uploaded, that project would then contain some media in the default bucket and some in the newly defined bucket.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a bucket.

Request Body schema: application/json
archive_sc
string
Enum: "STANDARD" "DEEP_ARCHIVE" "COLDLINE"

Storage class in which archived objects live.

BucketGCPConfig (object) or BucketOCIConfig (object) or BucketS3Config (object)

JSON string containing cloud storage credentials.

external_host
string

The proxy host for presigned urls.

live_sc
string
Value: "STANDARD"

Storage class in which live objects live.

name
string

Bucket name.

store_type
string
Enum: "AWS" "MINIO" "GCP" "OCI"

Type of object store on which the bucket is hosted.

Responses

Request samples

Content type
application/json
{
  • "name": "my-other-bucket"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetBucketList

Get bucket list.

Buckets allow users to specify a project-specific S3 bucket to store media. Buckets are defined at the Organization level. Creating and setting a bucket on a project requires administrative access within the organization. Once a bucket is defined for a project, all media subsequently uploaded to that project will be stored in the bucket. Projects may have media in multiple buckets. For example, if a project is initially created without setting a separate bucket and media is uploaded, then the bucket field is updated and more media is uploaded, that project would then contain some media in the default bucket and some in the newly defined bucket.

Authorizations:
TokenAuthSessionAuth
path Parameters
organization
required
integer

A unique integer identifying an organization.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateBucket

Create bucket.

Buckets allow users to specify a project-specific S3 bucket to store media. Buckets are defined at the Organization level. Creating and setting a bucket on a project requires administrative access within the organization. Once a bucket is defined for a project, all media subsequently uploaded to that project will be stored in the bucket. Projects may have media in multiple buckets. For example, if a project is initially created without setting a separate bucket and media is uploaded, then the bucket field is updated and more media is uploaded, that project would then contain some media in the default bucket and some in the newly defined bucket.

Authorizations:
TokenAuthSessionAuth
path Parameters
organization
required
integer

A unique integer identifying an organization.

Request Body schema: application/json
archive_sc
string
Enum: "STANDARD" "DEEP_ARCHIVE" "COLDLINE"

Storage class in which archived objects live.

required
BucketGCPConfig (object) or BucketOCIConfig (object) or BucketS3Config (object)

JSON string containing cloud storage credentials.

external_host
string

The proxy host for presigned urls.

live_sc
string
Value: "STANDARD"

Storage class in which live objects live.

name
required
string

Bucket name.

store_type
required
string
Enum: "AWS" "MINIO" "GCP" "OCI"

Type of object store on which the bucket is hosted.

Responses

Request samples

Content type
application/json
{
  • "config": {
    },
  • "name": "my-bucket",
  • "store_type": "AWS"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

GetChangeLogList

Get a list of change logs.

A ChangeLog is the object containing information about a change applied to an object. It includes the time, user, and description of the change.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
user_id
integer

Filters ChangeLogs for the given user.

entity_id
integer

Filters ChangeLogs for the given entity.

entity_type
string
Enum: "media" "localization" "state" "leaf"

Filters ChangeLogs for the given entity type.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CloneMediaList

Clone media list.

This method copies media to a different project without copying the underlying files. It accepts the same query parameters as a Media GET request. All media matching the query will be copied to the project, media type, and section in the given request body. Section is passed as a section name; if the given section does not exist, it will be created.

This endpoint will only clone up to 500 media per request. Use the start, stop, or after parameters to paginate a request.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying the source project.

query Parameters
media_id
Array of integers[ items >= 1 ]

List of integers identifying media.

type
integer

Unique integer identifying media type.

name
string

Name of the media to filter on.

section
integer

Unique integer identifying a media section.

dtype
string
Enum: "image" "video" "multi"

Data type of the files, either image or video.

md5
string

MD5 sum of the media file.

gid
string

Upload group ID of the media file.

uid
string

Upload unique ID of the media file.

after
integer

If given, all results returned will be after the media with this ID. The start and stop parameters are relative to this modified range.

after_name
string

If given, all results returned will be after the media with this name. The start and stop parameters are relative to this modified range.

archive_lifecycle
string
Enum: "live" "archived" "all"

Archive lifecycle of the files, one of live (live only), archived (to_archive, archived, or to_live), or all. Defaults to 'live'

elemental_id
string

Elemental ID to search for

attribute
Array of strings

Attribute equality filter. Format is attribute1::value1,[attribute2::value2].

attribute_lt
Array of strings

Attribute less than filter. Format is attribute1::value1,[attribute2::value2].

attribute_lte
Array of strings

Attribute less than or equal filter. Format is attribute1::value1,[attribute2::value2].

attribute_gt
Array of strings

Attribute greater than filter. Format is attribute1::value1,[attribute2::value2].

attribute_gte
Array of strings

Attribute greater than or equal filter. Format is attribute1::value1,[attribute2::value2].

attribute_contains
Array of strings

Attribute contains filter. Format is attribute1::value1,[attribute2::value2].

attribute_distance
Array of strings

Range filter for geoposition attributes. Format is attribute1::distance_km2::lat2::lon2,[attribute2::distancekm2::lat2::lon2].

attribute_null
Array of strings

Attribute null filter. Returns elements for which a given attribute is not defined.

start
integer

Pagination start index. Index of the first item in a larger list to return.

stop
integer

Pagination stop index. Non-inclusive index of the last item in a larger list to return.

encoded_search
string

Base64 encoded string representing an Object_Search defined in /components/AttributeOperationSpec

sort_by
Array of strings

Field names to sort results by. Built-in names should be prefixed with '$', attributes must not be.

    Because the schema supports sorting by a list of attributes (effectively grouping), we have to utilize a special character to inform direction.
    Uses the common convention of '-'; thus `["$name", "-$id"]` would sort by name ascending and break tie-breakers(grouping) by descending by id.

    An example REST query will sort all localizations in project 1, by label descending and sort any ties by ascending x.

    `rest/Localizations/1?sort_by=-Label&sort_by=$x`


    A table of built-ins available for a given type:
                
| Name              | Description                            | Localizations | States | Medias | Leaves | Files | 
|-------------------|----------------------------------------|---------------|--------|--------|--------|-------|
| section           | Media section                          |       X       |   X    |   X    |        |       |
| created_datetime  | The time of creation for this datum    |       X       |   X    |   X    |    X   |   X   |
| created_by        | The user id who created this datum     |       X       |   X    |   X    |    X   |   X   |
| modified_datetime | The last modification time             |       X       |   X    |   X    |    X   |   X   |
| modified_by       | The last modification user             |       X       |   X    |   X    |    X   |   X   |
| name              | The name of the element                |               |        |   X    |    X   |   X   |
| fps               | The frames per second                  |               |        |   X    |        |       |
| deleted           | Whether the media is marked deleted    |               |        |   X    |    X   |   X   |
| variant_deleted   | Whether the metadata is marked deleted |       X       |   X    |        |        |       |
| archive_state     | The current archive state of the media |               |        |   X    |        |       |
| x, y, u, or v     | Geometric coordinates                  |               |        |        |        |       |
| width or height   | Geometric sizes                        |               |        |        |        |       |
| incident          | Available when doing a related search  |               |        |   X    |        |       |   
Request Body schema: application/json
dest_project
required
integer

Unique integer identifying destination project.

dest_section
string or null

Destination media section name.

dest_type
required
integer >= -1

Unique integer identifying destination media type. Use -1 to automatically select the media type if only one media type exists in the destination project.

Responses

Request samples

Content type
application/json
{
  • "dest_project": 1,
  • "dest_section": "My section",
  • "dest_type": 1
}

Response samples

Content type
application/json
{
  • "id": [
    ],
  • "message": "string",
  • "object": [
    ]
}

GetDownloadInfo

Retrieve URL for one or more file downloads from a given project.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
expiration
integer [ 1 .. 86400 ]
Default: 86400

Number of seconds until URL expires and becomes invalid.

Request Body schema: application/json
keys
required
Array of strings

Array of object keys for download info retrieval.

Responses

Request samples

Content type
application/json
{
  • "keys": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

SendEmail

Send an email message using the Tator AWS SES configured credentials.'

Messages can only be sent to members of the same project.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
Array of objects (EmailAttachmentSpec)

S3 object(s) to send as attachment(s). Ensure the attachment size does not exceed the corresponding email service limits

recipients
required
Array of strings

Recipients of the email message. They must be members of this project. Entries are either in "Name email@email.com" or "email@email.com" format

subject
required
string

Subject of the email message

text
required
string

Text body of the email message. HTML is currently not supported.

Responses

Request samples

Content type
application/json
{
  • "attachments": [
    ],
  • "recipients": [
    ],
  • "subject": "string",
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

DeleteFavorite

Delete favorite.

Favorites are saved annotation values to help speed up annotation. They are scoped to a project and user, so if a user requests Favorites for a project they will only receive the Favorites created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a favorite.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetFavorite

Get favorite.

Favorites are saved annotation values to help speed up annotation. They are scoped to a project and user, so if a user requests Favorites for a project they will only receive the Favorites created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a favorite.

Responses

Response samples

Content type
application/json
{
  • "entity_type_name": "Localization",
  • "id": 0,
  • "name": "string",
  • "page": 1,
  • "type": 0,
  • "user": 1,
  • "values": { }
}

UpdateFavorite

Update favorite.

Favorites are saved annotation values to help speed up annotation. They are scoped to a project and user, so if a user requests Favorites for a project they will only receive the Favorites created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a favorite.

Request Body schema: application/json
entity_type_name
string
Enum: "Localization" "State"

Name of entity type associated with the favorite

name
string

Name of the favorite.

Responses

Request samples

Content type
application/json
{
  • "entity_type_name": "Localization",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetFavoriteList

Get favorite list.

Favorites are saved annotation values to help speed up annotation. They are scoped to a project and user, so if a user requests Favorites for a project they will only receive the Favorites created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateFavorite

Create favorite.

Favorites are saved annotation values to help speed up annotation. They are scoped to a project and user, so if a user requests Favorites for a project they will only receive the Favorites created by them.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
entity_type_name
string
Enum: "Localization" "State"

Name of entity type associated with the favorite

name
string

Name of the favorite.

page
integer [ 1 .. 10 ]
Default: 1

Integer specifying page to display on. Should be 1-10.

type
integer >= 1

Unique integer identifying an entity type.

object

Attribute name/value pairs.

Responses

Request samples

Content type
application/json
{
  • "entity_type_name": "Localization",
  • "name": "string",
  • "page": 1,
  • "type": 1,
  • "values": { }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteFile

Delete registered non-media File object

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered File object.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetFile

Get registered non-media File object

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered File object.

Responses

Response samples

Content type
application/json
{
  • "attributes": {
    },
  • "created_by": 0,
  • "created_datetime": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "elemental_id": "string",
  • "id": 0,
  • "modified_by": 0,
  • "modified_datetime": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "path": "string",
  • "project": 0,
  • "type": 0
}

UpdateFile

Updated registered non-media File object

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered File object.

Request Body schema: application/json
object

Object containing attribute values

description
string

Description of file

elemental_id
string or null

The elemental ID of the object.

name
string

Name of file

null_attributes
Array of strings[ items >= 1 ]

Null a value in the attributes body

path
string

Relative URL to the file

reset_attributes
Array of strings[ items >= 1 ]

Reset an attribute to the default value specified in the Type object

type
integer

Unique integer identifying FileType of this File object.

Responses

Request samples

Content type
application/json
{
  • "name": "New file name"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "message": "string"
}

DeleteFileType

Delete file type.

A file type is the metadata definition object for non-media FIle objects. It includes the name, description, and any associated user defined attributes.

Note that this will also delete any files associated with the file type.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying an file type.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetFileType

Get file type.

A file type is the metadata definition object for non-media FIle objects. It includes the name, description, and any associated user defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying an file type.

Responses

Response samples

Content type
application/json
{
  • "attribute_types": [
    ],
  • "description": "",
  • "elemental_id": "string",
  • "id": 0,
  • "name": "string",
  • "project": 0
}

UpdateFileType

Update file type.

A file type is the metadata definition object for non-media FIle objects. It includes the name, description, and any associated user defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying an file type.

Request Body schema: application/json
description
string
Default: ""

Description of the file type.

elemental_id
string or null

The elemental ID of the object.

name
string

Name of the file type.

Responses

Request samples

Content type
application/json
{
  • "description": "New description",
  • "name": "New name"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetFileTypeList

Get file type list.

A file type is the metadata definition object for non-media FIle objects. It includes the name, description, and any associated user defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
elemental_id
string

Elemental ID to search for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateFileType

Create file type.

A file type is the metadata definition object for non-media FIle objects. It includes the name, description, and any associated user defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
Array of objects (AttributeType)

Attribute type definitions.

description
string
Default: ""

Description of the file type.

elemental_id
string or null

The elemental ID of the object.

name
string

Name of the file type.

Responses

Request samples

Content type
application/json
{
  • "attribute_types": [
    ],
  • "name": "My file type"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

GetFileList

Get non-media associated File object list.

Non-media assocaited files can be stored within the project along with user-defined attributes. Unlike temporary files, these are permanent. These do not include applet files and algorithm workflow files.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
type
integer

Unique integer identifying a FileType.

name
string

Name of the file.

after
integer

If given, all results returned will be after the File object with this ID. The start and stop parameters are relative to this modified range.

elemental_id
string

Elemental ID to search for

attribute
Array of strings

Attribute equality filter. Format is attribute1::value1,[attribute2::value2].

attribute_lt
Array of strings

Attribute less than filter. Format is attribute1::value1,[attribute2::value2].

attribute_lte
Array of strings

Attribute less than or equal filter. Format is attribute1::value1,[attribute2::value2].

attribute_gt
Array of strings

Attribute greater than filter. Format is attribute1::value1,[attribute2::value2].

attribute_gte
Array of strings

Attribute greater than or equal filter. Format is attribute1::value1,[attribute2::value2].

attribute_contains
Array of strings

Attribute contains filter. Format is attribute1::value1,[attribute2::value2].

attribute_distance
Array of strings

Range filter for geoposition attributes. Format is attribute1::distance_km2::lat2::lon2,[attribute2::distancekm2::lat2::lon2].

attribute_null
Array of strings

Attribute null filter. Returns elements for which a given attribute is not defined.

start
integer

Pagination start index. Index of the first item in a larger list to return.

stop
integer

Pagination stop index. Non-inclusive index of the last item in a larger list to return.

encoded_search
string

Base64 encoded string representing an Object_Search defined in /components/AttributeOperationSpec

sort_by
Array of strings

Field names to sort results by. Built-in names should be prefixed with '$', attributes must not be.

    Because the schema supports sorting by a list of attributes (effectively grouping), we have to utilize a special character to inform direction.
    Uses the common convention of '-'; thus `["$name", "-$id"]` would sort by name ascending and break tie-breakers(grouping) by descending by id.

    An example REST query will sort all localizations in project 1, by label descending and sort any ties by ascending x.

    `rest/Localizations/1?sort_by=-Label&sort_by=$x`


    A table of built-ins available for a given type:
                
| Name              | Description                            | Localizations | States | Medias | Leaves | Files | 
|-------------------|----------------------------------------|---------------|--------|--------|--------|-------|
| section           | Media section                          |       X       |   X    |   X    |        |       |
| created_datetime  | The time of creation for this datum    |       X       |   X    |   X    |    X   |   X   |
| created_by        | The user id who created this datum     |       X       |   X    |   X    |    X   |   X   |
| modified_datetime | The last modification time             |       X       |   X    |   X    |    X   |   X   |
| modified_by       | The last modification user             |       X       |   X    |   X    |    X   |   X   |
| name              | The name of the element                |               |        |   X    |    X   |   X   |
| fps               | The frames per second                  |               |        |   X    |        |       |
| deleted           | Whether the media is marked deleted    |               |        |   X    |    X   |   X   |
| variant_deleted   | Whether the metadata is marked deleted |       X       |   X    |        |        |       |
| archive_state     | The current archive state of the media |               |        |   X    |        |       |
| x, y, u, or v     | Geometric coordinates                  |               |        |        |        |       |
| width or height   | Geometric sizes                        |               |        |        |        |       |
| incident          | Available when doing a related search  |               |        |   X    |        |       |   

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateFile

Create generic, non-media associated File object.

Non-media assocaited files can be stored within the project along with user-defined attributes. Unlike temporary files, these are permanent. These do not include applet files and algorithm workflow files.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
object

Object containing attribute values

description
string

Description of file

elemental_id
string or null

The elemental ID of the object.

name
string

Name of file

type
integer

Unique integer identifying FileType of this File object.

user_elemental_id
string or null

The elemental ID of the object.

Responses

Request samples

Content type
application/json
{
  • "attributes": {
    },
  • "description": "string",
  • "elemental_id": "string",
  • "name": "string",
  • "type": 0,
  • "user_elemental_id": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

GetClip

Get video clip.

Facility to get a clip from the server. Returns a temporary file object that expires in 24 hours.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
frame_ranges
required
Array of strings
Example: frame_ranges=0:30,50:90

Comma-seperated list of frame ranges to capture.

quality
integer >= 0

Source resolution to use (default to highest quality)

reencode
integer >= 0

Re-encode to a h264 codec (assumes veryfast) profile (>0 = true, 0 == false)

Responses

Response samples

Content type
application/json
{
  • "file": {
    },
  • "segment_end_frames": [
    ],
  • "segment_start_frames": [
    ]
}

GetClonedMedia

Get cloned media.

This method finds and returns the list of media ids that are clones of the given id.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "message": "string"
}

GetFrame

Get frame(s) from a video.

Facility to get a frame(jpg/png) of a given video frame, returns a square tile of frames based on the input parameter.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
frames
Array of integers <= 32 characters [ items >= 0 ]
Default: [0]
Example: frames=0,100,200

Comma-seperated list of frames to capture.

tile
string

wxh, if not supplied is made as squarish as possible.

roi
string

w:h:x:y, optionally crop each frame to a given roi in relative coordinates.

force_scale
string

Size of each frame image to return in format wxh. This forces scaling the image. Applied after ROI crop if any.Default is the size of the frame for highest streaming resolution. Example: 1024x768

animate
integer [ 0 .. 15 ]

If not tiling, animate each frame at a given fps in a gif.

quality
integer >= 0

Source resolution to use (default to highest quality)

Responses

Request samples

# Downloads a graphic and puts it in a persistent path
tmp_path = api.get_localization_graphic(id)
os.move(tmp_path, persistent_path)

DeleteImageFile

Delete image file.

Image files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying image. One or more image files can be used to reference thumbnails, thumbnail GIFs, or images in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the image file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
required
string
Enum: "image" "thumbnail" "thumbnail_gif"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of images for the specified role.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetImageFile

Get image file.

Image files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying image. One or more image files can be used to reference thumbnails, thumbnail GIFs, or images in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the image file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
required
string
Enum: "image" "thumbnail" "thumbnail_gif"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of images for the specified role.

Responses

Response samples

Content type
application/json
{
  • "host": "string",
  • "http_auth": "string",
  • "mime": "string",
  • "path": "string",
  • "resolution": [
    ],
  • "size": 0
}

UpdateImageFile

Update image file.

Image files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying image. One or more image files can be used to reference thumbnails, thumbnail GIFs, or images in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the image file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
required
string
Enum: "image" "thumbnail" "thumbnail_gif"

Role of media file being referenced.

index
required
integer >= 0

Index of object. Must be less than size of current list of images for the specified role.

Request Body schema: application/json
host
string

If supplied will use this instead of currently connected host, e.g. https://example.com

http_auth
string

If specified will be used for HTTP authorization in request for media, i.e. "bearer TOKEN".

mime
string

Example mime: "image/jpg".

path
required
string

Relative URL to the file.

resolution
required
Array of integers = 2 items [ items >= 1 ]

Resolution of the video in pixels (height, width).

size
integer

File size in bytes.

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "http_auth": "string",
  • "mime": "string",
  • "path": "string",
  • "resolution": [
    ],
  • "size": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetImageFileList

Get image file list.

Image files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying image. One or more image files can be used to reference thumbnails, thumbnail GIFs, or images in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the image file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
required
string
Enum: "image" "thumbnail" "thumbnail_gif"

Role of media file being referenced.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateImageFile

Create image file.

Image files are stored under the media_files field of Media objects. They are used to relate media metadata to an underlying image. One or more image files can be used to reference thumbnails, thumbnail GIFs, or images in a Media object. The file itself must first be uploaded to a URL retrieved from the UploadInfo endpoint, and the returned object key should be specified in the image file's path field.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a media object.

query Parameters
role
required
string
Enum: "image" "thumbnail" "thumbnail_gif"

Role of media file being referenced.

index
integer >= 0

Insertion index. Must be less than size of current list of images for the specified role. If omitted, the image file will be appended to the end of the list.

Request Body schema: application/json
host
string

If supplied will use this instead of currently connected host, e.g. https://example.com

http_auth
string

If specified will be used for HTTP authorization in request for media, i.e. "bearer TOKEN".

mime
string

Example mime: "image/jpg".

path
required
string

Relative URL to the file.

resolution
required
Array of integers = 2 items [ items >= 1 ]

Resolution of the video in pixels (height, width).

size
integer

File size in bytes.

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "http_auth": "string",
  • "mime": "string",
  • "path": "string",
  • "resolution": [
    ],
  • "size": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

DeleteInvitation

Delete invitation.

Invitations allow users with administrative privileges for an organization to invite a user to join their organization using their email address. Upon creation, if automatic emails are configured an email will be sent to the specified email address. If the user has not yet registered, the email will contain a link to register using a registration token. If the user has registered, the email will send a link to accept the invitation. The link is also returned in the response of the create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a invitation.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetInvitation

Get invitation.

Invitations allow users with administrative privileges for an organization to invite a user to join their organization using their email address. Upon creation, if automatic emails are configured an email will be sent to the specified email address. If the user has not yet registered, the email will contain a link to register using a registration token. If the user has registered, the email will send a link to accept the invitation. The link is also returned in the response of the create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a invitation.

Responses

Response samples

Content type
application/json
{
  • "created_by": 0,
  • "created_datetime": "2019-08-24T14:15:22Z",
  • "created_username": "string",
  • "email": "string",
  • "id": 0,
  • "organization": 1,
  • "permission": "Member",
  • "registration_token": "string",
  • "status": "Pending"
}

UpdateInvitation

Update invitation.

Invitations allow users with administrative privileges for an organization to invite a user to join their organization using their email address. Upon creation, if automatic emails are configured an email will be sent to the specified email address. If the user has not yet registered, the email will contain a link to register using a registration token. If the user has registered, the email will send a link to accept the invitation. The link is also returned in the response of the create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a invitation.

Request Body schema: application/json
permission
string
Enum: "Member" "Admin"

User permission level for the organization.

status
string
Value: "Accepted"

Status of the invitation.

Responses

Request samples

Content type
application/json
{
  • "permission": "Member",
  • "status": "Accepted"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetInvitationList

Get invitation list.

Invitations allow users with administrative privileges for an organization to invite a user to join their organization using their email address. Upon creation, if automatic emails are configured an email will be sent to the specified email address. If the user has not yet registered, the email will contain a link to register using a registration token. If the user has registered, the email will send a link to accept the invitation. The link is also returned in the response of the create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
organization
required
integer

A unique integer identifying an organization.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateInvitation

Create invitation.

Invitations allow users with administrative privileges for an organization to invite a user to join their organization using their email address. Upon creation, if automatic emails are configured an email will be sent to the specified email address. If the user has not yet registered, the email will contain a link to register using a registration token. If the user has registered, the email will send a link to accept the invitation. The link is also returned in the response of the create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
organization
required
integer

A unique integer identifying an organization.

Request Body schema: application/json
email
required
string

Email address of invitee.

permission
required
string
Enum: "Member" "Admin"

User permission level for the organization.

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "permission": "Member"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteJob

Delete background job.

Algorithms create argo workflows that are annotated with two uuid1 strings, one identifying the run and the other identifying the group. Jobs that are submitted together have the same group id, but each workflow has a unique run id.

This method allows the user to cancel a job using the uid returned by Job create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
uid
required
string

A uuid1 string identifying to single Job.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetJob

Get background job.

Algorithms create argo workflows that are annotated with two uuid1 strings, one identifying the run and the other identifying the group. Jobs that are submitted together have the same group id, but each workflow has a unique run id.

This method allows the user to get a job's status using the uid returned by Job create method.

Authorizations:
TokenAuthSessionAuth
path Parameters
uid
required
string

A uuid1 string identifying to single Job.

Responses

Response samples

Content type
application/json
{
  • "gid": "string",
  • "id": "string",
  • "nodes": [
    ],
  • "project": 0,
  • "start_time": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "stop_time": "2019-08-24T14:15:22Z",
  • "uid": "string",
  • "user": 0
}

DeleteJobCluster

Delete registered job cluster

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered job cluster.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetJobCluster

Get registered job cluster

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered job cluster.

Responses

Response samples

Content type
application/json
{
  • "cert": "string",
  • "host": "string",
  • "id": 0,
  • "name": "string",
  • "organization": 0,
  • "port": 0,
  • "token": "string"
}

UpdateJobCluster

Updated registered job cluster

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a registered job cluster.

Request Body schema: application/json
cert
required
string

Certificate for accessing the job cluster.

host
required
string

Hostname where the cluster can be accessed.

name
required
string

Unique name of the job cluster.

port
required
integer

Port where the cluster can be accessed.

token
required
string

Token for accessing the job cluster.

Responses

Request samples

Content type
application/json
{
  • "host": "New hostname",
  • "name": "New unique name"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetJobClusterList

Get job clusters.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying an organization.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateJobCluster

Create a job cluster.

This endpoint replicates the job cluster creation through the admin portal.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying an organization.

Request Body schema: application/json
cert
required
string

Certificate for accessing the job cluster.

host
required
string

Hostname where the cluster can be accessed.

name
required
string

Unique name of the job cluster.

port
required
integer

Port where the cluster can be accessed.

token
required
string

Token for accessing the job cluster.

Responses

Request samples

Content type
application/json
{
  • "cert": "string",
  • "host": "string",
  • "name": "string",
  • "port": 0,
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "message": "string",
  • "object": { }
}

DeleteJobList

Delete background job list.

Algorithms create argo workflows that are annotated with two uuid1 strings, one identifying the run and the other identifying the group. Jobs that are submitted together have the same group id, but each workflow has a unique run id.

This method allows the user to batch delete a list of jobs.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
gid
string

A UUID string identifying a group of jobs.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

GetJobList

Get background job list.

Algorithms create argo workflows that are annotated with two uuid1 strings, one identifying the run and the other identifying the group. Jobs that are submitted together have the same group id, but each workflow has a unique run id.

This method allows the user to status for a list of jobs in a project.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
gid
string

A UUID string identifying a group of jobs.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CreateJobList

Launch a registered algorithm.

This will create one or more Argo workflows that execute the named algorithm registration. To get a list of available algorithms, use the Algorithms endpoint. A media list will be submitted for processing using either a query string or a list of media IDs. If neither are included, the algorithm will be launched on all media in the project.

Media is divided into batches based on the files_per_job field of the Algorithm object. One batch is submitted to each Argo workflow.

Submitted algorithm jobs may be cancelled via the Job or JobGroup endpoints.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

Request Body schema: application/json
algorithm_name
required
string

Name of the algorithm to execute.

Array of objects (AlgorithmParameter)

Extra parameters to pass into the algorithm

object or null

Send an email message to members of the project using the Tator configured AWS email service

media_ids
required
Array of integers

List of media IDs.

object or null

Send an email message to members of the project using the Tator configured AWS email service

Responses

Request samples

Content type
application/json
Example
{
  • "algorithm_name": "My Algorithm",
  • "media_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": [
    ],
  • "message": "string",
  • "object": [
    ]
}

DeleteLeaf

Delete leaf.

Leaves are used to define label hierarchies that can be used for autocompletion of string attribute types. Leaves are a type of entity in Tator, meaning they can be described by user-defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a leaf.

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "message": "string"
}

GetLeaf

Get leaf.

Leaves are used to define label hierarchies that can be used for autocompletion of string attribute types. Leaves are a type of entity in Tator, meaning they can be described by user-defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a leaf.

Responses

Response samples

Content type
application/json
{
  • "attributes": {
    },
  • "id": 0,
  • "name": "string",
  • "parent": 0,
  • "path": "string",
  • "project": 0,
  • "type": 0
}

UpdateLeaf

Update leaf.

Leaves are used to define label hierarchies that can be used for autocompletion of string attribute types. Leaves are a type of entity in Tator, meaning they can be described by user-defined attributes.

Authorizations:
TokenAuthSessionAuth
path Parameters
id
required
integer

A unique integer identifying a leaf.

Request Body schema: application/json
object

Attribute values to update.

name
string

Name of the leaf.

null_attributes
Array of strings[ items >= 1 ]

Null a value in the attributes body

reset_attributes
Array of strings[ items >= 1 ]

Reset an attribute to the default value specified in the Type object

Responses

Request samples

Content type
application/json
{
  • "attributes": {
    },
  • "name": "string",
  • "null_attributes": [
    ],
  • "reset_attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

GetLeafCount

Get leaf list count.

This endpoint accepts the same query parameters as a GET or PUT request to the Leaves endpoint, but only returns the number of leaves.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
type
integer

Unique integer identifying a leaf type.

name
string

Name of the leaf element.

depth
integer

Get a specific tree depth. Root node depth is 0.

leaf_id
Array of integers

Comma-separated list of leaf IDs.

attribute
Array of strings

Attribute equality filter. Format is attribute1::value1,[attribute2::value2].

attribute_lt
Array of strings

Attribute less than filter. Format is attribute1::value1,[attribute2::value2].

attribute_lte
Array of strings

Attribute less than or equal filter. Format is attribute1::value1,[attribute2::value2].

attribute_gt
Array of strings

Attribute greater than filter. Format is attribute1::value1,[attribute2::value2].

attribute_gte
Array of strings

Attribute greater than or equal filter. Format is attribute1::value1,[attribute2::value2].

attribute_contains
Array of strings

Attribute contains filter. Format is attribute1::value1,[attribute2::value2].

attribute_distance
Array of strings

Range filter for geoposition attributes. Format is attribute1::distance_km2::lat2::lon2,[attribute2::distancekm2::lat2::lon2].

attribute_null
Array of strings

Attribute null filter. Returns elements for which a given attribute is not defined.

start
integer

Pagination start index. Index of the first item in a larger list to return.

stop
integer

Pagination stop index. Non-inclusive index of the last item in a larger list to return.

encoded_search
string

Base64 encoded string representing an Object_Search defined in /components/AttributeOperationSpec

sort_by
Array of strings

Field names to sort results by. Built-in names should be prefixed with '$', attributes must not be.

    Because the schema supports sorting by a list of attributes (effectively grouping), we have to utilize a special character to inform direction.
    Uses the common convention of '-'; thus `["$name", "-$id"]` would sort by name ascending and break tie-breakers(grouping) by descending by id.

    An example REST query will sort all localizations in project 1, by label descending and sort any ties by ascending x.

    `rest/Localizations/1?sort_by=-Label&sort_by=$x`


    A table of built-ins available for a given type:
                
| Name              | Description                            | Localizations | States | Medias | Leaves | Files | 
|-------------------|----------------------------------------|---------------|--------|--------|--------|-------|
| section           | Media section                          |       X       |   X    |   X    |        |       |
| created_datetime  | The time of creation for this datum    |       X       |   X    |   X    |    X   |   X   |
| created_by        | The user id who created this datum     |       X       |   X    |   X    |    X   |   X   |
| modified_datetime | The last modification time             |       X       |   X    |   X    |    X   |   X   |
| modified_by       | The last modification user             |       X       |   X    |   X    |    X   |   X   |
| name              | The name of the element                |               |        |   X    |    X   |   X   |
| fps               | The frames per second                  |               |        |   X    |        |       |
| deleted           | Whether the media is marked deleted    |               |        |   X    |    X   |   X   |
| variant_deleted   | Whether the metadata is marked deleted |       X       |   X    |        |        |       |
| archive_state     | The current archive state of the media |               |        |   X    |        |       |
| x, y, u, or v     | Geometric coordinates                  |               |        |        |        |       |
| width or height   | Geometric sizes                        |               |        |        |        |       |
| incident          | Available when doing a related search  |               |        |   X    |        |       |   

Responses

Response samples

Content type
application/json
0
0

GetLeafCountById

Get leaf list count by ID.

This endpoint accepts the same query parameters as a GET or PUT request to the Leaves endpoint, but only returns the number of leaves.

Authorizations:
TokenAuthSessionAuth
path Parameters
project
required
integer

A unique integer identifying a project.

query Parameters
type
integer

Unique integer identifying a leaf type.

name
string

Name of the leaf element.

depth
integer

Get a specific tree depth. Root node depth is 0.

leaf_id
Array of integers

Comma-separated list of leaf IDs.

attribute
Array of strings

Attribute equality filter. Format is attribute1::value1,[attribute2::value2].

attribute_lt
Array of strings

Attribute less than filter. Format is attribute1::value1,[attribute2::value2].

attribute_lte
Array of strings

Attribute less than or equal filter. Format is attribute1::value1,[attribute2::value2].