---     
tags: 
  - Satbots
description: Lists available Satbot Types that can be used when creating a Satbot, along with the options available/required for that Satbot Type.
  <br/><br/>User must be an admin.
parameters:
  - in: header
    name: Authorization
    type: string
    required: true
produces: 
  - 'application/json'
responses:
  200:
    schema:
      type: object
      example: {
                    "4": {
                        "description": "Generates CSV and Shapefile Data for a Polygon and stores in a .zip file.",
                        "dynamic_fields": {
                            "csv_layout1": {
                                "hint": "<br/>Unfiltered data, with expanded date-column headings.",
                                "label": "CSV Layout 1",
                                "type": "checkbox"
                            },
                            "csv_layout2": {
                                "hint": "<br/>A more human-readable CSV format that groups dates together by week, potentially hiding data contained within the same week as other data.",
                                "label": "CSV Layout 2",
                                "type": "checkbox"
                            },
                            "order_id": {
                                "hint": "Optional.  Will transition an Order to complete when finished if provided, and send an email to the client.<br/>Note that this is the order ID (integer), and not the order number that begins with \"S\".<br/>If not provided, the data will be generated based on your permission levels.",
                                "label": "Order ID",
                                "optional": true,
                                "type": "text"
                            },
                            "polygon": {"hint": "Must be a simple, single polygon.", "label": "GeoJSON", "type": "text"},
                            "shapefile": {
                                "hint": "<br/>Creates 5 Shapefile-related files - .cpg, .dbf, .prj, .shp, .shx.",
                                "label": "Shapefile",
                                "type": "checkbox"
                            }
                        },
                        "name": "GENERATE_DATA",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 3,
                        "title": "Generate Data"
                    },
                    "5": {
                        "description": "Generates point clusters for the SatShop map to load at various zoom levels.  <br/>Use debug mode in the SatShop to find X, Y and zoom values for areas you want to generate.<br/>e.g. UK will need 4 Satbots: <br/><strong>[X:15, Y:9, Zoom 5], [X:16, Y:9, Zoom 5], [X:15, Y:10, Zoom 5], [X:16, Y:10, Zoom 5]</strong>",
                        "dynamic_fields": {
                            "--bounds_x": {
                                "hint": "Specify the bounds to update a single tile.  <strong>Required for new databases.</strong>",
                                "label": "X",
                                "optional": true,
                                "type": "text"
                            },
                            "--bounds_y": {
                                "hint": "If X, Y and Zoom are not provided, all are ignored and it will default to the database bounds (usually country-wide).",
                                "label": "Y",
                                "optional": true,
                                "type": "text"
                            },
                            "--bounds_zoom": {
                                "hint": "Required if X/Y is set.  The bounds for each zoom level will be calculated from your inputs.",
                                "label": "Zoom",
                                "optional": true,
                                "type": "text"
                            },
                            "--database": {
                                "choices": [
                                    ["standard", "Standard"],
                                    ["rural", "Rural"],
                                    ["hr", "HR"]
                                ],
                                "label": "Database",
                                "type": "select"
                            },
                            "--orbit": {
                                "choices": [
                                    ["asc", "Ascending"],
                                    ["desc", "Descending"]
                                ],
                                "hint": "Optional.  Will use both 'Ascending' and 'Descending' if not set.  ",
                                "label": "Orbit",
                                "optional": true,
                                "type": "select"
                            }
                        },
                        "name": "GENERATE_CLUSTERS",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 4,
                        "title": "Generate Clusters"
                    },
                    "10": {
                        "description": "Deploy an app to a chosen environment.<br/><strong>It is assumed that all config and databases are set up to anticipate this release or the app won't start.</strong>",
                        "dynamic_fields": {
                            "app": {
                                "choices": [
                                    ["admin", "Admin"],
                                    ["portal", "Portal"],
                                    ["api", "API"]
                                ],
                                "hint": "The application to deploy to - it will be restarted at the end, so only trigger when (theoretically brief) downtime is acceptable.",
                                "label": "App",
                                "type": "select"
                            },
                            "branch": {
                                "default": "master",
                                "hint": "The branch must exist in GitLab.  If a build on the branch was unsuccessful, it will deploy the most recent master branch that successfully built.",
                                "label": "Branch",
                                "placeholder": "master",
                                "type": "text"
                            },
                            "env": {
                                "choices": [
                                    ["staging", "Staging"],
                                    ["release candidate", "Release candidate"]
                                ],
                                "label": "Environment",
                                "type": "select"
                            }
                        },
                        "name": "DEPLOY",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 0,
                        "title": "Deploy"
                    },
                    "64": {
                        "description": "Create a database dump and optionally upload to AWS S3 Glacier.",
                        "dynamic_fields": {
                            "--database": {
                                "choices": [
                                    ["standard", "Standard"],
                                    ["rural", "Rural"],
                                    ["hr", "HR"],
                                    ["users", "users"]
                                ],
                                "label": "Database",
                                "type": "select"
                            },
                            "existing_dump": {
                                "hint": "Full path of an existing dump file.  May be useful to resume a failed upload without exporting again.<br/>The database option selected has no effect if a value is entered here.",
                                "label": "File",
                                "optional": true,
                                "type": "text"
                            },
                            "upload_to_s3": {"hint": "(\"pgdumps\")", "label": "Upload to AWS S3 Glacier Vault", "type": "checkbox"}
                        },
                        "name": "DATABASE_BACKUP",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 0,
                        "title": "Database Backup"
                    },
                    "65": {
                        "description": "Retrieve a database dump from AWS S3 Glacier and restore it to a local database.<br/>ssh access to the server is required to confirm overwriting data - follow the instructions when the Satbot starts.",
                        "dynamic_fields": {
                            "--database": {
                                "choices": [
                                    ["standard", "Standard"],
                                    ["rural", "Rural"],
                                    ["hr", "HR"],
                                    ["users", "users"]
                                ],
                                "label": "Database",
                                "type": "select"
                            },
                            "archive_id": {
                                "hint": "The ID of the Archive inside the S3 Glacier Vault named \"pgdumps\".  Ignored if File is entered.",
                                "label": "Archive ID",
                                "optional": true,
                                "type": "text"
                            },
                            "existing_dump": {
                                "hint": "Full path of an existing dump file.  May be useful to resume a failed restore without downloading again.",
                                "label": "File",
                                "optional": true,
                                "type": "text"
                            },
                            "tier": {
                                "choices": [
                                    ["Expedited", "Expedited (1-5 minutes)"],
                                    ["Standard", "Standard (3-5 hours)"],
                                    ["Bulk", "Bulk (5-12 hours)"]
                                ],
                                "default": "Standard",
                                "hint": "[Optional] Speed of retrieval - faster costs more.",
                                "label": "Tier",
                                "optional": true,
                                "type": "select"
                            }
                        },
                        "name": "DATABASE_RESTORE",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 0,
                        "title": "Database Restore"
                    },
                    "70": {
                        "description": "Creates a Frame (with its Points and their data) from HDF5 files.<br/>If the chosen Frame already exists in the database, the old one will be deleted at the end of the import.",
                        "dynamic_fields": {
                            "access-required": {
                                "default": true,
                                "hint": "Points will not display unless a User has enabled Region access.  Uncheck to display white dots to Users that do not have access.  This can be changed later.",
                                "label": "Access required",
                                "type": "checkbox"
                            },
                            "annual-velocities": {
                                "hint": "Calculates annual velocities and displays them when a Point is clicked or requested from the API.",
                                "label": "Annual velocities",
                                "type": "checkbox"
                            },
                            "clusters": {
                                "default": true,
                                "hint": "Creates a Generate Clusters Satbot for the tiles found to be affected by the import.",
                                "label": "Clusters",
                                "type": "checkbox"
                            },
                            "frame-name": {"choices": "frames", "label": "Frame", "type": "select"},
                            "frame-name-vel-file": {
                                "hint": "The full file path of velocity HDF5 that contains the data you'd like to update in the database.",
                                "label": "Vel File",
                                "placeholder": "/path/to/frames/{{frame_id}}/{{frame_id}}-vel.h5",
                                "type": "text"
                            },
                            "layer": {
                                "choices": [
                                    ["custom_points", "\u200bCustom Points (STANDARD)"],
                                    ["asc", "Sentinel Ascending (STANDARD)"],
                                    ["desc", "Sentinel Descending (STANDARD)"],
                                    ["rural_asc", "Sentinel Ascending Rural (RURAL)"],
                                    ["rural_desc", "Sentinel Descending Rural (RURAL)"],
                                    ["csk_asc", "CSK Ascending (HR)"],
                                    ["csk_desc", "CSK Descending (HR)"],
                                    ["tsx_asc", "TSX Ascending (HR)"],
                                    ["tsx_desc", "TSX Descending (HR)"],
                                    ["asc_rmse", "\u200bRMSE Sentinel Ascending (STANDARD)"],
                                    ["desc_rmse", "\u200bRMSE Sentinel Descending (STANDARD)"],
                                    ["rural_asc_rmse", "\u200bRMSE Sentinel Ascending Rural (RURAL)"],
                                    ["rural_desc_rmse", "\u200bRMSE Sentinel Descending Rural (RURAL)"],
                                    ["csk_asc_rmse", "\u200bRMSE CSK Ascending (HR)"],
                                    ["csk_desc_rmse", "\u200bRMSE CSK Descending (HR)"],
                                    ["tsx_asc_rmse", "\u200bRMSE TSX Ascending (HR)"],
                                    ["tsx_desc_rmse", "\u200bRMSE TSX Descending (HR)"]
                                ],
                                "hint": "Note: the layer selected will also impact the database chosen to insert the data.",
                                "label": "Layer",
                                "type": "select"
                            }
                        },
                        "name": "FRAME_CREATE",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 13,
                        "title": "Create Frame"
                    },
                    "71": {
                        "description": "Updates the Points in a Frame that are already in the database.<br/>Use <strong>Create Frame</strong> to replace the geometry or the number of Points in the Frame.",
                        "dynamic_fields": {
                            "annual-velocities": {
                                "hint": "Calculates annual velocities for the selected years and displays when a Point is clicked or requested from the API.",
                                "label": "Annual velocities",
                                "type": "checkbox"
                            },
                            "frame-id": {
                                "choices": [
                                    ["hr-1", "HR 1: velcrop_20240618"],
                                    ["rural-284", "RURAL 284: 117A_Weilheim_DE-rural"],
                                    ["standard-56", "STANDARD 56: 117A_Weilheim_DE"],
                                    ["standard-59", "STANDARD 59: 117A_Weilheim_DE-rural"],
                                    ["standard-60", "STANDARD 60: velcrop_20240618"]
                                ],
                                "class": "frame-id-selector",
                                "hint": "If typing manually, this field must be <strong>database-frame_id</strong> (e.g. standard-1) or <strong>database-frame_name</strong> (e.g. standard-000A_0_0).",
                                "label": "Frame ID",
                                "type": "select"
                            },
                            "frame-id-vel-file": {
                                "hint": "The full file path of velocity HDF5 that contains the data you'd like to update in the database.",
                                "label": "Vel File",
                                "placeholder": "/path/to/frames/{{frame_id}}/{{frame_id}}-vel.h5",
                                "type": "text"
                            },
                            "update-displacements": {
                                "choices": [
                                    [2014, 2014],
                                    [2015, 2015],
                                    [2016, 2016],
                                    [2017, 2017],
                                    [2018, 2018],
                                    [2019, 2019],
                                    [2020, 2020],
                                    [2021, 2021],
                                    [2022, 2022],
                                    [2023, 2023],
                                    [2024, 2024]
                                ],
                                "default": 2024,
                                "hint": "Will also update annual velocities for the period selected.  Displacements will be skipped if no years are selected.",
                                "label": "Update Displacements",
                                "multiple": true,
                                "optional": true,
                                "type": "select"
                            },
                            "update-point-attributes": {
                                "hint": "Velocity, RMSE.",
                                "label": "Update Point Attributes",
                                "type": "checkbox"
                            }
                        },
                        "name": "FRAME_UPDATE",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 9,
                        "title": "Update Frame"
                    },
                    "72": {
                        "description": "Updates Points within provided GeoJSON.  Assumes HDF5 files for frames in the polygon are in the default locations.",
                        "dynamic_fields": {
                            "annual-velocities": {
                                "hint": "Calculates annual velocities for the selected years and displays when a Point is clicked or requested from the API.",
                                "label": "Annual velocities",
                                "type": "checkbox"
                            },
                            "geojson": {
                                "hint": "GeoJSON for the area you want to update.  Must be a simple, single polygon.",
                                "label": "GeoJSON",
                                "type": "text"
                            },
                            "update-displacements": {
                                "choices": [
                                    [2014, 2014],
                                    [2015, 2015],
                                    [2016, 2016],
                                    [2017, 2017],
                                    [2018, 2018],
                                    [2019, 2019],
                                    [2020, 2020],
                                    [2021, 2021],
                                    [2022, 2022],
                                    [2023, 2023],
                                    [2024, 2024]
                                ],
                                "default": 2024,
                                "hint": "Will also update annual velocities for the period selected.  Displacements will be skipped if no years selected.",
                                "label": "Update Displacements",
                                "multiple": true,
                                "optional": true,
                                "type": "select"
                            },
                            "update-point-attributes": {
                                "hint": "Velocity, RMSE.",
                                "label": "Update Point Attributes",
                                "type": "checkbox"
                            }
                        },
                        "name": "POINT_UPDATE",
                        "priorities": [
                            [1, "LOW"],
                            [2, "MEDIUM"],
                            [3, "HIGH"],
                            [99, "URGENT"]
                        ],
                        "times_used": 0,
                        "title": "Update Points"
                    }
                }

  401:
    schema:
      type: object
      properties:
        error:
          type: string
          example: 'Unauthorised'

