openapi: 3.1.0 info: title: Corva Data API version: 0.1.0 paths: /metrics: get: summary: Metrics description: Endpoint that serves Prometheus metrics. operationId: metrics_metrics_get responses: '200': description: Successful Response content: application/json: schema: {} /api/v1/data/{provider}/{dataset}/: get: tags: - data summary: Find Data operationId: getDataByProviderAndDataset security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: skip in: query required: false schema: type: integer minimum: 0 description: 'Number of records to skip (default: 0)' default: 0 title: Skip description: 'Number of records to skip (default: 0)' - name: limit in: query required: true schema: type: integer maximum: 10000 minimum: 1 description: Maximum number of results to return title: Limit description: Maximum number of results to return - name: fields in: query required: false schema: type: string description: Comma separated list of fields to return title: Fields description: Comma separated list of fields to return - name: include_count in: query required: false schema: type: boolean description: Include total count of matching documents in Total header default: false title: Include Count description: Include total count of matching documents in Total header - name: sort in: query required: true schema: type: string description: Sort conditions as JSON string examples: - '{"timestamp": 1}' title: Sort description: Sort conditions as JSON string - name: query in: query required: true schema: type: string description: Search conditions examples: - '{"asset_id": 1}' title: Query description: Search conditions responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/DataDocument' title: Response Getdatabyprovideranddataset '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - data summary: Insert new Documents operationId: create_api_v1_data__provider___dataset___post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset requestBody: required: true content: application/json: schema: anyOf: - type: array items: $ref: '#/components/schemas/DataCreate' minItems: 1 maxItems: 1000 - $ref: '#/components/schemas/DataCreateWithMessageProduce' title: Data responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataCreateResult' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - data summary: Insert new Document operationId: replace_api_v1_data__provider___dataset___put security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: query required: false schema: type: string title: Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataDocument' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - data summary: Delete multiple Documents operationId: delete_many_api_v1_data__provider___dataset___delete security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: query in: query required: true schema: type: string description: A query that matches the documents to delete examples: - '{"asset_id": 1}' title: Query description: A query that matches the documents to delete responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataDeleteManyResult' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/count/: get: tags: - data summary: Count Data operationId: count_api_v1_data__provider___dataset__count__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: query in: query required: true schema: type: string description: Search conditions examples: - '{"asset_id": 1}' title: Query description: Search conditions responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataCountResult' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/list/: post: tags: - data summary: Find Data operationId: listDataByProviderAndDataset security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Body_listDataByProviderAndDataset' responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/DataDocument' title: Response Listdatabyprovideranddataset '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/aggregate/: get: tags: - data summary: Find Data using MongoDB aggregation pipeline (simple) operationId: aggregate_api_v1_data__provider___dataset__aggregate__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: match in: query required: true schema: type: string contentMediaType: application/json contentSchema: {} description: Match stage title: Match description: Match stage - name: group in: query required: false schema: type: string contentMediaType: application/json contentSchema: {} description: Group stage title: Group description: Group stage - name: project in: query required: false schema: type: string contentMediaType: application/json contentSchema: {} description: Project stage title: Project description: Project stage - name: skip in: query required: false schema: type: integer minimum: 0 description: 'Number of records to skip (default: 0)' default: 0 title: Skip description: 'Number of records to skip (default: 0)' - name: limit in: query required: true schema: type: integer maximum: 10000 minimum: 1 description: Maximum number of results to return title: Limit description: Maximum number of results to return - name: sort in: query required: true schema: type: string description: Sort conditions as JSON string examples: - '{"timestamp": 1}' title: Sort description: Sort conditions as JSON string responses: '200': description: Successful Response content: application/json: schema: type: array items: type: object additionalProperties: true title: Response Aggregate Api V1 Data Provider Dataset Aggregate Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/aggregate/pipeline/: get: tags: - data summary: Find Data using MongoDB aggregation pipeline (complex) operationId: aggregate_pipeline_get_api_v1_data__provider___dataset__aggregate_pipeline__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: stages in: query required: true schema: type: string contentMediaType: application/json contentSchema: {} description: List of aggregation stages. title: Stages description: List of aggregation stages. responses: '200': description: Successful Response content: application/json: schema: type: array items: type: object additionalProperties: true title: Response Aggregate Pipeline Get Api V1 Data Provider Dataset Aggregate Pipeline Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - data summary: Find Data using MongoDB aggregation pipeline (complex) operationId: aggregate_pipeline_post_api_v1_data__provider___dataset__aggregate_pipeline__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Body_aggregate_pipeline_post_api_v1_data__provider___dataset__aggregate_pipeline__post' responses: '200': description: Successful Response content: application/json: schema: type: array items: type: object additionalProperties: true title: Response Aggregate Pipeline Post Api V1 Data Provider Dataset Aggregate Pipeline Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{source_collection}/aggregate_summary/: post: tags: - data summary: Aggregate summary data by intervals and return results operationId: aggregate_summary_return_api_v1_data__provider___source_collection__aggregate_summary__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: source_collection in: path required: true schema: type: string title: Source Collection requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SummaryAggregationReturnPayload' description: Summary aggregation payload. responses: '200': description: Successful Response content: application/json: schema: type: array items: type: object additionalProperties: true title: Response Aggregate Summary Return Api V1 Data Provider Source Collection Aggregate Summary Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{source_collection}/aggregate_summary/{target_collection}/: post: tags: - data summary: Aggregate summary data by intervals and upsert results into target collection operationId: aggregate_summary_upsert_api_v1_data__provider___source_collection__aggregate_summary__target_collection___post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: source_collection in: path required: true schema: type: string title: Source Collection - name: target_collection in: path required: true schema: type: string title: Target Collection requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SummaryAggregationPayload' description: Summary aggregation + upsert payload. responses: '200': description: Successful Response content: application/json: schema: type: array items: type: object additionalProperties: true title: Response Aggregate Summary Upsert Api V1 Data Provider Source Collection Aggregate Summary Target Collection Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/batch_update/: patch: tags: - data summary: Batch Document Update operationId: batch_update_api_v1_data__provider___dataset__batch_update__patch security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/DataPartialUpdate' description: Values for update. Limited to 10000 array size default: [] title: Data responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/DataDocument' title: Response Batch Update Api V1 Data Provider Dataset Batch Update Patch '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/batch_update_with_object/: patch: tags: - data summary: Batch Document Update with single object value operationId: batch_update_with_object_api_v1_data__provider___dataset__batch_update_with_object__patch security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Body_batch_update_with_object_api_v1_data__provider___dataset__batch_update_with_object__patch' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataUpdateManyResult' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/data/{provider}/{dataset}/{id}/: get: tags: - data summary: Load Record operationId: retrieve_api_v1_data__provider___dataset___id___get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataDocument' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - data summary: Replace Document operationId: replace_api_v1_data__provider___dataset___id___put security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataDocument' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - data summary: Update Document operationId: update_api_v1_data__provider___dataset___id___patch security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataUpdate' description: "\n Data to update the document. Fields that are excluded from update asset_id, timestamp,\ \ _id, id, company_id,\n collection, provider, but are essential to identify permissions to do such\ \ an action.\n Other fields could be a part of a shard key, which will result in error response.\n\ \ " responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataDocument' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - data summary: Delete Document operationId: delete_api_v1_data__provider___dataset___id___delete security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DataDeleteResult' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/: get: tags: - datasets summary: Get All Datasets operationId: index_api_v1_dataset__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: search in: query required: false schema: type: string description: Search by dataset name default: '' title: Search description: Search by dataset name - name: plottable in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Filter by plottable datasets title: Plottable description: Filter by plottable datasets - name: temporary in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Filter by temporary datasets title: Temporary description: Filter by temporary datasets responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/DatasetSerializer' title: Response Index Api V1 Dataset Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/company/: get: tags: - datasets summary: Get Datasets By Company operationId: by_company_api_v1_dataset_company__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: plottable in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Filter by plottable datasets title: Plottable description: Filter by plottable datasets - name: type in: query required: false schema: anyOf: - $ref: '#/components/schemas/DataType' - type: 'null' description: 'Filter by dataset type: time, depth, reference' title: Type description: 'Filter by dataset type: time, depth, reference' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CompanyDatasetSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/{provider}/{name}/: get: tags: - datasets summary: Get Dataset operationId: fetch_api_v1_dataset__provider___name___get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: name in: path required: true schema: type: string title: Name responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DatasetSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - datasets summary: Create Dataset operationId: create_api_v1_dataset__provider___name___post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: name in: path required: true schema: type: string title: Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DatasetSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DatasetSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - datasets summary: Update Dataset operationId: update_api_v1_dataset__provider___name___patch security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: name in: path required: true schema: type: string title: Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DatasetSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DatasetSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - datasets summary: Delete Dataset operationId: delete_api_v1_dataset__provider___name___delete security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: name in: path required: true schema: type: string title: Name responses: '200': description: Successful Response content: application/json: schema: title: Response Delete Api V1 Dataset Provider Name Delete '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/{provider}/{dataset}/index/{index}/: get: tags: - datasets summary: Get Index operationId: fetch_index_api_v1_dataset__provider___dataset__index__index___get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: index in: path required: true schema: type: string title: Index responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IndexSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - datasets summary: Delete Index operationId: delete_index_api_v1_dataset__provider___dataset__index__index___delete security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: index in: path required: true schema: type: string title: Index responses: '200': description: Successful Response content: application/json: schema: title: Response Delete Index Api V1 Dataset Provider Dataset Index Index Delete '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/{provider}/{dataset}/index/: post: tags: - datasets summary: Create Index operationId: create_index_api_v1_dataset__provider___dataset__index__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IndexSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IndexSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/{provider}/{dataset}/index/{name}/check/: post: tags: - datasets summary: Check Index operationId: check_index_api_v1_dataset__provider___dataset__index__name__check__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: name in: path required: true schema: type: string title: Name responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IndexSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/dataset/{provider}/{dataset}/index/{name}/{action}/: post: tags: - datasets summary: Perform Index Action operationId: perform_index_action_api_v1_dataset__provider___dataset__index__name___action___post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: name in: path required: true schema: type: string title: Name - name: action in: path required: true schema: type: string title: Action responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IndexSerializer' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/message_producer/{app_key}: post: tags: - data summary: Produce Messages (corva-api compatibility) operationId: produce_api_v1_message_producer__app_key__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: app_key in: path required: true schema: anyOf: - type: string - type: 'null' title: App Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MessageProducerData' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/message_producer/: post: tags: - data summary: Produce Messages operationId: produce_api_v1_message_producer__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: app_key in: query required: false schema: anyOf: - type: string - type: 'null' title: App Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MessageProducerData' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/subscriptions/{provider}/{dataset}/{asset_id}/: post: tags: - data summary: Publish data to Corva Subscriptions Server. description: Publish data to **Corva Subscriptions Server** channel named `{provider}/{dataset}/{asset_id}`. operationId: publish_api_v1_subscriptions__provider___dataset___asset_id___post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: asset_id in: path required: true schema: type: integer title: Asset Id requestBody: required: true content: application/json: schema: anyOf: - type: object additionalProperties: true - type: array items: type: object additionalProperties: true examples: - key_1: value_1 key_2: value_2 key_n: value_n - - key_1: value_1 key_2: value_2 - key_1: value_3 key_2: value_4 title: Data examples: objectExample: summary: Single-object payload description: An example of sending a single JSON object. value: key_1: value_1 key_2: value_2 key_n: value_n listExample: summary: List payload description: An example of sending a JSON array of objects. value: - key_1: value_1 key_2: value_2 - key_1: value_3 key_2: value_4 responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/message_producer/{app_key}: post: tags: - data summary: Produce Messages (corva-api compatibility) operationId: produce_v1_message_producer__app_key__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: app_key in: path required: true schema: anyOf: - type: string - type: 'null' title: App Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MessageProducerData' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/message_producer/: post: tags: - data summary: Produce Messages operationId: produce_v1_message_producer__post security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: app_key in: query required: false schema: anyOf: - type: string - type: 'null' title: App Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MessageProducerData' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/legacy/v1/data: get: tags: - legacy-data summary: Index Without Provider operationId: index_without_provider_api_legacy_v1_data_get responses: '200': description: Successful Response content: application/json: schema: title: Response Index Without Provider Api Legacy V1 Data Get security: - HTTPBearer: [] - APIKeyHeader: [] /api/legacy/v1/data/{provider}: get: tags: - legacy-data summary: Index Without Dataset operationId: index_without_dataset_api_legacy_v1_data__provider__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider responses: '200': description: Successful Response content: application/json: schema: title: Response Index Without Dataset Api Legacy V1 Data Provider Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/legacy/v1/data/{provider}/{dataset}: get: tags: - legacy-data summary: Index operationId: index_api_legacy_v1_data__provider___dataset__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset responses: '200': description: Successful Response content: application/json: schema: title: Response Index Api Legacy V1 Data Provider Dataset Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/legacy/v1/data/{provider}/{dataset}/{id}: get: tags: - legacy-data summary: Show operationId: show_api_legacy_v1_data__provider___dataset___id__get security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id responses: '200': description: Successful Response content: application/json: schema: title: Response Show Api Legacy V1 Data Provider Dataset Id Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - legacy-data summary: Patch operationId: patch_api_legacy_v1_data__provider___dataset___id__patch security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id responses: '200': description: Successful Response content: application/json: schema: title: Response Patch Api Legacy V1 Data Provider Dataset Id Patch '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - legacy-data summary: Put operationId: put_api_legacy_v1_data__provider___dataset___id__put security: - HTTPBearer: [] - APIKeyHeader: [] parameters: - name: provider in: path required: true schema: type: string title: Provider - name: dataset in: path required: true schema: type: string title: Dataset - name: id in: path required: true schema: type: string title: Id responses: '200': description: Successful Response content: application/json: schema: title: Response Put Api Legacy V1 Data Provider Dataset Id Put '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: Body_aggregate_pipeline_post_api_v1_data__provider___dataset__aggregate_pipeline__post: properties: stages: items: additionalProperties: true type: object type: array title: Stages description: List of aggregation stages. type: object required: - stages title: Body_aggregate_pipeline_post_api_v1_data__provider___dataset__aggregate_pipeline__post Body_batch_update_with_object_api_v1_data__provider___dataset__batch_update_with_object__patch: properties: data: $ref: '#/components/schemas/DataUpdate' description: Values for update query: type: string contentMediaType: application/json contentSchema: {} title: Query description: Search documents for update limit: type: integer maximum: 10000.0 minimum: 1.0 title: Limit description: Maximum number of results to return default: 10000 batch: type: integer maximum: 1000000.0 minimum: 1.0 title: Batch description: Batch number of query results restricted by limit to update default: 1 sort: $ref: '#/components/schemas/Sorting' description: Sort conditions. Default is sorting asc by timestamp default: timestamp: 1 type: object required: - data - query title: Body_batch_update_with_object_api_v1_data__provider___dataset__batch_update_with_object__patch Body_listDataByProviderAndDataset: properties: query: additionalProperties: true type: object title: Query description: Search conditions sort: $ref: '#/components/schemas/Sorting' description: Sort conditions default: timestamp: 1 skip: type: integer minimum: 0.0 title: Skip description: 'Number of records to skip (default: 0)' default: 0 limit: type: integer maximum: 10000.0 minimum: 1.0 title: Limit description: Maximum number of results to return fields: type: string title: Fields description: Comma separated list of fields to return include_count: type: boolean title: Include Count description: Include total count of matching documents in Total header default: false type: object required: - query - limit title: Body_listDataByProviderAndDataset CompanyDatasetItemSerializer: properties: id: type: integer title: Id provider: type: string title: Provider name: type: string title: Name type: type: string title: Type type: object required: - id - provider - name - type title: CompanyDatasetItemSerializer CompanyDatasetSerializer: additionalProperties: items: $ref: '#/components/schemas/CompanyDatasetItemSerializer' type: array type: object title: CompanyDatasetSerializer example: Big Data Energy: - id: 74 name: depth-check provider: big-data-energy type: depth Corva: - id: 44 name: activities provider: corva type: time - id: 95 name: activities.summary-2tours provider: corva type: time DataCountResult: properties: count: type: integer title: Count default: 0 type: object title: DataCountResult DataCreate: properties: company_id: anyOf: - type: integer - type: 'null' title: Company Id provider: anyOf: - type: string - type: 'null' title: Provider collection: anyOf: - type: string - type: 'null' title: Collection asset_id: anyOf: - type: integer - type: 'null' title: Asset Id description: Asset ID. Required for time and depth based data. version: type: integer title: Version description: Version of the data document app_version: anyOf: - type: integer - type: 'null' title: App Version description: Version of the app that generated the data data: additionalProperties: true type: object title: Data timestamp: anyOf: - type: integer - type: 'null' title: Timestamp description: Timestamp (epoch time). Required for time based data, optional for rest. log_identifier: anyOf: - type: string - type: 'null' title: Log Identifier description: Identifier to scope the data by app stream. Required for depth based data, optional for rest. measured_depth: anyOf: - type: number - type: 'null' title: Measured Depth description: Measured depth. Required for depth based data, optional for rest. metadata: anyOf: - $ref: '#/components/schemas/TimeSeriesMetadata' - type: 'null' stage_number: anyOf: - type: integer - type: 'null' title: Stage Number description: Stage number for completion data datetime: anyOf: - type: string format: date-time - type: 'null' title: Datetime description: ISO 8601 datetime string representation. Used as index inside time-series collections. additionalProperties: true type: object required: - version title: DataCreate DataCreateResult: properties: inserted_ids: items: type: string type: array title: Inserted Ids default: [] failed_count: type: integer title: Failed Count default: 0 messages: items: type: string type: array title: Messages default: [] type: object title: DataCreateResult DataCreateWithMessageProduce: properties: data: items: $ref: '#/components/schemas/DataCreate' type: array maxItems: 1000 minItems: 1 title: Data producer: $ref: '#/components/schemas/MessageProduce' type: object required: - data - producer title: DataCreateWithMessageProduce description: Input for data creation with message producing. DataDeleteManyResult: properties: deleted_count: type: integer title: Deleted Count default: 0 type: object title: DataDeleteManyResult DataDeleteResult: properties: deleted_docs: items: additionalProperties: true type: object type: array title: Deleted Docs default: [] failed_count: type: integer title: Failed Count default: 0 type: object title: DataDeleteResult DataDocument: properties: _id: anyOf: - type: string description: MongoDB ObjectId. example: 507f1f77bcf86cd799439011 - type: 'null' title: Id company_id: anyOf: - type: integer - type: 'null' title: Company Id asset_id: anyOf: - type: integer - type: 'null' title: Asset Id version: type: integer title: Version provider: type: string title: Provider collection: type: string title: Collection data: additionalProperties: true type: object title: Data timestamp: anyOf: - type: integer - type: 'null' title: Timestamp measured_depth: anyOf: - type: number - type: 'null' title: Measured Depth app_key: anyOf: - type: string - type: 'null' title: App Key app_version: anyOf: - type: integer - type: 'null' title: App Version log_identifier: anyOf: - type: string - type: 'null' title: Log Identifier metadata: anyOf: - $ref: '#/components/schemas/TimeSeriesMetadata' - type: 'null' stage_number: anyOf: - type: integer - type: 'null' title: Stage Number datetime: anyOf: - type: string - type: 'null' title: Datetime type: object required: - version - provider - collection - data title: DataDocument DataPartialUpdate: properties: company_id: anyOf: - type: integer - type: 'null' title: Company Id provider: anyOf: - type: string - type: 'null' title: Provider collection: anyOf: - type: string - type: 'null' title: Collection asset_id: anyOf: - type: integer - type: 'null' title: Asset Id description: Asset ID. Required for time and depth based data. version: anyOf: - type: integer - type: 'null' title: Version description: Version of the data document app_version: anyOf: - type: integer - type: 'null' title: App Version description: Version of the app that generated the data data: additionalProperties: true type: object title: Data timestamp: anyOf: - type: integer - type: 'null' title: Timestamp description: Timestamp (epoch time). Required for time based data, optional for rest. log_identifier: anyOf: - type: string - type: 'null' title: Log Identifier description: Identifier to scope the data by app stream. Required for depth based data, optional for rest. measured_depth: anyOf: - type: number - type: 'null' title: Measured Depth description: Measured depth. Required for depth based data, optional for rest. metadata: anyOf: - $ref: '#/components/schemas/TimeSeriesMetadata' - type: 'null' stage_number: anyOf: - type: integer - type: 'null' title: Stage Number description: Stage number for completion data datetime: anyOf: - type: string - type: 'null' title: Datetime _id: anyOf: - type: string - type: 'null' title: Id additionalProperties: true type: object title: DataPartialUpdate DataType: type: string enum: - time - depth - reference - timeseries title: DataType DataUpdate: properties: company_id: anyOf: - type: integer - type: 'null' title: Company Id provider: anyOf: - type: string - type: 'null' title: Provider collection: anyOf: - type: string - type: 'null' title: Collection asset_id: anyOf: - type: integer - type: 'null' title: Asset Id description: Asset ID. Required for time and depth based data. version: type: integer title: Version description: Version of the data document app_version: anyOf: - type: integer - type: 'null' title: App Version description: Version of the app that generated the data data: additionalProperties: true type: object title: Data timestamp: anyOf: - type: integer - type: 'null' title: Timestamp description: Timestamp (epoch time). Required for time based data, optional for rest. log_identifier: anyOf: - type: string - type: 'null' title: Log Identifier description: Identifier to scope the data by app stream. Required for depth based data, optional for rest. measured_depth: anyOf: - type: number - type: 'null' title: Measured Depth description: Measured depth. Required for depth based data, optional for rest. metadata: anyOf: - $ref: '#/components/schemas/TimeSeriesMetadata' - type: 'null' stage_number: anyOf: - type: integer - type: 'null' title: Stage Number description: Stage number for completion data datetime: anyOf: - type: string - type: 'null' title: Datetime _id: anyOf: - type: string - type: 'null' title: Id additionalProperties: true type: object required: - version title: DataUpdate DataUpdateManyResult: properties: updated_count: type: integer title: Updated Count default: 0 type: object title: DataUpdateManyResult DatasetSchema: properties: company_id: anyOf: - type: integer - type: 'null' title: Company Id example: 123 provider: type: string title: Provider default: '' example: corva name: type: string title: Name default: '' example: corva#wits description: anyOf: - type: string - type: 'null' title: Description example: Save WITS data schema: additionalProperties: true type: object title: Schema default: {} example: {} data_type: $ref: '#/components/schemas/DataType' default: time example: time settings: additionalProperties: true type: object title: Settings default: {} example: {} permission_workflow: additionalProperties: true type: object title: Permission Workflow default: read: request write: request delete: request example: delete: request read: request write: request plottable: type: boolean title: Plottable default: false temporary: type: boolean title: Temporary default: false type: object title: DatasetSchema DatasetSerializer: properties: company_id: anyOf: - type: integer - type: 'null' title: Company Id example: 123 provider: type: string title: Provider default: '' example: corva name: type: string title: Name default: '' example: corva#wits description: anyOf: - type: string - type: 'null' title: Description example: Save WITS data schema: additionalProperties: true type: object title: Schema default: {} example: {} data_type: $ref: '#/components/schemas/DataType' default: time example: time settings: additionalProperties: true type: object title: Settings default: {} example: {} permission_workflow: additionalProperties: true type: object title: Permission Workflow default: read: request write: request delete: request example: delete: request read: request write: request plottable: type: boolean title: Plottable default: false temporary: type: boolean title: Temporary default: false id: type: integer title: Id example: 15 friendly_name: type: string title: Friendly Name default: '' example: wits indexes: items: $ref: '#/components/schemas/IndexSerializer' type: array title: Indexes default: [] examples: - - fields: - _id: 1 name: _id_ statistics: size: 165238 usage: 12.2995 status: active - fields: - asset_id: 1 - timestamp: -1 name: asset_id_timestamp statistics: size: 292310 usage: 923.18823 status: active unique: true statistics: $ref: '#/components/schemas/DatasetStatistics' example: count: 282034 index_size: 154991 size: 1042039 storage_size: 887048 type: object required: - id title: DatasetSerializer DatasetStatistics: properties: size: type: integer title: Size default: 0 example: 1000000 count: type: integer title: Count default: 0 example: 282034 storage_size: type: integer title: Storage Size default: 0 example: 8839043 index_size: type: integer title: Index Size default: 0 example: 199234282 type: object title: DatasetStatistics HTTPValidationError: properties: code: type: integer title: Code message: type: string title: Message type: object required: - code - message title: ExceptionResponse IndexSchema: properties: name: type: string title: Name default: '' example: asset_id_timestamp fields: items: additionalProperties: true type: object type: array title: Fields example: - asset_id: 1 - timestamp: -1 unique: type: boolean title: Unique default: false required: type: boolean title: Required default: false status: type: string title: Status default: building example: active settings: anyOf: - $ref: '#/components/schemas/IndexSettings' - type: 'null' example: expire_after_seconds: 3600 type: object title: IndexSchema IndexSerializer: properties: name: type: string title: Name default: '' example: asset_id_timestamp fields: items: additionalProperties: true type: object type: array title: Fields example: - asset_id: 1 - timestamp: -1 unique: type: boolean title: Unique default: false required: type: boolean title: Required default: false status: type: string title: Status default: building example: active settings: anyOf: - $ref: '#/components/schemas/IndexSettings' - type: 'null' example: expire_after_seconds: 3600 statistics: $ref: '#/components/schemas/IndexStatistics' type: object required: - statistics title: IndexSerializer IndexSettings: properties: expire_after_seconds: anyOf: - type: integer - type: 'null' title: Expire After Seconds example: 3600 partial_filter_expression: anyOf: - additionalProperties: true type: object - type: 'null' title: Partial Filter Expression example: metadata.asset_id: $exists: true type: object title: IndexSettings IndexStatistics: properties: size: type: integer title: Size default: 0 example: 929429 usage: type: number title: Usage default: 0 example: 112.294923 type: object title: IndexStatistics MessageProduce: properties: app_connection_id: type: integer title: App Connection Id type: object required: - app_connection_id title: MessageProduce MessageProducerData: properties: app_connection_id: anyOf: - type: integer - type: 'null' title: App Connection Id data: anyOf: - items: $ref: '#/components/schemas/ProduceTimeIn' type: array - items: $ref: '#/components/schemas/ProduceDepthIn' type: array - type: 'null' title: Data force_schedules: type: boolean title: Force Schedules description: Whether to retrigger historical schedule. default: false produce_as: anyOf: - type: string - type: 'null' title: Produce As description: Produce as another app (by app_key) within the same app_stream. rerun_begins: anyOf: - type: integer - type: 'null' title: Rerun Begins description: Deprecated. This field is not used. asset_id: anyOf: - type: integer - type: 'null' title: Asset Id description: Deprecated. This field is not used. type: object title: MessageProducerData ProduceDepthIn: properties: timestamp: anyOf: - type: integer - type: 'null' title: Timestamp collection: anyOf: - type: string - type: 'null' title: Collection measured_depth: type: number title: Measured Depth additionalProperties: true type: object required: - measured_depth title: ProduceDepthIn ProduceTimeIn: properties: timestamp: type: integer title: Timestamp collection: anyOf: - type: string - type: 'null' title: Collection additionalProperties: true type: object required: - timestamp title: ProduceTimeIn Sorting: properties: sort: additionalProperties: true type: object title: Sort default: {} type: object title: Sorting SummaryAggregationInterval: properties: start: type: integer title: Start description: Interval start value (exclusive). end: type: integer title: End description: Interval end value (inclusive). type: object required: - start - end title: SummaryAggregationInterval SummaryAggregationOperation: type: string enum: - median - avg - min - max title: SummaryAggregationOperation SummaryAggregationPayload: properties: match_field: type: string title: Match Field description: 'Field used for interval bounds on the source collection (regular dataset only; not timeseries). Allowed: timestamp, measured_depth.' default: timestamp operations: items: $ref: '#/components/schemas/SummaryAggregationOperation' type: array minItems: 1 title: Operations description: Aggregation operations list. intervals: items: $ref: '#/components/schemas/SummaryAggregationInterval' type: array minItems: 1 title: Intervals description: Intervals to process. asset_id: type: integer title: Asset Id description: Restricts $match to this asset_id (same scoping as interval producers). exclude_data_fields: items: type: string type: array title: Exclude Data Fields description: Fields excluded from numeric aggregation in data object. include_data_fields: additionalProperties: true type: object title: Include Data Fields description: Literal key-value pairs merged into the resulting summary data object. publish_mode: type: string enum: - concurrent - batch title: Publish Mode description: 'Redis publishing mode: concurrent publishes each finished interval, batch publishes once after all intervals complete.' default: concurrent type: object required: - intervals - asset_id title: SummaryAggregationPayload description: Request body for aggregate-summary upsert (writes target collection); includes Redis publish scheduling. SummaryAggregationReturnPayload: properties: match_field: type: string title: Match Field description: 'Field used for interval bounds on the source collection (regular dataset only; not timeseries). Allowed: timestamp, measured_depth.' default: timestamp operations: items: $ref: '#/components/schemas/SummaryAggregationOperation' type: array minItems: 1 title: Operations description: Aggregation operations list. intervals: items: $ref: '#/components/schemas/SummaryAggregationInterval' type: array minItems: 1 title: Intervals description: Intervals to process. asset_id: type: integer title: Asset Id description: Restricts $match to this asset_id (same scoping as interval producers). exclude_data_fields: items: type: string type: array title: Exclude Data Fields description: Fields excluded from numeric aggregation in data object. include_data_fields: additionalProperties: true type: object title: Include Data Fields description: Literal key-value pairs merged into the resulting summary data object. type: object required: - intervals - asset_id title: SummaryAggregationReturnPayload description: Request body for aggregate-summary return (read-only); all intervals are aggregated before the response. TimeSeriesMetadata: properties: company_id: anyOf: - type: integer - type: 'null' title: Company Id asset_id: anyOf: - type: integer - type: 'null' title: Asset Id additionalProperties: true type: object title: TimeSeriesMetadata ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError securitySchemes: HTTPBearer: type: http scheme: bearer APIKeyHeader: type: apiKey in: header name: Authorization tags: - name: data description: Operations to send and receive data from Datasets - name: datasets description: Interactions with Datasets and Indexes