Eurobase · Schema

CreateStorageObjectReadUrlResponse

CloudPlatformEuropeanAgentsDeveloper Tools

Properties

Name Type Description
project object
storageObject object
readUrl string
expiresAt string
View JSON Schema on GitHub

JSON Schema

eurobase-dev-create-storage-object-read-url-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/eurobase-dev/json-schema/eurobase-dev-create-storage-object-read-url-response-schema.json",
  "title": "CreateStorageObjectReadUrlResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/eurobase-dev-storage-objects-api-openapi.yml#/components/schemas/CreateStorageObjectReadUrlResponse",
  "type": "object",
  "required": [
    "project",
    "storageObject",
    "readUrl",
    "expiresAt"
  ],
  "properties": {
    "project": {
      "$ref": "#/$defs/ProjectSummary"
    },
    "storageObject": {
      "$ref": "#/$defs/StorageObject"
    },
    "readUrl": {
      "type": "string",
      "format": "uri"
    },
    "expiresAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "$defs": {
    "ProjectRoute": {
      "type": "object",
      "required": [
        "status",
        "reasonCode",
        "managed",
        "upstream"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "healthy",
            "repairing",
            "degraded",
            "broken",
            "unknown"
          ]
        },
        "reasonCode": {
          "type": "string",
          "enum": [
            "none",
            "dns_record_missing",
            "dns_propagating",
            "domain_binding_missing",
            "tls_pending",
            "missing_project_upstream",
            "upstream_unreachable",
            "ingress_unreachable",
            "unmanaged_custom_domain",
            "scw_mutation_failed"
          ]
        },
        "checkedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastRepairAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastError": {
          "type": [
            "string",
            "null"
          ]
        },
        "managed": {
          "type": "boolean"
        },
        "convergenceState": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "recovering",
            "exhausted",
            "ready",
            null
          ]
        },
        "upstream": {
          "$ref": "#/$defs/ProjectUpstreamState"
        }
      }
    },
    "ProjectServingSuspension": {
      "type": "object",
      "description": "An operator suspension of the project's public serving (ADR 0080). Operator notes and evidence are never included.",
      "required": [
        "state",
        "reasonCategory",
        "reasonLabel",
        "since",
        "supportEmail",
        "policyUrl"
      ],
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "suspended"
          ]
        },
        "reasonCategory": {
          "type": "string",
          "enum": [
            "phishing",
            "malware",
            "shared_domain_abuse",
            "spam",
            "illegal_content",
            "legal_order",
            "other_policy_violation"
          ]
        },
        "reasonLabel": {
          "type": "string"
        },
        "since": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "supportEmail": {
          "type": "string"
        },
        "policyUrl": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ProjectSourceLock": {
      "type": "object",
      "description": "ADR 0090: while locked, no caller can change the project repository, branch, root directory or deployment mode.",
      "required": [
        "locked",
        "lockedAt"
      ],
      "properties": {
        "locked": {
          "type": "boolean"
        },
        "lockedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "ProjectSourceProfileSummary": {
      "type": "object",
      "required": [
        "framework",
        "frameworkLabel",
        "outputMode"
      ],
      "properties": {
        "framework": {
          "type": "string",
          "enum": [
            "next",
            "astro",
            "svelte-kit",
            "nuxt",
            "react-router",
            "tanstack-start",
            "vite",
            "hono",
            "nestjs",
            "fastify",
            "express",
            "django",
            "fastapi",
            "flask",
            "laravel",
            "rails",
            "node",
            "python",
            "php",
            "ruby",
            "go",
            "java",
            "dotnet",
            "static"
          ]
        },
        "frameworkLabel": {
          "type": "string"
        },
        "outputMode": {
          "type": "string",
          "enum": [
            "runtime",
            "static"
          ]
        }
      }
    },
    "ProjectSummary": {
      "type": "object",
      "required": [
        "id",
        "deploymentMode",
        "projectRoute",
        "releaseUsability",
        "sourceProfile"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "organizationId": {
          "type": [
            "string",
            "null"
          ]
        },
        "projectMembershipId": {
          "type": [
            "string",
            "null"
          ]
        },
        "projectRole": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "owner",
            "admin",
            "contributor",
            null
          ]
        },
        "projectSlug": {
          "type": [
            "string",
            "null"
          ]
        },
        "projectHostname": {
          "type": [
            "string",
            "null"
          ]
        },
        "primaryHostname": {
          "type": [
            "string",
            "null"
          ],
          "description": "Official address of the project: its active custom domain whose DNS points at Eurobase, the one that went live first when several do, otherwise projectHostname. projectHostname stays reserved and keeps serving."
        },
        "deploymentMode": {
          "type": "string",
          "enum": [
            "runtime",
            "static"
          ]
        },
        "lifecycleState": {
          "type": [
            "string",
            "null"
          ]
        },
        "deleteRequestedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "projectRoute": {
          "$ref": "#/$defs/ProjectRoute"
        },
        "releaseUsability": {
          "$ref": "#/$defs/ReleaseUsability"
        },
        "projectSummaryStatus": {
          "$ref": "#/$defs/ProjectSummaryStatus"
        },
        "servingSuspension": {
          "oneOf": [
            {
              "$ref": "#/$defs/ProjectServingSuspension"
            },
            {
              "type": "null"
            }
          ]
        },
        "sourceProfile": {
          "oneOf": [
            {
              "$ref": "#/$defs/ProjectSourceProfileSummary"
            },
            {
              "type": "null"
            }
          ]
        },
        "sourceLock": {
          "$ref": "#/$defs/ProjectSourceLock"
        }
      }
    },
    "ProjectSummaryStatus": {
      "type": "object",
      "required": [
        "label",
        "tone",
        "code",
        "detailTitle",
        "detail"
      ],
      "properties": {
        "label": {
          "type": "string"
        },
        "tone": {
          "type": "string",
          "enum": [
            "neutral",
            "problem",
            "error"
          ]
        },
        "code": {
          "type": "string",
          "enum": [
            "setup_required",
            "route_issue",
            "deploy_failed",
            "deploy_unhealthy",
            "live_release_blocked",
            "status_check_delayed",
            "deploy_in_progress",
            "rollback_live",
            "healthy",
            "suspended"
          ]
        },
        "detailTitle": {
          "type": [
            "string",
            "null"
          ]
        },
        "detail": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "ProjectUpstreamState": {
      "type": "object",
      "required": [
        "status",
        "reasonCode"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "healthy",
            "broken",
            "unknown"
          ]
        },
        "reasonCode": {
          "type": "string",
          "enum": [
            "none",
            "missing_project_upstream",
            "upstream_unreachable"
          ]
        },
        "checkedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastError": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "ReleaseUsability": {
      "type": "object",
      "required": [
        "status",
        "reasonCode",
        "lastLiveDeploymentId"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "reachable",
            "degraded",
            "blocked",
            "unknown"
          ]
        },
        "reasonCode": {
          "type": "string",
          "enum": [
            "none",
            "missing_live_release",
            "access_not_allowed",
            "route_repair_in_progress",
            "route_incident",
            "project_suspended"
          ]
        },
        "lastLiveDeploymentId": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "StorageObject": {
      "type": "object",
      "required": [
        "id",
        "organizationId",
        "projectId",
        "createdByUserId",
        "logicalKey",
        "visibility",
        "uploadStatus",
        "preview",
        "createdAt",
        "updatedAt"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "organizationId": {
          "type": "string"
        },
        "projectId": {
          "type": "string"
        },
        "bucketId": {
          "type": [
            "string",
            "null"
          ]
        },
        "createdByUserId": {
          "type": "string"
        },
        "logicalKey": {
          "type": "string"
        },
        "objectKey": {
          "type": [
            "string",
            "null"
          ]
        },
        "contentType": {
          "type": [
            "string",
            "null"
          ]
        },
        "sizeBytes": {
          "type": [
            "integer",
            "null"
          ]
        },
        "visibility": {
          "type": "string",
          "enum": [
            "private",
            "public"
          ]
        },
        "uploadStatus": {
          "type": "string",
          "enum": [
            "pending",
            "ready",
            "failed",
            "deleted"
          ]
        },
        "preview": {
          "type": "object",
          "required": [
            "status",
            "imageUrl",
            "width",
            "height",
            "actions"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "loading",
                "ready",
                "unavailable",
                "none"
              ]
            },
            "imageUrl": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri-reference"
            },
            "width": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 1,
              "maximum": 960
            },
            "height": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 1,
              "maximum": 960
            },
            "actions": {
              "type": "object",
              "required": [
                "retryPreview"
              ],
              "properties": {
                "retryPreview": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "productUrl": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eurobase-dev-create-storage-object-read-url-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.