{"openapi":"3.1.0","info":{"title":"SkyFi Platform API","description":"# Skyfi Platform API is your SataaS (Satellite as a Service). 🚀\n## Documentation sources\n- [Swagger documentation](https://app.skyfi.com/platform-api/docs)\n- [Redoc documentation](https://app.skyfi.com/platform-api/redoc)\n- [OpenAPI JSON Specification](https://app.skyfi.com/platform-api/openapi.json)\n## Ordering\n- **Task** new Day/Multispectral/SAR images products with various resolutions\n- **Archive images** from our catalog\n- Get the delivirables directly in your **AWS S3**, **Google Cloud Storage** or **Azure Blob Storage** buckets\n- Get scientific **GeoTiff** and **PNG** for every order\n- Archival imagery order delivery is usually within 24 hours.\n- Tasking imagery order delivery is subject to the users tasking window specifications. Tasking orders will deliver within 48 hours of image capture.\n\n## Vantor EULA\nOrdering Vantor imagery (archive or tasking) requires accepting the Vantor End-User License Agreement. If you have not accepted it, the API will return a `403 Forbidden` error.\n\nTo accept the EULA, visit your profile page:\n[Accept Vantor EULA](https://app.skyfi.com/accept-vantor-eula)\n\n## Notifications\n- Get notified for new archive images with custom filters\n- Delivered to your specific webhook that can be different for each filter on your account\n\n## Delivery\nGet your imagery on the most used storage platforms - AWS S3, Google Cloud Storage or Azure Blob Storage\n\n\n### Delivery to AWS S3 bucket\n- Set the delivery driver to `S3`\n- provide the required delivery parameters to connect to the `S3` bucket: `s3_bucket_id`, `aws_region`, `aws_access_key` and `aws_secret_key`,\n```json\n\"deliveryDriver\": \"S3\",\n\"deliveryParams\": {\n    \"s3_bucket_id\": \"my-bucket\",\n    \"aws_region\": \"us-east-1\",\n    \"aws_access_key\": \"AKIABCDEF01230123...\",\n    \"aws_secret_key\": \"58vf0U8...\",\n    \"subfolder\": \"mymain01/mysub02\" // optional\n}\n```\n\n### Delivery to Google Cloud Storage bucket\n- Set the delivery driver to `GS`\n- provide the project, bucket id and credentials for connection: `gs_project_id`, `gs_bucket_id` and a service account credentials in `gs_credentials`\n```json\n\"deliveryDriver\": \"GS\",\n\"deliveryParams\": {\n    \"gs_project_id\": \"my-eo-project-id\",\n    \"gs_bucket_id\": \"eo_images_bucket_001\",\n    \"gs_credentials\": {\n        \"type\": \"service_account\",\n        \"project_id\": \"my-eo-project-id\",\n        \"private_key_id\": \"abcdef123123123\",\n        \"private_key\": \"-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----\",\n        \"client_email\": \"service-account-name@my-eo-project-id.iam.gserviceaccount.com\",\n        \"client_id\": \"101010123\",\n        \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n        \"token_uri\": \"https://oauth2.googleapis.com/token\",\n        \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n        \"client_x509_cert_url\": \"https://service.url/\",\n    },\n    \"subfolder\": \"mymain01/mysub02\" // optional\n}\n```\n\n### Delivery to Azure Blob Storage\nWe support two authentication schemas - through an account connection string or through an Azure Entra App client secret credentials:\n\n#### 1. Use Azure's account `connection_string`\n- Set the delivery driver to `AZURE`\n- provide the storage container name in `azure_container_name` and a connection string for the credentials as `azure_connection_string`:\n```json\n  \"delivery_driver\": \"AZURE\",\n  \"delivery_params\": {\n    \"azure_container_name\": \"skyficontainer\",\n    \"azure_connection_string\": \"...\",\n    \"subfolder\": \"mymain01/mysub02\" // optional\n  }\n```\n\n#### 2. Use Azure's Entra App credentials\n- Set the delivery driver to `AZURE`\n- provide the storage account name in `azure_account_name`\n- provide the container name in `azure_container_name`\n- provide Azure Entra App tenant id, client id and client secret in: `azure_tenant_id`, `azure_client_id` and `azure_client_secret`\n- make sure to grant the Entra app the following permissions to the storage account:\n  - `Storage Blob Data Contributor`\n  - `Storage Queue Data Contributor`\n```json\n  \"delivery_driver\": \"AZURE\",\n  \"delivery_params\": {\n    \"azure_account_name\": \"skyfiaccount\",\n    \"azure_container_name\": \"skyficontainer\",\n    \"azure_tenant_id\": \"...\",\n    \"azure_client_id\": \"...\",\n    \"azure_client_secret\": \"...\",\n    \"subfolder\": \"mymain01/mysub02\" // optional\n  }\n```\n\n### Order redelivery\nIn case of problems with the delivery bucket, delivery parameter mistakes during ordering or if the delivery images are required in another place, one can change the delivery settings of a specific order. If the images were already delivered to the original destination, a new upload will be triggered redelivering the artefacts to the new bucket. Example:\n```json\nPOST https://app.skyfi.com/platform-api/orders/<ORDER_ID>/redelivery\nAccept: application/json\nContent-Type: application/json\nX-Skyfi-Api-Key: <API_KEY>\n\n{\n  \"deliveryDriver\": \"GS|S3|AZURE|...\", // new delivery driver\n  \"deliveryParams\": {\n    ... // new delivery parameters\n  }\n}\n```\n\n### Folder structure\nThe artefacts associated with an order will be uploaded to a folder named after the `order_id`. If you need to add a prefix to the folder structure, you can utilise the optional parameter `subfolder` in the `deliveryParams` object.\n\n## Area of interest specifics\n### Format\nAll **AOI** fields are expected to be a simple convex **POLYGON** in the [WKT format](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry), e.g.\n```\nPOLYGON ((-97.672442134274 30.289674402322873, -97.67245401025714 30.244570392925723, -97.72440367372722 30.244570392925723, -97.72441554971037 30.289674402322873, -97.672442134274 30.289674402322873))\n```\n#### AOI limits:\n- orders should not have more than 500 vertices\n- archive searhes should not have more than 500 vertices & area more than 500,000 sqkm\n- notifications should not have more than 500 vertices & area more than 500,000 sqkm\n\n### Calculate the size of the AOI in sqkm\nThe link below is a Notebook to help you calculate the size of your Area of Interest (AOI) in sqkm. This calculation is essential for determining the order cost and ensuring compliance with our AOI constraints, such as minimum and maximum area requirements. Please note that the notebook will only generate size and not cost, but cost can be generated using our pricing guidelines [here](https://skyfi.com/files/SkyFi_Pricing_2025.pdf).\n\nTo access the Notebook and learn how the AOI area is calculated, please use the following link:\n\n[Click here to access the Notebook](https://colab.research.google.com/drive/1yM2dfCFupCe1exrbhkinHDsenJ8HSp-b)\n\nHere's a brief overview of the steps involved:\n\n1. Open the provided notebook using the provided link.\n2. Create a copy of the notebook in your personal Google Drive or preferred environment.\n3. Update the polygon with your specific AOI.\n4. Follow the provided code and instructions to input the AOI square polygon coordinates, either manually or from previous steps of generating the AOI.\n5. Run the cell associated with the AOI area calculation. The notebook will provide the area of the AOI in square kilometers.\n\nBy utilizing the provided Notebook, you will be able to calculate the area of your AOI accurately. This is helpful for determining the order cost and verifying compliance with our AOI constraints, such as minimum and maximum area limitations.\n\nPlease note that the provided notebook assumes a basic understanding of Python programming. In case you encounter any issues or have further questions, feel free to reach out at [api@skyfi.com](mailto:api@skyfi.com) for assistance.\n\n\n### Generate an AOI with a center point\nTo identify a polygonal Area of Interest in sq. km. given a center point, you can use the provided Python notebook.\n\n[Click here to access the Notebook](https://colab.research.google.com/drive/15Bf81qL5m5x3g_-1vGe5yxZu7pGVjFy2)\n\nHere's a brief overview of the steps involved:\n\n1. Open the provided notebook by clicking on the link above.\n2. Make a copy of the notebook to your personal Google Drive or preferred environment.\n3. Change the values of the center point and the desired area in sqkm\n4. Execute the notebook cells in order, ensuring that any required dependencies are installed.\n5. Retrieve the generated AOI square polygon from the output. These coordinates can be used in your API requests to obtain satellite imagery for your specific area.\n\nBy following these instructions, you will be able to define a customized AOI square polygon based on a center point and a desired area size. This polygon can then be used in this API to order satellite imagery for your specific area of interest.\n\nPlease note that the provided notebook assumes a basic understanding of Python programming. In case you encounter any issues or have further questions, feel free to reach out at [api@skyfi.com](mailto:api@skyfi.com) for assistance.\n\n\n## Opendata\nSentinel1 and Sentinel2 images can be ordered through this API using the `SAR`, `DAY`, or `MULTISPECTRAL` products on the `LOW` resolution. We support other opendata products which will have the `price_for_one_square_km` set to 0. Ordering these images will be free of charge. Finding all of our opendata options can be done on our website https://app.skyfi.com/explore/open or through the `/archives` endpoint specifying the `openData: true` request option.\n\n\n## Pass Prediction and Selection\n\n### Overview\nWhen creating tasking orders, you can use pass prediction (feasibility) results to select specific satellite passes. This ensures your order uses the exact satellite pass you evaluated during feasibility checks.\n\n### Planet Pass Selection\nFor Planet tasking orders, you can specify a `provider_window_id` from the feasibility response:\n\n1. **Get feasibility results** with available passes from the `/feasibility` endpoint\n2. **Select a specific pass** from the opportunities list, which includes a `provider_window_id`\n3. **Include the provider_window_id** in your tasking order request:\n\n```json\nPOST https://app.skyfi.com/platform-api/order-tasking\n{\n  \"aoi\": \"POLYGON(...)\",\n  \"window_start\": \"2025-01-20T00:00:00Z\",\n  \"window_end\": \"2025-01-25T23:59:59Z\",\n  \"product_type\": \"DAY\",\n  \"resolution\": \"VERY_HIGH\",\n  \"provider_window_id\": \"550e8400-e29b-41d4-a716-446655440000\",  // From feasibility response\n  \"required_provider\": \"PLANET\",\n  // ... other parameters\n}\n```\n\nWhen `provider_window_id` is provided for Planet orders, the system will task that specific satellite pass, ensuring you get exactly what you evaluated during feasibility.\n\n### Umbra SAR Pass Selection\nFor Umbra SAR tasking orders, pass selection works differently - it's based on the **AOI combined with date and time window** rather than a window ID:\n\n1. **Get feasibility results** with available passes from the `/feasibility` endpoint\n2. **Note the specific pass timing** you want (each pass has precise start/end times)\n3. **Create your tasking order** with a time window that matches the desired pass:\n\n```json\nPOST https://app.skyfi.com/platform-api/order-tasking\n{\n  \"aoi\": \"POLYGON(...)\",  // Must match the AOI used in pass-prediction\n  \"window_start\": \"2025-01-20T14:30:00Z\",  // Align with specific pass start time\n  \"window_end\": \"2025-01-20T14:45:00Z\",    // Align with specific pass end time\n  \"product_type\": \"SAR\",\n  \"resolution\": \"VERY_HIGH\",\n  \"required_provider\": \"UMBRA\",\n  \"sar_product_types\": [\"SICD\", \"GEC\"],\n  // ... other SAR parameters\n}\n```\n\n**Important for Umbra**: The combination of AOI + time window determines which pass is selected. To ensure you get a specific pass:\n- Use the exact same AOI from pass-prediction\n- Set your window_start and window_end to tightly match the desired pass timing\n- The Umbra system will select the matching pass\n\n## Webhook Events\n\n### Order Event Webhook\nWhen you create an order with a `webhook_url` parameter, we'll send HTTP POST requests to your endpoint whenever the order status changes. Our webhook client has a timeout of 2 seconds and will retry up to 3 times until receiving a 200 response.\n\n#### Webhook Payload Structure\n```json\n{\n  \"order_info\": {\n    // Full order information (TaskingOrderResponse or ArchiveOrderResponse)\n    \"id\": \"uuid\",\n    \"order_type\": \"TASKING|ARCHIVE\",\n    \"status\": \"current_status\",\n    // ... other order fields\n  },\n  \"event\": {\n    \"status\": \"triggering_status\",\n    \"timestamp\": \"2024-01-01T00:00:00Z\",\n    \"message\": \"optional message\"\n  }\n}\n```\n\n#### Possible Webhook Event Statuses\nYour webhook will be called when the order transitions to any of these statuses:\n\n- **CREATED** - Order has been created\n- **STARTED** - Order processing has started\n- **PAYMENT_FAILED** - Payment processing failed\n- **PLATFORM_FAILED** - Internal platform error occurred\n- **PROVIDER_PENDING** - Order sent to satellite provider\n- **PROVIDER_COMPLETE** - Provider has captured/retrieved the imagery\n- **PROVIDER_FAILED** - Provider was unable to fulfill the order\n- **PROCESSING_PENDING** - Internal processing of imagery has started\n- **PROCESSING_COMPLETE** - Processing is complete\n- **PROCESSING_FAILED** - Processing failed\n- **DELIVERY_PENDING** - Delivery to your storage bucket has started\n- **DELIVERY_COMPLETED** - Imagery successfully delivered to your storage\n- **DELIVERY_FAILED** - Delivery to storage failed\n- **INTERNAL_IMAGE_PROCESSING_PENDING** - Additional image processing in progress\n\n## Pricing\nTo obtain information about the pricing details for our satellite imagery API, you can refer to our general pricing document. It provides a comprehensive overview of the pricing structure and associated costs.\n\nYou can access the pricing document by clicking [here](https://skyfi.com/files/SkyFi_Pricing_2025.pdf).\n\nPlease note that the pricing document outlines the general pricing information, but for specific details and a tailored offer, we recommend contacting us directly at [api@skyfi.com](mailto:api@skyfi.com). Our team will be happy to assist you in determining the pricing that best suits your needs.\n\nTo receive a specific offer and initiate the integration process, please reach out to us at [api@skyfi.com](mailto:api@skyfi.com). Our dedicated team will promptly respond to your inquiry and provide you with the necessary information to proceed. API keys are available to all SkyFi accounts. Free accounts can place open data orders (up to 1 per day) and can also order paid imagery with a credit card attached to their profile. Pro accounts get higher daily open data limits (up to 5 per day) and advanced billing options. To manage your account, visit [app.skyfi.com](https://app.skyfi.com). For additional questions or to set up advanced billing, please email [api@skyfi.com](mailto:api@skyfi.com) and our dedicated team will respond promptly.\n\n\n## Getting Started\n\nTo get started with the SkyFi API, you'll need an API key. API keys are available to all SkyFi accounts and can be found in the My Profile section at [app.skyfi.com](https://app.skyfi.com).\n\nWe recommend starting with open data orders, which are delivered at no cost, to ensure your delivery setup is working correctly. Free accounts can place up to 1 open data order per day, while Pro accounts can place up to 5 per day. To place open data orders, ensure the following search parameters:\n\n- resolution: low\n- sensor: day, multispectral, or sar\n\n__For additional support or questions about API access, please reach out to [api@skyfi.com](mailto:api@skyfi.com).__\n\n\n### Example Search Archives for Open Data\nBefore ordering archive satellite imagery, you first need to search our archives to find specific images that match your criteria. This search step allows you to find assets in the open data catalog that covers your area of interest. Once you find suitable images in the search results, you can use their unique archive IDs to place an order for delivery.\n\n```json\nPOST https://app.skyfi.com/platform-api/archives\nAccept: application/json\nContent-Type: application/json\nX-Skyfi-Api-Key: {{API_KEY}}\n\n{\n  \"aoi\": \"POLYGON ((-97.72161725693583 30.285736865030987, -97.72162534407455 30.248516744000742, -97.76449625592544 30.248516744000742, -97.76450434306416 30.285736865030987, -97.72161725693583 30.285736865030987))\",\n  \"openData\": true,\n  \"productTypes\": [\"DAY\", \"MULTISPECTRAL\", \"SAR\"],\n  \"resolution\": \"LOW\",\n  \"fromDate\": \"2025-01-01T00:00:00+00:00\",\n  \"toDate\": \"2025-12-31T23:59:59+00:00\",\n}\n```\n\n### Example archive order, SENTINEL2 open data catalog, DAY, LOW, 10m image:\n```json\nPOST https://app.skyfi.com/platform-api/order-archive\nAccept: application/json\nContent-Type: application/json\nX-Skyfi-Api-Key: <API_KEY>\n\n{\n  \"aoi\": \"POLYGON ((-97.72161725693583 30.285736865030987, -97.72162534407455 30.248516744000742, -97.76449625592544 30.248516744000742, -97.76450434306416 30.285736865030987, -97.72161725693583 30.285736865030987))\",\n  \"archiveId\": \"db4794dd-da6a-45b4-ac6e-b9e50e36bb29\", // example archiveId for ARCHIVE orders\n  \"deliveryDriver\": \"GS\",\n  \"deliveryParams\": {\n    \"gs_project_id\": \"<GS_PROJECT_NAME>\",\n    ...\n    \"subfolder\": \"mysub01\" // Optional\n  }\n}\n```\n\n","contact":{"name":"Skyfi Inc.","url":"https://skyfi.com/","email":"api@skyfi.com"},"version":"2.0.0+8113881","x-logo":{"url":"/platform-api/platform-api/static/skyfi_logo_circle.svg"}},"servers":[{"url":"/platform-api"}],"paths":{"/ping":{"get":{"tags":["Core"],"summary":"Ping the service","description":"Ping/pong endpoint","operationId":"ping_ping_get","responses":{"200":{"description":"Get a polite pong back","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PongResponse"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\nping_response = httpx.get(\"https://app.skyfi.com/platform-api/ping\", headers=headers)\nping = ping_response.json()\n\nlogging.info(f\"ping: {ping['message']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record PingResponse(String message) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var responseMono = client.get()\n                .uri(\"/ping\")\n                .retrieve()\n                .bodyToMono(PingResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"ping: {}\", response.message());\n\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiPing() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let ping_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/ping\",\n        { headers: headers }\n    );\n\n    let ping = ping_response.data;\n    console.log(\"ping:\", ping.message);\n}\n\nskyfiPlatformApiPing();","label":"JavaScript"}]}},"/health_check":{"get":{"tags":["Core"],"summary":"Health status for the service","description":"Health check endpoint","operationId":"health_check_health_check_get","responses":{"200":{"description":"Get the health status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\nhealth_check_response = httpx.get(\n    \"https://app.skyfi.com/platform-api/health_check\", headers=headers\n)\nhealth_check = health_check_response.json()\n\nlogging.info(f\"health_check: {health_check['status']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n        private static final String API_KEY = \"<API_KEY>\";\n\n        public static void main(String[] args) {\n                SpringApplication.run(DemoApplication.class, args);\n        }\n\n        record StatusResponse(String status) {\n        }\n\n        @Override\n        public void run(String... args) throws Exception {\n                WebClient client = WebClient\n                                .builder()\n                                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                                .build();\n                var responseMono = client.get()\n                                .uri(\"/health_check\")\n                                .retrieve()\n                                .bodyToMono(StatusResponse.class);\n                var response = responseMono.block();\n\n                log.info(\"health_check: {}\", response.status());\n        }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiHealthCheck() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let health_check_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/health_check\",\n        { headers: headers }\n    );\n\n    let health_check = health_check_response.data;\n    console.log(\"health_check:\", health_check.status);\n}\n\nskyfiPlatformApiHealthCheck();","label":"JavaScript"}]}},"/rapidoc":{"get":{"tags":["Core"],"summary":"Rapid Doc experiment","description":"Rapid Doc response","operationId":"rapid_doc_rapidoc_get","responses":{"200":{"description":"Rapid Doc experiment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}}}}},"/demo-delivery":{"post":{"tags":["Core"],"summary":"Initiate a demo delivery","description":"Initiate a test delivery to the requested customer bucket","operationId":"demo_delivery_demo_delivery_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoDeliveryRequest"}}},"required":true},"responses":{"200":{"description":"Get demo delivery id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoDeliveryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/whoami":{"get":{"tags":["Auth"],"summary":"Get the current user","description":"## Get the current user with details and statistics\n\n### Returns:\n**WhoamiUser**: the current user with details and statistics","operationId":"get_auth_whoami_get","responses":{"200":{"description":"The current user payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoamiUser"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}}},"security":[{"APIKeyHeader":[]}],"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\nwhoami_response = httpx.get(\"https://app.skyfi.com/platform-api/auth/whoami\", headers=headers)\nwhoami = whoami_response.json()\n\nlogging.info(f\"whoami: {whoami['id']} {whoami['email']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record WhoamiResponse(UUID id, String email, String name, String apiKey, boolean isDemoAccount) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var responseMono = client.get()\n                .uri(\"/auth/whoami\")\n                .retrieve()\n                .bodyToMono(WhoamiResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"whoami: {} {}\", response.id(), response.email());\n\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiWhoami() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let whoami_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/auth/whoami\",\n        { headers: headers }\n    );\n\n    let whoami = whoami_response.data;\n    console.log(\"whoami:\", whoami.id, whoami.email);\n}\n\nskyfiPlatformApiWhoami();","label":"JavaScript"}]}},"/archives":{"post":{"tags":["Archive"],"summary":"Search our catalog","description":"## Browse our catalog and filter by AOI, product, date, etc\nThis endpoint allows you to search our catalog and filter by your product of interest.\nIt's used for the initial search request for browsing the catalog. All subsequent requests\nshould use the next_page field from this response and continue the search with\n`GET /archives?page=<NEXT_PAGE_HASH>`.\n\n### Args:\n- **aoi** - A wkt representation of user cropped area\n- **fromDate** - Must be 24-hour UTC. YYYY-MM-DDTHH:MM:SS+00:00.\n- **toDate** - Must be 24-hour UTC. YYYY-MM-DDTHH:MM:SS+00:00.\n- **maxCloudCoveragePercent** - Max for the cloud coverage pct of the image\n- **maxOffNadirAngle** - Max for the nadir angle of the image\n- **resolutions** - Only return archive results that are these resolutions.\n- **productTypes** - Only return archive results that are from these product types.\n- **providers** - Only return archive results that are from these providers.\n- **openData** - Filter only open_data or commercial.\n- **pageSize** - Number of archive elements per page.\n\n### Deprecated:\n- **pageNumber** - Will not be honored when supplied.\nFor paging please use the nextPage parameter from the response.\n\n### Returns:\n\n**GetArchivesResponse**: Paginated payload with Archive information","operationId":"find_archives_archives_post","security":[{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetArchivesRequest"}}}},"responses":{"200":{"description":"Search our catalog with satellite imagery and filter by your product of interest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetArchivesResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nrequest = {\n    \"aoi\": (\n        \"POLYGON((-75.30257496772279 -14.579684184450173,-74.93310578102702 -14.572732064728868,\"\n        \"-74.93012696417887 -14.816429192248364,-75.30428913596941 -14.815716491089375,\"\n        \"-75.30257496772279 -14.579684184450173))\"\n    ),\n    \"maxCloudCoveragePercent\": 0,\n    \"maxOffNadirAngle\": 4,\n    \"resolutions\": [\"VERY HIGH\"],\n    \"pageSize\": 20,\n}\narchives_response = httpx.post(\n    \"https://app.skyfi.com/platform-api/archives\", json=request, headers=headers\n)\narchives = archives_response.json()\n\nlogging.info(f\"total results: {archives['total']}\")\nfor archive in archives[\"archives\"]:\n    logging.info(f\"archive id: {archive['archiveId']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.OffsetDateTime;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    record ArchiveRequest(\n            String aoi,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle,\n            List<String> resolutions,\n            int pageSize) {\n    }\n\n    record Archive(\n            UUID archiveId,\n            String provider,\n            String constellation,\n            String productType,\n            int platformResolution,\n            String resolution,\n            OffsetDateTime captureTimestamp,\n            float cloudCoveragePercent,\n            float offNadirAngle,\n            String footprint,\n            float minSquareKms,\n            float maxSquareKms,\n            float priceForOneSquareKm,\n            float totalAreaSquareKm,\n            float deliveryTimeHours,\n            Map<String, String> thumbnailUrls,\n            float gsd) {\n    }\n\n    record ArchiveResponse(ArchiveRequest request, int total, List<Archive> archives) {\n    }\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n\n        var request = new ArchiveRequest(\n                \"POLYGON((-75.30257496772279 -14.579684184450173,-74.93310578102702 -14.572732064728868,-74.93012696417887 -14.816429192248364,-75.30428913596941 -14.815716491089375,-75.30257496772279 -14.579684184450173))\",\n                20, 10, List.of(\"VERY HIGH\"), 20);\n\n        var responseMono = client.post()\n                .uri(\"/archives\")\n                .bodyValue(request)\n                .retrieve()\n                .bodyToMono(ArchiveResponse.class);\n        var response = responseMono.block();\n        log.info(\"Total results: {}\", response.total());\n        response.archives().forEach(a -> log.info(\"archive id: {}\", a.archiveId()));\n\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiArchives() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let request = {\n        \"aoi\": \"POLYGON((-75.30257496772279 -14.579684184450173,-74.93310578102702 -14.572732064728868,-74.93012696417887 -14.816429192248364,-75.30428913596941 -14.815716491089375,-75.30257496772279 -14.579684184450173))\",\n        \"max_cloud_coverage_percent\": 0,\n        \"max_off_nadir_angle\": 4,\n        \"resolutions\": [\"VERY HIGH\"],\n        \"page_size\": 20\n    }\n    let archives_response = await axios.post(\n        \"https://app.skyfi.com/platform-api/archives\",\n        request,\n        { headers: headers }\n    );\n\n    let archives = archives_response.data;\n    console.log(\"total results:\", archives.total);\n    archives.archives.forEach(function(a) { console.log(\"archive id, \", a.archiveId); });\n}\n\nskyfiPlatformApiArchives();","label":"JavaScript"}]},"get":{"tags":["Archive"],"summary":"Continue paging through our catalog","description":"## Browse our catalog and filter by AOI, product, date, etc\nThis endpoint allows you to search our catalog and filter by your product of interest.\nIt's used for the secondary paging search requests when browsing the catalog.\nObtain the correct `GET /archives?page=<NEXT_PAGE_HASH>`\nfrom a previous request to `POST /archives`.\n\n### Args:\n- **page** - the next page hash from the previous response\n\n\n### Returns:\n\n**GetArchivesResponse**: Paginated payload with Archive information","operationId":"find_archives_paging_archives_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":true,"schema":{"type":"string","title":"Page"}}],"responses":{"200":{"description":"The next page of the search results. Use the `next_page` field to continue the search.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetArchivesResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/archives/{archive_id}":{"get":{"tags":["Archive"],"summary":"Get information for an archive image","description":"## Get a single archive image information\n\n### Args:\n- **archive_id** (UUID): the archive id\n\n### Returns:\n\n**Archive**: the full information for the archive image","operationId":"archive_archives__archive_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"archive_id","in":"path","required":true,"schema":{"type":"string","title":"Archive Id"}}],"responses":{"200":{"description":"Get the detail information for a single archive image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Archive"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Archive not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\narchive_response = httpx.get(\n    \"https://app.skyfi.com/platform-api/archives/354b783d-8fad-4050-a167-2eb069653777\",\n    headers=headers,\n)\narchive = archive_response.json()\nlogging.info(f\"archive id: {archive['archiveId']} {archive['footprint']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.OffsetDateTime;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record Archive(\n            UUID archiveId,\n            String provider,\n            String constellation,\n            String productType,\n            int platformResolution,\n            String resolution,\n            OffsetDateTime captureTimestamp,\n            float cloudCoveragePercent,\n            float offNadirAngle,\n            String footprint,\n            float minSquareKms,\n            float maxSquareKms,\n            float priceForOneSquareKm,\n            float totalAreaSquareKm,\n            float deliveryTimeHours,\n            Map<String, String> thumbnailUrls,\n            float gsd) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var responseMono = client.get()\n                .uri(\"/archives/354b783d-8fad-4050-a167-2eb069653777\")\n                .retrieve()\n                .bodyToMono(Archive.class);\n        var response = responseMono.block();\n\n        log.info(\"archive: {} {}\", response.archiveId(), response.footprint());\n\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiGetArchive() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let archive_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/archives/354b783d-8fad-4050-a167-2eb069653777\",\n        { headers: headers }\n    );\n\n    let archive = archive_response.data;\n    console.log(\"archive:\", archive.archiveId, archive.footprint);\n}\n\nskyfiPlatformApiGetArchive();","label":"JavaScript"}]}},"/notifications":{"post":{"tags":["Notifications"],"summary":"Create a new notification with a filter","description":"## Create a new notification\n\n### Args:\n- **aoi** - the area of interest to look for\n- **gsdMin** - (Optional) Minimum GSD of the new archive to filter for the notifications.\n               Inclusive, e.g. `archive_gsd >= gsd_min`.\n- **gsdMax** - (Optional) Minimum GSD of the new archive to filter for the notifications.\n               Inclusive, e.g. `archive_gsd <= gsd_max`.\n- **productType** - (Optional) The product type of the new archive to filter for the\n                    notifications\n- **webhookUrl** - the url that our system will ping with any\n                    new image that matches the criterea\n\n### Returns:\n**NotificationResponse**: the information for the new notification","operationId":"create_notification_notifications_post","security":[{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationRequest"}}}},"responses":{"201":{"description":"Search our catalog with satellite imagery and filter by your product of interest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nrequest = {\n    \"aoi\": (\n        \"POLYGON((-75.00427138628254 -14.76335975153063,-74.8336213774054\"\n        \" -14.803321500039317,-74.82158622757852 -14.714370578028067,-74.98259545585488\"\n        \" -14.675788383696457,-75.00427138628254 -14.76335975153063))\"\n    ),\n    \"webhookUrl\": \"https://webhook.site/24440400-d95e-43a9-9ebf-6ff0d06599fe\",\n}\nnotification_response = httpx.post(\n    \"https://app.skyfi.com/platform-api/notifications\", json=request, headers=headers\n)\nnotification = notification_response.json()\n\nlogging.info(f\"new notification: {notification['id']} {notification['webhookUrl']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.OffsetDateTime;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record CreateNotificationRequest(String aoi, String webhookUrl) {\n    }\n\n    record Notification(UUID id,\n            UUID ownerId,\n            String aoi,\n            String webhookUrl,\n            OffsetDateTime createdAt) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var request = new CreateNotificationRequest(\n                \"POLYGON((-75.00427138628254 -14.76335975153063,-74.8336213774054 -14.803321500039317,-74.82158622757852 -14.714370578028067,-74.98259545585488 -14.675788383696457,-75.00427138628254 -14.76335975153063))\",\n                \"https://webhook.site/24440400-d95e-4389-9ebf-6ae0d06599fe\");\n\n        var responseMono = client.post()\n                .uri(\"/notifications\")\n                .bodyValue(request)\n                .retrieve()\n                .bodyToMono(Notification.class);\n        var response = responseMono.block();\n\n        log.info(\"notification: {} {}\", response.id(), response.webhookUrl());\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiCreateNotification() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let request = {\n        \"aoi\": \"POLYGON((-75.00427138628254 -14.76335975153063,-74.8336213774054 -14.803321500039317,-74.82158622757852 -14.714370578028067,-74.98259545585488 -14.675788383696457,-75.00427138628254 -14.76335975153063))\",\n        \"webhookUrl\": \"https://webhook.site/24440400-d95e-4389-9ebf-6ae0d06599fe\"\n    }\n    let notification_response = await axios.post(\n        \"https://app.skyfi.com/platform-api/notifications\",\n        request,\n        { headers: headers }\n    );\n\n    let notification = notification_response.data;\n    console.log(\"new notification:\", notification.id, notification.webhookUrl);\n}\n\nskyfiPlatformApiCreateNotification();","label":"JavaScript"}]},"get":{"tags":["Notifications"],"summary":"List customer's active notifications","description":"## List of the notifications\n\n### Args:\n- **pageNumber** - the page to return\n- **pageSize** - the size of the page\n\n### Returns:\n**ListNotificationsResponse**: the information for the current notifications","operationId":"list_notifications_notifications_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"pageNumber","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Pagenumber"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"default":10,"title":"Pagesize"}}],"responses":{"200":{"description":"List all currently active customer notifications and their details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNotificationsResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nparams = {\"pageNumber\": 0, \"pageSize\": 20}\nnotifications_response = httpx.get(\n    \"https://app.skyfi.com/platform-api/notifications\", params=params, headers=headers\n)\nnotifications = notifications_response.json()\n\nlogging.info(f\"total notifications: {notifications['total']}\")\nfor notification in notifications[\"notifications\"]:\n    logging.info(f\"notification {notification['id']} {notification['webhookUrl']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.OffsetDateTime;\nimport java.util.List;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record Notification(UUID id,\n            UUID ownerId,\n            String aoi,\n            String webhookUrl,\n            OffsetDateTime createdAt) {\n    }\n\n    record NotificationsRequest(int pageNumber, int pageSize) {\n    }\n\n    record NotificationsResponse(NotificationsRequest request, int total, List<Notification> notifications) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var request = new NotificationsRequest(0, 20);\n        var responseMono = client.get()\n                .uri(builder -> {\n                    builder = builder\n                            .path(\"/notifications\")\n                            .queryParam(\"pageNumber\", request.pageNumber())\n                            .queryParam(\"pageSize\", request.pageSize());\n                    return builder.build();\n                })\n                .retrieve()\n                .bodyToMono(NotificationsResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"total notifications: {}\", response.total);\n        response.notifications().forEach(n -> log.info(\"notification {} {}\", n.id(), n.webhookUrl()));\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiGetNotifications() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let params = {\n        \"pageNumber\": 0,\n        \"pageSize\": 20\n    }\n    let notifications_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/notifications\",\n        { params: params, headers: headers }\n    );\n\n    let notifications = notifications_response.data;\n    console.log(\"notifications total:\", notifications.total);\n    notifications.notifications.forEach(function(n) {console.log(\"notification\", n.id, n.webhookUrl);})\n}\n\nskyfiPlatformApiGetNotifications();","label":"JavaScript"}]}},"/notifications/{notification_id}":{"get":{"tags":["Notifications"],"summary":"List a notification with history","description":"## Get information for a single notification including the history events\n\n### Args:\n- **notificationId** (UUID): the notification id to fetch\n\n### Returns:\n\n**NotificationWithHistoryResponse**: the information for the notification including the history","operationId":"get_by_id_notifications__notification_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"List the notification details including history of the events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationWithHistoryResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"403":{"description":"Authorization denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Notification not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nnotification_response = httpx.get(\n    \"https://app.skyfi.com/platform-api/notifications/e02b66a6-7a34-44b5-8e2b-e92ee298543c\",\n    headers=headers,\n)\nnotification = notification_response.json()\nlogging.info(f\"notification {notification['id']} {notification['webhookUrl']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.OffsetDateTime;\nimport java.util.List;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record NotificationHistoryItem(OffsetDateTime createdAt) {\n    }\n\n    record NotificationWithHistoryResponse(UUID id,\n            UUID ownerId,\n            String aoi,\n            String webhookUrl,\n            List<NotificationHistoryItem> history,\n            OffsetDateTime createdAt) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var responseMono = client.get()\n                .uri(\"/notifications/e02b66a6-7a34-44b5-8e2b-e92ee298543c\")\n                .retrieve()\n                .bodyToMono(NotificationWithHistoryResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"notification {} {}\", response.id(), response.webhookUrl());\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiGetNotification() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let notification_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/notifications/e02b66a6-7a34-44b5-8e2b-e92ee298543c\",\n        { headers: headers }\n    );\n\n    let notification = notification_response.data;\n    console.log(\"notification\", notification.id, notification.webhookUrl);\n}\n\nskyfiPlatformApiGetNotification();","label":"JavaScript"}]},"delete":{"tags":["Notifications"],"summary":"Delete an active notification","description":"## Delete an active notification by id\n\n### Args:\n- notificationId (UUID): the notification id to delete\n\n### Returns:\n**StatusResponse**: the status of the delete operation","operationId":"delete_notification_notifications__notification_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"Returns the status of the operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"403":{"description":"Authorization denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Notification not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nstatus_response = httpx.delete(\n    \"https://app.skyfi.com/platform-api/notifications/e02b66a6-7a34-44b5-8e2b-e92ee298543c\",\n    headers=headers,\n)\nstatus = status_response.json()\nlogging.info(f\"delete notification status {status['status']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record StatusResponse(String status) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var responseMono = client.delete()\n                .uri(\"/notifications/76102544-5bdd-4abe-bac4-440d15adf45c\")\n                .retrieve()\n                .bodyToMono(StatusResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"delete notification status {}\", response.status());\n\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiDeleteNotification() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let status_response = await axios.delete(\n        \"https://app.skyfi.com/platform-api/notifications/260059d7-8cd5-4919-b5ab-f16b849cf219\",\n        { headers: headers }\n    );\n\n    let status = status_response.data;\n    console.log(\"delete notification status\", status.status);\n}\n\nskyfiPlatformApiDeleteNotification();","label":"JavaScript"}]}},"/orders":{"get":{"tags":["Ordering"],"summary":"Get customer's orders","description":"## Get all orders for an owner, paginated\n\n### Args:\n- **orderType** (Optional) - the order type to filter on\n- **pageNumber** - the page to return\n- **pageSize** - the size of the page\n- **sortColumns** - columns to sort by (default: created_at)\n- **sortDirections** - sort directions for each column (default: desc)\n\n### Returns:\n**StatusResponse**: the status of the delete operation","operationId":"list_orders_orders_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"sort_columns","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SortColumn"},"default":["created_at"],"title":"Sort Columns"}},{"name":"sort_directions","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SortDirection"},"default":["desc"],"title":"Sort Directions"}},{"name":"orderType","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OrderType-Input"},{"type":"null"}],"title":"Ordertype"}},{"name":"pageNumber","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Pagenumber"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Pagesize"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_list_orders_orders_get"}}}},"responses":{"200":{"description":"Returns a list of all orders and their statuses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrdersResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nparams = {\"orderType\": \"TASKING\", \"pageNumber\": 0, \"pageSize\": 20}  # or \"ARCHIVE\"\norders_response = httpx.get(\n    \"https://app.skyfi.com/platform-api/orders\", params=params, headers=headers\n)\norders = orders_response.json()\n\nlogging.info(f\"total orders: {orders['total']}\")\nfor order in orders[\"orders\"]:\n    logging.info(f\"order {order['id']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.LocalDateTime;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record Order(\n            UUID id,\n            String orderType,\n            UUID ownerId,\n            String status,\n            String aoi,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            Map<String, Object> metadata,\n            LocalDateTime windowStart,\n            LocalDateTime windowEnd,\n            String productType,\n            String resolution,\n            boolean priorityItem,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle) {\n    }\n\n    record OrdersRequest(\n            String orderType,\n            int pageNumber,\n            int pageSize) {\n    }\n\n    record OrdersResponse(\n            OrdersRequest request,\n            int total,\n            List<Order> orders) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var request = new OrdersRequest(\n                \"ARCHIVE\", 0, 10);  // or \"TASKING\"\n        var responseMono = client.get()\n                .uri(builder -> {\n                    builder = builder\n                            .path(\"/orders\")\n                            .queryParam(\"orderType\", request.orderType())\n                            .queryParam(\"pageNumber\", request.pageNumber())\n                            .queryParam(\"pageSize\", request.pageSize());\n                    return builder.build();\n                })\n                .retrieve()\n                .bodyToMono(OrdersResponse.class);\n\n        var response = responseMono.block();\n        log.info(\"get orders: total {}\", response.total());\n        response.orders.forEach(o -> log.info(\"order {}\", o.id()));\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiGetOrders() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let params = {\n        \"orderType\": \"TASKING\",  // or \"ARCHIVE\"\n        \"pageNumber\": 0,\n        \"pageSize\": 20\n    }\n    let orders_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/orders\",\n        { params: params, headers: headers }\n    );\n\n    let orders = orders_response.data;\n    console.log(\"orders total:\", orders.total);\n    orders.orders.forEach(function(o) {console.log(\"order\", o.id);})\n}\n\nskyfiPlatformApiGetOrders();","label":"JavaScript"}]}},"/order-tasking":{"post":{"tags":["Ordering"],"summary":"Create a new tasking order with the specific parameters and tasking window","description":"## Create a tasking order request\n\n### Args:\n- **aoi** - The AOI to task for\n- **windowStart** - Tasking window start\n- **windowEnd** - Tasking window end\n- **product_type** - Requested product type\n- **resolution** - Image resolution\n- **priorityItem** - Priority Tasking Order\n- **maxCloudCoveragePercent** - Maximum cloud cover\n- **maxOffNadirAngle** - Maximum off nadir angle\n- **deliveryDriver** - The delivery driver to use S3/GS\n- **deliveryParams** - The delivery driver parameters with bucket id and credentials\n- **metadata** - The customer metadata which should be saved and returned in the order info\n- **webhook_url** - If provided, events for the order will be sent to this URL\n- **requiredProvider** - (Optional) Required provider to be used\n- **provider_window_id** - (Optional) Specific provider window ID for Planet pass selection\n\n### Returns:\n**TaskingOrderResponse**: the new order details\n\n### Pass Selection\n- **For Planet**: Include `provider_window_id` from feasibility response for pass selection\n- **For Umbra**: AOI and precise time window determines the pass\n- See the *Pass Prediction and Selection* section in the documentation for details\n\n### Delivery driver and parameters\nPlease consult the *Delivery* section in the header documentation","operationId":"tasking_order_tasking_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskingOrderRequest"}}},"required":true},"responses":{"201":{"description":"Get the details of the new order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskingOrderResponse-Output"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}],"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nrequest = {\n    \"aoi\": (\n        \"POLYGON((-46.310812 -23.9983384, -46.286445 -23.9983384, \"\n        \"-46.286445 -23.9798401, -46.310812 -23.9798401, -46.310812 -23.9983384))\"\n    ),\n    \"priorityItem\": False,\n    \"productType\": \"DAY\",\n    \"resolution\": \"HIGH\",\n    \"maxCloudCoveragePercent\": 20,\n    \"maxOffNadirAngle\": 30,\n    \"windowStart\": \"2023-02-21\",\n    \"windowEnd\": \"2023-02-28\",\n    \"deliveryDriver\": \"GS\",\n    \"deliveryParams\": {\n        \"gs_project_id\": \"my-eo-project-id\",\n        \"gs_bucket_id\": \"eo_images_bucket_001\",\n        \"gs_credentials\": {\n            \"type\": \"service_account\",\n            \"project_id\": \"my-eo-project-id\",\n            \"private_key_id\": \"abcdef123123123\",\n            \"private_key\": \"-----BEGIN PRIVATE KEY-----\\n...-----END PRIVATE KEY-----\\n\",\n            \"client_email\": \"service-account-name@my-eo-project-id.iam.gserviceaccount.com\",\n            \"client_id\": \"101010123\",\n            \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n            \"token_uri\": \"https://oauth2.googleapis.com/token\",\n            \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n            \"client_x509_cert_url\": \"https://service.url/\",\n        },\n    },\n    \"metadata\": {\"my_custom_key\": \"my_custom_value\"},  # optional\n}\norder_response = httpx.post(\n    \"https://app.skyfi.com/platform-api/order-tasking\", json=request, headers=headers\n)\norder = order_response.json()\n\nlogging.info(f\"new order: {order['id']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.LocalDateTime;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record Order(\n            UUID id,\n            String orderType,\n            UUID ownerId,\n            String status,\n            String aoi,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            LocalDateTime windowStart,\n            LocalDateTime windowEnd,\n            String productType,\n            String resolution,\n            boolean priorityItem,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle) {\n    }\n\n    record TaskingOrderRequest(\n            String aoi,\n            boolean priorityItem,\n            String productType,\n            String resolution,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle,\n            String windowStart,\n            String windowEnd,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            Map<String, Object> metadata) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n\n\n        var request = new TaskingOrderRequest(\n                \"POLYGON((-46.310812 -23.9983384, \"\n                        + \"-46.286445 -23.9983384, \"\n                        + \"-46.286445 -23.9798401, \"\n                        + \"-46.310812 -23.9798401, \"\n                        + \"-46.310812 -23.9983384))\",\n                false,\n                \"DAY\",\n                \"HIGH\",\n                20,\n                30,\n                \"2023-02-21\",\n                \"2023-02-28\",\n                \"GS\",\n                Map.of(\n                        \"gs_project_id\", \"my-eo-project-id\",\n                        \"gs_bucket_id\", \"eo_images_bucket_001\",\n                        \"gs_credentials\", Map.of(\n                                \"type\", \"service_account\",\n                                \"project_id\", \"my-eo-project-id\",\n                                \"private_key_id\", \"abcdef123123123\",\n                                \"private_key\", \"-----BEGIN PRIVATE KEY-----\\n...-----END PRIVATE KEY-----\\n\",\n                                \"client_email\", \"service-account-name@my-eo-project-id.iam.gserviceaccount.com\",\n                                \"client_id\", \"101010123\",\n                                \"auth_uri\", \"https://accounts.google.com/o/oauth2/auth\",\n                                \"token_uri\", \"https://oauth2.googleapis.com/token\",\n                                \"auth_provider_x509_cert_url\", \"https://www.googleapis.com/oauth2/v1/certs\",\n                                \"client_x509_cert_url\", \"https://service.url/\")),\n                Map.of(\"my_custom_key\", \"my_custom_value\") // Optional\n\n        );\n        var responseMono = client.post()\n                .uri(\"/order-tasking\")\n                .bodyValue(request)\n                .retrieve()\n                .bodyToMono(Order.class);\n        var response = responseMono.block();\n        log.info(\"new order id {}\", response.id());\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiCreateTaskingOrder() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let request = {\n        \"aoi\": \"POLYGON((-46.310812 -23.9983384, \"\n                    + \"-46.286445 -23.9983384, \"\n                    + \"-46.286445 -23.9798401, \"\n                    + \"-46.310812 -23.9798401, \"\n                    + \"-46.310812 -23.9983384))\",\n        \"priorityItem\": False,\n        \"productType\": \"DAY\",\n        \"resolution\": \"HIGH\",\n        \"maxCloudCoveragePercent\": 20,\n        \"maxOffNadirAngle\": 30,\n        \"windowStart\": \"2023-02-21\",\n        \"windowEnd\": \"2023-02-28\",\n        \"deliveryDriver\": \"GS\",\n        \"deliveryParams\": {\n            \"gs_project_id\": \"my-eo-project-id\",\n            \"gs_bucket_id\": \"eo_images_bucket_001\",\n            \"gs_credentials\": {\n                \"type\": \"service_account\",\n                \"project_id\": \"my-eo-project-id\",\n                \"private_key_id\": \"abcdef123123123\",\n                \"private_key\": \"-----BEGIN PRIVATE KEY-----\\n...-----END PRIVATE KEY-----\\n\",\n                \"client_email\": \"service-account-name@my-eo-project-id.iam.gserviceaccount.com\",\n                \"client_id\": \"101010123\",\n                \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n                \"token_uri\": \"https://oauth2.googleapis.com/token\",\n                \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n                \"client_x509_cert_url\": \"https://service.url/\",\n            },\n        },\n        \"metadata\": { // optional\n            \"my_custom_key\": \"my_custom_value\"\n        },\n    }\n    let order_response = await axios.post(\n        \"https://app.skyfi.com/platform-api/order-tasking\",\n        request,\n        { headers: headers }\n    );\n\n    let order = order_response.data;\n    console.log(\"new order:\", order.id);\n}\n\nskyfiPlatformApiCreateTaskingOrder();","label":"JavaScript"}]}},"/order-archive":{"post":{"tags":["Ordering"],"summary":"Create a new archive order from a specific archive image.","description":"## Create an archive order request\n\n### Args:\n- **aoi** - The Area of Interest to order\n- **archiveId** - the archive to order from\n- **deliveryDriver** - The delivery driver to use S3/GS\n- **deliveryParams** - The delivery driver parameters with bucket id and credentials\n- **metadata** - The customer metadata which should be saved and returned in the order info\n- **webhook_url** - If provided, events for the order will be sent to this URL\n\n### Returns:\n**ArchiveOrderResponse**: the new order details\n\n### Delivery driver and parameters\nPlease consult the *Delivery* section in the header documentation","operationId":"archive_order_archive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveOrderRequest"}}},"required":true},"responses":{"201":{"description":"Get the details of the new order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveOrderResponse-Output"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}],"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nrequest = {\n    \"aoi\": (\n        \"POLYGON((-46.307988466465666 -24.00110640968802,\"\n        \"-46.28601309838731 -24.00110640968802,-46.28601309838731 -23.980918130579123,\"\n        \"-46.307988466465666 -23.980918130579123,-46.307988466465666 -24.00110640968802))\"\n    ),\n    \"archiveId\": \"a66f7b5e-215f-44af-981a-500d89ee3f43\",\n    \"deliveryDriver\": \"S3\",\n    \"deliveryParams\": {\n        \"s3_bucket_id\": \"my-bucket\",\n        \"aws_region\": \"us-east-1\",\n        \"aws_access_key\": \"AKIABCDEF01230123...\",\n        \"aws_secret_key\": \"58vf0U8...\",\n    },\n    \"metadata\": {\"my_custom_key\": \"my_custom_value\"},  # optional\n}\norder_response = httpx.post(\n    \"https://app.skyfi.com/platform-api/order-archive\", json=request, headers=headers\n)\norder = order_response.json()\n\nlogging.info(f\"new order: {order['id']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.LocalDateTime;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record Order(\n            UUID id,\n            String orderType,\n            UUID ownerId,\n            String status,\n            String aoi,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            LocalDateTime windowStart,\n            LocalDateTime windowEnd,\n            String productType,\n            String resolution,\n            boolean priorityItem,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle) {\n    }\n\n    record ArchiveOrderRequest(\n            String aoi,\n            String archiveId,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            Map<String, Object> metadata) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n\n        var request = new ArchiveOrderRequest(\n                \"POLYGON((-46.307988466465666 -24.00110640968802,\"\n                        + \"-46.28601309838731 -24.00110640968802,\"\n                        + \"-46.28601309838731 -23.980918130579123,\"\n                        + \"-46.307988466465666 -23.980918130579123,\"\n                        + \"-46.307988466465666 -24.00110640968802))\"\n                \"a66f7b5e-215f-44af-981a-500d89ee3f43\",\n                \"S3\",\n                Map.of(\"s3_bucket_id\", \"my-bucket\", \"aws_region\", \"us-east-1\",\n                        \"aws_access_key\", \"AKIABCDEF01230123...\", \"aws_secret_key\", \"58vf0U8...\"),\n                Map.of(\"my_custom_key\", \"my_custom_value\") // Optional\n\n        );\n        var responseMono = client.post()\n                .uri(\"/order-archive\")\n                .bodyValue(request)\n                .retrieve()\n                .bodyToMono(Order.class);\n        var response = responseMono.block();\n        log.info(\"new order id {}\", response.id());\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiCreateArchiveOrder() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let request = {\n        \"aoi\": \"POLYGON((-46.307988466465666 -24.00110640968802,\"\n            + \"-46.28601309838731 -24.00110640968802,\"\n            + \"-46.28601309838731 -23.980918130579123,\"\n            + \"-46.307988466465666 -23.980918130579123,\"\n            + \"-46.307988466465666 -24.00110640968802))\",\n        \"archiveId\": \"a66f7b5e-215f-44af-981a-500d89ee3f43\",\n        \"deliveryDriver\": \"S3\",\n        \"deliveryParams\": {\n            \"s3_bucket_id\": \"my-bucket\",\n            \"aws_region\": \"us-east-1\",\n            \"aws_access_key\": \"AKIABCDEF01230123...\",\n            \"aws_secret_key\": \"58vf0U8...\"\n        },\n        \"metadata\": { // optional\n            \"my_custom_key\": \"my_custom_value\"\n        },\n    }\n    let order_response = await axios.post(\n        \"https://app.skyfi.com/platform-api/order-archive\",\n        request,\n        { headers: headers }\n    );\n\n    let order = order_response.data;\n    console.log(\"new order:\", order.id);\n}\n\nskyfiPlatformApiCreateArchiveOrder();","label":"JavaScript"}]}},"/orders/{order_id}":{"get":{"tags":["Ordering"],"summary":"Get a specific order with its status history","description":"## Get information for a single order\nIncluding the history of the statuses and delivery messages\n\n### Args:\n- **orderId** (UUID): the order id to fetch\n\n### Returns:\n\n**OrderInfoTypesResponse**: the information for the order including the history","operationId":"get_order_orders__order_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Order Id"}}],"responses":{"200":{"description":"Payload with the order details including the status history","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TaskingOrderInfoResponse"},{"$ref":"#/components/schemas/ArchiveOrderInfoResponse"}],"title":"Response Get Order Orders  Order Id  Get"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"403":{"description":"Authorization denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Order not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\norder_response = httpx.get(\n    \"https://app.skyfi.com/platform-api/orders/d2048359-a340-44d6-a124-e4fbc4e7965d\",\n    headers=headers,\n)\norder = order_response.json()\nlogging.info(f\"order {order['id']}\")  # noqa: F821\nlogging.info(f\"events {order['events']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.LocalDateTime;\nimport java.time.OffsetDateTime;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record OrderEvent(\n            String status,\n            OffsetDateTime timestamp,\n            String message) {\n    }\n\n    record OrderWithEventsResponse(\n            UUID id,\n            String orderType,\n            UUID ownerId,\n            String status,\n            String aoi,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            Map<String, Object> metadata,\n            LocalDateTime windowStart,\n            LocalDateTime windowEnd,\n            String productType,\n            String resolution,\n            boolean priorityItem,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle,\n            List<OrderEvent> events) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n        var responseMono = client.get()\n                .uri(\"/orders/d2048359-a340-44d6-a124-e4fbc4e7965d\")\n                .retrieve()\n                .bodyToMono(OrderWithEventsResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"get orders: {}\", response.id());\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiGetOrder() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let order_response = await axios.get(\n        \"https://app.skyfi.com/platform-api/orders/d2048359-a340-44d6-a124-e4fbc4e7965d\",\n        { headers: headers }\n    );\n\n    let order = order_response.data;\n    console.log(\"order\", order.id, order.events);\n}\n\nskyfiPlatformApiGetOrder();","label":"JavaScript"}]}},"/orders/{order_id}/{deliverable_type}":{"get":{"tags":["Ordering"],"summary":"Redirect to an URL for downloading a deliverable for an order","description":"## Redirect to the artifact download URL\nSupported types are `image`, `payload`, and `cog`\n\n### Args:\n- **orderId** (UUID): the order id to fetch\n- **deliverableType** (DeliverableType): the deliverable type to download\n\n### Returns:\n\n**RedirectResponse**: Redirects to the signed download url","operationId":"redirect_to_order_deliverable_download_url_orders__order_id___deliverable_type__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"deliverable_type","in":"path","required":true,"schema":{"$ref":"#/components/schemas/DeliverableType"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Order Id"}}],"responses":{"200":{"description":"Will redirect to the requested deliverable URL","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"403":{"description":"Authorization denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Order not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orders/{order_id}/redelivery":{"post":{"tags":["Ordering"],"summary":"Schedule a redelivery for a specific order","description":"## Schedule the order for redelivery with new delivery parameters.\n\nUseful in case of delivery failure, wrong delivery parameters or when\nthe artifacts are required in another place\n\n### Args:\n- **orderId** (UUID): the order id to redeliver\n- **deliveryDriver** - The delivery driver to use S3/GS\n- **deliveryParams** - The delivery driver parameters with bucket id and credentials\n\n\n### Returns:\n\n**OrderInfoTypesResponse**: the information for the order including the history","operationId":"order_redelivery_orders__order_id__redelivery_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderRedeliveryRequest"}}}},"responses":{"200":{"description":"Order information","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TaskingOrderInfoResponse"},{"$ref":"#/components/schemas/ArchiveOrderInfoResponse"}],"title":"Response Order Redelivery Orders  Order Id  Redelivery Post"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"403":{"description":"Authorization denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Order not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"402":{"description":"Not enough budget for this request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nrequest = {\n    \"deliveryDriver\": \"S3\",\n    \"deliveryParams\": {\n        \"s3_bucket_id\": \"my-bucket\",\n        \"aws_region\": \"us-east-1\",\n        \"aws_access_key\": \"AKIABCDEF01230123...\",\n        \"aws_secret_key\": \"58vf0U8...\",\n    },\n}\nredelivery_response = httpx.post(\n    \"https://app.skyfi.com/platform-api/orders/d2048359-a340-44d6-a124-e4fbc4e7965d/redelivery\",\n    json=request,\n    headers=headers,\n)\nredelivery = redelivery_response.json()\n\nlogging.info(f\"redelivery: {redelivery['id']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.time.LocalDateTime;\nimport java.util.Map;\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record OrderEvent(\n            String status,\n            OffsetDateTime timestamp,\n            String message) {\n    }\n\n    record OrderWithEventsResponse(\n            UUID id,\n            String orderType,\n            UUID ownerId,\n            String status,\n            String aoi,\n            String deliveryDriver,\n            Map<String, Object> deliveryParams,\n            Map<String, Object> metadata,\n            LocalDateTime windowStart,\n            LocalDateTime windowEnd,\n            String productType,\n            String resolution,\n            boolean priorityItem,\n            int maxCloudCoveragePercent,\n            int maxOffNadirAngle,\n            List<OrderEvent> events) {\n    }\n\n    record OrderRedeliveryRequest(\n            String deliveryDriver,\n            Map<String, Object> deliveryParams) {\n    }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n\n\n        var request = new OrderRedeliveryRequest(\n                \"GS\",\n                Map.of(\n                        \"gs_project_id\", \"my-eo-project-id\",\n                        \"gs_bucket_id\", \"eo_images_bucket_001\",\n                        \"gs_credentials\", Map.of(\n                                \"type\", \"service_account\",\n                                \"project_id\", \"my-eo-project-id\",\n                                \"private_key_id\", \"abcdef123123123\",\n                                \"private_key\", \"-----BEGIN PRIVATE KEY-----\\n...-----END PRIVATE KEY-----\\n\",\n                                \"client_email\", \"service-account-name@my-eo-project-id.iam.gserviceaccount.com\",\n                                \"client_id\", \"101010123\",\n                                \"auth_uri\", \"https://accounts.google.com/o/oauth2/auth\",\n                                \"token_uri\", \"https://oauth2.googleapis.com/token\",\n                                \"auth_provider_x509_cert_url\", \"https://www.googleapis.com/oauth2/v1/certs\",\n                                \"client_x509_cert_url\", \"https://service.url/\"))\n\n        );\n        var responseMono = client.post()\n                .uri(\"/orders/d2048359-a340-44d6-a124-e4fbc4e7965d/redelivery\")\n                .bodyValue(request)\n                .retrieve()\n                .bodyToMono(OrderWithEventsResponse.class);\n        var response = responseMono.block();\n        log.info(\"Redelivery order id {}\", response.id());\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiOrderRedelivery() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let request = {\n        \"deliveryDriver\": \"S3\",\n        \"deliveryParams\": {\n            \"s3_bucket_id\": \"my-bucket\",\n            \"aws_region\": \"us-east-1\",\n            \"aws_access_key\": \"AKIABCDEF01230123...\",\n            \"aws_secret_key\": \"58vf0U8...\"\n        },\n    }\n    let redelivery_order_response = await axios.post(\n        \"https://app.skyfi.com/platform-api/orders/d2048359-a340-44d6-a124-e4fbc4e7965d/redelivery\",\n        request,\n        { headers: headers }\n    );\n\n    let redelivery = redelivery_order_response.data;\n    console.log(\"redelivery id:\", redelivery.id);\n}\n\nskyfiPlatformApiOrderRedelivery();","label":"JavaScript"}]}},"/pricing":{"post":{"tags":["Pricing"],"summary":"Get pricing options for tasking orders","description":"## Get pricing options for tasking orders\n\n### Args: (optional)\n- **aoi** - The AOI to check options for\n\n### Returns:\n**Dictionary**: All the product/resolution/provider options we currently support with\ntheir pricing and constraints","operationId":"get_full_pricing_pricing_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PricingRequest"},{"type":"null"}],"title":"Pricing Request"}}},"required":true},"responses":{"200":{"description":"Dictionary with the full product/provider matrix","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Full Pricing Pricing Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}],"x-codeSamples":[{"lang":"","source":"import logging\n\nimport httpx\n\nheaders = {\"X-Skyfi-Api-Key\": \"<API_KEY>\"}\n\nrequest = {\n    \"aoi\": (\n        \"POLYGON((-74.15386956829754 40.789344442947765,-74.15865392355035 40.58184880348787,\"\n        \"-73.75242792251984 40.58020417068951,-73.75568535588347 40.79686890222638,\"\n        \"-74.15386956829754 40.789344442947765))\"\n    )\n}\npricing_response = httpx.post(\n    \"https://app.skyfi.com/platform-api/pricing\", json=request, headers=headers\n)\npricing = pricing_response.json()\n\nlogging.info(f\"pricing: {pricing['productTypes']}\")\n","label":"Python"},{"lang":"","source":"package com.skyfi.platform.demo;\n\nimport java.util.UUID;\n\nimport org.springframework.boot.CommandLineRunner;\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.reactive.function.client.WebClient;\n\nimport lombok.extern.log4j.Log4j2;\n\n@Log4j2\n@SpringBootApplication\npublic class DemoApplication implements CommandLineRunner {\n\n    private static final String API_KEY = \"<API_KEY>\";\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    record PricingRequest(String aoi) { }\n\n    record PricingResponse(HashMap<String, Object> productTypes) { }\n\n    @Override\n    public void run(String... args) throws Exception {\n        WebClient client = WebClient\n                .builder()\n                .baseUrl(\"https://app.skyfi.com/platform-api\")\n                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)\n                .defaultHeader(\"X-Skyfi-Api-Key\", API_KEY)\n                .build();\n\n        var request = new PricingRequest(\n            \"POLYGON((-74.15386956829754 40.789344442947765,-74.15865392355035 40.58184880348787,-73.75242792251984 40.58020417068951,-73.75568535588347 40.79686890222638,-74.15386956829754 40.789344442947765))\"\n        );\n\n        var responseMono = client.post()\n                .uri(\"/pricing\")\n                .bodyValue(request)\n                .retrieve()\n                .bodyToMono(PricingResponse.class);\n        var response = responseMono.block();\n\n        log.info(\"pricing: {}\", response.productTypes());\n\n    }\n\n}\n","label":"Java"},{"lang":"","source":"const axios = require('axios');\n\nasync function skyfiPlatformApiPricing() {\n    let headers = {\n        \"X-Skyfi-Api-Key\": \"<API_KEY>\"\n    }\n    let request = {\n        \"aoi\": \"POLYGON((-74.15386956829754 40.789344442947765,-74.15865392355035 40.58184880348787,-73.75242792251984 40.58020417068951,-73.75568535588347 40.79686890222638,-74.15386956829754 40.789344442947765))\"\n    }\n    let pricing_response = await axios.post(\n        \"https://app.skyfi.com/platform-api/pricing\",\n        request,\n        { headers: headers }\n    );\n\n    let pricing = pricing_response.data;\n    console.log(\"pricing:\", pricing.productTypes);\n}\n\nskyfiPlatformApiPricing();\n","label":"JavaScript"}]}},"/feasibility/pass-prediction":{"post":{"tags":["Feasibility"],"summary":"Find satellites that can observe a ground location at specific times","operationId":"get_pass_predictions_feasibility_pass_prediction_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformApiPassPredictionRequest"}}},"required":true},"responses":{"200":{"description":"Pass predictions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformPassPredictionResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Invalid request parameters"}},"security":[{"APIKeyHeader":[]}]}},"/feasibility":{"post":{"tags":["Feasibility"],"summary":"Check the feasibility of a specific AOI and date range","operationId":"create_feasibility_task_feasibility_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformApiFeasibilityTaskRequest"}}},"required":true},"responses":{"201":{"description":"Status of the started feasibility task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformFeasibilityTaskResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Invalid request parameters"}},"security":[{"APIKeyHeader":[]}]}},"/feasibility/{feasibility_id}":{"get":{"tags":["Feasibility"],"summary":"Get the status of a feasibility task","description":"Get the status of a feasibility task.\n\nArgs:\n    feasibility_id: UUID of the feasibility task\n\nReturns:\n    Feasibility status information if found","operationId":"get_feasibility_status_feasibility__feasibility_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"feasibility_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Feasibility Id"}}],"responses":{"200":{"description":"Status of the started feasibility task","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PlatformFeasibilityTaskResponse"},{"type":"null"}],"title":"Response Get Feasibility Status Feasibility  Feasibility Id  Get"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Invalid request parameters"}}}},"/providers":{"get":{"tags":["Providers"],"summary":"Get available providers","description":"## Get available providers for the current user\n\nReturns the list of satellite imagery providers organized by product type\nand resolution, indicating whether each provider supports tasking (new image)\norders, archive (existing image) orders, or both.","operationId":"get_available_providers_providers_get","responses":{"200":{"description":"List of providers available for the current user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvidersResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}}},"security":[{"APIKeyHeader":[]}]}}},"webhooks":{"archive-notification":{"post":{"tags":["Notifications","Webhooks"],"summary":"The webhook for a notification events.","description":"We'll ping your webhook URL with an Archive payload each time we ingest\nan image that matches a notification filter configuration.\nOur http client has a timeout of 2 seconds, and we'll retry 3 times until a 200 response","operationId":"notification_eventarchive_notification_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveResponse"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"order-event":{"post":{"tags":["Ordering","Webhooks"],"summary":"The webhook for order related events.","description":"We'll ping your webhook URL with a payload containing the order information\nand the latest event which triggered the webhook.\nOur http client has a timeout of 2 seconds, and we'll retry 3 times until a 200 response","operationId":"order_eventorder_event_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderInfoWithEvent"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ApiProvider":{"type":"string","enum":["SIWEI","SATELLOGIC","UMBRA","GEOSAT","SENTINEL1_CREODIAS","SENTINEL2","SENTINEL2_CREODIAS","PLANET","IMPRO","URBAN_SKY","NSL","VEXCEL","VANTOR","ICEYE_US"],"title":"ApiProvider"},"Archive":{"properties":{"archiveId":{"type":"string","title":"Archiveid"},"provider":{"$ref":"#/components/schemas/ApiProvider","description":"Satellite Provider","examples":["SIWEI"]},"constellation":{"type":"string","title":"Constellation","description":"Satellite source label","examples":["SUPERVIEW"]},"productType":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType"},"platformResolution":{"type":"number","minimum":0.0,"title":"Platformresolution","description":"Platform nominal/nadir resolution in cm."},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Resolution format with spaces"},"captureTimestamp":{"type":"string","format":"date-time","title":"Capturetimestamp","description":"24-hour UTC.  YYYY-MM-DDTHH:MM:SS+00:00"},"cloudCoveragePercent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Cloudcoveragepercent","examples":[50.0]},"offNadirAngle":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Offnadirangle","examples":[30.0]},"footprint":{"type":"string","title":"Footprint","description":"WKT standard representation","examples":["POLYGON ((-58.17465 -22.158983,-58.063408 -22.180418,-58.087185 -22.28856,-58.19852 -22.267136,-58.17465 -22.158983))"]},"minSqKm":{"type":"number","minimum":0.0,"title":"Minsqkm","examples":[5.0]},"maxSqKm":{"type":"number","minimum":0.0,"title":"Maxsqkm","examples":[144.0]},"priceForOneSquareKm":{"type":"number","minimum":0.0,"title":"Priceforonesquarekm","description":"Price for one square kilometer in USD","examples":[2.0]},"priceForOneSquareKmCents":{"type":"integer","minimum":0.0,"title":"Priceforonesquarekmcents","description":"Price for one square kilometer in cents","examples":[200]},"priceFullScene":{"type":"number","minimum":0.0,"title":"Pricefullscene","description":"In USD","examples":[2.0]},"openData":{"type":"boolean","title":"Opendata","description":"Is the archive open data","default":false,"examples":[true]},"totalAreaSquareKm":{"type":"number","minimum":0.0,"title":"Totalareasquarekm","examples":[5.0]},"deliveryTimeHours":{"type":"number","minimum":0.0,"title":"Deliverytimehours","description":"Estimated time to deliver image.","default":12.0},"thumbnailUrls":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Thumbnailurls","description":"Archive thumbnail urls by resolution","examples":[{"200x200":"https://skyfi.example.com/archive-thumbnail.png"}]},"gsd":{"type":"number","title":"Gsd","description":"Ground Sample Distance of the image"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"Tiles url for the image"}},"type":"object","required":["archiveId","provider","constellation","productType","platformResolution","resolution","captureTimestamp","footprint","minSqKm","maxSqKm","priceForOneSquareKm","priceForOneSquareKmCents","priceFullScene","totalAreaSquareKm","gsd"],"title":"Archive"},"ArchiveOrderInfoResponse":{"properties":{"events":{"items":{"$ref":"#/components/schemas/DeliveryEventInfo"},"type":"array","title":"Events"},"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"(Opt) The item label"},"orderLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orderlabel","description":"(Opt) The order label"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"archiveId":{"type":"string","title":"Archiveid","description":"The archive id to order from"},"id":{"type":"string","format":"uuid","title":"Id","description":"The order's item id"},"orderType":{"$ref":"#/components/schemas/shared__types__OrderType","description":"The order type"},"orderCost":{"type":"integer","title":"Ordercost","description":"The cost of the order in cents"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner of the order"},"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status of the order"},"aoiSqkm":{"type":"number","title":"Aoisqkm","description":"The area of the AOI in square kilometers"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"(Opt) The tiles server url"},"downloadImageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadimageurl","description":"The image download url"},"downloadPayloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadpayloadurl","description":"The payload download url"},"downloadCogUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadcogurl","description":"The COG download url"},"payloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payloadsize","description":"(Opt) The size of the payload deliverable in bytes"},"cogSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cogsize","description":"(Opt) The size of the COG deliverable in bytes"},"orderCode":{"type":"string","title":"Ordercode","description":"The order code"},"geocodeLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocodelocation","description":"(Opt) The geocode location"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Order creation timestamp"},"orderId":{"type":"string","format":"uuid","title":"Orderid","description":"The order id"},"itemId":{"type":"string","format":"uuid","title":"Itemid","description":"The item id"},"deliverableId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Deliverableid","description":"The deliverable id"},"archive":{"$ref":"#/components/schemas/Archive","description":"Archive meta information"}},"type":"object","required":["events","aoi","archiveId","id","orderType","orderCost","ownerId","status","aoiSqkm","downloadImageUrl","downloadPayloadUrl","orderCode","createdAt","orderId","itemId","archive"],"title":"ArchiveOrderInfoResponse"},"ArchiveOrderRequest":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset","default":"NONE"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"type":"string","title":"Label","description":"(Opt) The item label","default":"Platform Order"},"orderLabel":{"type":"string","title":"Orderlabel","description":"(Opt) The order label","default":"Platform Order"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"archiveId":{"type":"string","title":"Archiveid","description":"The archive id to order from"}},"type":"object","required":["aoi","archiveId"],"title":"ArchiveOrderRequest"},"ArchiveOrderResponse-Input":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"(Opt) The item label"},"orderLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orderlabel","description":"(Opt) The order label"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"archiveId":{"type":"string","title":"Archiveid","description":"The archive id to order from"},"id":{"type":"string","format":"uuid","title":"Id","description":"The order's item id"},"orderType":{"$ref":"#/components/schemas/OrderType-Input","description":"The order type"},"orderCost":{"type":"integer","title":"Ordercost","description":"The cost of the order in cents"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner of the order"},"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status of the order"},"aoiSqkm":{"type":"number","title":"Aoisqkm","description":"The area of the AOI in square kilometers"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"(Opt) The tiles server url"},"downloadImageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadimageurl","description":"The image download url"},"downloadPayloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadpayloadurl","description":"The payload download url"},"downloadCogUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadcogurl","description":"The COG download url"},"payloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payloadsize","description":"(Opt) The size of the payload deliverable in bytes"},"cogSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cogsize","description":"(Opt) The size of the COG deliverable in bytes"},"orderCode":{"type":"string","title":"Ordercode","description":"The order code"},"geocodeLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocodelocation","description":"(Opt) The geocode location"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Order creation timestamp"},"orderId":{"type":"string","format":"uuid","title":"Orderid","description":"The order id"},"itemId":{"type":"string","format":"uuid","title":"Itemid","description":"The item id"},"deliverableId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Deliverableid","description":"The deliverable id"},"archive":{"$ref":"#/components/schemas/Archive","description":"Archive meta information"}},"type":"object","required":["aoi","archiveId","id","orderType","orderCost","ownerId","status","aoiSqkm","downloadImageUrl","downloadPayloadUrl","orderCode","createdAt","orderId","itemId","archive"],"title":"ArchiveOrderResponse"},"ArchiveOrderResponse-Output":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"(Opt) The item label"},"orderLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orderlabel","description":"(Opt) The order label"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"archiveId":{"type":"string","title":"Archiveid","description":"The archive id to order from"},"id":{"type":"string","format":"uuid","title":"Id","description":"The order's item id"},"orderType":{"$ref":"#/components/schemas/shared__types__OrderType","description":"The order type"},"orderCost":{"type":"integer","title":"Ordercost","description":"The cost of the order in cents"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner of the order"},"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status of the order"},"aoiSqkm":{"type":"number","title":"Aoisqkm","description":"The area of the AOI in square kilometers"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"(Opt) The tiles server url"},"downloadImageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadimageurl","description":"The image download url"},"downloadPayloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadpayloadurl","description":"The payload download url"},"downloadCogUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadcogurl","description":"The COG download url"},"payloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payloadsize","description":"(Opt) The size of the payload deliverable in bytes"},"cogSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cogsize","description":"(Opt) The size of the COG deliverable in bytes"},"orderCode":{"type":"string","title":"Ordercode","description":"The order code"},"geocodeLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocodelocation","description":"(Opt) The geocode location"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Order creation timestamp"},"orderId":{"type":"string","format":"uuid","title":"Orderid","description":"The order id"},"itemId":{"type":"string","format":"uuid","title":"Itemid","description":"The item id"},"deliverableId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Deliverableid","description":"The deliverable id"},"archive":{"$ref":"#/components/schemas/Archive","description":"Archive meta information"}},"type":"object","required":["aoi","archiveId","id","orderType","orderCost","ownerId","status","aoiSqkm","downloadImageUrl","downloadPayloadUrl","orderCode","createdAt","orderId","itemId","archive"],"title":"ArchiveOrderResponse"},"ArchiveResponse":{"properties":{"archiveId":{"type":"string","title":"Archiveid"},"provider":{"$ref":"#/components/schemas/ApiProvider","description":"Satellite Provider","examples":["SIWEI"]},"constellation":{"type":"string","title":"Constellation","description":"Satellite source label","examples":["SUPERVIEW"]},"productType":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType"},"platformResolution":{"type":"number","minimum":0.0,"title":"Platformresolution","description":"Platform nominal/nadir resolution in cm."},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Resolution format with spaces"},"captureTimestamp":{"type":"string","format":"date-time","title":"Capturetimestamp","description":"24-hour UTC.  YYYY-MM-DDTHH:MM:SS+00:00"},"cloudCoveragePercent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Cloudcoveragepercent","examples":[50.0]},"offNadirAngle":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Offnadirangle","examples":[30.0]},"footprint":{"type":"string","title":"Footprint","description":"WKT standard representation","examples":["POLYGON ((-58.17465 -22.158983,-58.063408 -22.180418,-58.087185 -22.28856,-58.19852 -22.267136,-58.17465 -22.158983))"]},"minSqKm":{"type":"number","minimum":0.0,"title":"Minsqkm","examples":[5.0]},"maxSqKm":{"type":"number","minimum":0.0,"title":"Maxsqkm","examples":[144.0]},"priceForOneSquareKm":{"type":"number","minimum":0.0,"title":"Priceforonesquarekm","description":"Price for one square kilometer in USD","examples":[2.0]},"priceForOneSquareKmCents":{"type":"integer","minimum":0.0,"title":"Priceforonesquarekmcents","description":"Price for one square kilometer in cents","examples":[200]},"priceFullScene":{"type":"number","minimum":0.0,"title":"Pricefullscene","description":"In USD","examples":[2.0]},"openData":{"type":"boolean","title":"Opendata","description":"Is the archive open data","default":false,"examples":[true]},"totalAreaSquareKm":{"type":"number","minimum":0.0,"title":"Totalareasquarekm","examples":[5.0]},"deliveryTimeHours":{"type":"number","minimum":0.0,"title":"Deliverytimehours","description":"Estimated time to deliver image.","default":12.0},"thumbnailUrls":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Thumbnailurls","description":"Archive thumbnail urls by resolution","examples":[{"200x200":"https://skyfi.example.com/archive-thumbnail.png"}]},"gsd":{"type":"number","title":"Gsd","description":"Ground Sample Distance of the image"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"Tiles url for the image"},"overlapRatio":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Overlapratio","description":"Ratio of the archive intersection and the aoi areas"},"overlapSqkm":{"type":"number","minimum":0.0,"title":"Overlapsqkm","description":"AOI and archive footprint intersection area"}},"type":"object","required":["archiveId","provider","constellation","productType","platformResolution","resolution","captureTimestamp","footprint","minSqKm","maxSqKm","priceForOneSquareKm","priceForOneSquareKmCents","priceFullScene","totalAreaSquareKm","gsd","overlapRatio","overlapSqkm"],"title":"ArchiveResponse"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"The detail message of the error"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"Body_list_orders_orders_get":{"properties":{"sortColumns":{"items":{"$ref":"#/components/schemas/SortColumn"},"type":"array","title":"Sortcolumns","default":["created_at"]},"sortDirections":{"items":{"$ref":"#/components/schemas/SortDirection"},"type":"array","title":"Sortdirections","default":["desc"]}},"type":"object","title":"Body_list_orders_orders_get"},"CloudCoverage":{"properties":{"date":{"type":"string","format":"date-time","title":"Date","description":"The date of the cloud coverage"},"cloudCoverage":{"type":"number","title":"Cloudcoverage","description":"The cloud coverage percentage"}},"type":"object","required":["date","cloudCoverage"],"title":"CloudCoverage"},"CreateNotificationRequest":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"A wkt representation of an area of interest to filter the new archives","examples":["POLYGON((-73.81 40.47,-73.83 40.41,-73.73 40.43,-73.81 40.47))"]},"gsdMin":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsdmin","description":"\n        (Optional) Minimum GSD of the new archive to filter for the notifications.\n        Value is inclusive, e.g. `archive_gsd >= gsd_min`.\n        "},"gsdMax":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsdmax","description":"\n        (Optional) Minimum GSD of the new archive to filter for the notifications.\n        Value is inclusive, e.g. `archive_gsd <= gsd_max`.\n        "},"productType":{"anyOf":[{"$ref":"#/components/schemas/shared__types__ProductType"},{"type":"null"}],"description":"\n        (Optional) The product type of the new archive to filter for the notifications\n        "},"webhookUrl":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Webhookurl","description":"A webhook to notify for the incoming archives asset","examples":["https://my.webhooks.com/skyfi_catalog"]}},"type":"object","required":["aoi","webhookUrl"],"title":"CreateNotificationRequest"},"DeliverableType":{"type":"string","enum":["image","payload","cog","baba"],"title":"DeliverableType"},"DeliveryDriver":{"type":"string","enum":["GS","S3","AZURE","DELIVERY_CONFIG","S3_SERVICE_ACCOUNT","GS_SERVICE_ACCOUNT","AZURE_SERVICE_ACCOUNT","NONE"],"title":"DeliveryDriver"},"DeliveryEventInfo":{"properties":{"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Event timestamp"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"(Opt) Note coming with the status change"}},"type":"object","required":["status","timestamp","message"],"title":"DeliveryEventInfo"},"DeliveryStatus":{"type":"string","enum":["CREATED","STARTED","PAYMENT_FAILED","PLATFORM_FAILED","PROVIDER_PENDING","PROVIDER_COMPLETE","PROVIDER_FAILED","PROCESSING_PENDING","PROCESSING_COMPLETE","PROCESSING_FAILED","DELIVERY_PENDING","DELIVERY_COMPLETED","DELIVERY_FAILED","INTERNAL_IMAGE_PROCESSING_PENDING"],"title":"DeliveryStatus"},"DemoDeliveryRequest":{"properties":{"deliveryDriver":{"$ref":"#/components/schemas/DeliveryDriver","description":"How to deliver the asset"},"deliveryParams":{"additionalProperties":true,"type":"object","title":"Deliveryparams","description":"Driver delivery parameters"}},"type":"object","required":["deliveryDriver","deliveryParams"],"title":"DemoDeliveryRequest"},"DemoDeliveryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The delivery id"}},"type":"object","required":["id"],"title":"DemoDeliveryResponse"},"FeasibilityCheckStatus":{"type":"string","enum":["PENDING","STARTED","COMPLETE","ERROR"],"title":"FeasibilityCheckStatus"},"FeasibilityScore":{"properties":{"feasibility":{"type":"number","title":"Feasibility","description":"The feasibility score"},"weatherScore":{"anyOf":[{"$ref":"#/components/schemas/WeatherScore"},{"type":"null"}]},"providerScore":{"anyOf":[{"$ref":"#/components/schemas/ProviderCombinedScore"},{"type":"null"}],"description":"The provider score"}},"type":"object","required":["feasibility","providerScore"],"title":"FeasibilityScore","description":"Response model for feasibility score"},"GetArchivesRequest":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"A wkt representation of user cropped area","examples":["POLYGON((-99.919 16.847,-99.921 16.826,-99.899 16.825,-99.899 16.849,-99.919 16.847))"]},"fromDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fromdate","description":"Must be 24-hour UTC. YYYY-MM-DDTHH:MM:SS+00:00.","examples":["2000-01-01T00:00:00"]},"toDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Todate","description":"Must be 24-hour UTC. YYYY-MM-DDTHH:MM:SS+00:00.","examples":["2024-12-31T00:00:00"]},"maxCloudCoveragePercent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"Max for the cloud coverage pct of the image"},"maxOffNadirAngle":{"anyOf":[{"type":"number","maximum":50.0,"minimum":0.0},{"type":"null"}],"title":"Maxoffnadirangle","description":"Max for the nadir angle of the image"},"resolutions":{"anyOf":[{"items":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"description":"Resolution format with spaces"},"type":"array"},{"type":"null"}],"title":"Resolutions","description":"Only return archive results that are these resolutions.","examples":[["LOW","MEDIUM","HIGH"]]},"productTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType"},"type":"array"},{"type":"null"}],"title":"Producttypes","description":"Only return archive results that are from these product types.","examples":[["DAY","MULTISPECTRAL","SAR"]]},"providers":{"anyOf":[{"items":{"$ref":"#/components/schemas/ApiProvider"},"type":"array"},{"type":"null"}],"title":"Providers","description":"Only return archive results that are from these providers.","examples":[["SATELLOGIC","SENTINEL1_CREODIAS","SENTINEL2_CREODIAS"]]},"openData":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Opendata","description":"Only return archive results that are open data.","examples":[true]},"minOverlapRatio":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Minoverlapratio","description":"Minimum overlap ratio of overlap_sqkm / aoi_sqkm","examples":[0.1]},"pageNumber":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Pagenumber","description":"**[Deprecated]** Use the nextPage from the response for pagination.","deprecated":true},"pageSize":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Pagesize","description":"Number of archive elements per page.","default":100}},"type":"object","required":["aoi"],"title":"GetArchivesRequest"},"GetArchivesRequestBase":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"A wkt representation of user cropped area","examples":["POLYGON((-99.919 16.847,-99.921 16.826,-99.899 16.825,-99.899 16.849,-99.919 16.847))"]},"fromDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fromdate","description":"Must be 24-hour UTC. YYYY-MM-DDTHH:MM:SS+00:00.","examples":["2000-01-01T00:00:00"]},"toDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Todate","description":"Must be 24-hour UTC. YYYY-MM-DDTHH:MM:SS+00:00.","examples":["2024-12-31T00:00:00"]},"maxCloudCoveragePercent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"Max for the cloud coverage pct of the image"},"maxOffNadirAngle":{"anyOf":[{"type":"number","maximum":50.0,"minimum":0.0},{"type":"null"}],"title":"Maxoffnadirangle","description":"Max for the nadir angle of the image"},"resolutions":{"anyOf":[{"items":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"description":"Resolution format with spaces"},"type":"array"},{"type":"null"}],"title":"Resolutions","description":"Only return archive results that are these resolutions.","examples":[["LOW","MEDIUM","HIGH"]]},"productTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType"},"type":"array"},{"type":"null"}],"title":"Producttypes","description":"Only return archive results that are from these product types.","examples":[["DAY","MULTISPECTRAL","SAR"]]},"providers":{"anyOf":[{"items":{"$ref":"#/components/schemas/ApiProvider"},"type":"array"},{"type":"null"}],"title":"Providers","description":"Only return archive results that are from these providers.","examples":[["SATELLOGIC","SENTINEL1_CREODIAS","SENTINEL2_CREODIAS"]]},"openData":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Opendata","description":"Only return archive results that are open data.","examples":[true]},"minOverlapRatio":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Minoverlapratio","description":"Minimum overlap ratio of overlap_sqkm / aoi_sqkm","examples":[0.1]},"pageNumber":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Pagenumber","description":"**[Deprecated]** Use the nextPage from the response for pagination.","deprecated":true},"pageSize":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Pagesize","description":"Number of archive elements per page.","default":100}},"type":"object","required":["aoi"],"title":"GetArchivesRequestBase"},"GetArchivesResponse":{"properties":{"request":{"$ref":"#/components/schemas/GetArchivesRequestBase"},"archives":{"items":{"$ref":"#/components/schemas/ArchiveResponse"},"type":"array","title":"Archives","description":"List of archives"},"nextPage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextpage","description":"The next page URL to GET when paging."},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"**[Deprecated]** Total number of archives that match this request prior to paging","examples":[100]}},"type":"object","required":["request","archives"],"title":"GetArchivesResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ListNotificationsRequest":{"properties":{"pageNumber":{"type":"integer","minimum":0.0,"title":"Pagenumber","description":"Which page of notifications to return.","default":0},"pageSize":{"type":"integer","maximum":25.0,"minimum":1.0,"title":"Pagesize","description":"Number of notifications per page.","default":10}},"type":"object","title":"ListNotificationsRequest"},"ListNotificationsResponse":{"properties":{"request":{"$ref":"#/components/schemas/ListNotificationsRequest","description":"The request that was processed"},"total":{"type":"integer","minimum":0.0,"title":"Total","description":"Total number of notifications"},"notifications":{"items":{"$ref":"#/components/schemas/NotificationResponse"},"type":"array","title":"Notifications","description":"The notifications for the owner"}},"type":"object","required":["request","total","notifications"],"title":"ListNotificationsResponse"},"ListOrdersRequest":{"properties":{"orderType":{"anyOf":[{"$ref":"#/components/schemas/shared__types__OrderType"},{"type":"null"}],"description":"(Opt) Filter by order type"},"pageNumber":{"type":"integer","minimum":0.0,"title":"Pagenumber","description":"Which page of orders to return.","default":0},"pageSize":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Pagesize","description":"Number of orders per page.","default":25},"sortColumns":{"items":{"$ref":"#/components/schemas/SortColumn"},"type":"array","title":"Sortcolumns","description":"Columns to sort by. Default is created_at.","default":["created_at"]},"sortDirections":{"items":{"$ref":"#/components/schemas/SortDirection"},"type":"array","title":"Sortdirections","description":"Sort directions for each column. Default is desc (newest first).","default":["desc"]}},"type":"object","title":"ListOrdersRequest"},"ListOrdersResponse":{"properties":{"request":{"$ref":"#/components/schemas/ListOrdersRequest","description":"The request that got processed"},"total":{"type":"integer","title":"Total","description":"The total orders for this request"},"orders":{"items":{"anyOf":[{"$ref":"#/components/schemas/TaskingOrderResponse-Output"},{"$ref":"#/components/schemas/ArchiveOrderResponse-Output"}]},"type":"array","title":"Orders","description":"The orders for this owner"}},"type":"object","required":["request","total","orders"],"title":"ListOrdersResponse"},"NotificationEvent":{"properties":{},"type":"object","title":"NotificationEvent"},"NotificationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The notification id"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner id"},"aoi":{"type":"string","title":"Aoi","description":"The AOI in geometry format"},"gsdMin":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsdmin","description":"The minimum GSD to filter the archives"},"gsdMax":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsdmax","description":"The maximum GSD to filter the archives"},"productType":{"anyOf":[{"$ref":"#/components/schemas/shared__types__ProductType"},{"type":"null"}],"description":"The product type to filter the archives"},"webhookUrl":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Webhookurl","description":"The webhook to notify"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"The creation date"}},"type":"object","required":["id","ownerId","aoi","gsdMin","gsdMax","productType","webhookUrl","createdAt"],"title":"NotificationResponse"},"NotificationWithHistoryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The notification id"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner id"},"aoi":{"type":"string","title":"Aoi","description":"The AOI in geometry format"},"gsdMin":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsdmin","description":"The minimum GSD to filter the archives"},"gsdMax":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsdmax","description":"The maximum GSD to filter the archives"},"productType":{"anyOf":[{"$ref":"#/components/schemas/shared__types__ProductType"},{"type":"null"}],"description":"The product type to filter the archives"},"webhookUrl":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Webhookurl","description":"The webhook to notify"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"The creation date"},"history":{"items":{"$ref":"#/components/schemas/NotificationEvent"},"type":"array","title":"History","description":"Notification history events","default":[]}},"type":"object","required":["id","ownerId","aoi","gsdMin","gsdMax","productType","webhookUrl","createdAt"],"title":"NotificationWithHistoryResponse"},"Opportunity":{"properties":{"windowStart":{"type":"string","format":"date-time","title":"Windowstart"},"windowEnd":{"type":"string","format":"date-time","title":"Windowend"},"satelliteId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Satelliteid"},"providerWindowId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Providerwindowid"},"providerMetadata":{"additionalProperties":true,"type":"object","title":"Providermetadata","default":{}}},"type":"object","required":["windowStart","windowEnd"],"title":"Opportunity"},"OrderInfoWithEvent":{"properties":{"orderInfo":{"anyOf":[{"$ref":"#/components/schemas/TaskingOrderResponse-Input"},{"$ref":"#/components/schemas/ArchiveOrderResponse-Input"}],"title":"Orderinfo"},"event":{"$ref":"#/components/schemas/DeliveryEventInfo"}},"type":"object","required":["orderInfo","event"],"title":"OrderInfoWithEvent"},"OrderRedeliveryRequest":{"properties":{"deliveryDriver":{"$ref":"#/components/schemas/DeliveryDriver","description":"How to deliver the asset"},"deliveryParams":{"additionalProperties":true,"type":"object","title":"Deliveryparams","description":"Driver delivery parameters"}},"type":"object","required":["deliveryDriver","deliveryParams"],"title":"OrderRedeliveryRequest"},"OrderType-Input":{"type":"string","enum":["ARCHIVE","TASKING"],"title":"OrderType"},"PlatformApiFeasibilityTaskRequest":{"properties":{"aoi":{"title":"Aoi","description":"A wkt representation of user cropped area","examples":["POLYGON((-99.919 16.847,-99.921 16.826,-99.899 16.825,-99.899 16.849,-99.919 16.847))"]},"productType":{"$ref":"#/components/schemas/shared__types__ProductType","description":"Satellite product type for the feasibility check","examples":["DAY","SAR"]},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Only return feasibility results that are these resolutions.","examples":[["MEDIUM","HIGH","VERY HIGH"]]},"startDate":{"type":"string","format":"date-time","title":"Startdate","description":"Start date for feasibility check. Must be a timezone-aware datetime.","examples":["2025-01-15T00:00:00+00:00"]},"endDate":{"type":"string","format":"date-time","title":"Enddate","description":"End date for feasibility check. Must be a timezone-aware datetime.","examples":["2025-01-22T23:59:59+00:00"]},"maxCloudCoveragePercent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"Maximum cloud coverage percentage allowed for the imagery","examples":[10.0,25.0,50.0]},"priorityItem":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Priorityitem","description":"Whether this is a priority feasibility request for expedited processing","examples":[false,true]},"requiredProvider":{"anyOf":[{"type":"string","enum":["PLANET","UMBRA"]},{"type":"null"}],"title":"Requiredprovider","description":"Provider must be either PLANET or UMBRA.","examples":["PLANET","UMBRA"]},"sarParameters":{"additionalProperties":true,"type":"object","title":"Sarparameters","default":{}}},"type":"object","required":["aoi","productType","resolution","startDate","endDate"],"title":"PlatformApiFeasibilityTaskRequest","description":"Request model for creating a feasibility task"},"PlatformApiPassPredictionRequest":{"properties":{"aoi":{"title":"Aoi","description":"A wkt representation of user cropped area","examples":["POLYGON((-99.919 16.847,-99.921 16.826,-99.899 16.825,-99.899 16.849,-99.919 16.847))"]},"fromDate":{"type":"string","format":"date-time","title":"Fromdate","description":"Start date for pass prediction search. Must be a timezone-aware datetime.","examples":["2025-01-15T00:00:00+00:00"]},"toDate":{"type":"string","format":"date-time","title":"Todate","description":"End date for pass prediction search. Must be a timezone-aware datetime.","examples":["2025-01-22T23:59:59+00:00"]},"productTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/shared__types__ProductType"},"type":"array"},{"type":"null"}],"title":"Producttypes","description":"Only return pass predictions for these satellite product types.","examples":[["OPTICAL_HIGH_RES","SAR"]]},"resolutions":{"anyOf":[{"items":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"description":"Resolution format with spaces"},"type":"array"},{"type":"null"}],"title":"Resolutions","description":"Only return pass predictions with these resolutions","examples":[["LOW","MEDIUM","HIGH"]]},"maxOffNadirAngle":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maxoffnadirangle","description":"Maximum off-nadir angle in degrees for satellite passes.","default":30.0,"examples":[30.0,45.0]}},"type":"object","required":["aoi","fromDate","toDate"],"title":"PlatformApiPassPredictionRequest"},"PlatformFeasibilityTaskResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The ID of the feasibility task"},"validUntil":{"type":"string","format":"date-time","title":"Validuntil","description":"The date and time until which the task is valid"},"overallScore":{"anyOf":[{"$ref":"#/components/schemas/FeasibilityScore"},{"type":"null"}]}},"type":"object","required":["id","validUntil","overallScore"],"title":"PlatformFeasibilityTaskResponse"},"PlatformPass":{"properties":{"provider":{"$ref":"#/components/schemas/ApiProvider","description":"The satellite provider of the pass","examples":["PLANET","UMBRA"]},"satname":{"type":"string","title":"Satname","description":"The name of the satellite","examples":["SKYSAT","UMBRA-SAR"]},"satid":{"type":"string","title":"Satid","description":"The ID of the satellite","examples":["SKYSAT-101","UMBRA-SAR-101"]},"noradid":{"type":"string","title":"Noradid","description":"The NORAD ID of the satellite","examples":["2024-0101","2024-0102"]},"node":{"type":"string","title":"Node","description":"The node of the satellite"},"productType":{"$ref":"#/components/schemas/shared__types__ProductType","description":"The product type of the pass","examples":["DAY","SAR"]},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"The resolution of the pass","examples":["MEDIUM","HIGH","VERY HIGH"]},"lat":{"type":"number","title":"Lat","description":"The latitude of the pass","examples":[10.0,20.0,30.0]},"lon":{"type":"number","title":"Lon","description":"The longitude of the pass","examples":[-10.0,-20.0,-30.0]},"passDate":{"type":"string","format":"date-time","title":"Passdate","description":"The date and time of the pass","examples":["2024-01-01T00:00:00Z"]},"meanT":{"type":"integer","title":"Meant","description":"The mean temperature of the pass","examples":[10,20,30]},"offNadirAngle":{"type":"number","title":"Offnadirangle","description":"The off-nadir angle of the pass","examples":[10.0,20.0,30.0]},"solarElevationAngle":{"type":"number","title":"Solarelevationangle","description":"The solar elevation angle of the pass","examples":[10.0,20.0,30.0]},"minSquareKms":{"type":"number","title":"Minsquarekms","description":"The minimum square kilometers of the pass","examples":[10.0,20.0,30.0]},"maxSquareKms":{"type":"number","title":"Maxsquarekms","description":"The maximum square kilometers of the pass","examples":[10.0,20.0,30.0]},"priceForOneSquareKm":{"type":"number","title":"Priceforonesquarekm","description":"The price in USD for one square kilometer of the pass","examples":[10.0,20.0,30.0]},"priceForOneSquareKmCents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priceforonesquarekmcents","description":"The price in cents for one square kilometer of the pass","examples":[1000,2000,3000]},"gsdDegMin":{"type":"number","title":"Gsddegmin","description":"The minimum GSD of the pass","examples":[10.0,20.0,30.0]},"gsdDegMax":{"type":"number","title":"Gsddegmax","description":"The maximum GSD of the pass","examples":[10.0,20.0,30.0]}},"type":"object","required":["provider","satname","satid","noradid","node","productType","resolution","lat","lon","passDate","meanT","offNadirAngle","solarElevationAngle","minSquareKms","maxSquareKms","priceForOneSquareKm","gsdDegMin","gsdDegMax"],"title":"PlatformPass"},"PlatformPassPredictionResponse":{"properties":{"passes":{"items":{"$ref":"#/components/schemas/PlatformPass"},"type":"array","title":"Passes"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["passes"],"title":"PlatformPassPredictionResponse"},"PongResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"PongResponse"},"PricingRequest":{"properties":{"aoi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aoi","description":"(Optional) Area of interest in wkt format"}},"type":"object","title":"PricingRequest"},"ProductEntry":{"properties":{"productType":{"type":"string","title":"Producttype","description":"The product type","examples":["DAY","SAR"]},"resolutions":{"items":{"$ref":"#/components/schemas/ResolutionEntry"},"type":"array","title":"Resolutions","description":"Available resolutions for this product type"}},"type":"object","required":["productType","resolutions"],"title":"ProductEntry"},"ProviderCombinedScore":{"properties":{"score":{"type":"number","title":"Score"},"providerScores":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProviderScore"},"type":"array"},{"type":"null"}],"title":"Providerscores"}},"type":"object","required":["score"],"title":"ProviderCombinedScore"},"ProviderEntry":{"properties":{"provider":{"type":"string","title":"Provider","description":"The provider name","examples":["PLANET","UMBRA"]},"orderTypes":{"items":{"$ref":"#/components/schemas/platform_api__providers__model__OrderType"},"type":"array","title":"Ordertypes","description":"Order types available for this provider","examples":[["TASKING","ARCHIVE"]]}},"type":"object","required":["provider","orderTypes"],"title":"ProviderEntry"},"ProviderScore":{"properties":{"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"score":{"type":"number","title":"Score"},"status":{"anyOf":[{"$ref":"#/components/schemas/FeasibilityCheckStatus"},{"type":"null"}]},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"opportunities":{"items":{"$ref":"#/components/schemas/Opportunity"},"type":"array","title":"Opportunities","default":[]}},"type":"object","required":["score"],"title":"ProviderScore"},"ProvidersResponse":{"properties":{"products":{"items":{"$ref":"#/components/schemas/ProductEntry"},"type":"array","title":"Products","description":"Available products with their providers"}},"type":"object","required":["products"],"title":"ProvidersResponse"},"ResolutionEntry":{"properties":{"resolution":{"type":"string","title":"Resolution","description":"The image resolution","examples":["HIGH","VERY_HIGH"]},"providers":{"items":{"$ref":"#/components/schemas/ProviderEntry"},"type":"array","title":"Providers","description":"Providers available at this resolution"}},"type":"object","required":["resolution","providers"],"title":"ResolutionEntry"},"SarPolarisation":{"type":"string","enum":["HH","VV"],"title":"SarPolarisation"},"SarProductType":{"type":"string","enum":["GEC","SICD","SIDD","CPHD"],"title":"SarProductType"},"SortColumn":{"type":"string","enum":["created_at","last_modified","customer_item_cost","status"],"title":"SortColumn"},"SortDirection":{"type":"string","enum":["asc","desc"],"title":"SortDirection"},"StatusResponse":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"StatusResponse"},"TaskingOrderInfoResponse":{"properties":{"events":{"items":{"$ref":"#/components/schemas/DeliveryEventInfo"},"type":"array","title":"Events"},"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"(Opt) The item label"},"orderLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orderlabel","description":"(Opt) The order label"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"windowStart":{"type":"string","format":"date-time","title":"Windowstart","description":"Tasking window start in ISO format. Timezone defaults to UTC"},"windowEnd":{"type":"string","format":"date-time","title":"Windowend","description":"Tasking window end in ISO format. Timezone defaults to UTC"},"productType":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType","description":"Requested product type"},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Image resolution (use for sar_gsd)"},"priorityItem":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Priorityitem","description":"(Opt) Priority Tasking Order","default":false},"maxCloudCoveragePercent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"(Opt) Maximum cloud cover","default":20},"maxOffNadirAngle":{"anyOf":[{"type":"integer","maximum":45.0,"minimum":0.0},{"type":"null"}],"title":"Maxoffnadirangle","description":"(Opt) Maximum off nadir angle","default":30},"requiredProvider":{"anyOf":[{"$ref":"#/components/schemas/ApiProvider"},{"type":"null"}],"description":"(Opt) Required provider","examples":["SIWEI"]},"sarProductTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/SarProductType"},"type":"array"},{"type":"null"}],"title":"Sarproducttypes","description":"SAR Product types"},"sarPolarisation":{"anyOf":[{"$ref":"#/components/schemas/SarPolarisation"},{"type":"null"}],"description":"SAR polarisation"},"sarGrazingAngleMin":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemin","description":"SAR grazing angle min"},"sarGrazingAngleMax":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemax","description":"SAR grazing angle max"},"sarAzimuthAngleMin":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemin","description":"SAR incidence angle min"},"sarAzimuthAngleMax":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemax","description":"SAR incidence angle max"},"sarNumberOfLooks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sarnumberoflooks","description":"SAR number of looks"},"id":{"type":"string","format":"uuid","title":"Id","description":"The order's item id"},"orderType":{"$ref":"#/components/schemas/shared__types__OrderType","description":"The order type"},"orderCost":{"type":"integer","title":"Ordercost","description":"The cost of the order in cents"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner of the order"},"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status of the order"},"aoiSqkm":{"type":"number","title":"Aoisqkm","description":"The area of the AOI in square kilometers"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"(Opt) The tiles server url"},"downloadImageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadimageurl","description":"The image download url"},"downloadPayloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadpayloadurl","description":"The payload download url"},"downloadCogUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadcogurl","description":"The COG download url"},"payloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payloadsize","description":"(Opt) The size of the payload deliverable in bytes"},"cogSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cogsize","description":"(Opt) The size of the COG deliverable in bytes"},"orderCode":{"type":"string","title":"Ordercode","description":"The order code"},"geocodeLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocodelocation","description":"(Opt) The geocode location"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Order creation timestamp"},"orderId":{"type":"string","format":"uuid","title":"Orderid","description":"The order id"},"itemId":{"type":"string","format":"uuid","title":"Itemid","description":"The item id"},"deliverableId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Deliverableid","description":"The deliverable id"}},"type":"object","required":["events","aoi","windowStart","windowEnd","productType","resolution","id","orderType","orderCost","ownerId","status","aoiSqkm","downloadImageUrl","downloadPayloadUrl","orderCode","createdAt","orderId","itemId"],"title":"TaskingOrderInfoResponse"},"TaskingOrderRequest":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset","default":"NONE"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"type":"string","title":"Label","description":"(Opt) The item label","default":"Platform Order"},"orderLabel":{"type":"string","title":"Orderlabel","description":"(Opt) The order label","default":"Platform Order"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"windowStart":{"type":"string","format":"date-time","title":"Windowstart","description":"Tasking window start in ISO format. Timezone defaults to UTC"},"windowEnd":{"type":"string","format":"date-time","title":"Windowend","description":"Tasking window end in ISO format. Timezone defaults to UTC"},"productType":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType","description":"Requested product type"},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Image resolution (use for sar_gsd)"},"priorityItem":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Priorityitem","description":"(Opt) Priority Tasking Order","default":false},"maxCloudCoveragePercent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"(Opt) Maximum cloud cover","default":20},"maxOffNadirAngle":{"anyOf":[{"type":"integer","maximum":45.0,"minimum":0.0},{"type":"null"}],"title":"Maxoffnadirangle","description":"(Opt) Maximum off nadir angle","default":30},"requiredProvider":{"anyOf":[{"$ref":"#/components/schemas/ApiProvider"},{"type":"null"}],"description":"(Opt) Required provider","examples":["SIWEI"]},"sarProductTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/SarProductType"},"type":"array"},{"type":"null"}],"title":"Sarproducttypes","description":"SAR Product types"},"sarPolarisation":{"anyOf":[{"$ref":"#/components/schemas/SarPolarisation"},{"type":"null"}],"description":"SAR polarisation"},"sarGrazingAngleMin":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemin","description":"SAR grazing angle min"},"sarGrazingAngleMax":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemax","description":"SAR grazing angle max"},"sarAzimuthAngleMin":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemin","description":"SAR incidence angle min"},"sarAzimuthAngleMax":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemax","description":"SAR incidence angle max"},"sarNumberOfLooks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sarnumberoflooks","description":"SAR number of looks"},"providerWindowId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Providerwindowid","description":"Optional specific provider window ID from feasibility/pass-prediction"}},"type":"object","required":["aoi","windowStart","windowEnd","productType","resolution"],"title":"TaskingOrderRequest"},"TaskingOrderResponse-Input":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"(Opt) The item label"},"orderLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orderlabel","description":"(Opt) The order label"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"windowStart":{"type":"string","format":"date-time","title":"Windowstart","description":"Tasking window start in ISO format. Timezone defaults to UTC"},"windowEnd":{"type":"string","format":"date-time","title":"Windowend","description":"Tasking window end in ISO format. Timezone defaults to UTC"},"productType":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType","description":"Requested product type"},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Image resolution (use for sar_gsd)"},"priorityItem":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Priorityitem","description":"(Opt) Priority Tasking Order","default":false},"maxCloudCoveragePercent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"(Opt) Maximum cloud cover","default":20},"maxOffNadirAngle":{"anyOf":[{"type":"integer","maximum":45.0,"minimum":0.0},{"type":"null"}],"title":"Maxoffnadirangle","description":"(Opt) Maximum off nadir angle","default":30},"requiredProvider":{"anyOf":[{"$ref":"#/components/schemas/ApiProvider"},{"type":"null"}],"description":"(Opt) Required provider","examples":["SIWEI"]},"sarProductTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/SarProductType"},"type":"array"},{"type":"null"}],"title":"Sarproducttypes","description":"SAR Product types"},"sarPolarisation":{"anyOf":[{"$ref":"#/components/schemas/SarPolarisation"},{"type":"null"}],"description":"SAR polarisation"},"sarGrazingAngleMin":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemin","description":"SAR grazing angle min"},"sarGrazingAngleMax":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemax","description":"SAR grazing angle max"},"sarAzimuthAngleMin":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemin","description":"SAR incidence angle min"},"sarAzimuthAngleMax":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemax","description":"SAR incidence angle max"},"sarNumberOfLooks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sarnumberoflooks","description":"SAR number of looks"},"id":{"type":"string","format":"uuid","title":"Id","description":"The order's item id"},"orderType":{"$ref":"#/components/schemas/OrderType-Input","description":"The order type"},"orderCost":{"type":"integer","title":"Ordercost","description":"The cost of the order in cents"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner of the order"},"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status of the order"},"aoiSqkm":{"type":"number","title":"Aoisqkm","description":"The area of the AOI in square kilometers"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"(Opt) The tiles server url"},"downloadImageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadimageurl","description":"The image download url"},"downloadPayloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadpayloadurl","description":"The payload download url"},"downloadCogUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadcogurl","description":"The COG download url"},"payloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payloadsize","description":"(Opt) The size of the payload deliverable in bytes"},"cogSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cogsize","description":"(Opt) The size of the COG deliverable in bytes"},"orderCode":{"type":"string","title":"Ordercode","description":"The order code"},"geocodeLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocodelocation","description":"(Opt) The geocode location"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Order creation timestamp"},"orderId":{"type":"string","format":"uuid","title":"Orderid","description":"The order id"},"itemId":{"type":"string","format":"uuid","title":"Itemid","description":"The item id"},"deliverableId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Deliverableid","description":"The deliverable id"}},"type":"object","required":["aoi","windowStart","windowEnd","productType","resolution","id","orderType","orderCost","ownerId","status","aoiSqkm","downloadImageUrl","downloadPayloadUrl","orderCode","createdAt","orderId","itemId"],"title":"TaskingOrderResponse"},"TaskingOrderResponse-Output":{"properties":{"aoi":{"type":"string","title":"Aoi","description":"The ordered AOI"},"deliveryDriver":{"anyOf":[{"$ref":"#/components/schemas/DeliveryDriver"},{"type":"null"}],"description":"How to deliver the asset"},"deliveryParams":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliveryparams","description":"Driver delivery parameters"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"(Opt) The item label"},"orderLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orderlabel","description":"(Opt) The order label"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Customer order metadata"},"webhookUrl":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhookurl","description":"Webhook for order status updates","examples":["https://my.webhooks.com/order-event"]},"windowStart":{"type":"string","format":"date-time","title":"Windowstart","description":"Tasking window start in ISO format. Timezone defaults to UTC"},"windowEnd":{"type":"string","format":"date-time","title":"Windowend","description":"Tasking window end in ISO format. Timezone defaults to UTC"},"productType":{"$ref":"#/components/schemas/skyfi_types__products__image_products__ProductType","description":"Requested product type"},"resolution":{"type":"string","enum":["LOW","MEDIUM","HIGH","VERY HIGH","SUPER HIGH","ULTRA HIGH","CM 30","CM 50","SPOT","SPOT FINE","SLEA","DWELL","DWELL FINE","STRIP","SCAN"],"title":"Resolution","description":"Image resolution (use for sar_gsd)"},"priorityItem":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Priorityitem","description":"(Opt) Priority Tasking Order","default":false},"maxCloudCoveragePercent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Maxcloudcoveragepercent","description":"(Opt) Maximum cloud cover","default":20},"maxOffNadirAngle":{"anyOf":[{"type":"integer","maximum":45.0,"minimum":0.0},{"type":"null"}],"title":"Maxoffnadirangle","description":"(Opt) Maximum off nadir angle","default":30},"requiredProvider":{"anyOf":[{"$ref":"#/components/schemas/ApiProvider"},{"type":"null"}],"description":"(Opt) Required provider","examples":["SIWEI"]},"sarProductTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/SarProductType"},"type":"array"},{"type":"null"}],"title":"Sarproducttypes","description":"SAR Product types"},"sarPolarisation":{"anyOf":[{"$ref":"#/components/schemas/SarPolarisation"},{"type":"null"}],"description":"SAR polarisation"},"sarGrazingAngleMin":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemin","description":"SAR grazing angle min"},"sarGrazingAngleMax":{"anyOf":[{"type":"number","maximum":80.0,"minimum":10.0},{"type":"null"}],"title":"Sargrazinganglemax","description":"SAR grazing angle max"},"sarAzimuthAngleMin":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemin","description":"SAR incidence angle min"},"sarAzimuthAngleMax":{"anyOf":[{"type":"number","maximum":360.0,"minimum":0.0},{"type":"null"}],"title":"Sarazimuthanglemax","description":"SAR incidence angle max"},"sarNumberOfLooks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sarnumberoflooks","description":"SAR number of looks"},"id":{"type":"string","format":"uuid","title":"Id","description":"The order's item id"},"orderType":{"$ref":"#/components/schemas/shared__types__OrderType","description":"The order type"},"orderCost":{"type":"integer","title":"Ordercost","description":"The cost of the order in cents"},"ownerId":{"type":"string","format":"uuid","title":"Ownerid","description":"The owner of the order"},"status":{"$ref":"#/components/schemas/DeliveryStatus","description":"The delivery status of the order"},"aoiSqkm":{"type":"number","title":"Aoisqkm","description":"The area of the AOI in square kilometers"},"tilesUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tilesurl","description":"(Opt) The tiles server url"},"downloadImageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadimageurl","description":"The image download url"},"downloadPayloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadpayloadurl","description":"The payload download url"},"downloadCogUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Downloadcogurl","description":"The COG download url"},"payloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payloadsize","description":"(Opt) The size of the payload deliverable in bytes"},"cogSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cogsize","description":"(Opt) The size of the COG deliverable in bytes"},"orderCode":{"type":"string","title":"Ordercode","description":"The order code"},"geocodeLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geocodelocation","description":"(Opt) The geocode location"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Order creation timestamp"},"orderId":{"type":"string","format":"uuid","title":"Orderid","description":"The order id"},"itemId":{"type":"string","format":"uuid","title":"Itemid","description":"The item id"},"deliverableId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Deliverableid","description":"The deliverable id"}},"type":"object","required":["aoi","windowStart","windowEnd","productType","resolution","id","orderType","orderCost","ownerId","status","aoiSqkm","downloadImageUrl","downloadPayloadUrl","orderCode","createdAt","orderId","itemId"],"title":"TaskingOrderResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WeatherDetails":{"properties":{"weatherScore":{"type":"number","title":"Weatherscore"},"clouds":{"anyOf":[{"items":{"$ref":"#/components/schemas/CloudCoverage"},"type":"array"},{"type":"null"}],"title":"Clouds"}},"type":"object","required":["weatherScore"],"title":"WeatherDetails"},"WeatherScore":{"properties":{"weatherScore":{"type":"number","title":"Weatherscore","description":"The weather score"},"weatherDetails":{"anyOf":[{"$ref":"#/components/schemas/WeatherDetails"},{"type":"null"}]}},"type":"object","required":["weatherScore"],"title":"WeatherScore"},"WhoamiUser":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The customer ID"},"organizationId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organizationid","description":"The organization ID"},"email":{"type":"string","format":"email","title":"Email","description":"The customer email"},"firstName":{"type":"string","title":"Firstname","description":"The customer first name"},"lastName":{"type":"string","title":"Lastname","description":"The customer last name"},"isDemoAccount":{"type":"boolean","title":"Isdemoaccount","description":"If this customer is for demo purposes","default":true},"currentBudgetUsage":{"type":"integer","title":"Currentbudgetusage","description":"The current bill (in cents)"},"budgetAmount":{"type":"integer","title":"Budgetamount","description":"The total budget (in cents)"},"hasValidSharedCard":{"type":"boolean","title":"Hasvalidsharedcard","description":"If customer has a valid stripe payment method"}},"type":"object","required":["id","organizationId","email","firstName","lastName","currentBudgetUsage","budgetAmount","hasValidSharedCard"],"title":"WhoamiUser"},"platform_api__providers__model__OrderType":{"type":"string","enum":["TASKING","ARCHIVE"],"title":"OrderType"},"shared__types__OrderType":{"type":"string","enum":["ARCHIVE","TASKING"],"title":"OrderType"},"shared__types__ProductType":{"type":"string","enum":["DAY","NIGHT","VIDEO","SAR","HYPERSPECTRAL","MULTISPECTRAL","STEREO"],"title":"ProductType"},"skyfi_types__products__image_products__ProductType":{"type":"string","enum":["DAY","NIGHT","VIDEO","MULTISPECTRAL","HYPERSPECTRAL","SAR","STEREO","BASEMAP"],"title":"ProductType"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-Skyfi-Api-Key"}}},"tags":[{"name":"Core","description":"Core operations. Pings, statuses, api health, etc"},{"name":"Auth","description":"Authentication endpoints, whoami and customer statistics","externalDocs":{"description":"Contact us","url":"https://skyfi.com/"}},{"name":"Archive","description":"Endpoints to search and retrieve images from our archives"},{"name":"Notifications","description":"Management of customer notifications filters and webhooks"},{"name":"Ordering","description":"Create tasking or archival orders and manage deliveries of the produced imagery artifacts"}]}