Skip to main content

Bottle Rocket API (v0.1.15.alpha)

Download OpenAPI specification:Download

Manage captures / scans

Process captured image(s)

Process uploaded images via this endpoint. Use the url-encoded multipart form schema to POST the image data.

The app will automatically provide matched template information as part of automated workflow triggering, but if you wish to simply upload a captured image to the system and trigger a manual workflow, the qr_code and qr_bounding_box parameters can be omitted.

Request Body schema: application/x-www-form-urlencoded
required
Array of objects
qr_code
string
qr_bounding_box
string

Responses

Response samples

Content type
No sample

Fetch the users scans

Retrieves a subset of scans belonging to the authenticated user.

Provide a zero-based start index and record count to retrieve paged results and minimise server load.

A base64 thumbnail image string is also provided instead of the full image data in a multi-record payload.

Request Body schema:
required
start_index
integer <int32>
record_count
integer <int32>

Responses

Request samples

Content type
{
  • "start_index": 0,
  • "record_count": 0
}

Response samples

Content type
No sample

Fetch the user scan details

Retrieves the full details of a users scan by its unique ID.

The full image data is provided as well as other capture and processing details.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Archive a scan

Manually archives a scan by its unique ID.

To preserve drive space, the original image file is permanently deleted and will no longer be available for workflow processing. A stubbed record will remain with a small thumbnail image for reference.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Status

Connection health check (authenticated)

This endpoint will provide a status of the authenticated connection.

Unauthorised or inactive accounts will return an error response.

Responses

Response samples

Content type
No sample

Health check

Returns the current health of the server. Returns 'Status OK' via a HTTP 200 response, if healthy.

Responses

Response samples

Content type
No sample

Get the startup phase

Gets the current startup phase of the system.

After a new server installation, it can be one of three phases:

0 = NoUserAccounts - unlikely, but possible if an operation to insert the admin account was aborted.

1 = AdminPendingDeactivation - the first operating state of the server. A new admin account must be added to replace the temporary admin account.

2 = AdminDeactivated - the phase after setup completion - a non-admin user account is managing the server and the admin account have been deactivated.

Responses

Response samples

Content type
No sample

Version

Returns the current version server API.

Responses

Response samples

Content type
No sample

Manage connectors

Fetch the user connectors

Retrieves a subset of connectors belonging to the authenticated user.

Provide a zero-based start index and record count to retrieve paged results and minimise server load.

If required, a connector code can be supplied as an additional filter.

Request Body schema:
required
start_index
integer or null <int32>
record_count
integer or null <int32>
code
string or null

Responses

Request samples

Content type
{
  • "start_index": 0,
  • "record_count": 0,
  • "code": "string"
}

Response samples

Content type
No sample

Delete a connector

Deletes a user's connector by its unique ID.

Note: deleting a connector will remove all references to it from all associated workflows.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Add a new connector

Creates a new connector for the given user. Will return an error if the same named connector already exists for the given user.

Request Body schema:
required
object or null (ConnectorSummary2)
id
string or null
user_id
string or null
connector_type
string or null
connector_name
string or null
created_at
string or null <date-time>
last_updated_at
string or null <date-time>
status
integer <int32>

Responses

Request samples

Content type
{
  • "connector": {
    }
}

Response samples

Content type
No sample

Finalize a Dropbox connector

Finalizes a Dropbox connector for the given user.

When this endpoint is called, it is assumed that the user has already supplied the app key and secret.

The Dropbox client will use these parameters to return a redirect URL, which, when opened in a browser, allows a user to grant permission to the app, and receive an access token, which will be supplied here.

Request Body schema:
required
id
string or null
access_code
string or null

Responses

Request samples

Content type
{
  • "id": "string",
  • "access_code": "string"
}

Response samples

Content type
No sample

Initiate a Google authentication request

Initiates a Google authentication request for the given user and client ID.

The API will return an authorization URL that can be supplied back to the user to complete the authentication process.

Request Body schema:
required
credentials_file_base64
string or null

Responses

Request samples

Content type
{
  • "credentials_file_base64": "string"
}

Response samples

Content type
No sample

Finalize a Google connector

Finalizes a Google connector for the given user.

When this endpoint is called, it is assumed that the user has already navigated to the Google authorization URL, authenticated, approved permissions, and copied the access code into the form / API request. The access code will be sent back to Google

Request Body schema:
required
id
string or null
access_code
string or null

Responses

Request samples

Content type
{
  • "id": "string",
  • "access_code": "string"
}

Response samples

Content type
No sample

Initiate a Microsoft authentication request

