

# Monitoring REST API

Flink has a monitoring API that can be used to query status and statistics of running jobs, as well as recent completed jobs. This monitoring API is used by Flink’s own dashboard, but is designed to be used also by custom monitoring tools.

The monitoring API is a REST-ful API that accepts HTTP requests and responds with JSON data.

## Overview

The monitoring API is backed by a web server that runs as part of the _Dispatcher_. By default, this server listens at post `8081`, which can be configured in `flink-conf.yaml` via `rest.port`. Note that the monitoring API web server and the web dashboard web server are currently the same and thus run together at the same port. They respond to different HTTP URLs, though.

In the case of multiple Dispatchers (for high availability), each Dispatcher will run its own instance of the monitoring API, which offers information about completed and running job while that Dispatcher was elected the cluster leader.

## Developing

The REST API backend is in the `flink-runtime` project. The core class is `org.apache.flink.runtime.webmonitor.WebMonitorEndpoint`, which sets up the server and the request routing.

We use _Netty_ and the _Netty Router_ library to handle REST requests and translate URLs. This choice was made because this combination has lightweight dependencies, and the performance of Netty HTTP is very good.

To add new requests, one needs to

*   add a new `MessageHeaders` class which serves as an interface for the new request,
*   add a new `AbstractRestHandler` class which handles the request according to the added `MessageHeaders` class,
*   add the handler to `org.apache.flink.runtime.webmonitor.WebMonitorEndpoint#initializeHandlers()`.

A good example is the `org.apache.flink.runtime.rest.handler.job.JobExceptionsHandler` that uses the `org.apache.flink.runtime.rest.messages.JobExceptionsHeaders`.

## API

The REST API is versioned, with specific versions being queryable by prefixing the url with the version prefix. Prefixes are always of the form `v[version_number]`. For example, to access version 1 of `/foo/bar` one would query `/v1/foo/bar`.

If no version is specified Flink will default to the _oldest_ version supporting the request.

Querying unsupported/non-existing versions will return a 404 error.

Attention REST API versioning is _not_ active if the cluster runs in [legacy mode](../ops/config.html#mode). For this case please refer to the legacy API below.

#### Dispatcher

| 

##### **/cluster**

 |
| Verb: `DELETE` | Response code: `200 OK` |
| Shuts down the cluster |
| &lt;button data-toggle="collapse" data-target="#-1674237828"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1489255004"&gt;Response&lt;/button&gt;

```
            {} 

```

 |

| 

##### **/config**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the configuration of the WebUI. |
| &lt;button data-toggle="collapse" data-target="#1131337549"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1846075211"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:DashboardConfiguration",
  "properties" : {
    "refresh-interval" : {
      "type" : "integer"
    },
    "timezone-name" : {
      "type" : "string"
    },
    "timezone-offset" : {
      "type" : "integer"
    },
    "flink-version" : {
      "type" : "string"
    },
    "flink-revision" : {
      "type" : "string"
    }
  }
} 

```

 |

| 

##### **/jars**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns a list of all jars previously uploaded via '/jars/upload'. |
| &lt;button data-toggle="collapse" data-target="#-525177469"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1669843955"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarListInfo",
  "properties" : {
    "address" : {
      "type" : "string"
    },
    "files" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarListInfo:JarFileInfo",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "uploaded" : {
            "type" : "integer"
          },
          "entry" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarListInfo:JarEntryInfo",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "description" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jars/upload**

 |
| Verb: `POST` | Response code: `200 OK` |
| Uploads a jar to the cluster. The jar must be sent as multi-part data. Make sure that the "Content-Type" header is set to "application/x-java-archive", as some http libraries do not add the header by default. Using 'curl' you can upload a jar via 'curl -X POST -H "Expect:" -F "jarfile=@path/to/flink-job.jar" http://hostname:port/jars/upload'. |
| &lt;button data-toggle="collapse" data-target="#-1290030289"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1132420209"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarUploadResponseBody",
  "properties" : {
    "filename" : {
      "type" : "string"
    },
    "status" : {
      "type" : "string",
      "enum" : [ "success" ]
    }
  }
} 

```

 |

| 

##### **/jars/:jarid**

 |
| Verb: `DELETE` | Response code: `200 OK` |
| Deletes a jar previously uploaded via '/jars/upload'. |
| Path parameters |
| 

*   `jarid` - String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the `id` field in the list of uploaded jars (/jars).

 |
| &lt;button data-toggle="collapse" data-target="#-974639435"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-789656611"&gt;Response&lt;/button&gt;

```
            {} 

```

 |

| 

##### **/jars/:jarid/plan**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the dataflow plan of a job contained in a jar previously uploaded via '/jars/upload'. Program arguments can be passed both via the JSON request (recommended) or query parameters. |
| Path parameters |
| 

*   `jarid` - String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the `id` field in the list of uploaded jars (/jars).

 |
| Query parameters |
| 

*   `program-args` (optional): Deprecated, please use 'programArg' instead. String value that specifies the arguments for the program or plan
*   `programArg` (optional): Comma-separated list of program arguments.
*   `entry-class` (optional): String value that specifies the fully qualified name of the entry point class. Overrides the class defined in the jar file manifest.
*   `parallelism` (optional): Positive integer value that specifies the desired parallelism for the job.

 |
