Skip to content

Returns the project's eligibility for upgrades
experimental

get/v1/projects/{ref}/upgrade/eligibility

This is an experimental endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable.

This endpoint is currently in its Beta stage.

OAuth scopes

  • projects:read

The fine-grained token must include the following permissions to access this endpoint:

  • project_admin_read
  • database_read

Path parameters

  • ref
    Required
    string

    Project ref

Response codes

  • 200
  • 401
  • 403
  • 429
  • 500

Response (200)

{
"eligible": true,
"current_app_version": "lorem",
"current_app_version_release_channel": "internal",
"latest_app_version": "lorem",
"target_upgrade_versions": [
{
"postgres_version": "13",
"release_channel": "internal",
"app_version": "lorem"
}
],
"duration_estimate_hours": 42,
"legacy_auth_custom_roles": [
"lorem"
],
"objects_to_be_dropped": [
"lorem"
],
"unsupported_extensions": [
"lorem"
],
"user_defined_objects_in_internal_schemas": [
"lorem"
],
"validation_errors": [
{
"type": "objects_depending_on_pg_cron",
"dependents": [
"lorem"
]
}
],
"warnings": [
{
"type": "pg_graphql_introspection_change"
}
]
}
{
"type": "object",
"properties": {
"eligible": {
"type": "boolean"
},
"current_app_version": {
"type": "string"
},
"current_app_version_release_channel": {
"type": "string",
"enum": [
"internal",
"alpha",
"beta",
"ga",
"withdrawn",
"preview"
]
},
"latest_app_version": {
"type": "string"
},
"target_upgrade_versions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"postgres_version": {
"type": "string",
"enum": [
"13",
"14",
"15",
"17",
"17-oriole"
]
},
"release_channel": {
"type": "string",
"enum": [
"internal",
"alpha",
"beta",
"ga",
"withdrawn",
"preview"
]
},
"app_version": {
"type": "string"
}
},
"required": [
"postgres_version",
"release_channel",
"app_version"
]
}
},
"duration_estimate_hours": {
"type": "number"
},
"legacy_auth_custom_roles": {
"type": "array",
"items": {
"type": "string"
}
},
"objects_to_be_dropped": {
"type": "array",
"items": {
"type": "string"
},
"deprecated": true,
"description": "Use validation_errors instead."
},
"unsupported_extensions": {
"type": "array",
"items": {
"type": "string"
},
"deprecated": true,
"description": "Use validation_errors instead."
},
"user_defined_objects_in_internal_schemas": {
"type": "array",
"items": {
"type": "string"
},
"deprecated": true,
"description": "Use validation_errors instead."
},
"validation_errors": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"objects_depending_on_pg_cron"
]
},
"dependents": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"dependents"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"indexes_referencing_ll_to_earth"
]
},
"schema_name": {
"type": "string"
},
"table_name": {
"type": "string"
},
"index_name": {
"type": "string"
}
},
"required": [
"type",
"schema_name",
"table_name",
"index_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function_using_obsolete_lang"
]
},
"schema_name": {
"type": "string"
},
"function_name": {
"type": "string"
},
"lang_name": {
"type": "string"
}
},
"required": [
"type",
"schema_name",
"function_name",
"lang_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"unsupported_extension"
]
},
"extension_name": {
"type": "string"
}
},
"required": [
"type",
"extension_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"unsupported_fdw_handler"
]
},
"fdw_name": {
"type": "string"
},
"fdw_handler_name": {
"type": "string"
}
},
"required": [
"type",
"fdw_name",
"fdw_handler_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"unlogged_table_with_persistent_sequence"
]
},
"schema_name": {
"type": "string"
},
"table_name": {
"type": "string"
},
"sequence_name": {
"type": "string"
}
},
"required": [
"type",
"schema_name",
"table_name",
"sequence_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"user_defined_objects_in_internal_schemas"
]
},
"obj_type": {
"anyOf": [
{
"type": "string",
"enum": [
"table"
]
},
{
"type": "string",
"enum": [
"function"
]
}
]
},
"schema_name": {
"type": "string"
},
"obj_name": {
"type": "string"
}
},
"required": [
"type",
"obj_type",
"schema_name",
"obj_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"active_replication_slot"
]
},
"slot_name": {
"type": "string"
}
},
"required": [
"type",
"slot_name"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"x86_architecture"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"project_hibernating"
]
}
},
"required": [
"type"
]
}
]
}
},
"warnings": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"pg_graphql_introspection_change"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ltree_reindex_required"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"operator_estimator_gate"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"btree_gist_nan_reindex"
]
}
},
"required": [
"type"
]
}
]
}
}
},
"required": [
"eligible",
"current_app_version",
"current_app_version_release_channel",
"latest_app_version",
"target_upgrade_versions",
"duration_estimate_hours",
"legacy_auth_custom_roles",
"objects_to_be_dropped",
"unsupported_extensions",
"user_defined_objects_in_internal_schemas",
"validation_errors",
"warnings"
]
}