Initiates a Microsoft authentication request for the given user, client, and tenant ID.

The API will return a verification URL and user code that can be supplied back to the user to complete the authentication process.

Request Body schema:
required
client_id
string or null
tenant_id
string or null

Responses

Request samples

Content type
{
  • "client_id": "string",
  • "tenant_id": "string"
}

Response samples

Content type
No sample

Get all parent notes accessible via a Notion connector

Retrieves a set of (permitted) parent notes for the given Notion connector.

The notes that a Notion integration has access to are explicitly defined in the Notion integration.

Request Body schema:
required
connector_id
string or null

Responses

Request samples

Content type
{
  • "connector_id": "string"
}

Response samples

Content type
No sample

Get all data sources accessible via a Notion connector

Retrieves a set of (permitted) data sources for the given Notion connector.

The data sources that a Notion integration has access to are explicitly defined in the Notion integration.

Request Body schema:
required
connector_id
string or null

Responses

Request samples

Content type
{
  • "connector_id": "string"
}

Response samples

Content type
No sample

Manage executions

Fetch the user workflow executions

Retrieves a subset of executions belonging to the authenticated user.

Provide a zero-based start index and record count to retrieve paged results and minimise server load.

Optionally, a workflow ID and scan ID can be supplied as additional filters.

Request Body schema:
required
start_index
integer or null <int32>
record_count
integer or null <int32>
workflow_id
string or null
scan_id
string or null

Responses

Request samples

Content type
{
  • "start_index": 0,
  • "record_count": 0,
  • "workflow_id": "string",
  • "scan_id": "string"
}

Response samples

Content type
No sample

Delete an execution

Deletes a user's workflow execution by its unique ID.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Add a new execution

Creates a new workflow execution for the given user, workflow ID, and captured scan ID.

Throws an error if the any of the related objects (user, scan, workflow) cannot be found for the given user.

If the run immediately flag is set to true, the execution will be scheduled to run immediately.

Request Body schema:
required
workflow_id
string or null
scan_id
string or null
run_immediately
boolean or null

Responses

Request samples

Content type
{
  • "workflow_id": "string",
  • "scan_id": "string",
  • "run_immediately": true
}

Response samples

Content type
No sample

Cancel a (running) execution by ID

Attempts to cancel a running workflow execution by its unique identifier.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Start an inactive execution by ID

Attempts to start an inactive workflow execution by its unique identifier.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Get execution by ID

Returns a execution by its unique identifier.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Manage server

Get global settings

Returns the current global system settings.

Responses

Response samples

Content type
No sample

Update global settings

Updates the global system settings. Services that are driven by global system configuration will be restarted e.g. sweeping jobs.

Request Body schema:
required
sweep_successful_scans_after_days
integer or null <int32>
enable_sweeping
boolean or null
error_code
integer <int32>
error_message
string or null

Responses

Request samples

Content type
{
  • "sweep_successful_scans_after_days": 0,
  • "enable_sweeping": true,
  • "error_code": 0,
  • "error_message": "string"
}

Response samples

Content type
No sample

Manage page templates

Fetch the page templates

Retrieves all page template currently configured in the system.

Typically this would not be called regularly as it is used by client apps to know which QR codes to look out for.

If you have added custom page templates to your system, they will be returned here.

Responses

Response samples

Content type
No sample

Manage users

Fetch the system users

Retrieves a subset of users belonging to the system.

Provide a zero-based start index and record count to retrieve paged results and minimise server load.

Request Body schema:
required
start_index
integer <int32>
record_count
integer <int32>

Responses

Request samples

Content type
{
  • "start_index": 0,
  • "record_count": 0
}

Response samples

Content type
No sample

Get user by ID

Returns a user by their unique identifier.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Add a new user

Creates a new system user. If this is the first user created by the admin account, then on success, the administrator account will be made inactive.

Request Body schema:
required
user_name
string or null
password
string or null
is_the_new_admin
boolean

Responses

Request samples

Content type
{
  • "user_name": "string",
  • "password": "string",
  • "is_the_new_admin": true
}

Response samples

Content type
No sample

Update an existing user

Updates one or more details of an existing system user. A value not supplied will not be updated.

If the update sets the IsAdmin flag to true, then the user calling the API will have their administrator status removed.

If a new password has been supplied (and only if so), the response will contain a QR code that the mobile app can scan to provide their credentials.

Request Body schema:
required
id
string or null
user_name
string or null
created_at
string or null <date-time>
last_login_at
string or null <date-time>
is_active
boolean or null
is_admin
boolean or null
new_password
string or null
dark_mode
boolean
error_code
integer <int32>
error_message
string or null

