{
  "service": "databox",
  "displayName": "Databox",
  "categories": [
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "DATABOX_API_KEY",
      "description": "Databox API key sent with the x-api-key request header."
    }
  ],
  "homepageUrl": "https://databox.com/",
  "actions": [
    {
      "id": "databox.create_data_source",
      "service": "databox",
      "name": "create_data_source",
      "description": "Create a Databox ingestion data source in an account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "integer",
            "description": "The Databox account identifier."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The display title for the Databox resource."
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "The IANA timezone identifier for the Databox data source."
          }
        },
        "additionalProperties": false,
        "required": [
          "accountId",
          "title",
          "timezone"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          },
          "dataSource": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Databox data source identifier.",
                "format": "uuid"
              },
              "type": {
                "type": "string",
                "description": "The Databox data source type."
              },
              "title": {
                "type": "string",
                "description": "The Databox data source title."
              },
              "status": {
                "type": "string",
                "description": "The Databox request status."
              }
            },
            "additionalProperties": true,
            "description": "A Databox data source."
          }
        },
        "additionalProperties": false,
        "required": [
          "requestId",
          "dataSource"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "databox.create_dataset",
      "service": "databox",
      "name": "create_dataset",
      "description": "Create a Databox dataset within an ingestion data source.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dataSourceId": {
            "type": "string",
            "description": "The Databox data source identifier.",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The display title for the Databox resource."
          },
          "primaryKeys": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The field names that uniquely identify records in the Databox dataset.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "dataSourceId",
          "title",
          "primaryKeys"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          },
          "dataset": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Databox dataset identifier.",
                "format": "uuid"
              },
              "title": {
                "type": "string",
                "description": "The Databox dataset title."
              },
              "status": {
                "type": "string",
                "description": "The Databox request status."
              }
            },
            "additionalProperties": true,
            "description": "A Databox dataset."
          }
        },
        "additionalProperties": false,
        "required": [
          "requestId",
          "dataset"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "databox.delete_data_source",
      "service": "databox",
      "name": "delete_data_source",
      "description": "Delete a Databox data source by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dataSourceId": {
            "type": "string",
            "description": "The Databox data source identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "dataSourceId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Databox request status."
          },
          "message": {
            "type": "string",
            "description": "The human-readable Databox response message."
          },
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          }
        },
        "additionalProperties": true,
        "description": "A Databox deletion response."
      }
    },
    {
      "id": "databox.delete_dataset",
      "service": "databox",
      "name": "delete_dataset",
      "description": "Delete a Databox dataset by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datasetId": {
            "type": "string",
            "description": "The Databox dataset identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "datasetId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Databox request status."
          },
          "message": {
            "type": "string",
            "description": "The human-readable Databox response message."
          },
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          }
        },
        "additionalProperties": true,
        "description": "A Databox deletion response."
      }
    },
    {
      "id": "databox.get_dataset_ingestion_status",
      "service": "databox",
      "name": "get_dataset_ingestion_status",
      "description": "Get the processing status of a Databox dataset ingestion.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datasetId": {
            "type": "string",
            "description": "The Databox dataset identifier.",
            "format": "uuid"
          },
          "ingestionId": {
            "type": "string",
            "description": "The Databox ingestion identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "datasetId",
          "ingestionId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Databox request status."
          },
          "message": {
            "type": "string",
            "description": "The human-readable Databox response message."
          },
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          },
          "ingestionId": {
            "type": "string",
            "description": "The Databox ingestion identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": true,
        "description": "A Databox ingestion response."
      }
    },
    {
      "id": "databox.list_accounts",
      "service": "databox",
      "name": "list_accounts",
      "description": "List Databox accounts accessible to the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Databox request status."
          },
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          },
          "accounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The Databox account identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The Databox account display name."
                },
                "accountType": {
                  "type": "string",
                  "description": "The Databox account type."
                }
              },
              "additionalProperties": true,
              "description": "A Databox account accessible to the API key."
            },
            "description": "The Databox accounts returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "requestId",
          "accounts"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "databox.push_dataset_data",
      "service": "databox",
      "name": "push_dataset_data",
      "description": "Push JSON records into a Databox dataset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datasetId": {
            "type": "string",
            "description": "The Databox dataset identifier.",
            "format": "uuid"
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "One JSON record value."
              },
              "description": "One Databox dataset record. Keys must match the target dataset schema."
            },
            "description": "The Databox dataset records to ingest.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "datasetId",
          "records"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Databox request status."
          },
          "message": {
            "type": "string",
            "description": "The human-readable Databox response message."
          },
          "requestId": {
            "type": "string",
            "description": "The Databox request identifier."
          },
          "ingestionId": {
            "type": "string",
            "description": "The Databox ingestion identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": true,
        "description": "A Databox ingestion response."
      }
    }
  ]
}
