Source code for annofabapi.models

# flake8: noqa: W291
# pylint: disable=too-many-lines,trailing-whitespace

"""
annofabapiのmodel(swagger.yamlの ``components.schemes`` )
enumならば列挙体として定義する。
それ以外は型ヒントしてして宣言する。

Note:
    このファイルはopenapi-generatorで自動生成される。詳細は generate/README.mdを参照
"""

import warnings  # pylint: disable=unused-import
from enum import Enum
from typing import Any, Dict, List, NewType, Optional, Tuple, Union  # pylint: disable=unused-import

from annofabapi._utils import deprecated_class  # pylint: disable=unused-import

### 手動の部分

AccountId = NewType("AccountId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``
    
"""

UserId = NewType("UserId", str)
"""

Example:
    ``john_doe``

"""

OrganizationId = NewType("OrganizationId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

ProjectId = NewType("ProjectId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

LabelId = NewType("LabelId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

AdditionalDataDefinitionId = NewType("AdditionalDataDefinitionId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

ChoiceId = NewType("ChoiceId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

PhraseId = NewType("PhraseId", str)
"""

Example:
    ``my_phrase_id``

"""

TaskId = NewType("TaskId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

InputDataId = NewType("InputDataId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

SupplementaryDataId = NewType("SupplementaryDataId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

TaskHistoryId = NewType("TaskHistoryId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

AnnotationId = NewType("AnnotationId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

InspectionId = NewType("InspectionId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

MakerId = NewType("MakerId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

JobId = NewType("JobId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

WebhookId = NewType("WebhookId", str)
"""

Example:
    ``12345678-abcd-1234-abcd-1234abcd5678``

"""

Duration = NewType("Duration", str)
"""

Example:
    ``PT34H17M36.789S``

"""

### 以下は自動生成の部分
AcceptOrganizationInvitationRequest = Dict[str, Any]
"""


Kyes of Dict

* token: str
    

"""

Account = Dict[str, Any]
"""


Kyes of Dict

* account_id: str
    
* user_id: str
    
* username: str
    
* email: str
    
* lang: str
    
* biography: str
    人物紹介、略歴。  この属性は、AnnoFab外の所属先や肩書などを表すために用います。 AnnoFab上の「複数の組織」で活動する場合、本籍を示すのに便利です。 
* keylayout: str
    
* authority: AccountAuthority
    
* is_external_account: bool
    [外部アカウントだけで作成したアカウント](/docs/faq/#v1u344)の場合true。  外部アカウント連携していないAnnoFabアカウントや、後から[外部アカウントとの紐付け](/docs/faq/#yyyub0)をしたAnnoFabアカウントの場合false。 
* updated_datetime: str
    

"""


[docs]class AccountAuthority(Enum): """ """ USER = "user" ADMIN = "admin"
AccountWorktimeStatistics = Dict[str, Any] """ Kyes of Dict * account_id: str * by_tasks: List[WorktimeStatisticsItem] ユーザごとのタスク1個当たりの作業時間情報(動画プロジェクトの場合は空リスト) * by_inputs: List[WorktimeStatisticsItem] ユーザごとの画像1個当たりの作業時間情報(動画プロジェクトの場合は空リスト) * by_minutes: List[WorktimeStatisticsItem] ユーザごとの動画1分当たりの作業時間情報(画像プロジェクトの場合は空リスト) """ ActionRequired = Dict[str, Any] """ 対応が必要な検査コメントが残っている時のエラー Kyes of Dict * inspection: Inspection * type: str ActionRequired """ AdditionalData = Dict[str, Any] """ Kyes of Dict * additional_data_definition_id: str * flag: bool `additional_data_definition`の`type`が`flag`のときの属性値。 * integer: int `additional_data_definition`の`type`が`integer`のときの属性値。 * comment: str `additional_data_definition`の`type`が`text`,`comment`,`link` または `tracking`のときの属性値。 * choice: str """ AdditionalDataChoiceValue = Dict[str, Any] """ Kyes of Dict * id: str * name: InternationalizationMessage """ AdditionalDataDefaultType = Dict[str, Any] """ 属性の初期値です。 初期値を指定する場合、属性の種類に応じて次の値を指定します。初期値を設定しない場合には空文字を指定します。 * type が flag の場合: 真偽値(`true` or `false`) * type が integer の場合: 整数値 * type が text の場合: 文字列 * type が comment の場合: 文字列 * type が choice の場合: 選択肢(`choices`)の `choice_id` * type が select の場合: 選択肢(`choices`)の `choice_id` 属性の種類に対して有効でない初期値を設定した場合、その設定は無視されます。 なお、トラッキングとリンクには初期値を設定できません。 Kyes of Dict """
[docs]class AdditionalDataDefinitionType(Enum): """ * `flag` - 真偽値 * `integer` - 整数値 * `text` - 自由記述(1行) * `comment` - 自由記述(複数行) * `choice` - 選択肢(ラジオボタン式) * `select` - 選択肢(ドロップダウン式) * `tracking` - 自由記述 (トラッキングID自動挿入) * `link` - アノテーションリンク """ FLAG = "flag" INTEGER = "integer" TEXT = "text" COMMENT = "comment" CHOICE = "choice" SELECT = "select" TRACKING = "tracking" LINK = "link"
AdditionalDataDefinitionV1 = Dict[str, Any] """ Kyes of Dict * additional_data_definition_id: str * read_only: bool * name: InternationalizationMessage * default: AdditionalDataDefaultType * keybind: List[Keybind] * type: AdditionalDataDefinitionType * choices: List[AdditionalDataDefinitionV1Choices] * regex: str * label_ids: List[str] リンク属性において、リンク先として指定可能なラベルID(空の場合制限なし) * required: bool リンク属性において、入力を必須とするかどうか * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ AdditionalDataDefinitionV1Choices = Dict[str, Any] """ Kyes of Dict * choice_id: str * name: InternationalizationMessage * keybind: List[Keybind] """ AdditionalDataDefinitionV2 = Dict[str, Any] """ Kyes of Dict * additional_data_definition_id: str * read_only: bool * name: InternationalizationMessage * default: AdditionalDataDefaultType * keybind: List[Keybind] * type: AdditionalDataDefinitionType * choices: List[AdditionalDataDefinitionV1Choices] * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ AdditionalDataRestriction = Dict[str, Any] """ Kyes of Dict * additional_data_definition_id: str * condition: AdditionalDataRestrictionCondition """ AdditionalDataRestrictionCondition = Dict[str, Any] """ Kyes of Dict * type: str `Imply` [詳しくはこちら](#section/API-Convention/API-_type) * enable: bool false を指定することで、入力を許可しないようにできます。 Imply との組み合わせで、特定条件下のみ入力を許すといった制限ができます。 * value: str 指定された正規表現に合致しないことを要求します。 * labels: List[str] リンク属性において、リンク先として指定可能なラベルIDを制限します。 * premise: AdditionalDataRestriction * condition: AdditionalDataRestrictionCondition """ AdditionalDataRestrictionConditionCanInput = Dict[str, Any] """ Kyes of Dict * type: str `CanInput` [詳しくはこちら](#section/API-Convention/API-_type) * enable: bool false を指定することで、入力を許可しないようにできます。 Imply との組み合わせで、特定条件下のみ入力を許すといった制限ができます。 """ AdditionalDataRestrictionConditionEquals = Dict[str, Any] """ Kyes of Dict * type: str `Equals` [詳しくはこちら](#section/API-Convention/API-_type) * value: str 指定された値と等しいことを要求します。 """ AdditionalDataRestrictionConditionHasLabel = Dict[str, Any] """ Kyes of Dict * type: str `HasLabel` [詳しくはこちら](#section/API-Convention/API-_type) * labels: List[str] リンク属性において、リンク先として指定可能なラベルIDを制限します。 """ AdditionalDataRestrictionConditionImply = Dict[str, Any] """ Kyes of Dict * type: str `Imply` [詳しくはこちら](#section/API-Convention/API-_type) * premise: AdditionalDataRestriction * condition: AdditionalDataRestrictionCondition """ AdditionalDataRestrictionConditionMatches = Dict[str, Any] """ Kyes of Dict * type: str `Matches` [詳しくはこちら](#section/API-Convention/API-_type) * value: str 指定された正規表現に合致することを要求します。 """ AdditionalDataRestrictionConditionNotEquals = Dict[str, Any] """ Kyes of Dict * type: str `NotEquals` [詳しくはこちら](#section/API-Convention/API-_type) * value: str 指定された値と異なることを要求します。 value に \"\" を指定することで、入力を必須とすることができます。 """ AdditionalDataRestrictionConditionNotMatches = Dict[str, Any] """ Kyes of Dict * type: str `NotMatches` [詳しくはこちら](#section/API-Convention/API-_type) * value: str 指定された正規表現に合致しないことを要求します。 """ AdditionalDataValue = Dict[str, Any] """ Kyes of Dict * type: str Link * value: str リンク先アノテーションID """ AdditionalDataValueChoice = Dict[str, Any] """ Kyes of Dict * type: str Choice * value: AdditionalDataChoiceValue """ AdditionalDataValueComment = Dict[str, Any] """ Kyes of Dict * type: str Comment * value: str 自由記述 """ AdditionalDataValueFlag = Dict[str, Any] """ Kyes of Dict * type: str Flag * value: bool フラグのON(true)またはOFF(false) """ AdditionalDataValueInteger = Dict[str, Any] """ Kyes of Dict * type: str Integer * value: int 整数値 """ AdditionalDataValueLink = Dict[str, Any] """ Kyes of Dict * type: str Link * value: str リンク先アノテーションID """ AdditionalDataValueTracking = Dict[str, Any] """ Kyes of Dict * type: str Tracking * value: str トラッキングID """ AggregationResult = Dict[str, Any] """ Kyes of Dict """ Annotation = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * details: List[AnnotationDetail] 矩形、ポリゴン、全体アノテーションなど個々のアノテーションの配列。 * updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) """ AnnotationData = Dict[str, Any] """ アノテーションの座標値や区間などのデータ。 `annotation_type` に応じて `string` や `object` の構造が変わります。 API レスポンスに使われる場合は常に `string` 形式です。 [putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は `string` に加え、`object` 形式も使用できます。 Kyes of Dict """
[docs]class AnnotationDataHoldingType(Enum): """ * `inner` - アノテーションのデータ部をJSON内部に保持します。 * `outer` - アノテーションのデータ部を外部ファイルの形式(画像など)で保持します """ INNER = "inner" OUTER = "outer"
AnnotationDetail = Dict[str, Any] """ Kyes of Dict * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * account_id: str * label_id: str * is_protected: bool `true`の場合、アノテーションをアノテーションエディタ上での削除から保護できます。 外部から取り込んだアノテーションに属性を追加するときなどに指定すると、データの削除を防げます。 * data_holding_type: AnnotationDataHoldingType * data: AnnotationData * path: str 外部ファイルに保存されたアノテーションのパス。`data_holding_type`が`inner`の場合は未指定です。 レスポンスの場合は`annotation_id`と同じ値が格納されます。 [putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は、[createTempPath](#operation/createTempPath) APIで取得できる一時データ保存先S3パスを格納してください。 更新しない場合は、[getEditorAnnotation](#operation/getEditorAnnotation) APIで取得した`path`をそのまま渡せます。 外部ファイルのフォーマットは下表の通りです。 <table> <tr><th>annotation_type</th><th>形式</th></tr> <tr><td>segmentation / segmentation_v2 </td><td>PNG画像。塗りつぶした部分は<code>rgba(255, 255, 255, 1) </code>、塗りつぶしていない部分は<code>rgba(0, 0, 0, 0) </code>。</td></tr> </table> * etag: str 外部ファイルに保存されたアノテーションのETag。`data_holding_type`が`inner`の場合、または[putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は未指定です。 * url: str 外部ファイルに保存されたアノテーションの認証済み一時URL。`data_holding_type`が`inner`の場合、または[putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は未指定です。 * additional_data_list: List[AdditionalData] 各要素は、 [アノテーション仕様](#operation/getAnnotationSpecs)で定義された属性(`additional_data_definitions`内)のいずれかの要素と対応づけます。 各要素は、どの属性なのかを表す`additional_data_definition_id`と値が必要です。値は、属性の種類に対応するキーに格納します(下表)。 <table> <tr><th>アノテーション属性の種類<br>(<code>additional_data_definition</code>の<code>type</code>)</th><th>属性の値を格納するキー</th><th>データ型</th></tr> <tr><td><code>text</code>, <code>comment</code> または <code>tracking</code></td><td><code>comment</code></td><td>string</td></tr> <tr><td><code>flag<c/ode></td><td><code>flag</code></td><td>boolean</td></tr> <tr><td><code>integer</code></td><td><code>integer</code></td><td>integer</td></tr> <tr><td><code>choice</code> または <code>select</code></td><td><code>choice</code></td><td>string(選択肢ID)</td></tr> <tr><td><code>link</code></td><td><code>comment</code></td><td>string(アノテーションID)</td></tr> </table> * created_datetime: str * updated_datetime: str """ AnnotationEditorFeature = Dict[str, Any] """ Kyes of Dict * append: bool * erase: bool * freehand: bool * rectangle_fill: bool * polygon_fill: bool * fill_near: bool """ AnnotationList = Dict[str, Any] """ Kyes of Dict * list: List[SingleAnnotation] 現在のページ番号に含まれる0件以上のアノテーションです。 * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまるアノテーションが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """ AnnotationQuery = Dict[str, Any] """ Kyes of Dict * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * exact_match_task_id: bool タスクIDの検索方法を指定します。 trueの場合は完全一致検索、falseの場合は中間一致検索です。 * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * exact_match_input_data_id: bool 入力データIDの検索方法を指定します。 trueの場合は完全一致検索、falseの場合は中間一致検索です。 * label_id: str * attributes: List[AdditionalData] * updated_from: str 開始日・終了日を含む区間[updated_from, updated_to]でアノテーションの更新日を絞り込むときに使用する、開始日。updated_toより後ろに指定された場合、期間指定は開始日・終了日を含む区間[updated_to, updated_from]となる。未指定の場合、本日であるとして扱われる。 * updated_to: str 開始日・終了日を含む区間[updated_from, updated_to]でアノテーションの更新日を絞り込むときに使用する、終了日。未指定の場合、本日であるとして扱われる。 """ AnnotationSpecs = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * labels: List[LabelV2] * inspection_phrases: List[InspectionPhrase] * updated_datetime: str アノテーション仕様の最終更新時刻 * option: AnnotationSpecsOption * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 * additionals: List[AdditionalDataDefinitionV2] * restrictions: List[AdditionalDataRestriction] * format_version: str """ AnnotationSpecsHistory = Dict[str, Any] """ Kyes of Dict * history_id: str * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * updated_datetime: str * url: str * account_id: str * comment: str """ AnnotationSpecsMovieOption = Dict[str, Any] """ Kyes of Dict * can_overwrap: bool 動画プロジェクトのアノテーションに重複配置を許すか否か。 """ AnnotationSpecsOption = Dict[str, Any] """ アノテーション仕様のオプション設定。 現時点では動画プロジェクトでのみ利用・指定可能。動画以外のプロジェクトでは値なし。 動画プロジェクトで値が未指定の場合、AnnotationSpecsOption内の値はすべてデフォルト値が指定されたものとして扱われる。 Kyes of Dict """ AnnotationSpecsRequest = Dict[str, Any] """ Kyes of Dict * labels: List[LabelV2] * inspection_phrases: List[InspectionPhrase] * comment: str * auto_marking: bool trueが指定された場合、各統計グラフにマーカーを自動追加します。 マーカーのタイトルには `comment` に指定された文字列が設定されます。 `comment` が指定されていなかった場合は \"アノテーション仕様の変更\" という文字列が設定されます。 * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) * option: AnnotationSpecsOption * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 * additionals: List[AdditionalDataDefinitionV2] * restrictions: List[AdditionalDataRestriction] * format_version: str """ AnnotationSpecsRequestV1 = Dict[str, Any] """ Kyes of Dict * labels: List[LabelV1] * inspection_phrases: List[InspectionPhrase] * comment: str * auto_marking: bool trueが指定された場合、各統計グラフにマーカーを自動追加します。 マーカーのタイトルには `comment` に指定された文字列が設定されます。 `comment` が指定されていなかった場合は \"アノテーション仕様の変更\" という文字列が設定されます。 * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) * option: AnnotationSpecsOption * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ AnnotationSpecsRequestV2 = Dict[str, Any] """ Kyes of Dict * labels: List[LabelV2] * additionals: List[AdditionalDataDefinitionV2] * restrictions: List[AdditionalDataRestriction] * inspection_phrases: List[InspectionPhrase] * comment: str * auto_marking: bool trueが指定された場合、各統計グラフにマーカーを自動追加します。 マーカーのタイトルには `comment` に指定された文字列が設定されます。 `comment` が指定されていなかった場合は \"アノテーション仕様の変更\" という文字列が設定されます。 * format_version: str * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) * option: AnnotationSpecsOption * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ AnnotationSpecsV1 = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * labels: List[LabelV1] * inspection_phrases: List[InspectionPhrase] * updated_datetime: str アノテーション仕様の最終更新時刻 * option: AnnotationSpecsOption * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ AnnotationSpecsV2 = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * labels: List[LabelV2] * additionals: List[AdditionalDataDefinitionV2] * restrictions: List[AdditionalDataRestriction] * inspection_phrases: List[InspectionPhrase] * format_version: str * updated_datetime: str アノテーション仕様の最終更新時刻 * option: AnnotationSpecsOption * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """
[docs]class AnnotationType(Enum): """ * `bounding_box` - 矩形を表します。 * `segmentation` - ピクセルレベルでの塗りつぶし(ラスター)を表します。 * `segmentation_v2` - 塗りつぶしv2を表します。v2はSemantic Segmentationに特化しています。 * `polygon` - ポリゴン(閉じた頂点集合)を表します。 * `polyline` - ポリライン(開いた頂点集合)を表します。 * `point` - 点を表します。 * `classification` - 入力データ全体に対するアノテーションを表します。 * `range` - 動画の区間を表します。 * `custom` - カスタム """ BOUNDING_BOX = "bounding_box" SEGMENTATION = "segmentation" SEGMENTATION_V2 = "segmentation_v2" POLYGON = "polygon" POLYLINE = "polyline" POINT = "point" CLASSIFICATION = "classification" RANGE = "range" CUSTOM = "custom"
[docs]class AssigneeRuleOfResubmittedTask(Enum): """ 再提出されたタスクの検査/受入担当者の割当方法 * `no_assignee` - 以前の担当者で固定せず、未割当てにします。 * `fixed` - 以前の担当者が再度担当します。以前の担当者がいない(1回目の検査/受入)場合は未割当てになります。 """ NO_ASSIGNEE = "no_assignee" FIXED = "fixed"
BatchAnnotation = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * label_id: str * additional_data_list: List[AdditionalData] * updated_datetime: str """ BatchAnnotationRequestItem = Dict[str, Any] """ Kyes of Dict * data: BatchAnnotation * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * updated_datetime: str """ BatchAnnotationRequestItemDelete = Dict[str, Any] """ アノテーション削除 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * updated_datetime: str * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchAnnotationRequestItemPut = Dict[str, Any] """ アノテーション更新 Kyes of Dict * data: BatchAnnotation * type: str `Put` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchCommentRequestItem = Dict[str, Any] """ Kyes of Dict * comment_id: str コメントのID。[値の制約についてはこちら。](#section/API-Convention/APIID) * phase: TaskPhase * phase_stage: int コメントを作成したときのフェーズのステージ。 * account_id: str * comment_type: str コメントの種別。次の値が指定できます。 * `onhold` - 保留コメントとして扱われます。 返信コメント作成時は返信先コメントの `comment_type` と同じ値を指定してください。 コメント更新時は更新前コメントと同じ値を指定してください(変更はできません)。 * phrases: List[str] `comment_type` の値によって指定可能な値が異なります。 * `onhold` の場合 * 使用しません(空配列 or 指定なし) * comment: str コメント本文。 * comment_node: CommentNode * datetime_for_sorting: str コメントのソート順を決める日時。コメント作成時のみ指定可能です。 AnnoFab標準エディタでは、コメントはここで指定した日時にしたがってスレッドごとに昇順で表示されます。 コメント作成時に未指定とした場合は、作成操作オブジェクトの順序に応じてコメント作成日時からずれた時刻が自動設定されます(ソート順を一意とするため)。 なお、この値は後から更新することはできません(値を指定しても無視されます)。 * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchCommentRequestItemDelete = Dict[str, Any] """ コメント削除 Kyes of Dict * comment_id: str コメントのID。[値の制約についてはこちら。](#section/API-Convention/APIID) * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchCommentRequestItemPut = Dict[str, Any] """ コメント更新 Kyes of Dict * comment_id: str コメントのID。[値の制約についてはこちら。](#section/API-Convention/APIID) * phase: TaskPhase * phase_stage: int コメントを作成したときのフェーズのステージ。 * account_id: str * comment_type: str コメントの種別。次の値が指定できます。 * `onhold` - 保留コメントとして扱われます。 返信コメント作成時は返信先コメントの `comment_type` と同じ値を指定してください。 コメント更新時は更新前コメントと同じ値を指定してください(変更はできません)。 * phrases: List[str] `comment_type` の値によって指定可能な値が異なります。 * `onhold` の場合 * 使用しません(空配列 or 指定なし) * comment: str コメント本文。 * comment_node: CommentNode * datetime_for_sorting: str コメントのソート順を決める日時。コメント作成時のみ指定可能です。 AnnoFab標準エディタでは、コメントはここで指定した日時にしたがってスレッドごとに昇順で表示されます。 コメント作成時に未指定とした場合は、作成操作オブジェクトの順序に応じてコメント作成日時からずれた時刻が自動設定されます(ソート順を一意とするため)。 なお、この値は後から更新することはできません(値を指定しても無視されます)。 * type: str `Put` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchInputDataRequestItem = Dict[str, Any] """ Kyes of Dict """ BatchInputDataRequestItemDelete = Dict[str, Any] """ 入力データ削除 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchInspectionRequestItem = Dict[str, Any] """ Kyes of Dict * data: Inspection * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * inspection_id: str 検査ID。[値の制約についてはこちら。](#section/API-Convention/APIID) """ BatchInspectionRequestItemDelete = Dict[str, Any] """ 検査コメント削除 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * inspection_id: str 検査ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchInspectionRequestItemPut = Dict[str, Any] """ 検査コメント更新 Kyes of Dict * data: Inspection * type: str `Put` [詳しくはこちら](#section/API-Convention/API-_type) """ BatchTaskRequestItem = Dict[str, Any] """ Kyes of Dict """ BatchTaskRequestItemDelete = Dict[str, Any] """ タスク削除 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * type: str `Delete` [詳しくはこちら](#section/API-Convention/API-_type) """ ChangePasswordRequest = Dict[str, Any] """ Kyes of Dict * user_id: str * old_password: str * new_password: str """ Color = Dict[str, Any] """ Kyes of Dict * red: int * green: int * blue: int """ Comment = Dict[str, Any] """ コメント Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * comment_id: str コメントのID。[値の制約についてはこちら。](#section/API-Convention/APIID) * phase: TaskPhase * phase_stage: int コメントを作成したときのフェーズのステージ。 * account_id: str * comment_type: str コメントの種別。 * `onhold` - 保留コメントとして扱われます。 * phrases: List[str] `comment_type` の値によって扱いが異なります。 * `onhold` の場合 * 使用しません(空配列) * comment: str コメント本文。 * comment_node: CommentNode * datetime_for_sorting: str コメントのソート順を決める日時。 AnnoFab標準エディタでは、コメントはここで指定した日時にしたがってスレッドごとに昇順で表示されます。 * created_datetime: str コメントの作成日時。 * updated_datetime: str コメントの更新日時。 """ CommentNode = Dict[str, Any] """ コメントのノード固有のデータ。 * `RootComment` - スレッドの先頭のコメント(ルートコメント)。 * `ReplyComment` - あるコメントへの返信コメント。 Kyes of Dict * data: InspectionData * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * label_id: str * status: CommentStatus * type: str `Reply` [詳しくはこちら](#section/API-Convention/API-_type) * root_comment_id: str コメントのID。[値の制約についてはこちら。](#section/API-Convention/APIID) """
[docs]class CommentStatus(Enum): """ `comment_type` の値によってコメントのステータスに格納される値とステータスの意味が変わります。 * `onhold` の場合 * `open`(未対応)、`resolved`(対応完了)を指定可能 """ OPEN = "open" RESOLVED = "resolved" CLOSED = "closed"
ConfirmAccountDeleteRequest = Dict[str, Any] """ Kyes of Dict * token: str """ ConfirmResetEmailRequest = Dict[str, Any] """ Kyes of Dict * token: str """ ConfirmResetPasswordRequest = Dict[str, Any] """ Kyes of Dict * user_id: str * confirmation_code: str * new_password: str """ ConfirmSignUpRequest = Dict[str, Any] """ Kyes of Dict * account_id: str * user_id: str * password: str * username: str * lang: str * keylayout: str * confirmation_code: str """ ConfirmVerifyEmailRequest = Dict[str, Any] """ Kyes of Dict * token: Token * confirmation_code: str """ Count = Dict[str, Any] """ Kyes of Dict * key: str 集約対象の `field` の値です。 * count: int 集約対象 `field` の値が `key` の値と等しかったリソースの件数です。 * aggregations: List[AggregationResult] この集約のサブ集約です。サブ集約がないときは空の配列になります。 """ CountResult = Dict[str, Any] """ Kyes of Dict * type: str `CountResult` [詳しくはこちら](#section/API-Convention/API-_type) * name: str 複数の集約を区別するための名前です。 `(フィールド名)_(集約内容)` のように命名されます。例えば `account_id` フィールドを `count` する場合、`account_id_count` となります。 * field: str 集約に使われたリソースのフィールド名です。 リソースの属性のさらに属性を参照するときは、`foo.bar.buz` のようにドット区切りになります。 * doc_count: int 集約の件数です。 * items: List[Count] 集約結果の値です。 """ DataPath = Dict[str, Any] """ Kyes of Dict * url: str ファイルアップロード用の一時URLです。このURLにファイルをアップロードします。 * path: str アップロードしたファイルをAFの [入力データ](#tag/af-input) や [補助情報](#tag/af-supplementary) に登録するとき、この`path`を指定します。 """ DeleteProjectResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo * project: Project """ Duplicated = Dict[str, Any] """ 値の重複が許可されていない属性の重複エラー Kyes of Dict * label_id: str * annotation_id: str * additional_data: AdditionalData * type: str Duplicated """ DuplicatedSegmentationV2 = Dict[str, Any] """ 塗りつぶしv2のラベルに対する1ラベルにつき1アノテーションまでの制約違反エラー Kyes of Dict * label_id: str * annotation_ids: List[str] * type: str DuplicatedSegmentationV2 """ ErrorItem = Dict[str, Any] """ Kyes of Dict * error_code: str * message: str エラーの概要 * ext: __DictStrKeyAnyValue__ 補足情報 """ Errors = Dict[str, Any] """ Kyes of Dict * errors: List[ErrorItem] * context: __DictStrKeyAnyValue__ 内部補足情報 """ FullAnnotation = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_phase: TaskPhase * task_phase_stage: int * task_status: TaskStatus * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_name: str * details: List[FullAnnotationDetail] * updated_datetime: str * annotation_format_version: str アノテーションフォーマットのバージョンです。 アノテーションフォーマットとは、プロジェクト個別のアノテーション仕様ではなく、AnnoFabのアノテーション構造のことです。 したがって、アノテーション仕様を更新しても、このバージョンは変化しません。 バージョンの読み方と更新ルールは、業界慣習の[Semantic Versioning](https://semver.org/)にもとづきます。 JSONに出力されるアノテーションフォーマットのバージョンは、アノテーションZIPが作成される時点のものが使われます。 すなわち、`1.0.0`の時点のタスクで作成したアノテーションであっても、フォーマットが `1.0.1` に上がった次のZIP作成時では `1.0.1` となります。 バージョンを固定してZIPを残しておきたい場合は、プロジェクトが完了した時点でZIPをダウンロードして保管しておくか、またはプロジェクトを「停止中」にします。 """ FullAnnotationAdditionalData = Dict[str, Any] """ Kyes of Dict * additional_data_definition_id: str * additional_data_definition_name: InternationalizationMessage * type: AdditionalDataDefinitionType * value: AdditionalDataValue """ FullAnnotationData = Dict[str, Any] """ アノテーションのデータが格納されます。 * `FullAnnotationDataClassification`: 入力データ全体に対するアノテーションデータです。 * `FullAnnotationDataSegmentation`: ピクセルレベルでの塗りつぶし(ラスター)のアノテーションデータです。 * `FullAnnotationDataSegmentationV2`: 塗りつぶしv2ののアノテーションデータです。塗りつぶしv2はSemantic Segmentationに特化しています。 * `FullAnnotationDataBoundingBox`: 矩形のアノテーションデータです。 * `FullAnnotationDataPoints`: ポリゴン(閉じた頂点集合)のアノテーションデータです。 * `FullAnnotationDataSinglePoint`: 点のアノテーションデータです。 * `FullAnnotationDataRange`: 動画区間のアノテーションデータです。 Kyes of Dict * type: str Unknown * data_uri: str * left_top: Point * right_bottom: Point * points: List[Point] * point: Point * begin: float 開始時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * end: float 終了時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * data: str """ FullAnnotationDataBoundingBox = Dict[str, Any] """ annotation_type が bounding_boxの場合に、[左上頂点座標, 右下頂点座標]を {\"x\":int, \"y\":int} の形式で記述したもの。 Kyes of Dict * left_top: Point * right_bottom: Point * type: str BoundingBox """ FullAnnotationDataClassification = Dict[str, Any] """ Kyes of Dict * type: str Classification """ FullAnnotationDataPoints = Dict[str, Any] """ 頂点座標 {\"x\":int, \"y\":int} の配列。 * annotation_type が polygon/polyline の場合: ポリゴン/ポリラインを構成する頂点の配列。 Kyes of Dict * points: List[Point] * type: str Points """ FullAnnotationDataRange = Dict[str, Any] """ annotation_type が rangeの場合に、[開始時間, 終了時間]を {\"begin\":number, \"end\":number} の形式で記述したもの。開始時間・終了時間の単位は秒で、精度はミリ秒まで。 Kyes of Dict * begin: float 開始時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * end: float 終了時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * type: str Range """ FullAnnotationDataSegmentation = Dict[str, Any] """ 塗っていないところは rgba(0,0,0,0)、塗ったところは rgba(255,255,255,1) の PNGデータをBase64エンコードしたもの。 Kyes of Dict * data_uri: str * type: str Segmentation """ FullAnnotationDataSegmentationV2 = Dict[str, Any] """ Kyes of Dict * data_uri: str * type: str SegmentationV2 """ FullAnnotationDataSinglePoint = Dict[str, Any] """ annotation_type が pointの場合。 Kyes of Dict * point: Point * type: str SinglePoint。 """ FullAnnotationDataUnknown = Dict[str, Any] """ annotation_typeにデータ構造が一致していない場合に、元のdata文字列をそのまま記述したもの。 Kyes of Dict * data: str * type: str Unknown """ FullAnnotationDetail = Dict[str, Any] """ Kyes of Dict * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * user_id: str * label_id: str * label_name: InternationalizationMessage * annotation_type: AnnotationType * data_holding_type: AnnotationDataHoldingType * data: FullAnnotationData * additional_data_list: List[FullAnnotationAdditionalData] """
[docs]class GraphType(Enum): """ * `task_progress` - タスク進捗状況 * `cumulative_labor_time_by_task_phase` - タスクフェーズ別累積作業時間 * `number_of_inspections_per_inspection_phrase` - 検査コメント内容別指摘回数 * `number_of_task_rejections_by_member` - メンバー別タスクが差戻された回数 * `labor_time_per_member` - メンバー別作業時間 * `mean_labor_time_per_image` - 画像一枚当たりの作業時間平均 * `mean_labor_time_per_minute_of_movie` - 動画一分当たりの作業時間平均 * `mean_labor_time_per_image_by_member` - メンバー別画像一枚当たりの作業時間平均 * `mean_labor_time_per_minute_of_movie_by_member` - メンバー別動画一分当たりの作業時間平均 """ TASK_PROGRESS = "task_progress" CUMULATIVE_LABOR_TIME_BY_TASK_PHASE = "cumulative_labor_time_By_task_phase" NUMBER_OF_INSPECTIONS_PER_INSPECTION_PHRASE = "number_of_inspections_per_inspection_phrase" NUMBER_OF_TASK_REJECTIONS_BY_MEMBER = "number_of_task_rejections_by_member" LABOR_TIME_PER_MEMBER = "labor_time_per_member" MEAN_LABOR_TIME_PER_IMAGE = "mean_labor_time_per_image" MEAN_LABOR_TIME_PER_MINUTE_OF_MOVIE = "mean_labor_time_per_minute_of_movie" MEAN_LABOR_TIME_PER_IMAGE_BY_MEMBER = "mean_labor_time_per_image_by_member" MEAN_LABOR_TIME_PER_MINUTE_OF_MOVIE_BY_MEMBER = "mean_labor_time_per_minute_of_movie_by_member"
HistogramItem = Dict[str, Any] """ Kyes of Dict * begin: float * end: float * count: int """ IllegalState = Dict[str, Any] """ 作業が開始されていない、担当が割り当たっていない等のエラー Kyes of Dict * type: str IllegalState """ InputData = Dict[str, Any] """ 入力データの情報を表すデータ構造です。 Kyes of Dict * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_name: str 表示用の名前です。 * input_data_path: str 入力データの実体が保存されたパスです。 s3スキーマまたはhttpsスキーマのみサポートしています。 * url: str 入力データを取得するためのhttpsスキーマのURLです。 このURLはセキュリティのために認証認可が必要となっており、URLだけでは入力データを参照できません。 このURLは内部用であり、常に変更になる可能性があります。そのため、アクセスは保証外となります。 また、このURLのレスポンスは最低1時間キャッシュされます。 キャッシュを無効にしたい場合は、クエリパラメータにアクセス毎にランダムなUUIDなどを付与してください。 設定の不備等でデータが取得できない場合、この属性は設定されません。 * etag: str * original_input_data_path: str AF外部のストレージから登録された場合、その外部ストレージ中のパス。 それ以外の場合は値なし * updated_datetime: str * sign_required: bool データがSigned Cookieによるクロスオリジン配信に対応しているか否かです。 * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。主にカスタムエディタで使われることを想定しています。 * system_metadata: SystemMetadata """ InputDataList = Dict[str, Any] """ Kyes of Dict * list: List[InputData] 現在のページ番号に含まれる0件以上の入力データです。 * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまる入力データが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """
[docs]class InputDataOrder(Enum): """ タスクに割り当てる入力データの順序 * `name_asc` - 入力データ名 昇順(a, b, c, ...)。日付や番号などの連続するデータ名を扱う場合に推奨 * `name_desc` - 入力データ名 降順(z, y, x, ...) * `random` - ランダム """ NAME_ASC = "name_asc" NAME_DESC = "name_desc" RANDOM = "random"
InputDataRequest = Dict[str, Any] """ Kyes of Dict * input_data_name: str 表示用の名前 * input_data_path: str AnnoFabに登録する入力データの実体が保存されたパスです。 対応スキーマ: * s3 * https 場面別の使い分け: * [一時データ保存先取得API](#operation/createTempPath)を使ってAFにアップロードした場合: `s3://ANNOFAB-BUCKET/PATH/TO/INPUT_DATA` * [プライベートストレージ](/docs/faq/#prst9c)の場合 * `https://YOUR-DOMAIN/PATH/TO/INPUT_DATA` * `s3://YOUR-BUCKET-FOR-PRIVATE-STORAGE/PATH/TO/INPUT_DATA` * S3プライベートストレージのパスを登録する場合、[事前に認可の設定が必要](/docs/faq/#m0b240)です。 * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) * sign_required: bool データがSigned Cookieによるクロスオリジン配信に対応しているか否かです。<br> このオプションを有効にする場合は、`input_data_path`として、AnnoFabのAWS IDをTrusted Signerとして登録したCloudFrontのURLを指定してください。 * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。主にカスタムエディタで使われることを想定しています。 """ InputDataSet = Dict[str, Any] """ 入力データセットの情報を表すデータ構造です。 Kyes of Dict * input_data_set_id: str 入力データセットID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_set_name: str 表示用の名前です。 * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_type: InputDataType * private_storage_arn: str AWS IAMロール。ビジネスプランでのS3プライベートストレージの認可で使います。 [S3プライベートストレージの認可の設定についてはこちら](/docs/faq/#m0b240)をご覧ください。 * updated_datetime: str 入力データセットの最終更新日時 """ InputDataSetList = Dict[str, Any] """ Kyes of Dict * list: List[InputDataSet] 現在のページ番号に含まれる0件以上の入力データセットです。 * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまる入力データが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """ InputDataSummary = Dict[str, Any] """ ある入力データのバリデーション結果です。入力データIDをキーに引けるようにMap[入力データID, バリデーション結果]となっています Kyes of Dict * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * inspection_summary: InspectionSummary * annotation_summaries: List[ValidationError] """
[docs]class InputDataType(Enum): """ アノテーションする入力データの種類。プロジェクトの作成時のみ指定可能(未指定の場合は `image`)です。更新時は無視されます。 * `image` - 画像 * `movie` - 動画 * `custom` - カスタム """ IMAGE = "image" MOVIE = "movie" CUSTOM = "custom"
Inspection = Dict[str, Any] """ 検査コメント Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * inspection_id: str 検査ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * phase: TaskPhase * phase_stage: int 検査コメントを付与したときのフェーズのステージ * commenter_account_id: str * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * label_id: str * data: InspectionData * parent_inspection_id: str 検査ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * phrases: List[str] 参照している定型指摘のID。 * comment: str 検査コメントの中身 * status: InspectionStatus * created_datetime: str * updated_datetime: str """ InspectionData = Dict[str, Any] """ ##### スレッドの先頭のコメントである(`parent_inspection_id` に値がない)場合 検査コメントの座標値や区間。 * `InspectionDataPoint`:点で検査コメントを付与したときの座標値 * `InspectionDataPolyline`:ポリラインで検査コメントを付与したときの座標値 * `InspectionDataTime`:検査コメントを付与した区間(動画プロジェクトの場合) * `InspectionDataCustom`:カスタム ##### 返信コメントである(`parent_inspection_id` に値がある)場合 現在は使用しておらず、レスポンスに含まれる値は不定です。APIのレスポンスにこの値を含む場合でも、「スレッドの先頭のコメント」の値を利用してください。 リクエストボディに指定する場合は、スレッドの先頭のコメントと同じ値を指定します。 Kyes of Dict * x: int * y: int * type: str `Custom` [詳しくはこちら](#section/API-Convention/API-_type) * coordinates: List[InspectionDataPolylineCoordinates] ポリラインを構成する頂点の配列 * start: float 開始時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * end: float 終了時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * data: str """ InspectionDataCustom = Dict[str, Any] """ Kyes of Dict * data: str * type: str `Custom` [詳しくはこちら](#section/API-Convention/API-_type) """ InspectionDataPoint = Dict[str, Any] """ 問題のある部分を示す座標 Kyes of Dict * x: int * y: int * type: str `Point` [詳しくはこちら](#section/API-Convention/API-_type) """ InspectionDataPolyline = Dict[str, Any] """ 問題のある部分を示すポリライン Kyes of Dict * coordinates: List[InspectionDataPolylineCoordinates] ポリラインを構成する頂点の配列 * type: str `Polyline` [詳しくはこちら](#section/API-Convention/API-_type) """ InspectionDataPolylineCoordinates = Dict[str, Any] """ Kyes of Dict * x: int * y: int """ InspectionDataTime = Dict[str, Any] """ 問題のある時間帯を表す区間 Kyes of Dict * start: float 開始時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * end: float 終了時間(ミリ秒)。小数点以下はミリ秒以下を表します。 * type: str `Time` [詳しくはこちら](#section/API-Convention/API-_type) """ InspectionOrReplyRequired = Dict[str, Any] """ 新規検査コメントまたは未対応検査コメントへの返信が必要である時のエラー Kyes of Dict * type: str InspectionOrReplyRequired """ InspectionPhrase = Dict[str, Any] """ Kyes of Dict * id: str * text: InternationalizationMessage """ InspectionStatistics = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * date: str 集計日 * breakdown: InspectionStatisticsBreakdown """ InspectionStatisticsBreakdown = Dict[str, Any] """ 検査コメント数の集計結果 Kyes of Dict * labels: dict(str, InspectionStatisticsPhrases) ラベルごとの指摘集計結果。キーは`label_id` * no_label: InspectionStatisticsPhrases """ InspectionStatisticsPhrases = Dict[str, Any] """ ラベル外指摘の集計結果 Kyes of Dict * phrases: dict(str, int) 定型指摘ごとの合計数。キーは定型指摘ID、値は指摘数 * no_phrase: int 非定型指摘の合計数 """
[docs]class InspectionStatus(Enum): """ ##### スレッドの先頭のコメントである(`parent_inspection_id` に値がない)場合 * `annotator_action_required` - 未処置。`annotation`フェーズ担当者が何らかの回答をする必要あり * `no_correction_required` - 処置不要。`annotation`フェーズ担当者が、検査コメントによる修正は不要、と回答した * `error_corrected` - 修正済み。`annotation`フェーズ担当者が、検査コメントの指示どおり修正した * `no_comment_inspection` - 作成途中。検査コメントの中身が未入力 ##### 返信コメントである(`parent_inspection_id` に値がある)場合 現在は使用しておらず、レスポンスに含まれる値は不定です。APIのレスポンスにこの値を含む場合でも、「スレッドの先頭のコメント」の値を利用してください。 リクエストボディに指定する場合は、スレッドの先頭のコメントと同じ値を指定します。 """ ANNOTATOR_ACTION_REQUIRED = "annotator_action_required" NO_CORRECTION_REQUIRED = "no_correction_required" ERROR_CORRECTED = "error_corrected" NO_COMMENT_INSPECTION = "no_comment_inspection"
[docs]class InspectionSummary(Enum): """ - `no_inspection` - 入力データに検査コメントが付けられていない。 - `no_comment_inspection` - 入力データに空の検査コメントが付けられている。 - `new_reply_to_unprocessed` - 現在進行中の検査・受入フェーズで未処理の検査コメントに対して新たに返信が付けられている。 - `new_unprocessed_inspection` - 現在進行中の検査・受入フェーズでつけられた検査コメントのうち、未処理のものが1つ以上ある。 - `unprocessed` - 過去の検査・受入フェーズでつけられた検査コメントのうち、未処理のものが1つ以上ある。 - `complete` - 入力データにつけられた検査コメントで未処理のものがない。 """ NO_INSPECTION = "no_inspection" NO_COMMENT_INSPECTION = "no_comment_inspection" NEW_REPLY_TO_UNPROCESSED = "new_reply_to_unprocessed" NEW_UNPROCESSED_INSPECTION = "new_unprocessed_inspection" UNPROCESSED = "unprocessed" COMPLETE = "complete"
InspectionValidationError = Dict[str, Any] """ Kyes of Dict * inspection: Inspection * type: str IllegalState """ Instruction = Dict[str, Any] """ Kyes of Dict * html: str 作業ガイドのHTML * last_updated_datetime: str * [getInstruction](#operation/getInstruction) APIのレスポンスの場合: 最後に作業ガイドを更新した日時。 * [putInstruction](#operation/putInstruction) APIのリクエストボディの場合: 最後に作業ガイドを更新した日時を指定する。まだ一度も保存した事がない場合は指定しない。 """ InstructionHistory = Dict[str, Any] """ Kyes of Dict * history_id: str 作業ガイドの履歴ID * account_id: str 作業ガイドを更新したユーザのアカウントID * updated_datetime: str 作業ガイドの最終更新日時 """ InstructionImage = Dict[str, Any] """ Kyes of Dict * image_id: str 作業ガイド画像ID * path: str 作業ガイド画像の実体が保存されたパスです。 * url: str 作業ガイド画像を取得するための内部用URLです。 * etag: str """ InstructionImagePath = Dict[str, Any] """ Kyes of Dict * url: str ファイルアップロード用の一時URLです。このURLにファイルをアップロードします。 * path: str 作業ガイド画像のURL """ InternationalizationMessage = Dict[str, Any] """ Kyes of Dict * messages: List[InternationalizationMessageMessages] * default_lang: str """ InternationalizationMessageMessages = Dict[str, Any] """ Kyes of Dict * lang: str * message: str """ InvalidAnnotationData = Dict[str, Any] """ アノテーションデータ不正エラー Kyes of Dict * label_id: str * annotation_id: str * message: str * type: str InvalidAnnotationData """ InvalidChoice = Dict[str, Any] """ 選択肢不正エラー Kyes of Dict * label_id: str * annotation_id: str * additional_data_definition_id: str * type: str InvalidChoice """ InvalidLinkTarget = Dict[str, Any] """ リンク先アノテーションが許可されているラベルでないエラー Kyes of Dict * label_id: str * annotation_id: str * additional_data_definition_id: str * type: str InvalidLinkTarget """ InvalidValue = Dict[str, Any] """ 値制約に合致しないエラー Kyes of Dict * label_id: str * annotation_id: str * additional_data_definition_id: str * type: str InvalidValue """ InviteOrganizationMemberRequest = Dict[str, Any] """ Kyes of Dict * role: OrganizationMemberRole """
[docs]class JobStatus(Enum): """ """ PROGRESS = "progress" SUCCEEDED = "succeeded" FAILED = "failed"
Keybind = Dict[str, Any] """ Kyes of Dict * code: str * shift: bool * ctrl: bool * alt: bool """ LabelStatistics = Dict[str, Any] """ Kyes of Dict * label_id: str * completed: int ラベルごとの受入が完了したアノテーション数 * wip: int ラベルごとの受入が完了していないアノテーション数 """ LabelV1 = Dict[str, Any] """ Kyes of Dict * label_id: str * label_name: InternationalizationMessage * keybind: List[Keybind] * annotation_type: AnnotationType * bounding_box_metadata: LabelV1BoundingBoxMetadata * segmentation_metadata: LabelV1SegmentationMetadata * additional_data_definitions: List[AdditionalDataDefinitionV1] * color: Color * annotation_editor_feature: AnnotationEditorFeature * allow_out_of_image_bounds: bool * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ LabelV1BoundingBoxMetadata = Dict[str, Any] """ Kyes of Dict * min_width: int * min_height: int * min_warn_rule: str * min_area: int * max_vertices: int * min_vertices: int * position_for_minimum_bounding_box_insertion: PositionForMinimumBoundingBoxInsertion * tolerance: int * has_direction: bool `annotation_type` が `polyline` の場合、アノテーションに向きを持たせるかどうかを指定できます。 この値が `true` の場合、AnnoFabの標準画像エディタ上ではポリラインの向きを示す矢印が描画されるようになります。 `annotationType` が `polyline` 以外の場合は必ず `false` となります。 """ LabelV1SegmentationMetadata = Dict[str, Any] """ Kyes of Dict * min_width: int * min_height: int * min_warn_rule: str * tolerance: int """ LabelV2 = Dict[str, Any] """ Kyes of Dict * label_id: str * label_name: InternationalizationMessage * keybind: List[Keybind] * annotation_type: AnnotationType * bounding_box_metadata: LabelV1BoundingBoxMetadata * segmentation_metadata: LabelV1SegmentationMetadata * additional_data_definitions: List[str] * color: Color * annotation_editor_feature: AnnotationEditorFeature * allow_out_of_image_bounds: bool * metadata: dict(str, str) ユーザーが自由に登録できるkey-value型のメタデータです。 """ LoginRequest = Dict[str, Any] """ Kyes of Dict * user_id: str * password: str """ LoginResponse = Dict[str, Any] """ Kyes of Dict * token: Token """ Marker = Dict[str, Any] """ Kyes of Dict * marker_id: str マーカーID。[値の制約についてはこちら。](#section/API-Convention/APIID) * title: str * graph_type: GraphType * marked_at: str グラフ上のマーカー位置(x軸) """ Markers = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * markers: List[Marker] * updated_datetime: str """ Message = Dict[str, Any] """ Kyes of Dict * message: str 多言語対応 """ MessageOrJobInfo = Dict[str, Any] """ Kyes of Dict * message: str 多言語対応 * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * job_type: ProjectJobType * job_id: str * job_status: JobStatus * job_execution: __DictStrKeyAnyValue__ ジョブの内部情報 * job_detail: __DictStrKeyAnyValue__ ジョブ結果の内部情報 * created_datetime: str * updated_datetime: str """ MyAccount = Dict[str, Any] """ Kyes of Dict * account_id: str * user_id: str * username: str * email: str * lang: str * biography: str 人物紹介、略歴。 この属性は、AnnoFab外の所属先や肩書などを表すために用います。 AnnoFab上の「複数の組織」で活動する場合、本籍を示すのに便利です。 * keylayout: str * authority: AccountAuthority * is_external_account: bool [外部アカウントだけで作成したアカウント](/docs/faq/#v1u344)の場合true。 外部アカウント連携していないAnnoFabアカウントや、後から[外部アカウントとの紐付け](/docs/faq/#yyyub0)をしたAnnoFabアカウントの場合false。 * updated_datetime: str * reset_requested_email: str * errors: List[str] """ MyAccountAllOf = Dict[str, Any] """ Kyes of Dict * reset_requested_email: str * errors: List[str] """ MyOrganization = Dict[str, Any] """ Kyes of Dict * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * name: str * email: str * price_plan: PricePlan * summary: __DictStrKeyAnyValue__ * created_datetime: str * updated_datetime: str * my_role: OrganizationMemberRole * my_status: OrganizationMemberStatus """ MyOrganizationList = Dict[str, Any] """ Kyes of Dict * list: List[MyOrganization] 現在のページ番号に含まれる0件以上の所属組織です。 * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまる所属組織が0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """ NoCommentInspection = Dict[str, Any] """ 空の検査コメントがある時のエラー Kyes of Dict * inspection: Inspection * type: str NoCommentInspection """ Organization = Dict[str, Any] """ Kyes of Dict * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * organization_name: str * email: str * price_plan: PricePlan * summary: __DictStrKeyAnyValue__ * created_datetime: str * updated_datetime: str """ OrganizationActivity = Dict[str, Any] """ Kyes of Dict * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * created_datetime: str * storage_usage_bytes: float """ OrganizationCacheRecord = Dict[str, Any] """ Kyes of Dict * input: str * members: str * statistics: str * organization: str """ OrganizationJobInfo = Dict[str, Any] """ Kyes of Dict * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * job_type: str ジョブの同時実行制御のために用いる、ジョブの種別。 (現在はまだ、この種別に該当するものはありません) * job_id: str * job_status: JobStatus * job_execution: __DictStrKeyAnyValue__ ジョブの内部情報 * job_detail: __DictStrKeyAnyValue__ ジョブ結果の内部情報 * created_datetime: str * updated_datetime: str """ OrganizationJobInfoContainer = Dict[str, Any] """ Kyes of Dict * list: List[OrganizationJobInfo] * has_next: bool """ OrganizationMember = Dict[str, Any] """ Kyes of Dict * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * account_id: str * user_id: str * username: str * role: OrganizationMemberRole * status: OrganizationMemberStatus * biography: str 人物紹介、略歴。 この属性は、AnnoFab外の所属先や肩書などを表すために用います。 AnnoFab上の「複数の組織」で活動する場合、本籍を示すのに便利です。 * created_datetime: str * updated_datetime: str """ OrganizationMemberList = Dict[str, Any] """ Kyes of Dict * list: List[OrganizationMember] * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまる組織メンバーが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """
[docs]class OrganizationMemberRole(Enum): """ """ OWNER = "owner" ADMINISTRATOR = "administrator" CONTRIBUTOR = "contributor"
[docs]class OrganizationMemberStatus(Enum): """ * `active` - 組織メンバーとして有効で、組織を閲覧したり、権限があれば編集できます。 * `waiting_response` - 組織に招待され、まだ加入/脱退を返答していません。組織の一部を閲覧のみできます。 * `inactive` - 脱退したメンバーを表します。組織を閲覧できません。 """ ACTIVE = "active" WAITING_RESPONSE = "waiting_response" INACTIVE = "inactive"
OrganizationPlugin = Dict[str, Any] """ Kyes of Dict * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * plugin_id: str プラグインID。[値の制約についてはこちら。](#section/API-Convention/APIID) * plugin_name: str プラグインの名前です。 プラグイン一覧や、プロジェクトで使うプラグインを選ぶときなどに表示されます。 * description: str プラグインの説明です。 プラグイン一覧や、プロジェクトで使うプラグインを選ぶときなどに表示されます。 * detail: PluginDetail * created_datetime: str * updated_datetime: str """ OrganizationPluginList = Dict[str, Any] """ Kyes of Dict * list: List[OrganizationPlugin] * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまるプロジェクトが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 """ OrganizationRegistrationRequest = Dict[str, Any] """ Kyes of Dict * organization_name: str 組織名。[値の制約についてはこちら。](#section/API-Convention/APIID) * organization_email: str * price_plan: PricePlan """ OutOfImageBounds = Dict[str, Any] """ 画像範囲外にアノテーションがはみ出しているエラー Kyes of Dict * label_id: str * annotation_id: str * type: str OutOfImageBounds """ OverlappedRangeAnnotation = Dict[str, Any] """ 区間が重複しているアノテーションが存在している場合に発生するエラー Kyes of Dict * label_id: str * annotation_id: str * type: str OverlappedRangeAnnotation """ PasswordResetRequest = Dict[str, Any] """ Kyes of Dict * email: str """ PhaseStatistics = Dict[str, Any] """ Kyes of Dict * phase: TaskPhase * worktime: str 累積作業時間(ISO 8601 duration) """ PluginDetail = Dict[str, Any] """ * `PluginDetailAnnotationEditor` - カスタムアノテーションエディタ用のプラグインを表します。 * `PluginDetailTaskAssignment` - カスタムタスク割当用のプラグインを表します。 * `PluginDetailAnnotationSpecs` - カスタムアノテーション仕様用のプラグインを表します。 Kyes of Dict * url: str カスタムアノテーション仕様画面の URL です。 プラグイン種別がカスタムアノテーション仕様の場合のみ有効です。 この URL には、プロジェクトを特定するための以下のパラメータを必ず埋め込んでください。 * `{projectId}` * auth_redirect_url: str 認証後のリダイレクト先 * compatible_input_data_types: List[InputDataType] プラグインが対応している入力データです。 プラグイン種別がカスタムアノテーションエディタ、またはカスタムアノテーション仕様の場合のみ有効です。 * type: str `AnnotationSpecs` [詳しくはこちら](#section/API-Convention/API-_type) """ PluginDetailAnnotationEditor = Dict[str, Any] """ カスタムアノテーションエディタ用のプラグインを表します。 Kyes of Dict * url: str カスタムアノテーションエディタでタスクを開くための URL です。 プラグインを使用するプロジェクトのタスク一覧などで使用されます。 プラグイン種別がカスタムアノテーションエディタの場合のみ有効です。 この URL には、タスクを特定するための以下のパラメータを必ず埋め込んでください。 * `{projectId}` * `{taskId}` 以下のパラメーターは任意で指定します。 * `{inputDataId}`: アノテーション一覧などから、特定の入力データにフォーカスした状態でタスクを開くときなどに指定します。 * `{annotationId}`: アノテーション一覧などから、特定のアノテーションにフォーカスした状態でタスクを開くときなどに指定します。 * auth_redirect_url: str 認証後のリダイレクト先。このURLに `?code=xxx` をつけてリダイレクトされます。 url プロパティとは異なり、 `{projectId}` や `{taskId}` といったパラメータの置換は行われません。 詳しくは [requestPluginToken API](#operation/requestPluginToken) を参照してください。 * compatible_input_data_types: List[InputDataType] プラグインが対応している入力データです。 プラグイン種別がカスタムアノテーションエディタ、またはカスタムアノテーション仕様の場合のみ有効です。 * type: str `AnnotationEditor` [詳しくはこちら](#section/API-Convention/API-_type) """ PluginDetailAnnotationSpecs = Dict[str, Any] """ カスタムアノテーション仕様用のプラグインを表します。 Kyes of Dict * url: str カスタムアノテーション仕様画面の URL です。 プラグイン種別がカスタムアノテーション仕様の場合のみ有効です。 この URL には、プロジェクトを特定するための以下のパラメータを必ず埋め込んでください。 * `{projectId}` * auth_redirect_url: str 認証後のリダイレクト先 * compatible_input_data_types: List[InputDataType] プラグインが対応している入力データです。 プラグイン種別がカスタムアノテーションエディタ、またはカスタムアノテーション仕様の場合のみ有効です。 * type: str `AnnotationSpecs` [詳しくはこちら](#section/API-Convention/API-_type) """ PluginDetailTaskAssignment = Dict[str, Any] """ カスタムタスク割当用のプラグインを表します。 Kyes of Dict * url: str 「カスタムタスク割当API」のURLです。 プラグイン種別がカスタムタスク割当の場合のみ有効です。 #### カスタムタスク割当APIについて。 * 独自のアルゴリズムで作業者にタスクを割当するAPIです。 * AnnoFabから提供されるものではなく、第三者 (ユーザー様) が用意します。 * 作業者がタスク一覧やアノテーションエディタのタスク取得ボタンを押すと、指定したURLに複数の情報 (※1) と共にHTTPリクエスト (POST) が送られます。 * カスタムタスク割当APIでは、AnnoFabで提供しているAPI (※2) を使用して作業者にタスクを割当してください。 * タスクの割当に成功した場合は以下のHTTPレスポンスを返却してください。 * レスポンスヘッダ: `Access-Control-Allow-Origin: https://annofab.com` * レスポンスボディ: 割当した単一のタスク * ステータスコード: 200 * 作業者に割当できるタスクがない場合は以下のHTTPレスポンスを返却してください。 * レスポンスヘッダ: `Access-Control-Allow-Origin: https://annofab.com` * レスポンスボディ: `{\"errors\": [{\"error_code\": \"MISSING_RESOURCE\"}]}` * ステータスコード: 404 * 作業者の認証トークンの期限が切れている場合があります。その場合は以下のHTTPレスポンスを返却してください。 * レスポンスヘッダ: `Access-Control-Allow-Origin: https://annofab.com` * レスポンスボディ: `{\"errors\": [{\"error_code\": \"EXPIRED_TOKEN\"}]}` * ステータスコード: 401 #### Preflightリクエストについて。 * AnnoFabからカスタムタスク割当APIへCross-OriginなHTTPリクエストを送信するより前に、ブラウザの仕様により「Preflightリクエスト」と呼ばれるHTTPリクエストが送られます。 * カスタムタスク割当を利用するためには、カスタムタスク割当APIとは別に「Preflightリクエスト対応API」を用意する必要があります。 * 以下の要件を満たす「Preflightリクエスト対応API」を用意してください。 * URL: カスタムタスク割当APIと同じURL * HTTPメソッド: OPTIONS * レスポンスヘッダ: * `Access-Control-Allow-Origin: https://annofab.com` * `Access-Control-Allow-Headers: Content-Type` * レスポンスボディ: 空(から) * ステータスコード: 200 ※1 以下の情報が送られます。 * HTTPボディ (JSON形式) * `authorization_token` : タスク割当専用の認証トークン。AnnoFabのAPIを利用する際に使用します。 * `project_id` : タスクの割当リクエストが行われたプロジェクトのID。 * `phase` : 作業者が割当を要求したタスクフェーズ。このフェーズのタスクを割当してください。 ※2 例えば以下のAPIがあります。(詳しい情報はAPIドキュメントを参照してください) * `getMyAccount` : 作業者のアカウント情報を取得できます。 * `getTasks` : プロジェクトのタスクを取得できます。 * `assignTasks` : 作業者にタスクを割当することができます。 * type: str `TaskAssignment` [詳しくはこちら](#section/API-Convention/API-_type) """ PluginTokenRequest = Dict[str, Any] """ Kyes of Dict * type: str `RefreshToken` を指定します * authorization_code: str リダイレクト時にクエリパラメータ `code` として受け取った文字列 * code_verifier: str 認可リクエスト時に渡した `code_challenge` に対応するverifier文字列 * refresh_token: str 前回のトークン発行で得られた `refresh_token` """ PluginTokenRequestAuthorizationCode = Dict[str, Any] """ Kyes of Dict * type: str `AuthorizationCode` を指定します * authorization_code: str リダイレクト時にクエリパラメータ `code` として受け取った文字列 * code_verifier: str 認可リクエスト時に渡した `code_challenge` に対応するverifier文字列 """ PluginTokenRequestRefreshToken = Dict[str, Any] """ Kyes of Dict * type: str `RefreshToken` を指定します * refresh_token: str 前回のトークン発行で得られた `refresh_token` """ PluginTokenResponse = Dict[str, Any] """ Kyes of Dict * access_token: str APIアクセスに用いるトークン。 リクエストヘッダにおいて `Authorization: Bearer {access_token}` の形で指定します。 * refresh_token: str トークンの更新に用いるトークン。 """ Point = Dict[str, Any] """ 座標 Kyes of Dict * x: int * y: int """ PositionForMinimumBoundingBoxInsertion = Dict[str, Any] """ `annotation_type` が `bounding_box` かつ `min_warn_rule` が `and` または `or` の場合のみ、挿入する最小矩形アノテーションの原点を指定できます。 画像左上の座標が「x=0, y=0」です。 未指定、もしくは「画像外に飛び出たアノテーション」を許可していないにも関わらず飛び出してしまう場合は、表示範囲の中央に挿入されます。 「スキャンした帳票の記入欄」や「定点カメラで撮影した製品ラベル」など、アノテーションしたい位置やサイズが多くの画像で共通している場合に便利です。 `annotation_type` が `bounding_box` 以外の場合は必ず未指定となります。 Kyes of Dict * x: int * y: int """ PostAnnotationArchiveUpdateResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo """ PostAnnotationArchiveUpdateResponseWrapper = Dict[str, Any] """ Kyes of Dict * message: str 多言語対応 * job: ProjectJobInfo """ PostProjectTasksUpdateResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo """
[docs]class PricePlan(Enum): """ """ FREE = "free" BUSINESS = "business"
Project = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * title: str プロジェクトのタイトル * overview: str プロジェクトの概要 * project_status: ProjectStatus * input_data_type: InputDataType * configuration: ProjectConfiguration * created_datetime: str * updated_datetime: str * summary: ProjectSummary """ ProjectAccountStatistics = Dict[str, Any] """ Kyes of Dict * account_id: str * histories: List[ProjectAccountStatisticsHistory] """ ProjectAccountStatisticsHistory = Dict[str, Any] """ Kyes of Dict * date: str * tasks_completed: int 教師付フェーズのタスクを提出した回数、または検査/受入フェーズのタスクを合格/差戻にした回数。 たとえば、あるタスクのタスク履歴が下表の状態だった場合、2020-04-01の`tasks_completed`は以下の通りになります。 * Alice: 1 * Bob: 1 * Chris: 2 <table> <tr> <th>担当者</th> <th>フェーズ</th> <th>作業内容</th> <th>完了日時</th> </tr> <tr> <td>Alice</td> <td>教師付</td> <td>提出する</td> <td>2020-04-01 09:00</td> </tr> <tr> <td>Chris</td> <td>受入</td> <td>差し戻す</td> <td>2020-04-01 10:00</td> </tr> <tr> <td>Bob</td> <td>教師付</td> <td>提出する</td> <td>2020-04-01 11:00</td> </tr> <tr> <td>Chris</td> <td>受入</td> <td>合格にする</td> <td>2020-04-01 12:00</td> </tr> </table> * tasks_rejected: int 教師付フェーズを担当したタスクが差し戻された回数、または受入フェーズを担当したタスクが受入完了を取り消された回数。 たとえば、あるタスクのタスク履歴が下表の状態だった場合、2020-04-01の`tasks_rejected`は以下の通りになります。 * Alice: 1 * Bob: 1 * Chris: 1 <table> <tr> <th>担当者</th> <th>フェーズ</th> <th>作業内容</th> <th>完了日時</th> </tr> <tr> <td>Alice</td> <td>教師付</td> <td>提出する</td> <td>2020-04-01 09:00</td> </tr> <tr> <td>Chris</td> <td>受入</td> <td>差し戻す</td> <td>2020-04-01 10:00</td> </tr> <tr> <td>Bob</td> <td>教師付</td> <td>提出する</td> <td>2020-04-01 11:00</td> </tr> <tr> <td>Chris</td> <td>受入</td> <td>差し戻す</td> <td>2020-04-01 12:00</td> </tr> <tr> <td>Bob</td> <td>教師付</td> <td>提出する</td> <td>2020-04-01 13:00</td> </tr> <tr> <td>Chris</td> <td>受入</td> <td>合格にする</td> <td>2020-04-01 14:00</td> </tr> <tr> <td>Dave</td> <td>受入</td> <td>受入完了状態を取り消して、再度合格にする</td> <td>2020-04-01 15:00</td> </tr> </table> * worktime: str 作業時間(ISO 8601 duration) """ ProjectCacheRecord = Dict[str, Any] """ Kyes of Dict * input: str * members: str * project: str * instruction: str * specs: str * statistics: str * organization: str * supplementary: str """ ProjectConfiguration = Dict[str, Any] """ Kyes of Dict * number_of_inspections: int 検査回数。 * 0回:教師付け -> 受入 * 1回:教師付け -> 検査 -> 受入 * n回(n >= 2):教師付け -> 検査1 -> ... -> 検査n -> 受入 * assignee_rule_of_resubmitted_task: AssigneeRuleOfResubmittedTask * task_assignment_type: TaskAssignmentType * task_assignment_property: TaskAssignmentProperty * max_tasks_per_member: int 保留中のタスクを除き、1人(オーナー以外)に割り当てられるタスク数上限。未指定の場合は10件として扱う。 * max_tasks_per_member_including_hold: int 保留中のタスクを含めて、1人(オーナー以外)に割り当てられるタスク数上限。未指定の場合は20件として扱う。 * input_data_set_id_list: List[str] このフィールドは内部用でまだ何も意味を成しません。今は空配列を指定してください。 * input_data_max_long_side_length: int 入力データ画像の長辺の最大値(未指定時は4096px)。 画像をアップロードすると、長辺がこの値になるように画像が自動で圧縮されます。 アノテーションの座標は、もとの解像度の画像でつけたものに復元されます。 大きな数値を設定すると入力データ画像のサイズが大きくなり、生産性低下やブラウザで画像を表示できない懸念があります。注意して設定してください。 * sampling_inspection_rate: int 抜取検査率。0-100のパーセント値で指定し、未指定の場合は100%として扱う。 * sampling_acceptance_rate: int 抜取受入率。0-100のパーセント値で指定し、未指定の場合は100%として扱う。 * private_storage_aws_iam_role_arn: str AWS IAMロール。ビジネスプランでのS3プライベートストレージの認可で使います。 [S3プライベートストレージの認可の設定についてはこちら](/docs/faq/#m0b240)をご覧ください。 * plugin_id: str プラグインID。[値の制約についてはこちら。](#section/API-Convention/APIID) * custom_task_assignment_plugin_id: str プラグインID。[値の制約についてはこちら。](#section/API-Convention/APIID) * custom_specs_plugin_id: str プラグインID。[値の制約についてはこちら。](#section/API-Convention/APIID) """ ProjectContainer = Dict[str, Any] """ Kyes of Dict * list: List[Project] * has_next: bool """ ProjectCopyRequest = Dict[str, Any] """ Kyes of Dict * dest_project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * dest_title: str コピー先プロジェクトのタイトル * dest_overview: str コピー先プロジェクトの概要 * copy_inputs: bool 「入力データ」をコピーするかどうかを指定します。 * copy_tasks: bool 「タスク」をコピーするかどうかを指定します。 この属性の値を true とする場合、他の属性の値を必ず次のように指定してください。 * copy_inputs の値を true とする * copy_annotations: bool 「アノテーション」をコピーするかどうかを指定します。 この属性の値を true とする場合、他の属性の値を必ず次のように指定してください。 * copy_inputs の値を true とする * copy_tasks の値を true とする * copy_webhooks: bool 「Webhook」をコピーするかどうかを指定します。 * copy_supplementaly_data: bool 「補助情報」をコピーするかどうかを指定します。 この属性の値を true とする場合、他の属性の値を必ず次のように指定してください。 * copy_inputs の値を true とする * copy_instructions: bool 「作業ガイド」をコピーするかどうかを指定します。 """ ProjectCopyResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo * dest_project: Project """ ProjectInputsUpdateResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo """ ProjectJobInfo = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * job_type: ProjectJobType * job_id: str * job_status: JobStatus * job_execution: __DictStrKeyAnyValue__ ジョブの内部情報 * job_detail: __DictStrKeyAnyValue__ ジョブ結果の内部情報 * created_datetime: str * updated_datetime: str """ ProjectJobInfoContainer = Dict[str, Any] """ Kyes of Dict * list: List[ProjectJobInfo] * has_next: bool """
[docs]class ProjectJobType(Enum): """ * `copy-project` - プロジェクトのコピー。[initiateProjectCopy](#operation/initiateProjectCopy) APIを実行したときに登録されるジョブ。 * `gen-inputs` - zipファイルから入力データの作成。[putInputData](#operation/putInputData) APIを実行して、zipファイルから入力データを作成したときに登録されるジョブ。 * `gen-tasks` - タスクの一括作成。[initiateTasksGeneration](#operation/initiateTasksGeneration) APIを実行したときに登録されるジョブ。 * `gen-annotation` - アノテーションZIPの更新。[postAnnotationArchiveUpdate](#operation/postAnnotationArchiveUpdate) APIを実行したときに登録されるジョブ。 * `gen-tasks-list` - タスク全件ファイルの更新。[postProjectTasksUpdate](#operation/postProjectTasksUpdate) APIを実行したときに登録されるジョブ。 * `gen-inputs-list` - 入力データ情報全件ファイルの更新。[postProjectInputsUpdate](#operation/postProjectInputsUpdate) APIを実行したときに登録されるジョブ。 * `delete-project` - プロジェクトの削除。[deleteProject](#operation/deleteProject) APIを実行したときに登録されるジョブ。 * `invoke-hook` - Webhookの起動。 * `move-project` - プロジェクトの組織移動。[putProject](#operation/putProject) API で組織を変更したときに登録されるジョブ。 ## ジョブの同時実行制限 AnnoFab上に登録されているデータの整合性を保つため、プロジェクト内で特定のジョブが実行中の間は他のジョブが実行できないよう制限をかけています。 ジョブの同時実行可否はジョブの種別によって異なります。 ### copy-project 次のジョブが実行されている場合、このジョブを実行することはできません。 * `gen-inputs` * `gen-tasks` * `delete-project` * `move-project` ### gen-inputs 次のジョブが実行されている場合、このジョブを実行することはできません。 * `copy-project` * `gen-inputs` * `gen-tasks` * `gen-inputs-list` * `delete-project` * `move-project` ### gen-tasks 次のジョブが実行されている場合、このジョブを実行することはできません。 * `copy-project` * `gen-inputs` * `gen-tasks` * `gen-annotation` * `gen-tasks-list` * `delete-project` * `move-project` ### gen-annotation 次のジョブが実行されている場合、このジョブを実行することはできません。 * `gen-tasks` * `gen-annotation` * `delete-project` * `move-project` ### gen-tasks-list 次のジョブが実行されている場合、このジョブを実行することはできません。 * `gen-tasks` * `gen-tasks-list` * `delete-project` * `move-project` ### gen-inputs-list 次のジョブが実行されている場合、このジョブを実行することはできません。 * `gen-inputs` * `gen-inputs-list` * `delete-project` * `move-project` ### delete-project 他のジョブが実行されていない場合**のみ**実行できます。 ### invoke-hook 次のジョブが実行されている場合、このジョブを実行することはできません。 * `delete-project` * `move-project` ### move-project 他のジョブが実行されていない場合**のみ**実行できます。 """ COPY_PROJECT = "copy-project" GEN_INPUTS = "gen-inputs" GEN_TASKS = "gen-tasks" GEN_ANNOTATION = "gen-annotation" GEN_TASKS_LIST = "gen-tasks-list" GEN_INPUTS_LIST = "gen-inputs-list" DELETE_PROJECT = "delete-project" INVOKE_HOOK = "invoke-hook" MOVE_PROJECT = "move-project"
ProjectList = Dict[str, Any] """ Kyes of Dict * list: List[Project] 現在のページ番号に含まれる0件以上のプロジェクトです。 * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまるプロジェクトが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """ ProjectMember = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * account_id: str * user_id: str * username: str * member_status: ProjectMemberStatus * member_role: ProjectMemberRole * biography: str 人物紹介、略歴。 この属性は、AnnoFab外の所属先や肩書などを表すために用います。 AnnoFab上の「複数の組織」で活動する場合、本籍を示すのに便利です。 * updated_datetime: str * created_datetime: str * sampling_inspection_rate: int メンバー固有の抜取検査率(0-100のパーセント値)。 * sampling_acceptance_rate: int メンバー固有の抜取受入率(0-100のパーセント値)。 """ ProjectMemberList = Dict[str, Any] """ Kyes of Dict * list: List[ProjectMember] * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまるプロジェクトメンバーが0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """ ProjectMemberRequest = Dict[str, Any] """ Kyes of Dict * member_status: ProjectMemberStatus * member_role: ProjectMemberRole * sampling_inspection_rate: int メンバー固有の抜取検査率。0-100のパーセント値で指定する。値が指定された場合、プロジェクトの抜取検査率を指定の値で上書きする。 * sampling_acceptance_rate: int メンバー固有の抜取受入率。0-100のパーセント値で指定する。値が指定された場合、プロジェクトの抜取受入率を指定の値で上書きする。 * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) """
[docs]class ProjectMemberRole(Enum): """ """ OWNER = "owner" WORKER = "worker" ACCEPTER = "accepter" TRAINING_DATA_USER = "training_data_user"
[docs]class ProjectMemberStatus(Enum): """ * `active` - プロジェクトメンバーとして有効で、プロジェクトを閲覧したり、権限があれば編集できます。 * `inactive` - 脱退したプロジェクトメンバーを表します。プロジェクトを閲覧できません。 """ ACTIVE = "active" INACTIVE = "inactive"
[docs]class ProjectStatus(Enum): """ プロジェクトの状態 * `active` - プロジェクトが進行中 * `suspended` - プロジェクトが停止中 """ ACTIVE = "active" SUSPENDED = "suspended"
ProjectSummary = Dict[str, Any] """ Kyes of Dict * last_tasks_updated_datetime: str タスクの最終更新日時 """ ProjectTaskCounts = Dict[str, Any] """ Kyes of Dict * task_counts: List[ProjectTaskCountsTaskCounts] """ ProjectTaskCountsTaskCounts = Dict[str, Any] """ Kyes of Dict * phase: TaskPhase * status: TaskStatus * count: float 該当するタスクの数 """ ProjectTaskStatistics = Dict[str, Any] """ Kyes of Dict * phase: TaskPhase * status: TaskStatus * count: int タスク数 * work_timespan: int 累計実作業時間(ミリ秒) """ ProjectTaskStatisticsHistory = Dict[str, Any] """ Kyes of Dict * date: str * tasks: List[ProjectTaskStatistics] """ PutInputDataSetRequest = Dict[str, Any] """ 入力データセット新規作成/更新 Kyes of Dict * input_data_set_name: str 表示用の名前です。 * input_data_type: InputDataType * private_storage_arn: str AWS IAMロール。ビジネスプランでのS3プライベートストレージの認可で使います。 [S3プライベートストレージの認可の設定についてはこちら](/docs/faq/#m0b240)をご覧ください。 * last_updated_datetime: str 入力データセットの最終更新日時 """ PutMarkersRequest = Dict[str, Any] """ Kyes of Dict * markers: List[Marker] * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) """ PutMyAccountRequest = Dict[str, Any] """ Kyes of Dict * user_id: str * username: str * lang: str * keylayout: str * biography: str 人物紹介、略歴。 この属性は、AnnoFab外の所属先や肩書などを表すために用います。 AnnoFab上の「複数の組織」で活動する場合、本籍を示すのに便利です。 * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) """ PutOrganizationMemberRoleRequest = Dict[str, Any] """ Kyes of Dict * role: OrganizationMemberRole * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) """ PutOrganizationNameRequest = Dict[str, Any] """ Kyes of Dict * organization_id: str * organization_name: str 組織名。[値の制約についてはこちら。](#section/API-Convention/APIID) * last_updated_datetime: str """ PutOrganizationPluginRequest = Dict[str, Any] """ Kyes of Dict * plugin_name: str プラグインの名前です。 プラグイン一覧や、プロジェクトで使うプラグインを選ぶときなどに表示されます。 * description: str プラグインの説明です。 プラグイン一覧や、プロジェクトで使うプラグインを選ぶときなどに表示されます。 * detail: PluginDetail * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) """ PutProjectRequest = Dict[str, Any] """ Kyes of Dict * title: str プロジェクトのタイトル * overview: str プロジェクトの概要 * status: ProjectStatus * input_data_type: InputDataType * organization_name: str プロジェクトの所属組織を変更する場合は、ここに変更先の組織名を指定します。 * 所属組織を変更する前にプロジェクトを停止する必要があります。 * APIを呼び出すアカウントは、変更先組織の管理者またはオーナーである必要があります。 * 変更後の組織に所属していないプロジェクトメンバーも残りますが、作業はできません。あらためて組織に招待してください。 * configuration: ProjectConfiguration * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) * force_suspend: bool 作業中タスクがあるプロジェクトを停止する時trueにして下さい """ PutProjectResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo * project: Project """ RefreshTokenRequest = Dict[str, Any] """ Kyes of Dict * refresh_token: str """ ReplyComment = Dict[str, Any] """ Kyes of Dict * root_comment_id: str コメントのID。[値の制約についてはこちら。](#section/API-Convention/APIID) * type: str `Reply` [詳しくはこちら](#section/API-Convention/API-_type) """ ReplyRequired = Dict[str, Any] """ 返信が必要な検査コメントが残っている時のエラー Kyes of Dict * inspection: Inspection * type: str ReplyRequired """ ResetEmailRequest = Dict[str, Any] """ Kyes of Dict * email: str """ Resolution = Dict[str, Any] """ Kyes of Dict * width: float * height: float """ RootComment = Dict[str, Any] """ Kyes of Dict * data: InspectionData * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * label_id: str * status: CommentStatus * type: str `Root` [詳しくはこちら](#section/API-Convention/API-_type) """ SignUpRequest = Dict[str, Any] """ Kyes of Dict * email: str """ SimpleAnnotation = Dict[str, Any] """ Kyes of Dict * annotation_format_version: str アノテーションフォーマットのバージョンです。 アノテーションフォーマットとは、プロジェクト個別のアノテーション仕様ではなく、AnnoFabのアノテーション構造のことです。 したがって、アノテーション仕様を更新しても、このバージョンは変化しません。 バージョンの読み方と更新ルールは、業界慣習の[Semantic Versioning](https://semver.org/)にもとづきます。 JSONに出力されるアノテーションフォーマットのバージョンは、アノテーションZIPが作成される時点のものが使われます。 すなわち、`1.0.0`の時点のタスクで作成したアノテーションであっても、フォーマットが `1.0.1` に上がった次のZIP作成時では `1.0.1` となります。 バージョンを固定してZIPを残しておきたい場合は、プロジェクトが完了した時点でZIPをダウンロードして保管しておくか、またはプロジェクトを「停止中」にします。 * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_phase: TaskPhase * task_phase_stage: int * task_status: TaskStatus * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_name: str 入力データ名 * details: List[SimpleAnnotationDetail] 矩形、ポリゴン、全体アノテーションなど個々のアノテーションの配列。 * updated_datetime: str 更新日時。アノテーションが一つもない場合(教師付作業が未着手のときなど)は、未指定。 """ SimpleAnnotationDetail = Dict[str, Any] """ Kyes of Dict * label: str アノテーション仕様のラベル名です。 * annotation_id: str 個々のアノテーションにつけられたIDです。 * data: FullAnnotationData * attributes: __DictStrKeyAnyValue__ キーに属性の名前、値に各属性の値が入った辞書構造です。 """ SingleAnnotation = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * detail: SingleAnnotationDetail * updated_datetime: str """ SingleAnnotationDetail = Dict[str, Any] """ Kyes of Dict * annotation_id: str アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 * account_id: str * label_id: str * data_holding_type: AnnotationDataHoldingType * data: FullAnnotationData * etag: str data_holding_typeがouterの場合のみ存在し、データのETagが格納される * url: str data_holding_typeがouterの場合のみ存在し、データへの一時URLが格納される * additional_data_list: List[AdditionalData] * created_datetime: str * updated_datetime: str """ SupplementaryData = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * supplementary_data_id: str * supplementary_data_name: str 表示用の名前 * supplementary_data_path: str 補助情報の実体が保存されたパスです。 s3スキーマまたはhttpsスキーマのみサポートしています。 * url: str このフィールドはAF内部での利用のみを想定しており、依存しないでください。 * etag: str * supplementary_data_type: SupplementaryDataType * supplementary_data_number: int 表示順を表す数値(昇順)。同じ入力データに対して複数の補助情報で表示順が重複する場合、順序不定になります。 * updated_datetime: str """ SupplementaryDataRequest = Dict[str, Any] """ Kyes of Dict * supplementary_data_name: str 表示用の名前 * supplementary_data_path: str AnnoFabに登録する補助情報の実体が保存されたパスです。 対応スキーマ:s3, https * [一時データ保存先取得API](#operation/createTempPath)を使ってAFにアップロードしたファイルパスの場合 * `s3://ANNOFAB-BUCKET/PATH/TO/INPUT_DATA` * 補助情報作成/更新API成功時、アップロードしたファイルが一時データ保存先からコピーされます。 * APIのレスポンスからアップロードしたファイルのコピー先パス(s3スキーマ)を取得できます。 * すでにAFに登録されている補助情報のパスの場合 * `s3://ANNOFAB-SUPPLEMENTARY-BUCKET/PATH/TO/INPUT_DATA` * ファイルはコピーされません。 * [プライベートストレージ](/docs/faq/#prst9c)のパスの場合 * `https://YOUR-DOMAIN/PATH/TO/INPUT_DATA` * `s3://YOUR-BUCKET-FOR-PRIVATE-STORAGE/PATH/TO/INPUT_DATA` * S3プライベートストレージのパスを登録する場合、[事前に認可の設定が必要](/docs/faq/#m0b240)です。 * AFにファイルはコピーされません。 * supplementary_data_type: SupplementaryDataType * supplementary_data_number: int 表示順を表す数値(昇順)。同じ入力データに対して複数の補助情報で表示順が重複する場合、順序不定になります。 * last_updated_datetime: str """
[docs]class SupplementaryDataType(Enum): """ """ IMAGE = "image" TEXT = "text" CUSTOM = "custom"
SystemMetadata = Dict[str, Any] """ * `SystemMetadataImage`: 画像プロジェクトの場合。画像データ固有のメタデータが保存されます。 * `SystemMetadataMovie`: 動画プロジェクトの場合。動画データ固有のメタデータが保存されます。 * `SystemMetadataCustom`: カスタムプロジェクトの場合。カスタムデータ固有のメタデータが保存されます。 `metadata` プロパティとは違い、ユーザー側では値を編集できない読取専用のプロパティです。 Kyes of Dict * original_resolution: Resolution * resized_resolution: Resolution * type: str `Custom` * input_duration: float 入力データが動画の場合、動画の長さ(秒)。小数点以下はミリ秒以下を表します。 動画の長さが取得できなかった場合は値なし。 """ SystemMetadataCustom = Dict[str, Any] """ カスタムデータ用システムメタデータ。 現行はプロパティがない形式的なオブジェクトです。 Kyes of Dict * type: str `Custom` """ SystemMetadataImage = Dict[str, Any] """ 画像データ用システムメタデータ。 Kyes of Dict * original_resolution: Resolution * resized_resolution: Resolution * type: str `Image` """ SystemMetadataMovie = Dict[str, Any] """ 動画データ用システムメタデータ。 Kyes of Dict * input_duration: float 入力データが動画の場合、動画の長さ(秒)。小数点以下はミリ秒以下を表します。 動画の長さが取得できなかった場合は値なし。 * type: str `Movie` """ Task = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * phase: TaskPhase * phase_stage: int * status: TaskStatus * input_data_id_list: List[str] タスクに含まれる入力データのID * account_id: str * histories_by_phase: List[TaskHistoryShort] 簡易的なタスク履歴(あるフェーズを誰が担当したか) * work_time_span: int 累計実作業時間(ミリ秒) * number_of_rejections: int このタスクが差戻しされた回数(すべてのフェーズでの差戻し回数の合計 このフィールドは、どのフェーズで何回差戻されたかを区別できないため、廃止予定です。 `histories_by_phase` で各フェーズの回数を計算することで、差戻し回数が分かります。 例)`acceptance`フェーズが3回ある場合、`acceptance`フェーズで2回差し戻しされたことになります。 * started_datetime: str * updated_datetime: str * sampling: str * `inspection_skipped` - このタスクが抜取検査の対象外となり、検査フェーズをスキップしたことを表す。 * `inspection_stages_skipped` - このタスクが抜取検査の対象外となり、検査フェーズのステージを一部スキップしたことを表す。 * `acceptance_skipped` - このタスクが抜取検査の対象外となり、受入フェーズをスキップしたことを表す。 * `inspection_and_acceptance_skipped` - このタスクが抜取検査の対象外となり、検査・受入フェーズをスキップしたことを表す 未指定時はこのタスクが抜取検査の対象となったことを表す。(通常のワークフローを通過する) * metadata: __DictStrKeyAnyValue__ ユーザーが自由に登録できるkey-value型のメタデータです。 keyにはメタデータ名、valueには値を指定してください。 keyに指定できる文字種は次の通りです。 * 半角英数字 * `_` (アンダースコア) * `-` (ハイフン) valueに指定できる値は次の通りです。 * 文字列 * 数値 * 真偽値 """ TaskAssignRequest = Dict[str, Any] """ Kyes of Dict * request_type: TaskAssignRequestType """ TaskAssignRequestType = Dict[str, Any] """ * `TaskAssignRequestTypeRandom`: タスクフェーズのみを指定してランダムにタスクを自身に割当します。プロジェクト設定でタスクのランダム割当を有効にした場合のみ利用できます。 * `TaskAssignRequestTypeSelection`: 担当者とタスクを明示的に指定してタスクを割当します。プロジェクトオーナーもしくはチェッカーのみ、自身以外のプロジェクトメンバーを担当者に指定できます。プロジェクト設定でタスクの選択割当を有効にした場合のみ利用できます。 * `TaskAssignRequestTypeTaskProperty`: タスクフェーズのみを指定して、タスクプロパティ割当の設定に基づいてタスクを自身に割当します。プロジェクト設定でタスクプロパティ割当を有効にした場合のみ利用できます。 Kyes of Dict * phase: TaskPhase * type: str TaskPropertry * user_id: str * task_ids: List[str] 割当するタスクのID """ TaskAssignRequestTypeRandom = Dict[str, Any] """ Kyes of Dict * phase: TaskPhase * type: str Random """ TaskAssignRequestTypeSelection = Dict[str, Any] """ Kyes of Dict * user_id: str * task_ids: List[str] 割当するタスクのID * type: str Selection """ TaskAssignRequestTypeTaskProperty = Dict[str, Any] """ Kyes of Dict * phase: TaskPhase * type: str TaskPropertry """
[docs]class TaskAssignmentOrder(Enum): """ タスクの割当優先度を決定するための並び順。 * `asc` - 昇順 * `desc` - 降順 """ ASC = "asc" DESC = "desc"
TaskAssignmentProperty = Dict[str, Any] """ プロジェクト設定でタスクプロパティ割当を有効にしている場合のみ指定してください。 Kyes of Dict * name: str タスクの割当優先度を決定するためのタスクプロパティ。<br> 指定できるプロパティは次のいずれかです。 * `task_id` * `updated_datetime` * `metadata` (`metadata.{メタデータ名}` の形式で指定してください) * order: TaskAssignmentOrder """
[docs]class TaskAssignmentType(Enum): """ プロジェクトで使用するタスクの割当方式。 * `random` - タスクフェーズのみを指定してランダムにタスクを自身に割当する方式です。 * `selection` - 担当者とタスクを明示的に指定してタスクを割当する方式です。プロジェクトオーナーもしくはチェッカーのみ、自身以外のプロジェクトメンバーを担当者に指定できます。 * `random_and_selection` - ランダム割当と選択割当の両機能を使用する方式です。 * `task_property` - タスクのプロパティ(タスクID/更新日時/メタデータ)と並び順(昇順/降順)を設定して、その順番通りにタスクを割当する方式です。順番が同じタスクが複数ある場合は、その中からランダムに1つのタスクを割当します。プロパティと並び順は`TaskAssignmentProperty` から設定します。 * `custom` - タスク割当アルゴリズム (API) を独自に定義してタスクを割当する方式です。 """ RANDOM = "random" SELECTION = "selection" RANDOM_AND_SELECTION = "random_and_selection" TASK_PROPERTY = "task_property" CUSTOM = "custom"
TaskGenerateRequest = Dict[str, Any] """ Kyes of Dict * task_generate_rule: TaskGenerateRule * project_last_updated_datetime: str プロジェクトの最終更新日時([getProject](#operation/getProject) APIのレスポンス `updated_datetime`)。タスク生成の排他制御に使用。 """ TaskGenerateResponse = Dict[str, Any] """ Kyes of Dict * job: ProjectJobInfo * project: Project """ TaskGenerateResponseWrapper = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * organization_id: str 組織ID。[値の制約についてはこちら。](#section/API-Convention/APIID) * title: str プロジェクトのタイトル * overview: str プロジェクトの概要 * project_status: ProjectStatus * input_data_type: InputDataType * configuration: ProjectConfiguration * created_datetime: str * updated_datetime: str * summary: ProjectSummary * job: ProjectJobInfo * project: Project """ TaskGenerateRule = Dict[str, Any] """ * `TaskGenerateRuleByCount`: 1つのタスクに割りあてる入力データの個数を指定してタスクを生成します。 * `TaskGenerateRuleByDirectory`: 入力データ名をファイルパスに見立て、ディレクトリ単位でタスクを生成します。 * `TaskGenerateRuleByInputDataCsv`: 各タスクへの入力データへの割当を記入したCSVへのS3上のパスを指定してタスクを生成します。 Kyes of Dict * task_id_prefix: str 生成するタスクIDのプレフィックス。[値の制約についてはこちら。](#section/API-Convention/APIID) * allow_duplicate_input_data: bool falseのときは、既にタスクに使われている入力データを除外し、まだタスクに使われていない入力データだけを新しいタスクに割り当てます。trueのときは、既にタスクに使われている入力データを除外しません。 * input_data_count: int 1つのタスクに割り当てる入力データの個数 * input_data_order: InputDataOrder * type: str `ByInputDataCsv` [詳しくはこちら](#section/API-Convention/API-_type) * input_data_name_prefix: str タスク生成対象の入力データ名プレフィックス * csv_data_path: str 各タスクへの入力データへの割当を記入したCSVへのS3上のパス """ TaskGenerateRuleByCount = Dict[str, Any] """ 1つのタスクに割りあてる入力データの個数を指定してタスクを生成します。 Kyes of Dict * task_id_prefix: str 生成するタスクIDのプレフィックス。[値の制約についてはこちら。](#section/API-Convention/APIID) * allow_duplicate_input_data: bool falseのときは、既にタスクに使われている入力データを除外し、まだタスクに使われていない入力データだけを新しいタスクに割り当てます。trueのときは、既にタスクに使われている入力データを除外しません。 * input_data_count: int 1つのタスクに割り当てる入力データの個数 * input_data_order: InputDataOrder * type: str `ByCount` [詳しくはこちら](#section/API-Convention/API-_type) """ TaskGenerateRuleByDirectory = Dict[str, Any] """ 入力データ名をファイルパスに見立て、ディレクトリ単位でタスクを生成します。<br> Kyes of Dict * task_id_prefix: str 生成するタスクIDのプレフィックス。[値の制約についてはこちら。](#section/API-Convention/APIID) * input_data_name_prefix: str タスク生成対象の入力データ名プレフィックス * type: str `ByDirectory` [詳しくはこちら](#section/API-Convention/API-_type) """ TaskGenerateRuleByInputDataCsv = Dict[str, Any] """ 各タスクへの入力データへの割当を記入したCSVへのS3上のパスを指定してタスクを生成します。 Kyes of Dict * csv_data_path: str 各タスクへの入力データへの割当を記入したCSVへのS3上のパス * type: str `ByInputDataCsv` [詳しくはこちら](#section/API-Convention/API-_type) """ TaskHistory = Dict[str, Any] """ タスクのあるフェーズで、誰がいつどれくらいの作業時間を費やしたかを表すタスク履歴です。 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_history_id: str * started_datetime: str * ended_datetime: str * accumulated_labor_time_milliseconds: str 累計実作業時間(ISO 8601 duration) * phase: TaskPhase * phase_stage: int * account_id: str """ TaskHistoryEvent = Dict[str, Any] """ タスク履歴イベントは、タスクの状態が変化した1時点を表します。作業時間は、複数のこれらイベントを集約して計算するものなので、このオブジェクトには含まれません。 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_history_id: str * created_datetime: str * phase: TaskPhase * phase_stage: int * status: TaskStatus * account_id: str * request: TaskOperation """ TaskHistoryShort = Dict[str, Any] """ タスクのあるフェーズを誰が担当したかを表します。 Kyes of Dict * phase: TaskPhase * phase_stage: int * account_id: str * worked: bool そのフェーズでタスクの作業を行ったかどうか(行った場合はtrue) """ TaskInputValidation = Dict[str, Any] """ タスクの提出操作に対する入力データID別のバリデーション結果です。 Kyes of Dict * input_data_id: str 入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) * annotation_errors: List[ValidationError] * inspection_errors: List[InspectionValidationError] """ TaskList = Dict[str, Any] """ Kyes of Dict * list: List[Task] 現在のページ番号に含まれる0件以上のタスクです。 * page_no: float 現在のページ番号です。 * total_page_no: float 指定された条件にあてはまる検索結果の総ページ数。検索条件に当てはまるタスク0件であっても、総ページ数は1となります。 * total_count: float 検索結果の総件数。 * over_limit: bool 検索結果が1万件を超えた場合にtrueとなる。 * aggregations: List[AggregationResult] [Aggregationによる集約結果](#section/API-Convention/AggregationResult)。 """ TaskOperation = Dict[str, Any] """ Kyes of Dict * status: TaskStatus * last_updated_datetime: str 新規作成時は未指定、更新時は必須(更新前の日時) * account_id: str * force: bool タスクの強制操作を行う場合に立てるフラグ。現在、強制操作は強制差戻しのみがサポートされています。 """
[docs]class TaskPhase(Enum): """ * `annotation` - 教師付け。 * `inspection` - 中間検査。ワークフローが3フェーズのときのみ。 * `acceptance` - 受入。 """ ANNOTATION = "annotation" INSPECTION = "inspection" ACCEPTANCE = "acceptance"
TaskPhaseStatistics = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * date: str * phases: List[PhaseStatistics] タスクのフェーズごとの集計結果 """ TaskRequest = Dict[str, Any] """ Kyes of Dict * input_data_id_list: List[str] * metadata: __DictStrKeyAnyValue__ ユーザーが自由に登録できるkey-value型のメタデータです。 keyにはメタデータ名、valueには値を指定してください。 keyに指定できる文字種は次の通りです。 * 半角英数字 * `_` (アンダースコア) * `-` (ハイフン) valueに指定できる値は次の通りです。 * 文字列 * 数値 * 真偽値 """
[docs]class TaskStatus(Enum): """ * `not_started` - 未着手。 * `working` - 作業中。誰かが実際にエディタ上で作業している状態。 * `on_hold` - 保留。作業ルールの確認などで作業できない状態。 * `break` - 休憩中。 * `complete` - 完了。次のフェーズへ進む * `rejected` - 差戻し。修正のため、`annotation`フェーズへ戻る。[operateTask](#operation/operateTask) APIのリクエストボディに渡すときのみ利用する。その他のAPIのリクエストやレスポンスには使われない。 * `cancelled` - 提出取消し。修正のため、前フェーズへ戻る。[operateTask](#operation/operateTask) APIのリクエストボディに渡すときのみ利用する。その他のAPIのリクエストやレスポンスには使われない。 """ NOT_STARTED = "not_started" WORKING = "working" ON_HOLD = "on_hold" BREAK = "break" COMPLETE = "complete" REJECTED = "rejected" CANCELLED = "cancelled"
TaskValidation = Dict[str, Any] """ タスクの全入力データに対するバリデーション結果です。 Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * task_id: str タスクID。[値の制約についてはこちら。](#section/API-Convention/APIID) * inputs: List[InputDataSummary] """ TemporaryUrl = Dict[str, Any] """ 認証済み一時URL Kyes of Dict * url: str このURLは発行から1時間経過すると無効になります。 URLを構成するドメイン、パス、クエリパラメータなどが変更になることがあります。 """ Token = Dict[str, Any] """ Kyes of Dict * id_token: str 形式は[JWT](https://jwt.io/)。 * access_token: str 形式は[JWT](https://jwt.io/)。 * refresh_token: str 形式は[JWT](https://jwt.io/)。 """ UnknownAdditionalData = Dict[str, Any] """ 何らかの原因で、アノテーション仕様にない属性がついているエラー Kyes of Dict * label_id: str * annotation_id: str * additional_data_definition_id: str * type: str UnknownAdditionalData """ UnknownLabel = Dict[str, Any] """ 何らかの原因で、アノテーション仕様にないラベルがついているエラー Kyes of Dict * label_id: str * annotation_id: str * type: str UnknownLabel """ UnknownLinkTarget = Dict[str, Any] """ 指定されたIDに該当するアノテーションが存在しないエラー Kyes of Dict * label_id: str * annotation_id: str * additional_data_definition_id: str * type: str UnknownLinkTarget """ UserCacheRecord = Dict[str, Any] """ Kyes of Dict * account: str * members: str * projects: str * organizations: str """ ValidationError = Dict[str, Any] """ Kyes of Dict * label_id: str * annotation_id: str * message: str * type: str UnknownLabel * annotation_ids: List[str] * additional_data_definition_id: str * additional_data: AdditionalData """ VerifyEmailRequest = Dict[str, Any] """ Kyes of Dict * token: Token """ Webhook = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * event_type: WebhookEventType * webhook_id: str WebhookID。[値の制約についてはこちら。](#section/API-Convention/APIID) * webhook_status: WebhookStatus * method: WebhookHttpMethod * headers: List[WebhookHeader] * body: str * url: str * created_datetime: str * updated_datetime: str """
[docs]class WebhookEventType(Enum): """ * `task-completed` - タスク受入完了 * `annotation-archive-updated` - アノテーションZIP作成完了 * `input-data-zip-registered` - 入力データZIP登録完了 * `project-copy-completed` - プロジェクトコピー完了 """ TASK_COMPLETED = "task-completed" ANNOTATION_ARCHIVE_UPDATED = "annotation-archive-updated" INPUT_DATA_ZIP_REGISTERED = "input-data-zip-registered" PROJECT_COPY_COMPLETED = "project-copy-completed"
WebhookHeader = Dict[str, Any] """ Kyes of Dict * name: str * value: str """
[docs]class WebhookHttpMethod(Enum): """ """ POST = "POST" PUT = "PUT" DELETE = "DELETE" PATCH = "PATCH" GET = "GET" HEAD = "HEAD"
[docs]class WebhookStatus(Enum): """ """ ACTIVE = "active" INACTIVE = "inactive"
WebhookTestRequest = Dict[str, Any] """ Kyes of Dict * placeholders: __DictStrKeyAnyValue__ プレースホルダ名と置換する値 """ WebhookTestResponse = Dict[str, Any] """ Kyes of Dict * result: str * success: 通知先から正常なレスポンス(2xx系)を受け取った * failure: 通知先からエラーレスポンス(2xx系以外)を受け取った * error: リクエスト送信に失敗した、もしくはレスポンスを受信できなかった * request_body: str 実際に送信されたリクエストボディ * response_status: int 通知先から返されたHTTPステータスコード * response_body: str 通知先から返されたレスポンスボディ * message: str result=\"error\" 時のエラー内容等 """ WorktimeStatistics = Dict[str, Any] """ Kyes of Dict * project_id: str プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) * date: str * by_tasks: List[WorktimeStatisticsItem] タスク1個当たりの作業時間情報(動画プロジェクトの場合は空リスト) * by_inputs: List[WorktimeStatisticsItem] 画像1個当たりの作業時間情報(動画プロジェクトの場合は空リスト) * by_minutes: List[WorktimeStatisticsItem] 動画1分当たりの作業時間情報(画像プロジェクトの場合は空リスト) * accounts: List[AccountWorktimeStatistics] ユーザごとの作業時間情報 """ WorktimeStatisticsItem = Dict[str, Any] """ Kyes of Dict * phase: TaskPhase * histogram: List[HistogramItem] * average: str 作業時間の平均(ISO 8601 duration) * standard_deviation: str 作業時間の標準偏差(ISO 8601 duration) """