blob: 5a4c253f7a28a539e3a8b9ed7cbaf800961efa96 [file] [log] [blame]
---+ RESTful Resources
---++ Resource List
* <a href="#REST_Call_on_Entity_Resource">REST Call on Entity Resource</a>
* <a href="#REST_Call_on_Feed_and_Process_Instances">REST Call on Feed/Process Instances</a>
* <a href="#REST_Call_on_Admin_Resource">REST Call on Admin Resource</a>
* <a href="#REST_Call_on_Lineage_Graph">REST Call on Lineage Graph Resource</a>
* <a href="#REST_Call_on_Metadata_Resource">REST Call on Metadata Resource</a>
* <a href="#REST_Call_on_Extension_Artifact">REST Call on Extension artifact</a>
* <a href="#REST_Call_on_Extension_Job Management">REST Call on Extension Job Management</a>
---++ 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):
<verbatim>
curl -i "http://<HOST>:<PORT>/<PATH>?[user.name=<USER>&]<PARAM>=..."
</verbatim>
Authentication using Kerberos SPNEGO when security is on:
<verbatim>
curl -i --negotiate -u : "http://<HOST>:<PORT>/<PATH>?<PARAM>=..."
</verbatim>
See also: [[../Security.twiki][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 | [[AdminStack][api/admin/stack]] | Get stack of the server |
| GET | [[AdminVersion][api/admin/version]] | Get version of the server |
| GET | [[AdminConfig][api/admin/config/:config-type]] | Get configuration information of the server |
| GET | [[AdminSafemode][api/admin/setSafeMode/:mode]] | Set safemode to true/false in falcon server |
---++ REST Call on Entity Resource
| *Call Type* | *Resource* | *Description* |
| POST | [[EntityValidate][api/entities/validate/:entity-type]] | Validate the entity |
| POST | [[EntitySubmit][api/entities/submit/:entity-type]] | Submit the entity |
| POST | [[EntityUpdate][api/entities/update/:entity-type/:entity-name]] | Update the entity |
| POST | [[EntitySubmitAndSchedule][api/entities/submitAndSchedule/:entity-type]] | Submit & Schedule the entity |
| POST | [[EntitySchedule][api/entities/schedule/:entity-type/:entity-name]] | Schedule the entity |
| POST | [[EntitySuspend][api/entities/suspend/:entity-type/:entity-name]] | Suspend the entity |
| POST | [[EntityResume][api/entities/resume/:entity-type/:entity-name]] | Resume the entity |
| DELETE | [[EntityDelete][api/entities/delete/:entity-type/:entity-name]] | Delete the entity |
| GET | [[EntityStatus][api/entities/status/:entity-type/:entity-name]] | Get the status of the entity |
| GET | [[EntityDefinition][api/entities/definition/:entity-type/:entity-name]] | Get the definition of the entity |
| GET | [[EntityList][api/entities/list/{:entity-type}]] | Get the list of entities |
| GET | [[EntitySummary][api/entities/summary/:entity-type/:cluster]] | Get instance summary of all entities |
| GET | [[EntityDependencies][api/entities/dependencies/:entity-type/:entity-name]] | Get the dependencies of the entity |
| GET | [[FeedSLA][api/entities/sla-alert/:entity-type]] | Get pending feed instances which missed sla |
| GET | [[FeedLookup][api/entities/lookup/feed/]] | Get feed for given path |
---++ REST Call on Feed and Process Instances
| *Call Type* | *Resource* | *Description* |
| GET | [[InstanceRunning][api/instance/running/:entity-type/:entity-name]] | List of running instances. |
| GET | [[InstanceParams][api/instance/params/:entity-type/:entity-name]] | List of entity instances along with their workflow params. |
| GET | [[InstanceList][api/instance/list/:entity-type/:entity-name]] | List of instances |
| GET | [[InstanceStatus][api/instance/status/:entity-type/:entity-name]] | Status of a given instance |
| POST | [[InstanceKill][api/instance/kill/:entity-type/:entity-name]] | Kill a given instance |
| POST | [[InstanceSuspend][api/instance/suspend/:entity-type/:entity-name]] | Suspend a running instance |
| POST | [[InstanceResume][api/instance/resume/:entity-type/:entity-name]] | Resume a given instance |
| POST | [[InstanceRerun][api/instance/rerun/:entity-type/:entity-name]] | Rerun a given instance |
| GET | [[InstanceLogs][api/instance/logs/:entity-type/:entity-name]] | Get logs of a given instance |
| GET | [[Triage][api/instance/triage/:entity-type/:entity-name]] | Triage an instance to see it's stuck lineage |
| GET | [[InstanceSummary][api/instance/summary/:entity-type/:entity-name]] | Return summary of instances for an entity |
| GET | [[InstanceDependency][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 | [[Graph][api/metadata/lineage/serialize]] | dump the graph |
| GET | [[AllVertices][api/metadata/lineage/vertices/all]] | get all vertices |
| GET | [[Vertices][api/metadata/lineage/vertices?key=:key&value=:value]] | get all vertices for a key index |
| GET | [[Vertex][api/metadata/lineage/vertices/:id]] | get the vertex with the specified id |
| GET | [[VertexProperties][api/metadata/lineage/vertices/properties/:id?relationships=:true]] | get the properties of the vertex with the specified id |
| GET | [[AdjacentVertices][api/metadata/lineage/vertices/:id/:direction]] | get the adjacent vertices or edges of the vertex with the specified direction |
| GET | [[AllEdges][api/metadata/lineage/edges/all]] | get all edges |
| GET | [[Edge][api/metadata/lineage/edges/:id]] | get the edge with the specified id |
| GET | [[EntityLineage][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 | [[MetadataList][api/metadata/discovery/:dimension-type/list]] | list of dimensions |
| GET | [[MetadataRelations][api/metadata/discovery/:dimension-type/:dimension-name/relations]] | Return all relations of a dimension |
---++ REST Call on Extension Artifact
| *Call Type* | *Resource* | *Description* |
| GET | [[ExtensionEnumeration][api/extension/enumerate]] | List all the extensions supported |
| GET | [[ExtensionDescription][api/extension/describe/:extension­name]] | Return the README of the specified extension |
| GET | [[ExtensionDefinition][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 | [[ExtensionList][api/extension/list/:extension­name]] | List jobs generated from an extension |
| GET | [[ExtensionInstances][api/extension/instances/:job-name]] | List instances of an extension job |
| POST | [[ExtensionValidate][api/extension/validate/:extension­name]] | Validate an extension job |
| POST | [[ExtensionSubmit][api/extension/submit/:extension­name]] | Submit an extension job |
| POST | [[ExtensionUpdate][api/extension/update/:extension­name]] | Update an extension job |
| POST | [[ExtensionSubmitAndSchedule][api/extension/submitAndSchedule/:extension­name]] | Submit and schedule an extension job |
| POST | [[ExtensionSchedule][api/extension/schedule/:job-name]] | Schedule an extension job |
| POST | [[ExtensionSuspend][api/extension/suspend/:job-name]] | Suspend an extension job |
| POST | [[ExtensionResume][api/extension/resume/:job-name]] | Resume an extension job |
| POST | [[ExtensionDelete][api/extension/delete/:job-name]] | Delete an extension job |