Canonical Tags are a way to reference a singular entity that is comprised of multiple fixed annotations. This is a useful abstraction when dealing with things like Airframes (Make, Model, Serial), People (First, Middle, Last), or Land (Section, Township, Range, QQ1, QQ2, etc). They are intended as a uniquely disambiguating abstraction for the multiple ways that a single entity can be expressed or written in a document.
Canonical Tags exist in two states. In their unattached state as CanonicalTag objects and as AttachedCanonicalTag object when describing a CanonicalTag that has been attached to an entire instrument or source file.
CanonicalTag Object
A canonical tag describes a unique entity defined by a type and an array of attributes
Attribute Name
Type
Description
Name describing the type of canonical tag
Array of canonical annotations that comprise the canonical tag
Unique id describing the canonical tag object
"Created" or "Found"
Returned when creating tags in bulk to reflect whether each tag already exists (Found) or was newly created in the request (Created).
Copy {
" typeName " : " Airframe Inventory " ,
" attributes " : [
{ " name " : " Make " , " value " : " Beech " }, { " name " : " Model " , " value " : " C24R " }, { " name " : " Serial Number " , " value " : " MC-453 " }
]
} GET https://api.annolab.ai/v1/project/{group_name}/{project_name}/tags
Returns a paginated list of tags in a project. Returns a limit of 10,000 tags per page/request.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Which page to return. Defaults to 1.
E.g. { "page" : 1 } returns first 1,000 results. { "page" : 2 } returns results 1,001 through 2,000. etc.
POST https://api.annolab.ai/v1/tag
Creates canonical tags. (Does not attach). If an identical canonical tag already exists, it does not create at duplicate.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Project name or id of the project
Name of the group that owns the project (only required if projectIdentifer is string)
POST https://api.annolab.ai/v1/tag/{domain_entity_id}
Edits a CanonicalTag 's typeName and/or attributes. Does not alter attachments.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Name describing the type of canonical tag
Delete a single tag by its domainEntityId
DELETE https://api.annolab.ai/v1/tag/{domainEntityId}
Deletes a CanonicalTag . Delete will cascade and delete all related AttachedCanonicalTag objects as well.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
DELETE https://api.annolab.ai/v1/tag
Deletes a CanonicalTag . Delete will cascade and delete all related AttachedCanonicalTag objects as well.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
String of the project containing the tag or the unique identifier of the project
Name of the group that owns the project (only required if projectIdentifier is a string and not id)
AttachedCanonicalTag Object
An attached canonical tag object describes the attachment of a canonical tag to some Instrument or Source
Attribute Name
Type
Description
What the canonical tag is attached to. Can be attached to either "Instrument" or "Source"
Name describing the type of canonical tag
Unique id of the canonical tag
Unique id describing where the canonical tag is attached. e.g. the unique id of the instrument
Unique id describing where the canonical tag is attached. e.g. the unique id of the file
Array of canonical annotations that comprise the canonical tag
Object that consists of a id, email, and username associated with the person who assigned the tag
Attach a tag to an instrument
POST https://api.annolab.ai/v1/instrument-tag
Attaches a canonical tag to an instrument.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Unique identifier for the instrument you wish to attach to
Unattach a tag from an instrument
DELETE https://api.annolab.ai/v1/instrument-tag
Removes a canonical tag attachment from an instrument
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Unique identifier for the instrument you wish to attach to
(Alternate) Unattach a tag from an instrument
DELETE https://api.annolab.ai/v1/instrument-tag/{instrument_id}/{domain_entity_id}
Alternative endpoint to unattach a tag from an instrument using the instrument id and domain entity id of the tag.
An instrument id is equivalent to the annotation id of a classification annotation.
Path Parameters
The instrument_id from which to unattach the tag. An instrument id is equivalent to the annotation id of a classification annotation.
The domain_entity_id of the canonical tag.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Attach a tag to a source
POST https://api.annolab.ai/v1/source-tag
Attaches a canonical tag to a source.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Either the project name or id of the project containing the source. If passing the project name, groupName is a required parameter.
The name of the group which owns the project. Required when passing a project name.
Name or id of the directory containing the source. Required when passing a source name.
Either the source file name or id of the source to attach the tag. If passing source name, directoryIdentifier is required.
Unattach a tag from a source.
DELETE https://api.annolab.ai/v1/source-tag
Removes a canonical tag attachment from a source
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}
Either the project name or id of the project containing the source. If passing the project name, groupName is a required parameter.
Either the source file name or id of the source to attach the tag. If passing source name, directoryIdentifier is required.
The name of the group which owns the project. Required when passing a project name.
Name or id of the directory containing the source. Required when passing a source name.
(Alternate) Unattach a tag from a source
DELETE https://api.annolab.ai/v1/source-tag/{source_id}/{domain_entity_id}
Alternative endpoint to unattach a tag from a source using the source id and domain entity id of the tag.
Path Parameters
Id of the source file from which to unattach the tag.
The domain_entity_id of the canonical tag.
Where you put your api key. Exporting a project requires a key with "Read" permissions.
{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}