| &lt;button data-toggle="collapse" data-target="#550027726"&gt;Request&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarPlanRequestBody",
  "properties" : {
    "entryClass" : {
      "type" : "string"
    },
    "programArgs" : {
      "type" : "string"
    },
    "programArgsList" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "parallelism" : {
      "type" : "integer"
    }
  }
} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1311035100"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobPlanInfo",
  "properties" : {
    "plan" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jars/:jarid/run**

 |
| Verb: `POST` | Response code: `200 OK` |
| Submits a job by running a jar previously uploaded via '/jars/upload'. Program arguments can be passed both via the JSON request (recommended) or query parameters. |
| Path parameters |
| 

*   `jarid` - String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the `id` field in the list of uploaded jars (/jars).

 |
| Query parameters |
| 

*   `allowNonRestoredState` (optional): Boolean value that specifies whether the job submission should be rejected if the savepoint contains state that cannot be mapped back to the job.
*   `savepointPath` (optional): String value that specifies the path of the savepoint to restore the job from.
*   `program-args` (optional): Deprecated, please use 'programArg' instead. String value that specifies the arguments for the program or plan
*   `programArg` (optional): Comma-separated list of program arguments.
*   `entry-class` (optional): String value that specifies the fully qualified name of the entry point class. Overrides the class defined in the jar file manifest.
*   `parallelism` (optional): Positive integer value that specifies the desired parallelism for the job.

 |
| &lt;button data-toggle="collapse" data-target="#315035146"&gt;Request&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarRunRequestBody",
  "properties" : {
    "entryClass" : {
      "type" : "string"
    },
    "programArgs" : {
      "type" : "string"
    },
    "programArgsList" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "parallelism" : {
      "type" : "integer"
    },
    "allowNonRestoredState" : {
      "type" : "boolean"
    },
    "savepointPath" : {
      "type" : "string"
    }
  }
} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-914083094"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:webmonitor:handlers:JarRunResponseBody",
  "properties" : {
    "jobid" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobmanager/config**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the cluster configuration. |
| &lt;button data-toggle="collapse" data-target="#1135512494"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#816073812"&gt;Response&lt;/button&gt;

```
            {
  "type" : "array",
  "items" : {
    "type" : "object",
    "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:ClusterConfigurationInfoEntry",
    "properties" : {
      "key" : {
        "type" : "string"
      },
      "value" : {
        "type" : "string"
      }
    }
  }
} 

```

 |

| 

##### **/jobmanager/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to job manager metrics. |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.

 |
| &lt;button data-toggle="collapse" data-target="#821119119"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1131847480"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns an overview over all jobs and their current state. |
| &lt;button data-toggle="collapse" data-target="#-525164511"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-176199833"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:messages:webmonitor:JobIdsWithStatusOverview",
  "properties" : {
    "jobs" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:messages:webmonitor:JobIdsWithStatusOverview:JobIdWithStatus",
        "properties" : {
          "id" : {
            "type" : "any"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "RUNNING", "FAILING", "FAILED", "CANCELLING", "CANCELED", "FINISHED", "RESTARTING", "SUSPENDING", "SUSPENDED", "RECONCILING" ]
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs**

 |
| Verb: `POST` | Response code: `202 Accepted` |
| Submits a job. This call is primarily intended to be used by the Flink client. This call expects a multipart/form-data request that consists of file uploads for the serialized JobGraph, jars and distributed cache artifacts and an attribute named "request" for the JSON payload. |
| &lt;button data-toggle="collapse" data-target="#972993332"&gt;Request&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobSubmitRequestBody",
  "properties" : {
    "jobGraphFileName" : {
      "type" : "string"
    },
    "jobJarFileNames" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "jobArtifactFileNames" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobSubmitRequestBody:DistributedCacheFile",
        "properties" : {
          "entryName" : {
            "type" : "string"
          },
          "fileName" : {
            "type" : "string"
          }
        }
      }
    }
  }
} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1213670870"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobSubmitResponseBody",
  "properties" : {
    "jobUrl" : {
      "type" : "string"
    }
  }
} 

