Project Falcon has retired. For details please refer to its Attic page.
Falcon - RESTful Resources

RESTful Resources

Authentication

When security is off (Pseudo/Simple), the authenticated user is the username specified in the user.name query parameter. If the user.name parameter is not set, the server may either set the authenticated user to a default web user, if there is any, or return an error response.

When security is on (kerberos), authentication is performed by Kerberos SPNEGO.

Below are examples using the curl command tool.

Authentication when security is off (Pseudo/Simple):

curl -i "http://<HOST>:<PORT>/<PATH>?[user.name=<USER>&]<PARAM>=..."

Authentication using Kerberos SPNEGO when security is on:

curl -i --negotiate -u : "http://<HOST>:<PORT>/<PATH>?<PARAM>=..."

See also: Security in Falcon

The current version of the rest api's documentation is also hosted on the Falcon server and Prism Server (in distributed mode) at the url http://<HOST>:<PORT>/docs

REST Call on Admin Resource

Call Type Resource Description
GET api/admin/stack Get stack of the server
GET api/admin/version Get version of the server
GET api/admin/config/:config-type Get configuration information of the server
GET api/admin/setSafeMode/:mode Set safemode to true/false in falcon server

REST Call on Entity Resource

Call Type Resource Description
POST api/entities/validate/:entity-type Validate the entity
POST api/entities/submit/:entity-type Submit the entity
POST api/entities/update/:entity-type/:entity-name Update the entity
POST api/entities/submitAndSchedule/:entity-type Submit & Schedule the entity
POST api/entities/schedule/:entity-type/:entity-name Schedule the entity
POST api/entities/suspend/:entity-type/:entity-name Suspend the entity
POST api/entities/resume/:entity-type/:entity-name Resume the entity
DELETE api/entities/delete/:entity-type/:entity-name Delete the entity
GET api/entities/status/:entity-type/:entity-name Get the status of the entity
GET api/entities/definition/:entity-type/:entity-name Get the definition of the entity
GET api/entities/list/{:entity-type} Get the list of entities
GET api/entities/summary/:entity-type/:cluster Get instance summary of all entities
GET api/entities/dependencies/:entity-type/:entity-name Get the dependencies of the entity
GET api/entities/sla-alert/:entity-type Get pending feed instances which missed sla
GET api/entities/lookup/feed/ Get feed for given path

REST Call on Feed and Process Instances

Call Type Resource Description
GET api/instance/running/:entity-type/:entity-name List of running instances.
GET api/instance/params/:entity-type/:entity-name List of entity instances along with their workflow params.
GET api/instance/list/:entity-type/:entity-name List of instances
GET api/instance/status/:entity-type/:entity-name Status of a given instance
POST api/instance/kill/:entity-type/:entity-name Kill a given instance
POST api/instance/suspend/:entity-type/:entity-name Suspend a running instance
POST api/instance/resume/:entity-type/:entity-name Resume a given instance
POST api/instance/rerun/:entity-type/:entity-name Rerun a given instance
GET api/instance/logs/:entity-type/:entity-name Get logs of a given instance
GET api/instance/triage/:entity-type/:entity-name Triage an instance to see it's stuck lineage
GET api/instance/summary/:entity-type/:entity-name Return summary of instances for an entity
GET api/instance/dependencies/:entity-type/:entity-name Return dependent instances for a given instance

REST Call on Metadata Lineage Resource

Call Type Resource Description
GET api/metadata/lineage/serialize dump the graph
GET api/metadata/lineage/vertices/all get all vertices
GET api/metadata/lineage/vertices?key=:key&value=:value get all vertices for a key index
GET api/metadata/lineage/vertices/:id get the vertex with the specified id
GET api/metadata/lineage/vertices/properties/:id?relationships=:true get the properties of the vertex with the specified id
GET api/metadata/lineage/vertices/:id/:direction get the adjacent vertices or edges of the vertex with the specified direction
GET api/metadata/lineage/edges/all get all edges
GET api/metadata/lineage/edges/:id get the edge with the specified id
GET api/metadata/lineage/entities?pipeline=:name Get lineage graph for processes and feeds in the specified pipeline

REST Call on Metadata Discovery Resource

Call Type Resource Description
GET api/metadata/discovery/:dimension-type/list list of dimensions
GET api/metadata/discovery/:dimension-type/:dimension-name/relations Return all relations of a dimension

REST Call on Extension Artifact

Call Type Resource Description
GET api/extension/enumerate List all the extensions supported
GET api/extension/describe/:extension­name Return the README of the specified extension
GET api/extension/definition/:extension­name Return a JSON document describing the extension invocation parameters

REST Call on Extension Job Management

Call Type Resource Description
GET api/extension/list/:extension­name List jobs generated from an extension
GET api/extension/instances/:job-name List instances of an extension job
POST api/extension/validate/:extension­name Validate an extension job
POST api/extension/submit/:extension­name Submit an extension job
POST api/extension/update/:extension­name Update an extension job
POST api/extension/submitAndSchedule/:extension­name Submit and schedule an extension job
POST api/extension/schedule/:job-name Schedule an extension job
POST api/extension/suspend/:job-name Suspend an extension job
POST api/extension/resume/:job-name Resume an extension job
POST api/extension/delete/:job-name Delete an extension job