Responses

Request samples

Content type
{
  • "id": "string",
  • "user_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "is_active": true,
  • "is_admin": true,
  • "new_password": "string",
  • "dark_mode": true,
  • "error_code": 0,
  • "error_message": "string"
}

Response samples

Content type
No sample

Set dark mode preference for a user

Sets the dark mode preference for a given user.

Request Body schema:
required
dark_mode
boolean

Responses

Request samples

Content type
{
  • "dark_mode": true
}

Response samples

Content type
No sample

Manage workflows

Fetch the user workflows

Retrieves a subset of workflows belonging to the authenticated user.

Provide a zero-based start index and record count to retrieve paged results and minimise server load.

Request Body schema:
required
start_index
integer or null <int32>
record_count
integer or null <int32>

Responses

Request samples

Content type
{
  • "start_index": 0,
  • "record_count": 0
}

Response samples

Content type
No sample

Delete a workflow

Deletes a user's workflow by its unique ID.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Add a new workflow

Creates a new workflow for the given user. Will return an error if the same named workflow already exists for the given user.

Request Body schema:
required
matching_page_symbol
integer or null <int32>
name
string or null

Responses

Request samples

Content type
{
  • "matching_page_symbol": 0,
  • "name": "string"
}

Response samples

Content type
No sample

Update an existing workflow

Updates one or more details of an existing workflow. A value not supplied will not be updated. Where a matching page symbol is supplied, it will be checked against any existing workflow, and return an error if already in use.

Request Body schema:
required
id
string or null
user_id
string or null
matching_page_symbol
integer or null <int32>
created_at
string or null <date-time>
last_updated_at
string or null <date-time>
name
string or null
is_active
boolean or null
error_code
integer <int32>
error_message
string or null

Responses

Request samples

Content type
{
  • "id": "string",
  • "user_id": "string",
  • "matching_page_symbol": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "is_active": true,
  • "error_code": 0,
  • "error_message": "string"
}

Response samples

Content type
No sample

Get workflow by ID

Returns a workflow by its unique identifier.

path Parameters
id
required
string

Responses

Response samples

Content type
No sample

Delete a workflow step

Deletes a user's workflow step by its unique ID.

Note: this will also delete all of the child steps of the deleted step, if any exist.

Request Body schema:
required
workflow_step_id
string or null
workflow_id
string or null

Responses

Request samples

Content type
{
  • "workflow_step_id": "string",
  • "workflow_id": "string"
}

Response samples

Content type
No sample

Get a specific workflow step

Retrieves the specific workflow step details for the given workflow and step ID.

path Parameters
workflowId
required
string
workflowStepId
required
string

Responses

Response samples

Content type
No sample

Add a new workflow step

Creates a new workflow step for the given workflow. If a parent step ID is provided, the new step will be inserted as a child of the specified parent step; otherwise it will be inserted as a root-level child step.

The step parameter uses a type discriminator in order to correctly map the step-specific details to the correct data store object dictionary; see the related documentation for details.

Request Body schema:
required
workflow_id
string or null
parent_step_id
string or null
connection_id
string or null
object or null (WorkflowStepSummary)

Responses

Request samples

Content type
{
  • "workflow_id": "string",
  • "parent_step_id": "string",
  • "connection_id": "string",
  • "step": {
    }
}

Response samples

Content type
No sample

Update a workflow step

Updates an existing workflow step for the given workflow.

The step parameter uses a type discriminator in order to correctly map the step-specific details to the correct data store object dictionary; see the related documentation for details.

Request Body schema:
required
workflow_id
string or null
workflow_step_id
string or null
connector_id
string or null
object or null (WorkflowStepSummary)

Responses

Request samples

Content type
{
  • "workflow_id": "string",
  • "workflow_step_id": "string",
  • "connector_id": "string",
  • "step": {
    }
}

Response samples

Content type
No sample

Get all Google Drive folders accessible via a Google connector

Retrieves a set of (permitted) folders for the given Google connector.

Request Body schema:
required
connector_id
string or null
error_code
integer <int32>
error_message
string or null

Responses

Request samples

Content type
{
  • "connector_id": "string",
  • "error_code": 0,
  • "error_message": "string"
}

Response samples

Content type
No sample

Get all OneNote sections accessible via a Microsoft connector

Retrieves a set of (permitted) note sections for the given Microsoft connector.

Request Body schema:
required
connector_id
string or null

Responses

Request samples

Content type
{
  • "connector_id": "string"
}

Response samples

Content type
No sample