Eventline is now open source and available on GitHub !

If you are still using the old Eventline platform, contact us to migrate to the new service, and head to the new documentation website for more information.

Routes v0

API status

API status routes do not require a current project.

HEAD /status

Works the same way as GET /status, but the response does not contain a body.

GET /status

Check that the Eventline API is available.

The response is an empty JSON object.

Organizations

Organization routes do not require a current project.

GET /org

Fetch the organization of the API key used to send the request. The response is an organization.

Accounts

Account routes do not require a current project.

GET /account

Fetch the account of the API key used to send the request. The response is an account.

GET /accounts

Fetch a paginated list of accounts in the organization of the API key used to send the request. The response is a page of accounts.

GET /accounts/id/:id

Fetch an account by identifier. The response is an account.

Projects

Project routes do not require a current project.

GET /projects

Fetch a paginated list of projects in the organization of the API key used to send the request.

The response is a page of projects.

POST /projects

Create a new project.

The request must be a JSON object containing the following field:

name (name)
The name of the project.

The response is the project which was created.

GET /projects/id/:id

Fetch a project by identifier.

The response is a project.

GET /projects/:name

Fetch a project by name.

The response is a project.

PUT /projects/id/:id

Update an existing project.

The request is a JSON object containing the following field:

name (name)
The name of the project.

The response is the project after the update.

DELETE /projects/id/:id

Delete a project by identifier.

The response is empty.

PUT /projects/id/:id/resources

Install a set of resources in a project. Eventline compares existing resources and new resources:

  • Resources which are in the request but not in the project are created.
  • Resources which are both in the project and the request are modified.
  • Resources which are present in the project but not in the request are deleted.

The request is a JSON object containing the following field:

specs (array)
The list of resource data to install.

The response is empty.

Resources

GET /resources

Fetch a paginated list of resources in the current project.

The response is a page of resources.

GET /resources/id/:id

Fetch a resource by identifier.

The response is a resource.

GET /resources/type/:type/name/:name

Fetch a resource by type and name.

The response is a resource.

Commands

POST /commands/id/:id/execute

Execute a command.

The request is a JSON object containing the following field:

parameters (object)
The set of parameters passed to the command, with keys being the name of the parameters and values being the associated value.

The response is a command execution.

Command executions

GET /command_executions

Fetch a paginated list of command executions.

The response is a page of command executions.

The following query parameters are supported:

command (identifier)
Filter results using the identifier of a command resource.

GET /command_executions/id/:id

Fetch a command execution by identifier.

The response is a command execution.

Pipelines

GET /pipelines

Fetch a paginated list of pipelines in the current project.

The response is a page of pipelines.

GET /pipelines/id/:id

Fetch a pipeline by identifier.

The response is a pipeline.

POST /pipelines/id/:id/abort

Abort a pipeline. The operation will fail if the pipeline status is successful or failed.

The response is empty.

POST /pipelines/id/:id/restart

Restart a pipeline. The operation will fail if the pipeline status is created or started. All tasks in the pipeline are reinitialized with status created.

The response is empty.

POST /pipelines/id/:id/restart_from_failure

Restart a pipeline. The operation will fail if the pipeline status is created, started or successful. All aborted and failed tasks in the pipeline, and all their dependencies, are reinitialized with status created.

The response is empty.

GET /pipelines/id/:id/scratchpad

Fetch the entire scratchpad of a pipeline.

The response is a JSON object whose keys are the name of the entries and whose values are the values of these entries.

DELETE /pipelines/id/:id/scratchpad

Delete all entries in the scratchpad of a pipeline.

The response is empty.

GET /pipelines/id/:id/scratchpad/key/:key

Return a single entry in the scratchpad of a pipeline.

The response is the raw value of the entry identified by the key. Note that the body of the response is text, not JSON. The content type of the response is text/plain.

PUT /pipelines/id/:id/scratchpad/key/:key

Update the value of an entry in the scratchpad of a pipeline.

The request is the raw value of the value to store into the entry identified by the key. Note that the body of the request must be text, not JSON.

The response is empty.

DELETE /pipelines/id/:id/scratchpad/key/:key

Delete a single entry in the scratchpad of a pipeline.

The response is empty.

Tasks

GET /tasks

Fetch a paginated list of tasks in the current project.

The response is a page of pipelines.

GET /tasks/id/:id

Fetch a task by identifier.

The response is a task.

Events

POST /events

Create a new custom event.

This route does not require a current project.

The request is a JSON object containing the following field:

event_time (date)
The date the event occurred (optional). The current date will be used if the field is not set.
connector (string)
The name of the connector. Only custom is supported at the moment.
name (string)
The name of the event. Can be freely chosen for custom events. See the custom connector for more information.
data (object)
The data associated with the event.

The response is an array of the events which were created. Eventline creates one event based on request data for each activated trigger.

GET /events

Fetch a paginated list of events in the current project.

The response is a page of events.

GET /events/id/:id

Fetch an event by identifier.

The response is an event.

POST /events/id/:id/replay

Replay an event, effectively creating a new event with the same connector, event type and data, then returning it.

The response is an event.