# Schemas
```
type: object
properties:
data_params:
type: array
items:
oneOf:
- $ref: "#/definitions/vires_data_params"
- $ref: "#/definitions/hapi_data_params"
description: "List of data parameter objects, each conforming to either vires_data_params or hapi_data_params."
required:
- data_params
additionalProperties: false
definitions:
vires_data_params:
type: object
properties:
provider:
type: string
description: "Data provider name."
enum:
- "vires"
collection:
type: string
description: "Name of the data collection."
measurements:
type: array
items:
type: string
description: "List of measurement fields to retrieve."
models:
type: array
items:
type: string
description: "List of models to use."
start_time:
type: string
format: date-time
description: "Start time for the data retrieval in ISO 8601 format."
end_time:
type: string
format: date-time
description: "End time for the data retrieval in ISO 8601 format."
server_url:
type: string
format: uri
description: "URL of the server to connect to."
options:
type: object
properties:
asynchronous:
type: boolean
description: "Submit request as an asynchronous job."
show_progress:
type: boolean
description: "Whether to show progress during the operation."
additionalProperties: true
description: "Additional options for the data retrieval."
required:
- provider
- collection
- start_time
- end_time
- server_url
additionalProperties: false
description: "Schema for VirES data parameters configuration."
hapi_data_params:
type: object
properties:
provider:
type: string
description: "Data provider name."
enum:
- "hapi"
dataset:
type: string
description: "Identifier of the HAPI dataset."
parameters:
type: array
items:
type: string
description: "List of parameters to retrieve from the HAPI dataset."
start_time:
type: string
format: date-time
description: "Start time for the data retrieval in ISO 8601 format."
end_time:
type: string
format: date-time
description: "End time for the data retrieval in ISO 8601 format."
server_url:
type: string
format: uri
description: "URL of the HAPI server to connect to."
options:
type: object
additionalProperties: true
description: "Additional options for the HAPI data retrieval."
required:
- provider
- dataset
- start_time
- end_time
- server_url
additionalProperties: false
description: "Schema for HAPI data parameters configuration."
```
```python
import yaml
from jsonschema import validate
with open("pal-schema.yaml", "r") as file:
schema = yaml.safe_load(file)
data = {
"data_params": [
{
"provider": "vires",
"collection": "example_collection",
"measurements": ["measurement1", "measurement2"],
"models": ["model1", "model2"],
"start_time": "2025-04-10T00:00:00Z",
"end_time": "2025-04-11T00:00:00Z",
"server_url": "https://example.com",
"options": {
"asynchronous": True,
"show_progress": False,
}
}
]
}
validate(instance=data, schema=schema)
```