```

 |

| 

##### **/jobs/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to aggregated job metrics. |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.
*   `agg` (optional): Comma-separated list of aggregation modes which should be calculated. Available aggregations are: "min, max, sum, avg".
*   `jobs` (optional): Comma-separated list of 32-character hexadecimal strings to select specific jobs.

 |
| &lt;button data-toggle="collapse" data-target="#-790902571"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#128306770"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs/overview**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns an overview over all jobs. |
| &lt;button data-toggle="collapse" data-target="#-2103612833"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#2114114357"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:messages:webmonitor:MultipleJobsDetails",
  "properties" : {
    "jobs" : {
      "type" : "array",
      "items" : {
        "type" : "any"
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns details of a job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#1706240260"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#481009572"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobDetailsInfo",
  "properties" : {
    "jid" : {
      "type" : "any"
    },
    "name" : {
      "type" : "string"
    },
    "isStoppable" : {
      "type" : "boolean"
    },
    "state" : {
      "type" : "string",
      "enum" : [ "CREATED", "RUNNING", "FAILING", "FAILED", "CANCELLING", "CANCELED", "FINISHED", "RESTARTING", "SUSPENDING", "SUSPENDED", "RECONCILING" ]
    },
    "start-time" : {
      "type" : "integer"
    },
    "end-time" : {
      "type" : "integer"
    },
    "duration" : {
      "type" : "integer"
    },
    "now" : {
      "type" : "integer"
    },
    "timestamps" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "integer"
      }
    },
    "vertices" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobDetailsInfo:JobVertexDetailsInfo",
        "properties" : {
          "id" : {
            "type" : "any"
          },
          "name" : {
            "type" : "string"
          },
          "parallelism" : {
            "type" : "integer"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "SCHEDULED", "DEPLOYING", "RUNNING", "FINISHED", "CANCELING", "CANCELED", "FAILED", "RECONCILING" ]
          },
          "start-time" : {
            "type" : "integer"
          },
          "end-time" : {
            "type" : "integer"
          },
          "duration" : {
            "type" : "integer"
          },
          "tasks" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer"
            }
          },
          "metrics" : {
            "type" : "object",
            "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:metrics:IOMetricsInfo",
            "properties" : {
              "read-bytes" : {
                "type" : "integer"
              },
              "read-bytes-complete" : {
                "type" : "boolean"
              },
              "write-bytes" : {
                "type" : "integer"
              },
              "write-bytes-complete" : {
                "type" : "boolean"
              },
              "read-records" : {
                "type" : "integer"
              },
              "read-records-complete" : {
                "type" : "boolean"
              },
              "write-records" : {
                "type" : "integer"
              },
              "write-records-complete" : {
                "type" : "boolean"
              }
            }
          }
        }
      }
    },
    "status-counts" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "integer"
      }
    },
    "plan" : {
      "type" : "string"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid**

 |
| Verb: `PATCH` | Response code: `202 Accepted` |
| Terminates a job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| Query parameters |
| 

*   `mode` (optional): String value that specifies the termination mode. Supported values are: "cancel, stop".

 |
| &lt;button data-toggle="collapse" data-target="#1782070774"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1967053598"&gt;Response&lt;/button&gt;

```
            {} 

```

 |

| 

##### **/jobs/:jobid/accumulators**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the accumulators for all tasks of a job, aggregated across the respective subtasks. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| Query parameters |
| 

*   `includeSerializedValue` (optional): Boolean value that specifies whether serialized user task accumulators should be included in the response.

 |
| &lt;button data-toggle="collapse" data-target="#1713172624"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#2033336224"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobAccumulatorsInfo",
  "properties" : {
    "job-accumulators" : {
      "type" : "array",
      "items" : {
        "type" : "any"
      }
    },
    "user-task-accumulators" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobAccumulatorsInfo:UserTaskAccumulator",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      }
    },
    "serialized-user-task-accumulators" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "any"
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/checkpoints**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns checkpointing statistics for a job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#-1935063712"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1368158030"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointingStatistics",
  "properties" : {
    "counts" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointingStatistics:Counts",
      "properties" : {
        "restored" : {
          "type" : "integer"
        },
        "total" : {
          "type" : "integer"
        },
        "in_progress" : {
          "type" : "integer"
        },
        "completed" : {
          "type" : "integer"
        },
        "failed" : {
          "type" : "integer"
        }
      }
    },
    "summary" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointingStatistics:Summary",
      "properties" : {
        "state_size" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics",
          "properties" : {
            "min" : {
              "type" : "integer"
            },
            "max" : {
              "type" : "integer"
            },
            "avg" : {
              "type" : "integer"
            }
          }
        },
        "end_to_end_duration" : {
          "type" : "object",
          "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
        },
        "alignment_buffered" : {
          "type" : "object",
          "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
        }
      }
    },
    "latest" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointingStatistics:LatestCheckpoints",
      "properties" : {
        "completed" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointStatistics:CompletedCheckpointStatistics",
          "properties" : {
            "id" : {
              "type" : "integer"
            },
            "status" : {
              "type" : "string",
              "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
            },
            "is_savepoint" : {
              "type" : "boolean"
            },
            "trigger_timestamp" : {
              "type" : "integer"
            },
            "latest_ack_timestamp" : {
              "type" : "integer"
            },
            "state_size" : {
              "type" : "integer"
            },
            "end_to_end_duration" : {
              "type" : "integer"
            },
            "alignment_buffered" : {
              "type" : "integer"
            },
            "num_subtasks" : {
              "type" : "integer"
            },
            "num_acknowledged_subtasks" : {
              "type" : "integer"
            },
            "tasks" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object",
                "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatistics",
                "properties" : {
                  "id" : {
                    "type" : "integer"
                  },
                  "status" : {
                    "type" : "string",
                    "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
                  },
                  "latest_ack_timestamp" : {
                    "type" : "integer"
                  },
                  "state_size" : {
                    "type" : "integer"
                  },
                  "end_to_end_duration" : {
                    "type" : "integer"
                  },
                  "alignment_buffered" : {
                    "type" : "integer"
                  },
                  "num_subtasks" : {
                    "type" : "integer"
                  },
                  "num_acknowledged_subtasks" : {
                    "type" : "integer"
                  }
                }
              }
            },
            "external_path" : {
              "type" : "string"
            },
            "discarded" : {
              "type" : "boolean"
            }
          }
        },
        "savepoint" : {
          "type" : "object",
          "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointStatistics:CompletedCheckpointStatistics"
        },
        "failed" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointStatistics:FailedCheckpointStatistics",
          "properties" : {
            "id" : {
              "type" : "integer"
            },
            "status" : {
              "type" : "string",
              "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
            },
            "is_savepoint" : {
              "type" : "boolean"
            },
            "trigger_timestamp" : {
              "type" : "integer"
            },
            "latest_ack_timestamp" : {
              "type" : "integer"
            },
            "state_size" : {
              "type" : "integer"
            },
            "end_to_end_duration" : {
              "type" : "integer"
            },
            "alignment_buffered" : {
              "type" : "integer"
            },
            "num_subtasks" : {
              "type" : "integer"
            },
            "num_acknowledged_subtasks" : {
              "type" : "integer"
            },
            "tasks" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object",
                "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatistics"
              }
            },
            "failure_timestamp" : {
              "type" : "integer"
            },
            "failure_message" : {
              "type" : "string"
            }
          }
        },
        "restored" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointingStatistics:RestoredCheckpointStatistics",
          "properties" : {
            "id" : {
              "type" : "integer"
            },
            "restore_timestamp" : {
              "type" : "integer"
            },
            "is_savepoint" : {
              "type" : "boolean"
            },
            "external_path" : {
              "type" : "string"
            }
          }
        }
      }
    },
    "history" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointStatistics",
        "properties" : {
          "id" : {
            "type" : "integer"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
          },
          "is_savepoint" : {
            "type" : "boolean"
          },
          "trigger_timestamp" : {
            "type" : "integer"
          },
          "latest_ack_timestamp" : {
            "type" : "integer"
          },
          "state_size" : {
            "type" : "integer"
          },
          "end_to_end_duration" : {
            "type" : "integer"
          },
          "alignment_buffered" : {
            "type" : "integer"
          },
          "num_subtasks" : {
            "type" : "integer"
          },
          "num_acknowledged_subtasks" : {
            "type" : "integer"
          },
          "tasks" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatistics"
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/checkpoints/config**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the checkpointing configuration. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#1905242249"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#808099872"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointConfigInfo",
  "properties" : {
    "mode" : {
      "type" : "any"
    },
    "interval" : {
      "type" : "integer"
    },
    "timeout" : {
      "type" : "integer"
    },
    "min_pause" : {
      "type" : "integer"
    },
    "max_concurrent" : {
      "type" : "integer"
    },
    "externalization" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointConfigInfo:ExternalizedCheckpointInfo",
      "properties" : {
        "enabled" : {
          "type" : "boolean"
        },
        "delete_on_cancellation" : {
          "type" : "boolean"
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/checkpoints/details/:checkpointid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns details for a checkpoint. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `checkpointid` - Long value that identifies a checkpoint.

 |
| &lt;button data-toggle="collapse" data-target="#2082812513"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#59893771"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:CheckpointStatistics",
  "properties" : {
    "id" : {
      "type" : "integer"
    },
    "status" : {
      "type" : "string",
      "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
    },
    "is_savepoint" : {
      "type" : "boolean"
    },
    "trigger_timestamp" : {
      "type" : "integer"
    },
    "latest_ack_timestamp" : {
      "type" : "integer"
    },
    "state_size" : {
      "type" : "integer"
    },
    "end_to_end_duration" : {
      "type" : "integer"
    },
    "alignment_buffered" : {
      "type" : "integer"
    },
    "num_subtasks" : {
      "type" : "integer"
    },
    "num_acknowledged_subtasks" : {
      "type" : "integer"
    },
    "tasks" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatistics",
        "properties" : {
          "id" : {
            "type" : "integer"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
          },
          "latest_ack_timestamp" : {
            "type" : "integer"
          },
          "state_size" : {
            "type" : "integer"
          },
          "end_to_end_duration" : {
            "type" : "integer"
          },
          "alignment_buffered" : {
            "type" : "integer"
          },
          "num_subtasks" : {
            "type" : "integer"
          },
          "num_acknowledged_subtasks" : {
            "type" : "integer"
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/checkpoints/details/:checkpointid/subtasks/:vertexid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns checkpoint statistics for a task and its subtasks. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `checkpointid` - Long value that identifies a checkpoint.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#206551710"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#147094768"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatisticsWithSubtaskDetails",
  "properties" : {
    "id" : {
      "type" : "integer"
    },
    "status" : {
      "type" : "string",
      "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
    },
    "latest_ack_timestamp" : {
      "type" : "integer"
    },
    "state_size" : {
      "type" : "integer"
    },
    "end_to_end_duration" : {
      "type" : "integer"
    },
    "alignment_buffered" : {
      "type" : "integer"
    },
    "num_subtasks" : {
      "type" : "integer"
    },
    "num_acknowledged_subtasks" : {
      "type" : "integer"
    },
    "summary" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatisticsWithSubtaskDetails:Summary",
      "properties" : {
        "state_size" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics",
          "properties" : {
            "min" : {
              "type" : "integer"
            },
            "max" : {
              "type" : "integer"
            },
            "avg" : {
              "type" : "integer"
            }
          }
        },
        "end_to_end_duration" : {
          "type" : "object",
          "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
        },
        "checkpoint_duration" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatisticsWithSubtaskDetails:CheckpointDuration",
          "properties" : {
            "sync" : {
              "type" : "object",
              "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
            },
            "async" : {
              "type" : "object",
              "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
            }
          }
        },
        "alignment" : {
          "type" : "object",
          "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:TaskCheckpointStatisticsWithSubtaskDetails:CheckpointAlignment",
          "properties" : {
            "buffered" : {
              "type" : "object",
              "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
            },
            "duration" : {
              "type" : "object",
              "$ref" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:MinMaxAvgStatistics"
            }
          }
        }
      }
    },
    "subtasks" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:checkpoints:SubtaskCheckpointStatistics",
        "properties" : {
          "index" : {
            "type" : "integer"
          },
          "status" : {
            "type" : "string"
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/config**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the configuration of a job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#1131490405"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1732781110"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs/:jobid/exceptions**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the non-recoverable exceptions that have been observed by the job. The truncated flag defines whether more exceptions occurred, but are not listed, because the response would otherwise get too big. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#-1011644505"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1982519474"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobExceptionsInfo",
  "properties" : {
    "root-exception" : {
      "type" : "string"
    },
    "timestamp" : {
      "type" : "integer"
    },
    "all-exceptions" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobExceptionsInfo:ExecutionExceptionInfo",
        "properties" : {
          "exception" : {
            "type" : "string"
          },
          "task" : {
            "type" : "string"
          },
          "location" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "integer"
          }
        }
      }
    },
    "truncated" : {
      "type" : "boolean"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/execution-result**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the result of a job execution. Gives access to the execution time of the job and to all accumulators created by this job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#-1658976043"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1929690333"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobExecutionResultResponseBody",
  "properties" : {
    "status" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:queue:QueueStatus",
      "required" : true,
      "properties" : {
        "id" : {
          "type" : "string",
          "required" : true,
          "enum" : [ "IN_PROGRESS", "COMPLETED" ]
        }
      }
    },
    "job-execution-result" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to job metrics. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.

 |
| &lt;button data-toggle="collapse" data-target="#696434360"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1007162721"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs/:jobid/plan**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the dataflow plan of a job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#1593444876"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1208792936"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobPlanInfo",
  "properties" : {
    "plan" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/rescaling**

 |
| Verb: `PATCH` | Response code: `200 OK` |
| Triggers the rescaling of a job. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| Query parameters |
| 

*   `parallelism` (mandatory): Positive integer value that specifies the desired parallelism.

 |
| &lt;button data-toggle="collapse" data-target="#1066262171"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#436242360"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:async:TriggerResponse",
  "properties" : {
    "request-id" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/rescaling/:triggerid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the status of a rescaling operation. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `triggerid` - 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.

 |
| &lt;button data-toggle="collapse" data-target="#879212983"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-953870153"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:async:AsynchronousOperationResult",
  "properties" : {
    "status" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:queue:QueueStatus",
      "properties" : {
        "id" : {
          "type" : "string",
          "required" : true,
          "enum" : [ "IN_PROGRESS", "COMPLETED" ]
        }
      }
    },
    "operation" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/savepoints**

 |
| Verb: `POST` | Response code: `202 Accepted` |
| Triggers a savepoint, and optionally cancels the job afterwards. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.

 |
| &lt;button data-toggle="collapse" data-target="#-1876528584"&gt;Request&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:savepoints:SavepointTriggerRequestBody",
  "properties" : {
    "target-directory" : {
      "type" : "string"
    },
    "cancel-job" : {
      "type" : "boolean"
    }
  }
} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1570291914"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:async:TriggerResponse",
  "properties" : {
    "request-id" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/savepoints/:triggerid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the status of a savepoint operation. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `triggerid` - 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.

 |
| &lt;button data-toggle="collapse" data-target="#-1196792611"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1265091549"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:async:AsynchronousOperationResult",
  "properties" : {
    "status" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:queue:QueueStatus",
      "properties" : {
        "id" : {
          "type" : "string",
          "required" : true,
          "enum" : [ "IN_PROGRESS", "COMPLETED" ]
        }
      }
    },
    "operation" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns details for a task, with a summary for each of its subtasks. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#-361288698"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1698651823"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexDetailsInfo",
  "properties" : {
    "id" : {
      "type" : "any"
    },
    "name" : {
      "type" : "string"
    },
    "parallelism" : {
      "type" : "integer"
    },
    "now" : {
      "type" : "integer"
    },
    "subtasks" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexDetailsInfo:VertexTaskDetail",
        "properties" : {
          "subtask" : {
            "type" : "integer"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "SCHEDULED", "DEPLOYING", "RUNNING", "FINISHED", "CANCELING", "CANCELED", "FAILED", "RECONCILING" ]
          },
          "attempt" : {
            "type" : "integer"
          },
          "host" : {
            "type" : "string"
          },
          "start_time" : {
            "type" : "integer"
          },
          "end-time" : {
            "type" : "integer"
          },
          "duration" : {
            "type" : "integer"
          },
          "metrics" : {
            "type" : "object",
            "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:metrics:IOMetricsInfo",
            "properties" : {
              "read-bytes" : {
                "type" : "integer"
              },
              "read-bytes-complete" : {
                "type" : "boolean"
              },
              "write-bytes" : {
                "type" : "integer"
              },
              "write-bytes-complete" : {
                "type" : "boolean"
              },
              "read-records" : {
                "type" : "integer"
              },
              "read-records-complete" : {
                "type" : "boolean"
              },
              "write-records" : {
                "type" : "integer"
              },
              "write-records-complete" : {
                "type" : "boolean"
              }
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/accumulators**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns user-defined accumulators of a task, aggregated across all subtasks. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#485581006"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1070353054"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexAccumulatorsInfo",
  "properties" : {
    "id" : {
      "type" : "string"
    },
    "user-accumulators" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:UserAccumulator",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/backpressure**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns back-pressure information for a job, and may initiate back-pressure sampling if necessary. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#-1104577459"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#870803712"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexBackPressureInfo",
  "properties" : {
    "status" : {
      "type" : "string",
      "enum" : [ "deprecated", "ok" ]
    },
    "backpressure-level" : {
      "type" : "string",
      "enum" : [ "ok", "low", "high" ]
    },
    "end-timestamp" : {
      "type" : "integer"
    },
    "subtasks" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexBackPressureInfo:SubtaskBackPressureInfo",
        "properties" : {
          "subtask" : {
            "type" : "integer"
          },
          "backpressure-level" : {
            "type" : "string",
            "enum" : [ "ok", "low", "high" ]
          },
          "ratio" : {
            "type" : "number"
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to task metrics. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.

 |
| &lt;button data-toggle="collapse" data-target="#-1608736838"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1298008477"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasks/accumulators**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns all user-defined accumulators for all subtasks of a task. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#-886388859"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#112317594"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:SubtasksAllAccumulatorsInfo",
  "properties" : {
    "id" : {
      "type" : "any"
    },
    "parallelism" : {
      "type" : "integer"
    },
    "subtasks" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:SubtasksAllAccumulatorsInfo:SubtaskAccumulatorsInfo",
        "properties" : {
          "subtask" : {
            "type" : "integer"
          },
          "attempt" : {
            "type" : "integer"
          },
          "host" : {
            "type" : "string"
          },
          "user-accumulators" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:UserAccumulator",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "type" : {
                  "type" : "string"
                },
                "value" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasks/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to aggregated subtask metrics. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.
*   `agg` (optional): Comma-separated list of aggregation modes which should be calculated. Available aggregations are: "min, max, sum, avg".
*   `subtasks` (optional): Comma-separated list of integer ranges (e.g. "1,3,5-9") to select specific subtasks.

 |
| &lt;button data-toggle="collapse" data-target="#265134755"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1184344096"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns details of the current or latest execution attempt of a subtask. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.
*   `subtaskindex` - Positive integer value that identifies a subtask.

 |
| &lt;button data-toggle="collapse" data-target="#-2021515193"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#254718090"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:SubtaskExecutionAttemptDetailsInfo",
  "properties" : {
    "subtask" : {
      "type" : "integer"
    },
    "status" : {
      "type" : "string",
      "enum" : [ "CREATED", "SCHEDULED", "DEPLOYING", "RUNNING", "FINISHED", "CANCELING", "CANCELED", "FAILED", "RECONCILING" ]
    },
    "attempt" : {
      "type" : "integer"
    },
    "host" : {
      "type" : "string"
    },
    "start-time" : {
      "type" : "integer"
    },
    "end-time" : {
      "type" : "integer"
    },
    "duration" : {
      "type" : "integer"
    },
    "metrics" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:metrics:IOMetricsInfo",
      "properties" : {
        "read-bytes" : {
          "type" : "integer"
        },
        "read-bytes-complete" : {
          "type" : "boolean"
        },
        "write-bytes" : {
          "type" : "integer"
        },
        "write-bytes-complete" : {
          "type" : "boolean"
        },
        "read-records" : {
          "type" : "integer"
        },
        "read-records-complete" : {
          "type" : "boolean"
        },
        "write-records" : {
          "type" : "integer"
        },
        "write-records-complete" : {
          "type" : "boolean"
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex/attempts/:attempt**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns details of an execution attempt of a subtask. Multiple execution attempts happen in case of failure/recovery. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.
*   `subtaskindex` - Positive integer value that identifies a subtask.
*   `attempt` - Positive integer value that identifies an execution attempt.

 |
| &lt;button data-toggle="collapse" data-target="#168850740"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1849883273"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:SubtaskExecutionAttemptDetailsInfo",
  "properties" : {
    "subtask" : {
      "type" : "integer"
    },
    "status" : {
      "type" : "string",
      "enum" : [ "CREATED", "SCHEDULED", "DEPLOYING", "RUNNING", "FINISHED", "CANCELING", "CANCELED", "FAILED", "RECONCILING" ]
    },
    "attempt" : {
      "type" : "integer"
    },
    "host" : {
      "type" : "string"
    },
    "start-time" : {
      "type" : "integer"
    },
    "end-time" : {
      "type" : "integer"
    },
    "duration" : {
      "type" : "integer"
    },
    "metrics" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:metrics:IOMetricsInfo",
      "properties" : {
        "read-bytes" : {
          "type" : "integer"
        },
        "read-bytes-complete" : {
          "type" : "boolean"
        },
        "write-bytes" : {
          "type" : "integer"
        },
        "write-bytes-complete" : {
          "type" : "boolean"
        },
        "read-records" : {
          "type" : "integer"
        },
        "read-records-complete" : {
          "type" : "boolean"
        },
        "write-records" : {
          "type" : "integer"
        },
        "write-records-complete" : {
          "type" : "boolean"
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex/attempts/:attempt/accumulators**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the accumulators of an execution attempt of a subtask. Multiple execution attempts happen in case of failure/recovery. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.
*   `subtaskindex` - Positive integer value that identifies a subtask.
*   `attempt` - Positive integer value that identifies an execution attempt.

 |
| &lt;button data-toggle="collapse" data-target="#-1303317920"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1455274244"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:SubtaskExecutionAttemptAccumulatorsInfo",
  "properties" : {
    "subtask" : {
      "type" : "integer"
    },
    "attempt" : {
      "type" : "integer"
    },
    "id" : {
      "type" : "string"
    },
    "user-accumulators" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:UserAccumulator",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to subtask metrics. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.
*   `subtaskindex` - Positive integer value that identifies a subtask.

 |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.

 |
| &lt;button data-toggle="collapse" data-target="#1918092027"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-2066146908"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/subtasktimes**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns time-related information for all subtasks of a task. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#1307377346"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#285340640"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:SubtasksTimesInfo",
  "properties" : {
    "id" : {
      "type" : "string"
    },
    "name" : {
      "type" : "string"
    },
    "now" : {
      "type" : "integer"
    },
    "subtasks" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:SubtasksTimesInfo:SubtaskTimeInfo",
        "properties" : {
          "subtask" : {
            "type" : "integer"
          },
          "host" : {
            "type" : "string"
          },
          "duration" : {
            "type" : "integer"
          },
          "timestamps" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer"
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/jobs/:jobid/vertices/:vertexid/taskmanagers**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns task information aggregated by task manager. |
| Path parameters |
| 

*   `jobid` - 32-character hexadecimal string value that identifies a job.
*   `vertexid` - 32-character hexadecimal string value that identifies a job vertex.

 |
| &lt;button data-toggle="collapse" data-target="#-525795572"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1406727934"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexTaskManagersInfo",
  "properties" : {
    "id" : {
      "type" : "any"
    },
    "name" : {
      "type" : "string"
    },
    "now" : {
      "type" : "integer"
    },
    "taskmanagers" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:JobVertexTaskManagersInfo:TaskManagersInfo",
        "properties" : {
          "host" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "SCHEDULED", "DEPLOYING", "RUNNING", "FINISHED", "CANCELING", "CANCELED", "FAILED", "RECONCILING" ]
          },
          "start-time" : {
            "type" : "integer"
          },
          "end-time" : {
            "type" : "integer"
          },
          "duration" : {
            "type" : "integer"
          },
          "metrics" : {
            "type" : "object",
            "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:metrics:IOMetricsInfo",
            "properties" : {
              "read-bytes" : {
                "type" : "integer"
              },
              "read-bytes-complete" : {
                "type" : "boolean"
              },
              "write-bytes" : {
                "type" : "integer"
              },
              "write-bytes-complete" : {
                "type" : "boolean"
              },
              "read-records" : {
                "type" : "integer"
              },
              "read-records-complete" : {
                "type" : "boolean"
              },
              "write-records" : {
                "type" : "integer"
              },
              "write-records-complete" : {
                "type" : "boolean"
              }
            }
          },
          "status-counts" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer"
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/overview**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns an overview over the Flink cluster. |
| &lt;button data-toggle="collapse" data-target="#907264452"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1156936926"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:legacy:messages:ClusterOverviewWithVersion",
  "properties" : {
    "taskmanagers" : {
      "type" : "integer"
    },
    "slots-total" : {
      "type" : "integer"
    },
    "slots-available" : {
      "type" : "integer"
    },
    "jobs-running" : {
      "type" : "integer"
    },
    "jobs-finished" : {
      "type" : "integer"
    },
    "jobs-cancelled" : {
      "type" : "integer"
    },
    "jobs-failed" : {
      "type" : "integer"
    },
    "flink-version" : {
      "type" : "string"
    },
    "flink-commit" : {
      "type" : "string"
    }
  }
} 

```

 |

| 

##### **/savepoint-disposal**

 |
| Verb: `POST` | Response code: `200 OK` |
| Triggers the desposal of a savepoint. |
| &lt;button data-toggle="collapse" data-target="#969125696"&gt;Request&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:job:savepoints:SavepointDisposalRequest",
  "properties" : {
    "savepoint-path" : {
      "type" : "string"
    }
  }
} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-171672547"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:async:TriggerResponse",
  "properties" : {
    "request-id" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/savepoint-disposal/:triggerid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns the status of a savepoint disposal operation. |
| Path parameters |
| 

*   `triggerid` - 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.

 |
| &lt;button data-toggle="collapse" data-target="#704931754"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-1128151382"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:handler:async:AsynchronousOperationResult",
  "properties" : {
    "status" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:queue:QueueStatus",
      "properties" : {
        "id" : {
          "type" : "string",
          "required" : true,
          "enum" : [ "IN_PROGRESS", "COMPLETED" ]
        }
      }
    },
    "operation" : {
      "type" : "any"
    }
  }
} 

```

 |

| 

##### **/taskmanagers**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns an overview over all task managers. |
| &lt;button data-toggle="collapse" data-target="#1276144566"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#-112101263"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:taskmanager:TaskManagersInfo",
  "properties" : {
    "taskmanagers" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:taskmanager:TaskManagerInfo",
        "properties" : {
          "id" : {
            "type" : "any"
          },
          "path" : {
            "type" : "string"
          },
          "dataPort" : {
            "type" : "integer"
          },
          "timeSinceLastHeartbeat" : {
            "type" : "integer"
          },
          "slotsNumber" : {
            "type" : "integer"
          },
          "freeSlots" : {
            "type" : "integer"
          },
          "hardware" : {
            "type" : "object",
            "id" : "urn:jsonschema:org:apache:flink:runtime:instance:HardwareDescription",
            "properties" : {
              "cpuCores" : {
                "type" : "integer"
              },
              "physicalMemory" : {
                "type" : "integer"
              },
              "freeMemory" : {
                "type" : "integer"
              },
              "managedMemory" : {
                "type" : "integer"
              }
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/taskmanagers/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to aggregated task manager metrics. |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.
*   `agg` (optional): Comma-separated list of aggregation modes which should be calculated. Available aggregations are: "min, max, sum, avg".
*   `taskmanagers` (optional): Comma-separated list of 32-character hexadecimal strings to select specific task managers.

 |
| &lt;button data-toggle="collapse" data-target="#521351018"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1440560359"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

| 

##### **/taskmanagers/:taskmanagerid**

 |
| Verb: `GET` | Response code: `200 OK` |
| Returns details for a task manager. |
| Path parameters |
| 

*   `taskmanagerid` - 32-character hexadecimal string that identifies a task manager.

 |
| &lt;button data-toggle="collapse" data-target="#1279146202"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#761739204"&gt;Response&lt;/button&gt;

```
            {
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:taskmanager:TaskManagerDetailsInfo",
  "properties" : {
    "id" : {
      "type" : "any"
    },
    "path" : {
      "type" : "string"
    },
    "dataPort" : {
      "type" : "integer"
    },
    "timeSinceLastHeartbeat" : {
      "type" : "integer"
    },
    "slotsNumber" : {
      "type" : "integer"
    },
    "freeSlots" : {
      "type" : "integer"
    },
    "hardware" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:instance:HardwareDescription",
      "properties" : {
        "cpuCores" : {
          "type" : "integer"
        },
        "physicalMemory" : {
          "type" : "integer"
        },
        "freeMemory" : {
          "type" : "integer"
        },
        "managedMemory" : {
          "type" : "integer"
        }
      }
    },
    "metrics" : {
      "type" : "object",
      "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:taskmanager:TaskManagerMetricsInfo",
      "properties" : {
        "heapUsed" : {
          "type" : "integer"
        },
        "heapCommitted" : {
          "type" : "integer"
        },
        "heapMax" : {
          "type" : "integer"
        },
        "nonHeapUsed" : {
          "type" : "integer"
        },
        "nonHeapCommitted" : {
          "type" : "integer"
        },
        "nonHeapMax" : {
          "type" : "integer"
        },
        "directCount" : {
          "type" : "integer"
        },
        "directUsed" : {
          "type" : "integer"
        },
        "directMax" : {
          "type" : "integer"
        },
        "mappedCount" : {
          "type" : "integer"
        },
        "mappedUsed" : {
          "type" : "integer"
        },
        "mappedMax" : {
          "type" : "integer"
        },
        "memorySegmentsAvailable" : {
          "type" : "integer"
        },
        "memorySegmentsTotal" : {
          "type" : "integer"
        },
        "garbageCollectors" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:taskmanager:TaskManagerMetricsInfo:GarbageCollectorInfo",
            "properties" : {
              "name" : {
                "type" : "string"
              },
              "count" : {
                "type" : "integer"
              },
              "time" : {
                "type" : "integer"
              }
            }
          }
        }
      }
    }
  }
} 

```

 |

| 

##### **/taskmanagers/:taskmanagerid/metrics**

 |
| Verb: `GET` | Response code: `200 OK` |
| Provides access to task manager metrics. |
| Path parameters |
| 

*   `taskmanagerid` - 32-character hexadecimal string that identifies a task manager.

 |
| Query parameters |
| 

*   `get` (optional): Comma-separated list of string values to select specific metrics.

 |
| &lt;button data-toggle="collapse" data-target="#1220778126"&gt;Request&lt;/button&gt;

```
            {} 

```

 |
| &lt;button data-toggle="collapse" data-target="#1531506487"&gt;Response&lt;/button&gt;

```
            {
  "type" : "any"
} 

```

 |

