openapi: 3.0.1 servers: - url: http://datastore.agribus-connect.net description: Generated server url security: - bearerAuth: [] tags: - name: V1AgriculturalMachinery description: 農機オープンAPI v2.0.0 - name: AgriculturalApiOAuth description: 農機API OAuth管理 - name: V1AgriBusNavi description: AgriBus-NAVI専用のAPI - name: ErrorsDuplicationForTest description: データ修復テスト用API - name: ErrorsDuplication description: データ修復API paths: /v1/task_record_items/{id}/meta: put: tags: - V1FireTaskRecordItem description: TaskRecordItemのMetaデータを更新 operationId: updateMetaData parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMetaDataRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreUpdateResponse' /v1/ref_line_items/{id}/meta: put: tags: - V1FireRefLineItem description: RefLineItemのMetaデータを更新 operationId: updateRefLineItemMetaData parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMetaDataRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreUpdateResponse' /v1/plantings/{id}: put: tags: - V1Planting description: 作付を更新 operationId: update parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/EditPlantingRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemotePlanting' delete: tags: - V1Planting description: 対象圃場の作付を削除 operationId: delete_1 parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "200": description: OK /v1/partners/sac: get: tags: - V1Partner description: 現在ログインしているユーザーのSpaceAgri圃場リストを返します operationId: getSpaceAgriFields responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteSpaceAgriField' put: tags: - V1Partner description: AIDにSACのシステム連携情報を送信します operationId: putSpaceAgriLinkageInfo requestBody: content: application/json: schema: $ref: '#/components/schemas/SpaceAgriPutRequest' required: true responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/SpaceAgriPutRequest' /v1/observations/pf/{id}: put: tags: - V1Observation description: PF観測リストを保存します operationId: updatePfObservation parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/SaveSoilMoistureObservationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteSoilMoistureObservation' delete: tags: - V1Observation description: PF観測ポイントリストを削除します operationId: deletePfObservation parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "200": description: OK /v1/observations/at/{id}: put: tags: - V1Observation description: AT観測を保存します operationId: updateAtObservation parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/SaveAccumulatedTemperatureObservationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteAccumulatedTemperatureObservation' delete: tags: - V1Observation description: AT観測ポイントリストを削除します operationId: deleteAtObservation parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "200": description: OK /v1/field_items/{id}/polygon: put: tags: - V1FieldItem description: FieldItemのPolygonデータを更新 operationId: updateFieldItemPolygon parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFieldPolygonRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreUpdateResponse' /v1/field_items/{id}/meta: put: tags: - V1FieldItem description: FirestoreのFieldItemのMetaデータを更新 operationId: updateFieldItemMetaData parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMetaDataRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreUpdateResponse' /v1/task_record_items: post: tags: - V1FireTaskRecordItem description: フォローしているユーザーを含む作業履歴一覧。deleted=falseの条件下で、フィルターを解釈します。 operationId: listWithFilter parameters: - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskFilter' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/PagingResponseRemoteTaskRecordItem' /v1/task_record_items/sync/metadata: post: tags: - V1FireTaskRecordItem description: sync検知 operationId: waitSyncAsUpdateTaskRecordItem requestBody: content: application/json: schema: $ref: '#/components/schemas/SyncUpdateGeoItemRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/SyncUpdateTaskRecordItemResponse' /v1/task_record_items/filters: post: tags: - V1FireTaskRecordItem description: Tsvエクスポート前にTaskFilterを保存します operationId: saveTaskFilter requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskFilter' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/SaveTaskFilterResponse' /v1/ref_line_items: get: tags: - V1FireRefLineItem description: フォローしているユーザーを含むRefLine一覧 operationId: listRefLines parameters: - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/PagingResponseRemoteRefLineItem' post: tags: - V1FireRefLineItem description: GeoJSONで記述されたFieldをインポートする operationId: importRefLines requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreImportResponse' /v1/ref_line_items/sync/metadata: post: tags: - V1FireRefLineItem description: sync検知 operationId: waitSyncAsUpdateRefLineItem requestBody: content: application/json: schema: $ref: '#/components/schemas/SyncUpdateGeoItemRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/SyncUpdateRefLineItemResponse' /v1/plantings: get: tags: - V1Planting description: フォローしているユーザーを含む作付一覧 operationId: list responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemotePlanting' post: tags: - V1Planting description: 対象圃場に作付を作成 operationId: create requestBody: content: application/json: schema: $ref: '#/components/schemas/EditPlantingRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemotePlanting' /v1/observations/pf: get: tags: - V1Observation description: PF観測リストを取得します operationId: listPfObservations responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteSoilMoistureObservation' post: tags: - V1Observation description: PF観測を作成します operationId: createPfObservation requestBody: content: application/json: schema: $ref: '#/components/schemas/SaveSoilMoistureObservationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteSoilMoistureObservation' /v1/observations/at: get: tags: - V1Observation description: AT観測リストを取得します operationId: listAtObservations responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteAccumulatedTemperatureObservation' post: tags: - V1Observation description: AT観測を作成します operationId: createAtObservation requestBody: content: application/json: schema: $ref: '#/components/schemas/SaveAccumulatedTemperatureObservationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteAccumulatedTemperatureObservation' /v1/import/geo_json: post: tags: - V1Import description: KML/Shapefileを解析してGeoJSONとして返す(圃場)一覧 operationId: toGeoJson parameters: - name: encoding in: query required: false schema: type: string default: UTF-8 requestBody: content: application/json: schema: required: - file type: object properties: file: type: string format: binary responses: "200": description: OK content: application/json: schema: type: string /v1/field_items: get: tags: - V1FieldItem description: フォローしているユーザーを含む全てのFieldItem(圃場)一覧 operationId: listAllFieldItems_1 responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteFieldItem' post: tags: - V1FieldItem description: GeoJSONで記述されたFieldをインポートする operationId: importFields requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreImportResponse' /v1/field_items/{id}/elevation: get: tags: - V1FieldElevationMap description: FieldItemの高低差マップを取得 operationId: getElevationMapById parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteFieldElevationMap' post: tags: - V1FieldElevationMap description: FieldItemの高低差マップを作成 operationId: createElevationMapById parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateElevationMapRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteFieldElevationMap' /v1/field_items/sync/metadata: post: tags: - V1FieldItem description: Metaデータ、Polygon編集のsync検知 operationId: waitSyncAsUpdateFieldItem requestBody: content: application/json: schema: $ref: '#/components/schemas/SyncUpdateGeoItemRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/SyncUpdateFieldItemResponse' /v1/_errors/duplication/{username}: post: tags: - ErrorsDuplication description: 対象usernameの重複データを修復します operationId: fixAllForUsername parameters: - name: username in: path required: true schema: type: string responses: "200": description: OK /v1/_errors/duplication/test/copy: post: tags: - ErrorsDuplicationForTest description: 全ての対象usernameの重複データをFirestoreへコピーします operationId: copyAllDuplicatedDataFromRdsToFirestore responses: "200": description: OK /v1/_errors/duplication/test/copy/{username}: post: tags: - ErrorsDuplicationForTest description: 対象usernameの重複データをFirestoreへコピーします operationId: copyDuplicatedDataFromRdsToFirestore parameters: - name: username in: path required: true schema: type: string responses: "200": description: OK /v1/_errors/duplication/: post: tags: - ErrorsDuplication description: 重複データを修復します operationId: fixAll responses: "200": description: OK /v1/_connect/admin/task/csv: post: tags: - V1ConnectAdmin description: csvをエクスポート operationId: exportTasksCsv requestBody: content: application/json: schema: type: array items: type: string required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ExportTaskCsvResponse' /v1/task_record_items/{taskGroupId}: get: tags: - V1FireTaskRecordItem description: TaskRecordItemをidで取得します operationId: get parameters: - name: taskGroupId in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteTaskRecordItem' delete: tags: - V1FireTaskRecordItem description: TaskRecordItemを削除。Firestoreから物理削除する。 operationId: delete parameters: - name: taskGroupId in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreDeleteResponse' /v1/task_record_items/info/{taskGroupId}: get: tags: - V1FireTaskRecordItem description: TaskInfoを取得 operationId: getTaskInfo parameters: - name: taskGroupId in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/TaskInfo' /v1/task_record_items/archives/tsv/{filterName}: get: tags: - V1FireTaskRecordItem description: TaskFilterを使って抽出した作業のTSVをアーカイブします operationId: archiveTsv parameters: - name: filterName in: path required: true schema: type: string - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 responses: "200": description: OK content: text/event-stream: schema: $ref: '#/components/schemas/SseEmitter' /v1/ref_line_items/{id}/geo.json: get: tags: - V1FireRefLineItem description: RefLineItemのGeoJsonを取得します operationId: getGeoJson parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/Feature' - $ref: '#/components/schemas/FeatureCollection' - $ref: '#/components/schemas/GeometryCollection' - $ref: '#/components/schemas/LineString' - $ref: '#/components/schemas/MultiLineString' - $ref: '#/components/schemas/MultiPoint' - $ref: '#/components/schemas/MultiPolygon' - $ref: '#/components/schemas/Point' - $ref: '#/components/schemas/Polygon' /v1/ref_line_items/archives/tsv: get: tags: - V1FireRefLineItem description: 対象ページの基準線一覧TSVをアーカイブします operationId: archiveTsv_1 parameters: - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 responses: "200": description: OK content: text/event-stream: schema: $ref: '#/components/schemas/SseEmitter' /v1/ref_line_items/: get: tags: - V1FireRefLineItem description: フォローしているユーザーを含むRefLine一覧 operationId: listRefLines_1 parameters: - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/PagingResponseRemoteRefLineItem' /v1/realtime/{username}/{deviceId}/{trackKey}: get: tags: - V1RealTime description: リアルタイム情報を取得 operationId: getRealtimeInfos parameters: - name: username in: path required: true schema: type: string - name: deviceId in: path required: true schema: type: string - name: trackKey in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FeatureCollection' /v1/plantings/: get: tags: - V1Planting description: フォローしているユーザーを含む作付一覧 operationId: list_1 responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemotePlanting' /v1/operations/available/types: get: tags: - V1Operation description: 利用できるOperationType一覧 operationId: listAvailableTypes responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteOperationType' /v1/field_items/{id}/tasks/count: get: tags: - V1FieldItem description: FieldItemに紐づいているTaskRecordItemの数 operationId: countTasksInField parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/CountTaskInFieldResponse' /v1/field_items/page: get: tags: - V1FieldItem description: フォローしているユーザーを含むFieldItem(圃場)一覧をページ形式で取得 operationId: listFieldItemsForPage parameters: - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: pageSize in: query required: false schema: type: integer format: int32 default: 20 - name: sortKey in: query required: false schema: type: string - name: sortDirection in: query required: false schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/PagingResponseRemoteFieldItem' /v1/field_items/centroid: get: tags: - V1FieldItem description: そのユーザーがもつ圃場全ての重心座標 operationId: centroid responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Point' /v1/field_items/: get: tags: - V1FieldItem description: フォローしているユーザーを含む全てのFieldItem(圃場)一覧 operationId: listAllFieldItems responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteFieldItem' /v1/agricultural-machinery/devices: get: tags: - V1AgriculturalMachinery summary: デバイス一覧取得 description: 認証ユーザーに紐づくデバイス一覧を取得します operationId: getDevices responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/DeviceListResponse' /v1/agricultural-machinery/devices/{device_id}/locations: get: tags: - V1AgriculturalMachinery summary: 位置情報取得 description: 指定されたデバイスの位置情報履歴を取得します operationId: getLocationsByDeviceId parameters: - name: device_id in: path description: デバイスID(UUID形式) required: true schema: type: string - name: since in: query description: 開始日時(ISO8601形式) required: false schema: type: string - name: until in: query description: 終了日時(ISO8601形式) required: false schema: type: string - name: limit in: query description: 取得件数上限 required: false schema: type: integer format: int32 - name: sort in: query description: ソート順(asc/desc) required: false schema: type: string responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/FeatureCollection' /v1/agribus_navi/refline_items/around: get: tags: - V1AgriBusNavi description: 指定された地点を中心とした正円内に含まれる(Intersect)する基準線一覧を取得する operationId: listRefLinesAround parameters: - name: lat in: query description: latitude required: true schema: type: number format: double - name: lon in: query description: longitude required: true schema: type: number format: double - name: radius in: query description: 半径。単位はメートル。デフォルトは3000(m) required: false schema: type: integer format: int32 default: 3000 responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AgriBusNaviRefLine' /v1/agribus_navi/field_items/around: get: tags: - V1AgriBusNavi description: 指定された地点を中心とした正円内に含まれる(Intersect)する圃場一覧を取得する operationId: listFieldsAround parameters: - name: lat in: query description: latitude required: true schema: type: number format: double - name: lon in: query description: longitude required: true schema: type: number format: double - name: radius in: query description: 半径。単位はメートル。デフォルトは3000(m) required: false schema: type: integer format: int32 default: 3000 - name: includeFollowee in: query description: フォローしているユーザーの圃場も含めるかどうか。デフォルトは「含める」。 required: false schema: type: boolean default: true responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AgriBusNaviField' /v1/_errors/duplication/test/{username}/count: get: tags: - ErrorsDuplicationForTest description: 対象usernameの重複データの件数をカウントします。戻り値は集計値を文字列で表現したものです。 operationId: countDuplicatedData parameters: - name: username in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: string /v1/_errors/duplication/test/count: get: tags: - ErrorsDuplicationForTest description: 全体の重複データをカウントします。戻り値は集計値を文字列で表現したものです。 operationId: countAllDuplicatedData responses: "200": description: OK content: application/json: schema: type: string /v1/_connect/admin/task/{username}: get: tags: - V1ConnectAdmin description: 指定のusernameのTaskRecordItemのリストを返す operationId: getTaskRecordItems parameters: - name: username in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/FetchedResult' /poc/devices/{device_id}/locations: get: tags: - PocNokiOpenApi operationId: getLocationByDeviceId parameters: - name: device_id in: path required: true schema: type: string - name: since in: query required: false schema: type: string - name: until in: query required: false schema: type: string - name: limit in: query required: false schema: type: integer format: int32 - name: sort in: query required: false schema: type: string responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/FeatureCollection' deprecated: true /agricultural-api/oauth/scopes: get: tags: - AgriculturalApiOAuth summary: 利用可能なスコープ一覧取得 description: 農機APIで利用可能なOAuth2スコープの一覧を取得します operationId: getAvailableScopes responses: "200": description: OK content: '*/*': schema: type: array items: $ref: '#/components/schemas/ScopeInfo' /agricultural-api/oauth/client/validate: get: tags: - AgriculturalApiOAuth summary: クライアント検証 description: OAuth2クライアントの妥当性を検証します operationId: validateClient parameters: - name: clientId in: query description: クライアントID required: true schema: type: string - name: redirectUri in: query description: リダイレクトURI required: true schema: type: string - name: scope in: query description: 要求スコープ(スペース区切り) required: false schema: type: string responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/ClientValidationResponse' /v1/ref_line_items/{id}: delete: tags: - V1FireRefLineItem description: RefLineItemの削除。Firestoreから物理削除する。 operationId: deleteRefLineItem parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreDeleteResponse' /v1/field_items/{id}: delete: tags: - V1FieldItem description: FieldItemを削除。Firestoreから物理削除する。 operationId: deleteFieldItem parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FirestoreDeleteResponse' components: schemas: UpdateMetaDataRequest: required: - metaDataUpdatedAt type: object properties: metaDataUpdatedAt: type: string format: 2016-01-01T00:00:00.000Z name: type: string caption: type: string metaDatas: type: object additionalProperties: type: string FirestoreUpdateResponse: type: object properties: id: type: string EditPlantingRequest: type: object properties: fieldIds: type: array items: type: string masterCropId: type: integer format: int32 cropName: type: string varietyName: type: string colorHex: type: string startDate: type: string endDate: type: string RemotePlanting: type: object properties: id: type: integer format: int64 username: type: string fieldIds: type: array items: type: string masterCropId: type: integer format: int32 cropName: type: string varietyName: type: string colorHex: type: string startDate: type: string endDate: type: string now: type: boolean fieldNames: type: array items: type: string fieldArea: type: number format: double SpaceAgriPutRequest: type: object properties: farmId: type: string fieldId: type: string sceneId: type: string globalImageFileName: type: string localImageFileName: type: string baseURL: type: string SaveSoilMoistureObservationRequest: type: object properties: fireFieldId: type: string placeType: type: string drainage: type: string soil: type: string RemoteSoilMoistureObservation: type: object properties: id: type: integer format: int64 username: type: string placeType: type: string fireFieldId: type: string geohash: type: string drainage: type: string soil: type: string SaveAccumulatedTemperatureObservationRequest: type: object properties: fireFieldId: type: string placeType: type: string lowerLimitTemperature: type: number startDate: type: string endDate: type: string zoneId: type: string RemoteAccumulatedTemperatureObservation: type: object properties: id: type: integer format: int64 username: type: string placeType: type: string fireFieldId: type: string geohash: type: string lowerLimitTemperature: type: number startDate: type: string endDate: type: string baseHour: type: integer format: int32 zoneId: type: string Crs: type: object properties: type: type: string enum: - name - link properties: type: object additionalProperties: type: string format: 2016-01-01T00:00:00.000Z Feature: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: properties: type: object additionalProperties: type: string format: 2016-01-01T00:00:00.000Z geometry: $ref: '#/components/schemas/GeoJsonObject' id: type: string FeatureCollection: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: features: type: array items: $ref: '#/components/schemas/Feature' GeoJsonObject: required: - type type: object properties: crs: $ref: '#/components/schemas/Crs' bbox: type: array items: type: number format: double type: type: string discriminator: propertyName: type GeometryCollection: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: geometries: type: array items: $ref: '#/components/schemas/GeoJsonObject' LineString: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: coordinates: type: array items: $ref: '#/components/schemas/LngLatAlt' LngLatAlt: type: object properties: longitude: type: number format: double latitude: type: number format: double altitude: type: number format: double additionalElements: type: array items: type: number format: double MultiLineString: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: coordinates: type: array items: type: array items: $ref: '#/components/schemas/LngLatAlt' MultiPoint: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: coordinates: type: array items: $ref: '#/components/schemas/LngLatAlt' MultiPolygon: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: coordinates: type: array items: type: array items: type: array items: $ref: '#/components/schemas/LngLatAlt' Point: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: coordinates: $ref: '#/components/schemas/LngLatAlt' Polygon: type: object allOf: - $ref: '#/components/schemas/GeoJsonObject' - type: object properties: coordinates: type: array items: type: array items: $ref: '#/components/schemas/LngLatAlt' UpdateFieldPolygonRequest: type: object properties: features: type: array items: $ref: '#/components/schemas/Feature' Account: required: - uuids type: object allOf: - $ref: '#/components/schemas/Query' - type: object properties: uuids: type: array items: type: string Area: required: - operator - value type: object allOf: - $ref: '#/components/schemas/Query' - type: object properties: operator: type: string enum: - Equals - NotEquals - MoreThan - MoreThanEquals - Less - LessThanEquals value: type: number DateTimeRange: required: - from - to - type type: object properties: type: type: string enum: - Start from: type: string format: 2016-01-01T00:00:00.000Z to: type: string format: 2016-01-01T00:00:00.000Z Distance: required: - operator - value type: object allOf: - $ref: '#/components/schemas/Query' - type: object properties: operator: type: string enum: - Equals - NotEquals - MoreThan - MoreThanEquals - Less - LessThanEquals value: type: number Field: required: - fieldItemIds type: object allOf: - $ref: '#/components/schemas/Query' - type: object properties: fieldItemIds: type: array items: type: string OperationType: required: - values type: object allOf: - $ref: '#/components/schemas/Query' - type: object properties: values: type: array items: type: integer format: int32 Query: required: - type type: object properties: type: type: string discriminator: propertyName: type TaskFilter: required: - dateTimeRange - queries type: object properties: dateTimeRange: $ref: '#/components/schemas/DateTimeRange' queries: type: array items: oneOf: - $ref: '#/components/schemas/Account' - $ref: '#/components/schemas/Area' - $ref: '#/components/schemas/Distance' - $ref: '#/components/schemas/Field' - $ref: '#/components/schemas/OperationType' PaginationInfo: type: object properties: number: type: integer description: 現在何ページ目にいるか format: int32 numberOfElements: type: integer description: いくつの要素があるか format: int32 size: type: integer description: いくつの要素をページで持つか format: int32 totalElements: type: integer description: 全要素数 format: int64 totalPages: type: integer description: 総ページ数 format: int32 description: ページネーション情報 PagingResponseRemoteTaskRecordItem: type: object properties: contents: type: array description: データのリスト items: $ref: '#/components/schemas/RemoteTaskRecordItem' paginationInfo: $ref: '#/components/schemas/PaginationInfo' RemoteTaskRecordItem: type: object properties: username: type: string sessionId: type: string createdDateTime: type: string format: 2016-01-01T00:00:00.000Z lastModifiedDateTime: type: string format: 2016-01-01T00:00:00.000Z name: type: string caption: type: string geoInfoKey: type: string pk: type: integer format: int64 id: type: string documentId: type: string geoDocumentId: type: string syncedAt: type: string format: 2016-01-01T00:00:00.000Z deleted: type: boolean fieldItemId: type: string startedAt: type: string format: 2016-01-01T00:00:00.000Z startTime: type: string format: 2016-01-01T00:00:00.000Z endedAt: type: string format: 2016-01-01T00:00:00.000Z endTime: type: string format: 2016-01-01T00:00:00.000Z gnssSource: type: string workWidthOnStarted: type: number workWidthOnEnded: type: number workedArea: type: number workedAreaOnStarted: type: number workedAreaOnEnded: type: number distance: type: number distanceOnStarted: type: number distanceOnEnded: type: number operationType: type: string enum: - Tilling - Sowing - Planting - Fertilizing - CropProtection - Harvesting - Other avgSpeed: type: number complete: type: boolean fieldName: type: string overlappedArea: type: number description: データのリスト SyncUpdateGeoItemRequest: type: object properties: id: type: string description: updateしたFirestoreのId syncedAt: type: string format: 2016-01-01T00:00:00.000Z SyncUpdateTaskRecordItemResponse: type: object properties: isCompleted: type: boolean syncDateTime: type: string format: 2016-01-01T00:00:00.000Z remoteTaskRecordItem: $ref: '#/components/schemas/RemoteTaskRecordItem' SaveTaskFilterResponse: type: object properties: filterName: type: string ImportRequest: type: object properties: features: type: array description: 取り込みたいGeoJson Featureリスト(FeatureCollectionではありません) items: $ref: '#/components/schemas/Feature' propertyAsName: type: string description: 名称として利用する属性名 FirestoreImportResponse: type: object properties: importResults: type: array items: $ref: '#/components/schemas/FirestoreImportResult' FirestoreImportResult: type: object properties: id: type: string success: type: boolean RemoteRefLineItem: type: object properties: username: type: string sessionId: type: string createdDateTime: type: string format: 2016-01-01T00:00:00.000Z lastModifiedDateTime: type: string format: 2016-01-01T00:00:00.000Z name: type: string caption: type: string geoInfoKey: type: string pk: type: integer format: int64 id: type: string documentId: type: string geoDocumentId: type: string syncedAt: type: string format: 2016-01-01T00:00:00.000Z deleted: type: boolean fieldItemId: type: string length: type: number refLineType: type: string guidanceInterval: type: number refDirection: type: number fieldName: type: string SyncUpdateRefLineItemResponse: type: object properties: isCompleted: type: boolean syncDateTime: type: string format: 2016-01-01T00:00:00.000Z remoteRefLineItem: $ref: '#/components/schemas/RemoteRefLineItem' CreateElevationMapRequest: type: object properties: meshSize: type: number description: メッシュサイズ(m) format: double maxPointCount: type: integer description: 計算に用いる作業の最大ポイント数 format: int32 taskFetchLimit: type: integer description: フェッチする作業の最大数 format: int32 gnssStatusFilter: type: string description: GNSSステータスのフィルタリング enum: - "VeryStrict,Strict,Loose,VeryLoose" interpolation: type: string description: 補完方法 enum: - "InverseDistanceWeighting,NaturalNeighbor,TriangularFacet,Gwr" zValueValuator: type: string description: z値取得評価方法 enum: - "Default,Smooth" zMin: type: number description: 最小値とするzの値 format: double zMax: type: number description: 最大値とするzの値 format: double oldestTaskDate: type: string description: 作業の開始日付(yyyy-MM-dd) format: date newestTaskDate: type: string description: 作業の終了日付(yyyy-MM-dd) format: date specifiedDateRange: type: boolean ColorRange: type: object properties: stage: type: integer format: int32 min: type: number format: double max: type: number format: double color: type: string ColorRanges: type: object properties: ranges: type: array items: $ref: '#/components/schemas/ColorRange' RemoteFieldElevationMap: type: object properties: id: type: integer format: int64 status: type: string enum: - Creating - Completed - Failed geoJson: type: string description: Mapに表示するGeoJSON createdAt: type: string format: 2016-01-01T00:00:00.000Z updatedAt: type: string format: 2016-01-01T00:00:00.000Z meshSize: type: number format: double gridColCount: type: integer format: int32 gridRowCount: type: integer format: int32 taskFetchLimit: type: integer format: int32 newestTaskDate: type: string format: 2016-01-01T00:00:00.000Z oldestTaskDate: type: string format: 2016-01-01T00:00:00.000Z taskPointCount: type: integer description: 計算に利用した作業履歴の地点情報数 format: int32 colorRanges: $ref: '#/components/schemas/ColorRanges' gnssStatusFilter: type: string interpolation: type: string vertexValuator: type: string zRangeMin: type: number description: 標高レンジ最小値 format: double zRangeMax: type: number description: 標高レンジ最大値 format: double RemoteFieldItem: type: object properties: username: type: string sessionId: type: string createdDateTime: type: string format: 2016-01-01T00:00:00.000Z lastModifiedDateTime: type: string format: 2016-01-01T00:00:00.000Z name: type: string caption: type: string geoInfoKey: type: string pk: type: integer format: int64 id: type: string documentId: type: string geoDocumentId: type: string syncedAt: type: string format: 2016-01-01T00:00:00.000Z deleted: type: boolean area: type: number length: type: number geoJson: type: string centroid: $ref: '#/components/schemas/Point' bounds: $ref: '#/components/schemas/Polygon' geohash: type: string SyncUpdateFieldItemResponse: type: object properties: isCompleted: type: boolean syncDateTime: type: string format: 2016-01-01T00:00:00.000Z remoteFieldItem: $ref: '#/components/schemas/RemoteFieldItem' ExportTaskCsvResponse: type: object properties: geoPoints: type: array description: 出力対象のGeoPointsデータ items: $ref: '#/components/schemas/TaskRecordItemGeoPoint' status: type: string description: 出力対象のGeoPointsデータ enum: - COMPLETED - INTERRUPTED TaskRecordItemGeoPoint: type: object properties: lat: type: number lon: type: number z: type: number invalid_lat: type: number invalid_lon: type: number invalid_alt: type: number is_working: type: integer format: int32 heading: type: number work_width: type: number height: type: number speed: type: number roll: type: number pitch: type: number slant: type: number guidance_error: type: number guidance_heading_error: type: number created_at: type: string format: 2016-01-01T00:00:00.000Z single_antenna_heading: type: number multi_antenna_heading: type: number accel_x: type: number accel_y: type: number accel_z: type: number gyro_x: type: number gyro_y: type: number gyro_z: type: number ref_line_exists: type: integer format: int32 gnss_num_of_sats: type: integer format: int32 auto_steer_mode: type: number auto_steer_command_value: type: number auto_steer_measured_value: type: number auto_steer_offset_integral: type: number auto_drive_index_on_path: type: number hxgn_encoder_position_feedback_enabled: type: number hxgn_control_status: type: number hxgn_encoder_raw_position: type: number hxgn_encoder_center_position: type: number hxgn_encoder_position_limit: type: number hxgn_encoder_position_min: type: number hxgn_encoder_position_max: type: number hxgn_encoder_command_position: type: number index: type: integer format: int32 SectionStatusList0: type: number SectionStatusList1: type: number SectionStatusList2: type: number SectionStatusList3: type: number direction: type: integer format: int32 gnss_status: type: integer format: int32 description: 出力対象のGeoPointsデータ TaskInfo: type: object properties: geoJson: type: string effectiveSpeed: type: number format: double SseEmitter: type: object properties: timeout: type: integer format: int64 PagingResponseRemoteRefLineItem: type: object properties: contents: type: array description: データのリスト items: $ref: '#/components/schemas/RemoteRefLineItem' paginationInfo: $ref: '#/components/schemas/PaginationInfo' BoundingBox: type: object properties: north: type: number format: double south: type: number format: double east: type: number format: double west: type: number format: double RemoteSpaceAgriField: type: object properties: id: type: integer format: int64 aidUsername: type: string createdAt: type: string format: 2016-01-01T00:00:00.000Z updatedAt: type: string format: 2016-01-01T00:00:00.000Z name: type: string areaId: type: string farmId: type: string fieldId: type: string sceneId: type: string globalImageFileName: type: string localImageFileName: type: string boundingBox: $ref: '#/components/schemas/BoundingBox' globalImageUrl: type: string localImageUrl: type: string countryId: type: string baseUrl: type: string LocalizedValues: type: object RemoteOperationType: type: object properties: value: type: string localizedNames: $ref: '#/components/schemas/LocalizedValues' CountTaskInFieldResponse: type: object properties: taskCount: type: integer format: int32 PagingResponseRemoteFieldItem: type: object properties: contents: type: array description: データのリスト items: $ref: '#/components/schemas/RemoteFieldItem' paginationInfo: $ref: '#/components/schemas/PaginationInfo' DeviceInfo: type: object properties: device_id: type: string description: デバイスID(UUID形式) example: 550e8400-e29b-41d4-a716-446655440000 device_name: type: string description: デバイス名 example: Connect Agricultural Device manufacturer: type: string description: 製造元 example: Agri Info Design model: type: string description: モデル名 example: Connect-1 serial_number: type: string description: シリアル番号 example: CONN-2024-001 firmware_version: type: string description: ファームウェアバージョン example: 1.0.0 description: 農機デバイス情報 DeviceListResponse: type: object properties: devices: type: array description: デバイス情報リスト items: $ref: '#/components/schemas/DeviceInfo' total_count: type: integer description: 総デバイス数 format: int32 example: 1 page: type: integer description: 現在のページ番号 format: int32 example: 1 per_page: type: integer description: 1ページあたりの件数 format: int32 example: 10 description: デバイス一覧レスポンス AgriBusNaviRefLine: type: object properties: firestoreDocumentPath: type: string AgriBusNaviField: type: object properties: firestoreDocumentPath: type: string FetchedResult: type: object properties: sessionId: type: string username: type: string createdAt: type: string format: 2016-01-01T00:00:00.000Z updatedAt: type: string format: 2016-01-01T00:00:00.000Z syncedAt: type: string format: 2016-01-01T00:00:00.000Z documentId: type: string gnssSource: type: integer format: int32 operationType: type: integer format: int32 oldGeoInfoKey: type: string name: type: string caption: type: string fieldItemId: type: string fieldName: type: string fieldArea: type: number taskGroupId: type: string startedAt: type: string format: 2016-01-01T00:00:00.000Z endedAt: type: string format: 2016-01-01T00:00:00.000Z avgSpeed: type: number workWidthOnStarted: type: number workWidthOnEnded: type: number distance: type: number distanceOnStarted: type: number distanceOnEnded: type: number workedArea: type: number workedAreaOnStarted: type: number workedAreaOnEnded: type: number overlappedAreaOnStarted: type: number overlappedAreaOnEnded: type: number operationTypeAsEnum: type: string enum: - Tilling - Sowing - Planting - Fertilizing - CropProtection - Harvesting - Other gnssSourceAsEnum: type: string enum: - Internal - Usb - Bluetooth - Port - DemoReplay - DemoVirtual - GPlus - TcpClient - AutoSteerGnssTest - GMini - GMiniR - G2 - NtripClient ScopeInfo: type: object properties: scope: type: string displayName: type: string description: type: string required: type: boolean ClientValidationResponse: type: object properties: valid: type: boolean clientId: type: string clientName: type: string redirectUri: type: string requestedScopes: type: array items: type: string validScopes: type: array items: type: string invalidScopes: type: array items: type: string errorMessage: type: string FirestoreDeleteResponse: type: object properties: id: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT