**Description**

I have noticed that the stable REST API doesn't have the ability to run a task (which is possible from the airflow web interface.
I think it would be nice to have either:
- Run task 
- Run all failing tasks (rerun from point of failure)
this ability for integrations.

**Use case / motivation**

I would like the ability to identify the failing tasks on a specific DAG Run and rerun only them.
I would like to do it remotely (non-interactive) using the REST API.
I could write a script that run only the failing tasks, but I couldn't find a way to "Run" a task, when I have the task instance ID.

**Are you willing to submit a PR?**

Not at this stage

**Related Issues**



airflow/models/dag.py
"""
    Returns the last dag run for a dag, None if there was none.
    Last dag run can be any type of run eg. scheduled or backfilled.
    Overridden DagRuns are ignored.
    """
    DR = DagRun
    query = session.query(DR).filter(DR.dag_id == dag_id)
    if not include_externally_triggered:
        query = query.filter(DR.external_trigger == False)  
    query = query.order_by(DR.execution_date.desc())
    return query.first()
@functools.total_ordering
class DAG(LoggingMixin):
    """
    A dag (directed acyclic graph) is a collection of tasks with directional
    dependencies. A dag also has a schedule, a start date and an end date
    (optional). For each schedule, (say daily or hourly), the DAG needs to run
    each individual tasks as their dependencies are met. Certain tasks have
    the property of depending on their own past, meaning that they can't run
    until their previous schedule (and upstream tasks) are completed.
    DAGs essentially act as namespaces for tasks. A task_id can only be
    added once to a DAG.
    :param dag_id: The id of the DAG; must consist exclusively of alphanumeric
        characters, dashes, dots and underscores (all ASCII)
    :type dag_id: str
    :param description: The description for the DAG to e.g. be shown on the webserver
    :type description: str
    :param schedule_interval: Defines how often that DAG runs, this
        timedelta object gets added to your latest task instance's
        execution_date to figure out the next schedule