swagger/v2/swagger.yaml
---
openapi: 3.0.1
info:
title: Acoustic Workbench API
version: v2
produces:
- application/json
consumes:
- application/json
paths:
"/cms/{child_path}":
get:
summary: Retrieves the a child blob (rendered HTML)
tags:
- CMS
parameters:
- name: child_path
in: path
required: true
schema:
type: string
security:
responses:
'200':
description: blob retrieved
content:
application/json:
example:
id: 2
site_id: 1
layout_id: 1
parent_id: 1
target_page_id:
label: Credits
slug: credits
full_path: "/credits"
position: 0
children_count: 0
is_published: true
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
content: |-
<link href='/cms/cms-css/1/default/1577934245.css' media='screen' rel='stylesheet' type='text/css' />
<h1>Credits</h1>
<p>The development of this web application was an initiative of the
<a href="https://www.qut.edu.au/">Queensland University of Technology’s</a>
<a href="http://research.ecosounds.org/">Ecoacoustics Research Group</a>.
This website makes use of a range of other technologies and libraries.</p>
<p>More information can be found on the
<a href="https://github.com/QutEcoacoustics">QutEcoacoustics</a> Github project page.</p>
<h2 id="programs-and-libraries">Programs and libraries</h2>
<ul>
<li><a href="http://rubyonrails.org/">Ruby on Rails</a> (with a number of additional gems)</li>
<li><a href="https://github.com/resque/resque">Resque</a></li>
<li><a href="http://redis.io">Redis</a></li>
<li>Command line audio tools:</li>
<li><a href="http://www.ffmpeg.org/">ffmpeg</a> (for audio conversion and gathering audio file information)</li>
<li><a href="http://sox.sourceforge.net/">SoX</a> (to create spectrograms and resample audio)</li>
<li><a href="http://www.wavpack.com/">WavPack</a> (to expand compressed .wv files)</li>
<li><a href="http://mp3splt.sourceforge.net/mp3splt_page/home.php">mp3split</a> (for quickly segmenting large .mp3 files)</li>
<li><a href="https://angularjs.org/">AngularJS</a></li>
<li><a href="https://d3js.org/">D3.js</a></li>
</ul>
<h2 id="platforms-and-services">Platforms and services</h2>
<ul>
<li><a href="https://github.com">Github</a></li>
<li><a href="https://www.qriscloud.org.au/">QRISCloud</a></li>
<li><a href="https://https://nectar.org.au/">nectar</a></li>
</ul>
<script src='/cms/cms-js/1/default/1577934245.js' type='text/javascript'></script>
children: []
schema:
"$ref": "#/components/schemas/cms_blob"
"/cms":
get:
summary: Retrieves the index blob (rendered HTML)
tags:
- cms
security:
parameters: []
responses:
'200':
description: blob retrieved
content:
application/json:
example:
id: 11
site_id: 3
layout_id: 3
parent_id:
target_page_id:
label: Home
slug: index
full_path: "/"
position: 0
children_count: 4
is_published: true
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
content: |-
<link href='/cms/cms-css/3/default/1577934245.css' media='screen' rel='stylesheet' type='text/css' />
<h1></h1>
<p>Welcome! This is an Acoustic Workbench website. It is a repository of
environmental audio recordings.</p>
<script src='/cms/cms-js/3/default/1577934245.js' type='text/javascript'></script>
children:
- label: Credits
full_path: "/credits"
- label: Data Upload
full_path: "/data_upload"
- label: Ethics
full_path: "/ethics"
- label: Privacy
full_path: "/privacy"
schema:
"$ref": "#/components/schemas/cms_blob"
"/projects/{id}":
patch:
summary: update project
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
capabilities:
update_allow_audio_upload:
can: true
details:
create_harvest:
can: false
details: This project does not allow uploading audio. Contact
the site administrator to request permission to upload audio.
data:
id: 1
name: gen_project2
description: project description 2
creator_id: 3
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
notes: note number 2
allow_original_download:
allow_audio_upload: false
site_ids:
- 1
region_ids:
- 1
owner_ids:
- 3
image_urls:
- size: extralarge
url: "/images/project/project_span4.png"
width: 300
height: 300
- size: large
url: "/images/project/project_span3.png"
width: 220
height: 220
- size: medium
url: "/images/project/project_span2.png"
width: 140
height: 140
- size: small
url: "/images/project/project_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/project/project_spanhalf.png"
width: 30
height: 30
description_html: "<p>project description 2</p>\n"
description_html_tagline: project description 2
access_level: owner
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/project"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/project"
get:
summary: show project
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
capabilities:
update_allow_audio_upload:
can: true
details:
create_harvest:
can: true
details:
data:
id: 2
name: gen_project3
description: project description 3
creator_id: 8
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
notes: note number 3
allow_original_download:
allow_audio_upload: true
site_ids:
- 2
region_ids:
- 2
owner_ids:
- 8
image_urls:
- size: extralarge
url: "/images/project/project_span4.png"
width: 300
height: 300
- size: large
url: "/images/project/project_span3.png"
width: 220
height: 220
- size: medium
url: "/images/project/project_span2.png"
width: 140
height: 140
- size: small
url: "/images/project/project_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/project/project_spanhalf.png"
width: 30
height: 30
description_html: "<p>project description 3</p>\n"
description_html_tagline: project description 3
access_level: owner
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/project"
delete:
summary: delete project
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
put:
summary: update project
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
capabilities:
update_allow_audio_upload:
can: true
details:
create_harvest:
can: false
details: This project does not allow uploading audio. Contact
the site administrator to request permission to upload audio.
data:
id: 4
name: gen_project6
description: project description 6
creator_id: 16
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
notes: note number 6
allow_original_download:
allow_audio_upload: false
site_ids:
- 4
region_ids:
- 4
owner_ids:
- 16
image_urls:
- size: extralarge
url: "/images/project/project_span4.png"
width: 300
height: 300
- size: large
url: "/images/project/project_span3.png"
width: 220
height: 220
- size: medium
url: "/images/project/project_span2.png"
width: 140
height: 140
- size: small
url: "/images/project/project_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/project/project_spanhalf.png"
width: 30
height: 30
description_html: "<p>project description 6</p>\n"
description_html_tagline: project description 6
access_level: owner
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/project"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/project"
"/projects/filter":
post:
summary: filter project
security:
- auth_token_header: []
parameters: []
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
capabilities:
update_allow_audio_upload:
can:
details:
create_harvest:
can:
details: This project does not allow uploading audio. Contact
the site administrator to request permission to upload audio.
data:
- id: 5
name: gen_project7
description: project description 7
creator_id: 21
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
notes: note number 7
allow_original_download:
allow_audio_upload: true
site_ids:
- 5
region_ids:
- 5
owner_ids:
- 21
image_urls:
- size: extralarge
url: "/images/project/project_span4.png"
width: 300
height: 300
- size: large
url: "/images/project/project_span3.png"
width: 220
height: 220
- size: medium
url: "/images/project/project_span2.png"
width: 140
height: 140
- size: small
url: "/images/project/project_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/project/project_spanhalf.png"
width: 30
height: 30
description_html: "<p>project description 7</p>\n"
description_html_tagline: project description 7
access_level: owner
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/project"
"/projects":
get:
summary: list projects
security:
- auth_token_header: []
parameters: []
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects?direction=asc&items=25&order_by=name&page=1
previous:
next:
capabilities:
update_allow_audio_upload:
can:
details:
create_harvest:
can:
details: This project does not allow uploading audio. Contact
the site administrator to request permission to upload audio.
data:
- id: 6
name: gen_project8
description: project description 8
creator_id: 25
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
notes: note number 8
allow_original_download:
allow_audio_upload: true
site_ids:
- 6
region_ids:
- 6
owner_ids:
- 25
image_urls:
- size: extralarge
url: "/images/project/project_span4.png"
width: 300
height: 300
- size: large
url: "/images/project/project_span3.png"
width: 220
height: 220
- size: medium
url: "/images/project/project_span2.png"
width: 140
height: 140
- size: small
url: "/images/project/project_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/project/project_spanhalf.png"
width: 30
height: 30
description_html: "<p>project description 8</p>\n"
description_html_tagline: project description 8
access_level: owner
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/project"
post:
summary: create project
security:
- auth_token_header: []
parameters: []
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
capabilities:
update_allow_audio_upload:
can: true
details:
create_harvest:
can: false
details: This project does not allow uploading audio. Contact
the site administrator to request permission to upload audio.
data:
id: 8
name: gen_project10
description: project description 10
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
notes: note number 10
allow_original_download:
allow_audio_upload: false
site_ids: []
region_ids: []
owner_ids:
- 1
image_urls:
- size: extralarge
url: "/images/project/project_span4.png"
width: 300
height: 300
- size: large
url: "/images/project/project_span3.png"
width: 220
height: 220
- size: medium
url: "/images/project/project_span2.png"
width: 140
height: 140
- size: small
url: "/images/project/project_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/project/project_spanhalf.png"
width: 30
height: 30
description_html: "<p>project description 10</p>\n"
description_html_tagline: project description 10
access_level: owner
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/project"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/project"
"/projects/new":
get:
summary: new project
security:
- auth_token_header: []
parameters: []
tags:
- projects
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
name:
description:
allow_original_download:
notes:
"/projects/{project_id}/permissions":
get:
summary: list permissions
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 3
max_page: 1
current: http://localhost:3000/projects/10/permissions?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 26
project_id: 10
user_id: 38
level: owner
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
- id: 27
project_id: 10
user_id: 39
level: writer
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 38
- id: 28
project_id: 10
user_id: 40
level: reader
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 38
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/permission"
post:
summary: create permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 33
project_id: 11
user_id: 46
level: reader
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/permission"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/permission"
"/projects/{project_id}/permissions/new":
get:
summary: new permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
project_id:
user_id:
level:
allow_anonymous: false
allow_logged_in: false
"/projects/{project_id}/permissions/{id}":
get:
summary: show permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 39
project_id: 14
user_id: 55
level: reader
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 53
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/permission"
put:
summary: update permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 42
project_id: 16
user_id: 61
level: reader
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 57
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/permission"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/permission"
patch:
summary: update permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 46
project_id: 18
user_id: 68
level: reader
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 64
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/permission"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/permission"
delete:
summary: delete permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
"/projects/{project_id}/permissions/filter":
post:
summary: filter permission
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- permissions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 3
max_page: 1
current: http://localhost:3000/projects/20/permissions/filter?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 51
project_id: 20
user_id: 75
level: owner
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
- id: 52
project_id: 20
user_id: 76
level: writer
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 75
- id: 53
project_id: 20
user_id: 77
level: reader
allow_anonymous: false
allow_logged_in: false
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 75
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/permission"
"/scripts":
get:
summary: list scripts
security:
- auth_token_header: []
parameters: []
tags:
- scripts
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/scripts?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 17
group_id: 17
name: script name 17
description: script description 17
analysis_identifier: script machine identifier 17
executable_settings: executable settings 17
executable_settings_media_type: text/plain
version: 0.17
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
analysis_action_params:
file_executable: "./AnalysisPrograms/AnalysisPrograms.exe"
copy_paths:
- "./programs/AnalysisPrograms/Logs/log.txt"
sub_folders: []
custom_setting: 17
is_last_version: true
is_first_version: true
description_html: "<p>script description 17</p>\n"
description_html_tagline: script description 17
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/script"
"/scripts/{id}":
get:
summary: show script
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- scripts
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 18
group_id: 18
name: script name 18
description: script description 18
analysis_identifier: script machine identifier 18
executable_settings: executable settings 18
executable_settings_media_type: text/plain
version: 0.18
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
analysis_action_params:
file_executable: "./AnalysisPrograms/AnalysisPrograms.exe"
copy_paths:
- "./programs/AnalysisPrograms/Logs/log.txt"
sub_folders: []
custom_setting: 18
is_last_version: true
is_first_version: true
description_html: "<p>script description 18</p>\n"
description_html_tagline: script description 18
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/script"
"/scripts/filter":
post:
summary: filter script
security:
- auth_token_header: []
parameters: []
tags:
- scripts
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/scripts/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 19
group_id: 19
name: script name 19
description: script description 19
analysis_identifier: script machine identifier 19
executable_settings: executable settings 19
executable_settings_media_type: text/plain
version: 0.19
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
analysis_action_params:
file_executable: "./AnalysisPrograms/AnalysisPrograms.exe"
copy_paths:
- "./programs/AnalysisPrograms/Logs/log.txt"
sub_folders: []
custom_setting: 19
is_last_version: true
is_first_version: true
description_html: "<p>script description 19</p>\n"
description_html_tagline: script description 19
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/script"
"/audio_recordings/{id}/original":
get:
summary: Downloads an original audio file
tags:
- media
- audio_recordings
- audio_recordings
- audio_recordings
parameters:
- name: id
in: path
description: ID of the audio recording
required: true
schema:
type: string
security:
- auth_token_header: []
description: |2
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'404':
description: not found
'401':
description: unauthorized
'200':
description: original audio file
head:
summary: Gets HTTP headers for an original audio file
tags:
- media
- audio_recordings
- audio_recordings
- audio_recordings
parameters:
- name: id
in: path
description: ID of the audio recording
required: true
schema:
type: string
security:
- auth_token_header: []
description: |2
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: original audio file
'404':
description: not found
'401':
description: unauthorized
"/audio_recordings/downloader":
post:
summary: Gets a templated script which can download original audio files. Accepts
an audio recordings filter object
tags:
- downloader
- audio_recordings
consumes:
security:
- auth_token_header: []
parameters: []
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: templated script
content:
text/plain:
example: |
#!/usr/bin/env pwsh
# Requires -Version 7
<#
.DESCRIPTION
Downloads a set of recordings from an acoustic workbench.
Will work on Windows, Linux, or MacOSX with PowerShell Core.
See https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.1
for installation instructions.
Version 9.1.1 from http://localhost:3000.
.EXAMPLE
On Windows:
PS> ./download_audio_files.ps1
.EXAMPLE
On Linux/MacOSX:
$ chmod +x download_audio_files.ps1
$ ./download_audio_files.ps1
#>
param(
# Where to download the recordings. Defaults to the present working directory if not specified.
$target = $null,
# The auth token to use to login to the workbench. You only need to supply an auth token if you want to log in without a password.
$auth_token = $null,
# The username to use to login to the workbench. This value's default value is templated when the script is generated. This is not needed if you use an auth_token.
$user_name = $null,
# The poassword to use to login to the workbench. This is not needed if you use an auth_token.
$password = $null,
# The filter to use to select audio recordings to download. This value's default value is templated when the script is generated.
# See https://github.com/QutEcoacoustics/baw-server/wiki/API:-Filtering for details on valid filters. This argument
# should be a valid JSON encoded string.
$filter = $null,
# The acoustic workbench instance to use. This value's default value is templated when the script is generated.
$workbench_url = $null
)
$InformationPreference = 'Continue'
$ErrorActionPreference = 'Stop'
# https://github.com/PowerShell/PowerShell/issues/14348
$ProgressPreference = 'SilentlyContinue'
Write-Information "Acoustic Workbench downloader script version 9.1.1"
if ($null -eq $target) {
$target = $pwd
}
# templated values from script generation
if ($null -eq $auth_token) {
if ($null -eq $user_name) {
$user_name = "Admin"
if (-not $user_name) {
Write-Error "user_name is required"
exit 1
}
}
Write-Information "User name: $user_name"
}
else {
Write-Information "Using supplied auth token $auth_token"
}
if ($null -eq $filter) {
$filter = @'
{"sorting":{"order_by":"recorded_date","direction":"desc"},"paging":{"items":25},"projection":{"include":["id","recorded_date","sites.name","site_id","canonical_file_name"]}}
'@
}
Write-Information "Filter: $filter"
if ($null -eq $workbench_url) {
$workbench_url = "http://localhost:3000"
}
Write-Information "Workbench URL: $workbench_url"
# end templated values
# log in
$headers = @{}
if ($null -eq $auth_token) {
if ($user_name -and $password) {
$User = $user_name
$PWord = ConvertTo-SecureString -String $password -AsPlainText -Force
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
}
else {
$credentials = Get-Credential -Message "Provide credentials for logging into $workbench_url" -UserName $user_name
}
$json_credentials = $credentials.GetNetworkCredential() | ForEach-Object{
if ($_.UserName -like '*@*') {
@{"email"=$_.UserName;"password"=$_.Password}
}
else {
@{"login"=$_.UserName;"password"=$_.Password}
}
}
Write-Information "Logging in to workbench $workbench"
$auth_reponse = Invoke-WebRequest -Uri "$workbench_url/security" -Method POST -Body $json_credentials -Headers $headers -SkipHttpErrorCheck
if ($auth_reponse.BaseResponse.IsSuccessStatusCode) {
$auth_token = ($auth_reponse.Content | ConvertFrom-Json).data.auth_token
}
else {
Write-Error ("Login attempt failed ($($auth_reponse.StatusCode)) " + $auth_reponse.Content)
exit 1
}
}
else {
# we have auth token, nothing else to do?
}
$headers["Authorization"] = "Token token=`"$auth_token`""
$json_headers = $headers.Clone()
$json_headers["Content-Type"] = "application/json"
$json_headers["Accept"] = "application/json"
Write-Information "Downloading recordings"
# start paging through results!
$script:current_page = 0
$script:max_page = $null
function Get-NextPage() {
$script:current_page += 1
if (($null -ne $script:max_page) -and ($script:current_page -gt $script:max_page)) {
Write-Information "Reached end of pages"
return $null
}
Write-Information "Getting page $script:current_page"
$response = Invoke-RestMethod -Uri "$workbench_url/audio_recordings/filter?page=$script:current_page" `
-Method POST -Body $filter -Headers $json_headers -SkipHttpErrorCheck -StatusCodeVariable "status_code"
if ($status_code -ne 200) {
Write-Error ("Failed to get recordings ($status_code): ")
$response | Format-List | out-string | Write-Error
exit 1
}
$script:max_page = $response.meta.paging.max_page
Write-Information "Got page $script:current_page of $script:max_page, $($response.data.Count) recordings in this page."
return $response.data
}
$sites = @{}
function Get-SiteName($raw_name) {
if ($sites.ContainsKey($raw_name)) {
return $sites[$raw_name]
}
# Safe folder names
$name = $raw_name -replace '[^-_A-Za-z0-9]',''
$sites[$raw_name] = $name
return $name
}
# make output directory
New-Item -ItemType Directory -Path $target -Force | Out-Null
while ($null -ne ($recordings = Get-NextPage )) {
foreach($recording in $recordings) {
Write-Information "Downloading recording $($recording.id)"
$recording | write-output
$audio_recording_id = $recording.id
$site_id = $recording.site_id
$name = $recording.canonical_file_name
$safe_site_name = Get-SiteName $recording.'sites.name'
$sub_folder = Join-Path $target "${site_id}_$safe_site_name"
New-Item -ItemType Directory -Path $sub_folder -Force | Out-Null
$path = Join-Path $sub_folder $name
Invoke-RestMethod -Uri "$workbench_url/audio_recordings/$audio_recording_id/original" `
-Method GET -Headers $headers -StatusCodeVariable "download_status_code" -OutFile $path
Write-Information "Downloaded recording $audio_recording_id to $path"
}
}
Write-Information "Done!"
get:
summary: Gets a templated script which can download original audio files
tags:
- downloader
- audio_recordings
security:
- auth_token_header: []
parameters: []
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: templated script
content:
text/plain:
example: |
#!/usr/bin/env pwsh
# Requires -Version 7
<#
.DESCRIPTION
Downloads a set of recordings from an acoustic workbench.
Will work on Windows, Linux, or MacOSX with PowerShell Core.
See https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.1
for installation instructions.
Version 9.1.1 from http://localhost:3000.
.EXAMPLE
On Windows:
PS> ./download_audio_files.ps1
.EXAMPLE
On Linux/MacOSX:
$ chmod +x download_audio_files.ps1
$ ./download_audio_files.ps1
#>
param(
# Where to download the recordings. Defaults to the present working directory if not specified.
$target = $null,
# The auth token to use to login to the workbench. You only need to supply an auth token if you want to log in without a password.
$auth_token = $null,
# The username to use to login to the workbench. This value's default value is templated when the script is generated. This is not needed if you use an auth_token.
$user_name = $null,
# The poassword to use to login to the workbench. This is not needed if you use an auth_token.
$password = $null,
# The filter to use to select audio recordings to download. This value's default value is templated when the script is generated.
# See https://github.com/QutEcoacoustics/baw-server/wiki/API:-Filtering for details on valid filters. This argument
# should be a valid JSON encoded string.
$filter = $null,
# The acoustic workbench instance to use. This value's default value is templated when the script is generated.
$workbench_url = $null
)
$InformationPreference = 'Continue'
$ErrorActionPreference = 'Stop'
# https://github.com/PowerShell/PowerShell/issues/14348
$ProgressPreference = 'SilentlyContinue'
Write-Information "Acoustic Workbench downloader script version 9.1.1"
if ($null -eq $target) {
$target = $pwd
}
# templated values from script generation
if ($null -eq $auth_token) {
if ($null -eq $user_name) {
$user_name = "Admin"
if (-not $user_name) {
Write-Error "user_name is required"
exit 1
}
}
Write-Information "User name: $user_name"
}
else {
Write-Information "Using supplied auth token $auth_token"
}
if ($null -eq $filter) {
$filter = @'
{"sorting":{"order_by":"recorded_date","direction":"desc"},"paging":{"items":25},"projection":{"include":["id","recorded_date","sites.name","site_id","canonical_file_name"]}}
'@
}
Write-Information "Filter: $filter"
if ($null -eq $workbench_url) {
$workbench_url = "http://localhost:3000"
}
Write-Information "Workbench URL: $workbench_url"
# end templated values
# log in
$headers = @{}
if ($null -eq $auth_token) {
if ($user_name -and $password) {
$User = $user_name
$PWord = ConvertTo-SecureString -String $password -AsPlainText -Force
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
}
else {
$credentials = Get-Credential -Message "Provide credentials for logging into $workbench_url" -UserName $user_name
}
$json_credentials = $credentials.GetNetworkCredential() | ForEach-Object{
if ($_.UserName -like '*@*') {
@{"email"=$_.UserName;"password"=$_.Password}
}
else {
@{"login"=$_.UserName;"password"=$_.Password}
}
}
Write-Information "Logging in to workbench $workbench"
$auth_reponse = Invoke-WebRequest -Uri "$workbench_url/security" -Method POST -Body $json_credentials -Headers $headers -SkipHttpErrorCheck
if ($auth_reponse.BaseResponse.IsSuccessStatusCode) {
$auth_token = ($auth_reponse.Content | ConvertFrom-Json).data.auth_token
}
else {
Write-Error ("Login attempt failed ($($auth_reponse.StatusCode)) " + $auth_reponse.Content)
exit 1
}
}
else {
# we have auth token, nothing else to do?
}
$headers["Authorization"] = "Token token=`"$auth_token`""
$json_headers = $headers.Clone()
$json_headers["Content-Type"] = "application/json"
$json_headers["Accept"] = "application/json"
Write-Information "Downloading recordings"
# start paging through results!
$script:current_page = 0
$script:max_page = $null
function Get-NextPage() {
$script:current_page += 1
if (($null -ne $script:max_page) -and ($script:current_page -gt $script:max_page)) {
Write-Information "Reached end of pages"
return $null
}
Write-Information "Getting page $script:current_page"
$response = Invoke-RestMethod -Uri "$workbench_url/audio_recordings/filter?page=$script:current_page" `
-Method POST -Body $filter -Headers $json_headers -SkipHttpErrorCheck -StatusCodeVariable "status_code"
if ($status_code -ne 200) {
Write-Error ("Failed to get recordings ($status_code): ")
$response | Format-List | out-string | Write-Error
exit 1
}
$script:max_page = $response.meta.paging.max_page
Write-Information "Got page $script:current_page of $script:max_page, $($response.data.Count) recordings in this page."
return $response.data
}
$sites = @{}
function Get-SiteName($raw_name) {
if ($sites.ContainsKey($raw_name)) {
return $sites[$raw_name]
}
# Safe folder names
$name = $raw_name -replace '[^-_A-Za-z0-9]',''
$sites[$raw_name] = $name
return $name
}
# make output directory
New-Item -ItemType Directory -Path $target -Force | Out-Null
while ($null -ne ($recordings = Get-NextPage )) {
foreach($recording in $recordings) {
Write-Information "Downloading recording $($recording.id)"
$recording | write-output
$audio_recording_id = $recording.id
$site_id = $recording.site_id
$name = $recording.canonical_file_name
$safe_site_name = Get-SiteName $recording.'sites.name'
$sub_folder = Join-Path $target "${site_id}_$safe_site_name"
New-Item -ItemType Directory -Path $sub_folder -Force | Out-Null
$path = Join-Path $sub_folder $name
Invoke-RestMethod -Uri "$workbench_url/audio_recordings/$audio_recording_id/original" `
-Method GET -Headers $headers -StatusCodeVariable "download_status_code" -OutFile $path
Write-Information "Downloaded recording $audio_recording_id to $path"
}
}
Write-Information "Done!"
"/audio_recordings":
get:
summary: list audio recordings
security:
- auth_token_header: []
parameters: []
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: recorded_date
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/audio_recordings?direction=desc&items=25&order_by=recorded_date&page=1
previous:
next:
capabilities:
original_download:
can:
details: You do not have permission to download the original
audio recording. Check your access level or the original download
settings for this project
data:
- id: 28
uuid: b1a02f5b-a229-4cb9-b1cd-b95d6ffb2a1e
recorded_date: '2000-04-23T07:06:59.000Z'
site_id: 28
duration_seconds: 60000.0
sample_rate_hertz: 44100
channels: 2
bit_rate_bps: 64000
media_type: audio/mpeg
data_length_bytes: 3800
status: ready
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 124
deleted_at:
deleter_id:
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
notes:
test: note number 28
file_hash: SHA256::283zlcasjnofvtli4p0czpopdnomgtgx6sxgx5cbm767y12azcp39kzadhvb1uz3
uploader_id: 124
original_file_name: original name 28.mp3
canonical_file_name: 20000423T070659Z_site-name-28_28.mp3
recorded_date_timezone:
recorded_utc_offset:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/audio_recording"
"/audio_recordings/{id}":
patch:
summary: update audio recordings
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `Harvester`.<br />
Users that can't: `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
capabilities:
original_download:
can: true
details:
data:
id: 29
uuid: 83ac0fe5-4165-41ac-ac03-2ebb9c93cfcb
recorded_date: '2000-04-24T07:06:59.000Z'
site_id: 29
duration_seconds: 66.0
sample_rate_hertz: 44100
channels: 2
bit_rate_bps: 64000
media_type: audio/mpeg
data_length_bytes: 3800
status: ready
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 128
deleted_at:
deleter_id:
updated_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
notes:
test: note number 29
file_hash: SHA256::29dw2kbuxzu6b5i7jgtn6xb8m27skx1ipi19lhbrlqmr633rskzfzfy2cn4zmsqt
uploader_id: 128
original_file_name: original name 29.mp3
canonical_file_name: 20000424T070659Z_site-name-29_29.mp3
recorded_date_timezone:
recorded_utc_offset:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_recording"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/audio_recording"
get:
summary: show audio recordings
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
capabilities:
original_download:
can: true
details:
data:
id: 30
uuid: ae29fb9c-6110-4131-b880-4ac6e4c34cc5
recorded_date: '2000-04-25T07:06:59.000Z'
site_id: 30
duration_seconds: 60000.0
sample_rate_hertz: 44100
channels: 2
bit_rate_bps: 64000
media_type: audio/mpeg
data_length_bytes: 3800
status: ready
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 132
deleted_at:
deleter_id:
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
notes:
test: note number 30
file_hash: SHA256::30x4c02hy3yui3iptsk1pjhqxu1b81m2c8uuq07shlpanph5m3wmcovyezpqpgup
uploader_id: 132
original_file_name: original name 30.mp3
canonical_file_name: 20000425T070659Z_site-name-30_30.mp3
recorded_date_timezone:
recorded_utc_offset:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_recording"
put:
summary: update audio recordings
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `Harvester`.<br />
Users that can't: `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
capabilities:
original_download:
can: true
details:
data:
id: 31
uuid: cfb2fbc6-7595-468d-8fc5-a6fd8165a427
recorded_date: '2000-04-26T07:06:59.000Z'
site_id: 31
duration_seconds: 66.0
sample_rate_hertz: 44100
channels: 2
bit_rate_bps: 64000
media_type: audio/mpeg
data_length_bytes: 3800
status: ready
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 136
deleted_at:
deleter_id:
updated_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
notes:
test: note number 31
file_hash: SHA256::313zacwbn39j1wwm7mioyylciu2e1ve2uhrmbn7k0w3nu2oir3x6y8eyhmug9bp7
uploader_id: 136
original_file_name: original name 31.mp3
canonical_file_name: 20000426T070659Z_site-name-31_31.mp3
recorded_date_timezone:
recorded_utc_offset:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_recording"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/audio_recording"
"/audio_recordings/new":
get:
summary: new audio recordings
security:
- auth_token_header: []
parameters: []
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: .
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
site_id:
uploader_id:
sample_rate_hertz:
media_type:
recorded_date:
bit_rate_bps:
data_length_bytes:
channels:
duration_seconds:
file_hash:
original_file_name:
"/audio_recordings/filter":
post:
summary: filter audio recording
security:
- auth_token_header: []
parameters: []
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: recorded_date
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/audio_recordings/filter?direction=desc&items=25&order_by=recorded_date&page=1
previous:
next:
capabilities:
original_download:
can:
details: You do not have permission to download the original
audio recording. Check your access level or the original download
settings for this project
data:
- id: 33
uuid: 191deeb0-aeb8-4ff5-8984-cb920da8e9a5
recorded_date: '2000-04-28T07:06:59.000Z'
site_id: 33
duration_seconds: 60000.0
sample_rate_hertz: 44100
channels: 2
bit_rate_bps: 64000
media_type: audio/mpeg
data_length_bytes: 3800
status: ready
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 144
deleted_at:
deleter_id:
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
notes:
test: note number 33
file_hash: SHA256::337rg8v0o44mgu9okmxnw273ifvtapv9yl3e7sjjskjy2yai2twpzruhufceganv
uploader_id: 144
original_file_name: original name 33.mp3
canonical_file_name: 20000428T070659Z_site-name-33_33.mp3
recorded_date_timezone:
recorded_utc_offset:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/audio_recording"
"/harvests/{harvest_id}/items/filter":
post:
summary: filter harvest items
security:
- auth_token_header: []
parameters:
- name: harvest_id
in: path
description: harvest_id
required: true
schema:
type: integer
tags:
- harvest_items
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: path
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/harvests/26/items/filter?direction=asc&items=25&order_by=path&page=1
previous:
next:
data:
- id: 1
deleted: false
path: some/relative/path.mp3
status: new
created_at: '2020-01-02T03:04:05.677Z'
harvest_id: 26
updated_at: '2020-01-02T03:04:05.677Z'
audio_recording_id: 35
uploader_id: 153
validations: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest_item"
"/projects/{project_id}/harvests/{harvest_id}/items/a/b":
get:
summary: list harvest items by path
security:
- auth_token_header: []
parameters:
- name: harvest_id
in: path
description: harvest_id
required: true
schema:
type: integer
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- harvest_items
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: path
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/39/harvests/27/items/a/b?direction=asc&items=25&order_by=path&page=1
previous:
next:
data:
- id: 2
deleted: false
path: a/b/c.wav
status: new
created_at: '2020-01-02T03:04:05.677Z'
harvest_id: 27
updated_at: '2020-01-02T03:04:05.677Z'
audio_recording_id: 37
uploader_id: 160
report:
items_total: 1
items_size_bytes:
items_duration_seconds:
items_invalid_fixable: 0
items_invalid_not_fixable: 0
items_new: 1
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
validations: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest_item"
"/projects/{project_id}/regions/new":
get:
summary: new region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
name:
description:
notes:
project_id:
"/projects/{project_id}/regions":
post:
summary: create region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 38
name: region name 38
description: site **description** 38
notes:
region_note_38: 38
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 41
site_ids: []
description_html: "<p>site <strong>description</strong> 38</p>\n"
description_html_tagline: site <strong>description</strong> 38
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/region"
get:
summary: list regions
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/43/regions?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 39
name: region name 39
description: site **description** 39
notes:
region_note_39: 39
creator_id: 171
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 43
site_ids:
- 40
description_html: "<p>site <strong>description</strong> 39</p>\n"
description_html_tagline: site <strong>description</strong> 39
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/region"
"/projects/{project_id}/regions/{id}":
delete:
summary: delete region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
get:
summary: show region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 41
name: region name 41
description: site **description** 41
notes:
region_note_41: 41
creator_id: 179
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 45
site_ids:
- 42
description_html: "<p>site <strong>description</strong> 41</p>\n"
description_html_tagline: site <strong>description</strong> 41
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
put:
summary: update region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 42
name: region name 43
description: site **description** 43
notes:
region_note_43: 43
creator_id: 183
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 47
site_ids:
- 43
description_html: "<p>site <strong>description</strong> 43</p>\n"
description_html_tagline: site <strong>description</strong> 43
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/region"
patch:
summary: update region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 43
name: region name 45
description: site **description** 45
notes:
region_note_45: 45
creator_id: 189
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 49
site_ids:
- 44
description_html: "<p>site <strong>description</strong> 45</p>\n"
description_html_tagline: site <strong>description</strong> 45
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/region"
"/projects/{project_id}/regions/filter":
post:
summary: filter region
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/50/regions/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 44
name: region name 46
description: site **description** 46
notes:
region_note_46: 46
creator_id: 195
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 50
site_ids:
- 45
description_html: "<p>site <strong>description</strong> 46</p>\n"
description_html_tagline: site <strong>description</strong> 46
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/region"
"/projects/{project_id}/harvests/{harvest_id}/items/filter":
post:
summary: filter harvest items
security:
- auth_token_header: []
parameters:
- name: harvest_id
in: path
description: harvest_id
required: true
schema:
type: integer
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- harvest_items
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: path
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/51/harvests/36/items/filter?direction=asc&items=25&order_by=path&page=1
previous:
next:
data:
- id: 3
deleted: false
path: some/relative/path.mp3
status: new
created_at: '2020-01-02T03:04:05.677Z'
harvest_id: 36
updated_at: '2020-01-02T03:04:05.677Z'
audio_recording_id: 47
uploader_id: 205
validations: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest_item"
"/stats":
get:
summary: Gets stats
tags:
- stats
security:
parameters: []
responses:
'200':
description: stats retrieved
content:
application/json:
example:
meta:
status: 200
message: OK
data:
summary:
users_online: 0
users_total: 2
online_window_start: '2020-01-02T01:04:05.677Z'
projects_total: 0
regions_total: 0
sites_total: 0
annotations_total: 0
annotations_total_duration: 0
annotations_recent: 0
audio_recordings_total: 0
audio_recordings_recent: 0
audio_recordings_total_duration: 0
audio_recordings_total_size: 0
tags_total: 0
tags_applied_total: 0
tags_applied_unique_total: 0
recent:
audio_recording_ids: []
audio_event_ids: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/stats"
"/sites/{id}":
put:
summary: update site
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 48
name: site name 49
description: site description 49
notes: note number 49
creator_id: 206
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude: 68.652129
custom_longitude: 159.475673
location_obfuscated: false
project_ids:
- 52
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 49</p>\n"
description_html_tagline: site description 49
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/site"
delete:
summary: delete site
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
get:
summary: show site
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 50
name: site name 51
description: site description 51
notes: note number 51
creator_id: 215
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id: 48
custom_latitude: 89.544734
custom_longitude: 99.034349
location_obfuscated: false
project_ids:
- 54
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 51</p>\n"
description_html_tagline: site description 51
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
patch:
summary: update site
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 51
name: site name 53
description: site description 53
notes: note number 53
creator_id: 219
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude: 55.077931
custom_longitude: -80.205557
location_obfuscated: false
project_ids:
- 55
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 53</p>\n"
description_html_tagline: site description 53
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/site"
"/sites/new":
get:
summary: new site
security:
- auth_token_header: []
parameters: []
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
longitude:
latitude:
notes:
image:
tzinfo_tz:
rails_tz:
"/sites":
post:
summary: create site
security:
- auth_token_header: []
parameters: []
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 54
name: site name 56
description: site description 56
notes: note number 56
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude:
custom_longitude:
location_obfuscated: true
project_ids: []
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 56</p>\n"
description_html_tagline: site description 56
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/site"
get:
summary: list sites
security:
- auth_token_header: []
parameters: []
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/sites?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 55
name: site name 57
description: site description 57
notes: note number 57
creator_id: 233
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id: 52
custom_latitude: 59.030912
custom_longitude: -175.048448
location_obfuscated: false
project_ids:
- 58
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 57</p>\n"
description_html_tagline: site description 57
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/site"
"/sites/filter":
post:
summary: filter site
security:
- auth_token_header: []
parameters: []
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/sites/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 56
name: site name 58
description: site description 58
notes: note number 58
creator_id: 237
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id: 53
custom_latitude: 72.534795
custom_longitude: 145.289808
location_obfuscated: false
project_ids:
- 59
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 58</p>\n"
description_html_tagline: site description 58
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/site"
"/projects/{project_id}/harvests/filter":
post:
summary: filter harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/60/harvests/filter?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 45
creator_id: 241
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 60
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest"
"/projects/{project_id}/harvests":
post:
summary: create harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 47
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
streaming: true
status: uploading
project_id: 61
name: January 2nd Upload
upload_user: Admin_47
upload_password: JfP9F2BWtxodssSphXFjtr1e
upload_url: sftp://upload.test:2022
mappings:
- path: '58'
site_id: 58
utc_offset:
recursive: true
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at: '2020-01-02T03:04:05.677Z'
last_metadata_review_at:
last_mappings_change_at: '2020-01-02T03:04:05.677Z'
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/harvest"
get:
summary: list harvests
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/62/harvests?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 48
creator_id: 249
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 62
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest"
"/projects/{project_id}/harvests/new":
get:
summary: new harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
project_id: true
streaming: false
"/projects/{project_id}/harvests/{id}":
get:
summary: show harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 50
creator_id: 257
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 64
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
delete:
summary: delete harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
patch:
summary: update harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 52
creator_id: 265
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 66
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/harvest"
put:
summary: update harvest
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 53
creator_id: 269
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 67
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/harvest"
"/projects/{project_id}/sites/{site_id}/audio_recordings/new":
get:
summary: new audio recordings
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: site_id
in: path
description: site_id
required: true
schema:
type: integer
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: .
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
site_id:
uploader_id:
sample_rate_hertz:
media_type:
recorded_date:
bit_rate_bps:
data_length_bytes:
channels:
duration_seconds:
file_hash:
original_file_name:
"/projects/{project_id}/sites/{site_id}/audio_recordings":
post:
summary: create audio recordings
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: site_id
in: path
description: site_id
required: true
schema:
type: integer
tags:
- audio_recordings
description: |2
Users that can invoke this route: `Admin`, `Harvester`.<br />
Users that can't: `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
capabilities:
original_download:
can: true
details:
data:
id: 66
uuid: 18103b10-7995-4aae-91cb-e82f6694644f
recorded_date: '2000-05-31T07:06:59.000Z'
site_id: 66
duration_seconds: 60000.0
sample_rate_hertz: 22050
channels: 2
bit_rate_bps: 64000
media_type: audio/mpeg
data_length_bytes: 3800
status: new
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
deleted_at:
deleter_id:
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
notes:
test: note number 66
file_hash: SHA256::66c10a8iy16dbhk2bqzrl8gycf6ouhnc7ok8n1j7pcnki6nb9ekq26o6d85grz2l
uploader_id: 1
original_file_name: original name 66.mp3
canonical_file_name: 20000531T070659Z_site-name-68_66.mp3
recorded_utc_offset:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_recording"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/audio_recording"
"/status":
get:
summary: Gets status
tags:
- stats
security:
parameters: []
responses:
'200':
description: stats retrieved
content:
application/json:
example:
status: good
timed_out: false
database: true
redis: PONG
storage: 1 audio recording storage directory available.
upload: Alive
schema:
type: object
properties:
status:
type: string
enum:
- good
- bad
timed_out:
type: boolean
database:
type: boolean
redis:
type: string
storage:
type: string
upload:
type: string
"/harvests/{harvest_id}/items/a/b":
get:
summary: list harvest items by path
security:
- auth_token_header: []
parameters:
- name: harvest_id
in: path
description: harvest_id
required: true
schema:
type: integer
tags:
- harvest_items
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: path
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/harvests/56/items/a/b?direction=asc&items=25&order_by=path&page=1
previous:
next:
data:
- id: 4
deleted: false
path: a/b/c.wav
status: new
created_at: '2020-01-02T03:04:05.677Z'
harvest_id: 56
updated_at: '2020-01-02T03:04:05.677Z'
audio_recording_id: 68
uploader_id: 289
report:
items_total: 1
items_size_bytes:
items_duration_seconds:
items_invalid_fixable: 0
items_invalid_not_fixable: 0
items_new: 1
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
validations: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest_item"
"/bookmarks":
post:
summary: create bookmark
security:
- auth_token_header: []
parameters: []
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 45
audio_recording_id: 70
name: name 45
category: category 45
description: description 45
offset_seconds: 4.0
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
description_html: "<p>description 45</p>\n"
description_html_tagline: description 45
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/bookmark"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/bookmark"
get:
summary: list bookmarks
security:
- auth_token_header: []
parameters: []
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/bookmarks?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 46
audio_recording_id: 71
name: name 46
category: category 46
description: description 46
offset_seconds: 4.0
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
description_html: "<p>description 46</p>\n"
description_html_tagline: description 46
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/bookmark"
"/bookmarks/new":
get:
summary: new bookmark
security:
- auth_token_header: []
parameters: []
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
name:
category:
description:
offset_seconds:
"/bookmarks/filter":
post:
summary: filter bookmark
security:
- auth_token_header: []
parameters: []
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/bookmarks/filter?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 48
audio_recording_id: 73
name: name 48
category: category 48
description: description 48
offset_seconds: 4.0
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
description_html: "<p>description 48</p>\n"
description_html_tagline: description 48
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/bookmark"
"/bookmarks/{id}":
put:
summary: update bookmark
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 49
audio_recording_id: 75
name: name 50
category: category 50
description: description 50
offset_seconds: 4.0
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
description_html: "<p>description 50</p>\n"
description_html_tagline: description 50
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/bookmark"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/bookmark"
patch:
summary: update bookmark
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 50
audio_recording_id: 77
name: name 52
category: category 52
description: description 52
offset_seconds: 4.0
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
description_html: "<p>description 52</p>\n"
description_html_tagline: description 52
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/bookmark"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/bookmark"
delete:
summary: delete bookmark
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
get:
summary: show bookmark
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- bookmarks
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 52
audio_recording_id: 79
name: name 54
category: category 54
description: description 54
offset_seconds: 4.0
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
description_html: "<p>description 54</p>\n"
description_html_tagline: description 54
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/bookmark"
"/sites/orphans/filter":
post:
summary: filter site
security:
- auth_token_header: []
parameters: []
tags:
- sites
description: |2
Users that can invoke this route: `Admin`.<br />
Users that can't: `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/sites/orphans?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 82
name: site name 84
description: site description 84
notes: note number 84
creator_id: 335
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude:
custom_longitude:
location_obfuscated: true
project_ids: []
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 84</p>\n"
description_html_tagline: site description 84
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/site"
"/sites/orphans":
get:
summary: list sites
security:
- auth_token_header: []
parameters: []
tags:
- sites
description: |2
Users that can invoke this route: `Admin`.<br />
Users that can't: `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/sites/orphans?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 84
name: site name 86
description: site description 86
notes: note number 86
creator_id: 340
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude:
custom_longitude:
location_obfuscated: true
project_ids: []
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 86</p>\n"
description_html_tagline: site description 86
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/site"
"/saved_searches/new":
get:
summary: new saved_search
security:
- auth_token_header: []
parameters: []
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data: {}
"/saved_searches/filter":
post:
summary: filter saved_search
security:
- auth_token_header: []
parameters: []
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/saved_searches/filter?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 55
name: saved search name 55
description: saved search description 55
stored_query:
uuid:
eq: blah blah
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 346
deleter_id:
deleted_at:
project_ids:
- 82
analysis_job_ids:
- 55
description_html: "<p>saved search description 55</p>\n"
description_html_tagline: saved search description 55
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/saved_search"
"/saved_searches/{id}":
put:
summary: can't update saved_search
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`.<br />
Users that can't: `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'404':
description: not found
content:
application/json:
example:
meta:
status: 404
message: Not Found
error:
details: Could not find the requested page.
info:
original_route: saved_searches/56
original_http_method: PUT
data:
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/saved_search"
delete:
summary: delete saved_search
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
patch:
summary: can't update saved_search
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`.<br />
Users that can't: `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'404':
description: not found
content:
application/json:
example:
meta:
status: 404
message: Not Found
error:
details: Could not find the requested page.
info:
original_route: saved_searches/58
original_http_method: PATCH
data:
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/saved_search"
get:
summary: show saved_search
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 59
name: saved search name 61
description: saved search description 61
stored_query:
uuid:
eq: blah blah
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 364
deleter_id:
deleted_at:
project_ids:
- 86
analysis_job_ids:
- 59
description_html: "<p>saved search description 61</p>\n"
description_html_tagline: saved search description 61
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/saved_search"
"/saved_searches":
get:
summary: list saved_searches
security:
- auth_token_header: []
parameters: []
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/saved_searches?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 60
name: saved search name 62
description: saved search description 62
stored_query:
uuid:
eq: blah blah
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 368
deleter_id:
deleted_at:
project_ids:
- 87
analysis_job_ids:
- 60
description_html: "<p>saved search description 62</p>\n"
description_html_tagline: saved search description 62
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/saved_search"
post:
summary: create saved_search
security:
- auth_token_header: []
parameters: []
tags:
- saved_searches
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 62
name: saved search name 64
description: saved search description 64
stored_query:
uuid:
eq: blah blah
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
deleter_id:
deleted_at:
project_ids: []
analysis_job_ids: []
description_html: "<p>saved search description 64</p>\n"
description_html_tagline: saved search description 64
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/saved_search"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/saved_search"
"/audio_event_imports/new":
get:
summary: new audio_event_import
security:
- auth_token_header: []
parameters: []
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
name:
description:
file_name:
"/audio_event_imports/filter":
post:
summary: filter audio_event_import
security:
- auth_token_header: []
parameters: []
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/audio_event_imports/filter?direction=asc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 2
name: region name 2
description: site **description** 2
files: []
imported_events: []
creator_id: 386
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 387
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
description_html_tagline: site <strong>description</strong> 2
description_html: "<p>site <strong>description</strong> 2</p>\n"
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/audio_event_import"
"/audio_event_imports/{id}":
delete:
summary: delete audio_event_import
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
patch:
summary: update audio_event_import
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 4
name: region name 5
description: site **description** 5
files: []
imported_events: []
creator_id: 398
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
description_html_tagline: site <strong>description</strong> 5
description_html: "<p>site <strong>description</strong> 5</p>\n"
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_event_import"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/audio_event_import"
put:
summary: update audio_event_import
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 5
name: region name 7
description: site **description** 7
files: []
imported_events: []
creator_id: 406
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
description_html_tagline: site <strong>description</strong> 7
description_html: "<p>site <strong>description</strong> 7</p>\n"
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_event_import"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/audio_event_import"
get:
summary: show audio_event_import
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 6
name: region name 8
description: site **description** 8
files: []
imported_events: []
creator_id: 414
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 415
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
description_html_tagline: site <strong>description</strong> 8
description_html: "<p>site <strong>description</strong> 8</p>\n"
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_event_import"
"/audio_event_imports":
post:
summary: create audio_event_import
security:
- auth_token_header: []
parameters: []
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 8
name: region name 10
description: site **description** 10
files: []
imported_events: []
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
description_html_tagline: site <strong>description</strong> 10
description_html: "<p>site <strong>description</strong> 10</p>\n"
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/audio_event_import"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/audio_event_import"
get:
summary: list audio_event_imports
security:
- auth_token_header: []
parameters: []
tags:
- audio_event_imports
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/audio_event_imports?direction=asc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 9
name: region name 11
description: site **description** 11
files: []
imported_events: []
creator_id: 428
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 429
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
description_html_tagline: site <strong>description</strong> 11
description_html: "<p>site <strong>description</strong> 11</p>\n"
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/audio_event_import"
"/harvests/new":
get:
summary: new harvest
security:
- auth_token_header: []
parameters: []
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
project_id: true
streaming: false
"/harvests/{id}":
get:
summary: show harvest
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 84
creator_id: 434
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 98
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
delete:
summary: delete harvest
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
put:
summary: update harvest
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 86
creator_id: 442
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 100
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/harvest"
patch:
summary: update harvest
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 87
creator_id: 446
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 101
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/harvest"
"/harvests/filter":
post:
summary: filter harvest
security:
- auth_token_header: []
parameters: []
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/harvests/filter?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 88
creator_id: 450
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 102
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest"
"/harvests":
get:
summary: list harvests
security:
- auth_token_header: []
parameters: []
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: created_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/harvests?direction=desc&items=25&order_by=created_at&page=1
previous:
next:
data:
- id: 89
creator_id: 454
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
streaming: false
status: new_harvest
project_id: 103
name: January 2nd Upload
upload_user:
upload_password:
upload_url: sftp://upload.test:2022
mappings: []
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at:
last_metadata_review_at:
last_mappings_change_at:
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/harvest"
post:
summary: create harvest
security:
- auth_token_header: []
parameters: []
tags:
- harvests
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 91
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
streaming: true
status: uploading
project_id: 104
name: January 2nd Upload
upload_user: Admin_91
upload_password: B7Mx2RJE4maGyAvYsBn9Vmha
upload_url: sftp://upload.test:2022
mappings:
- path: '108'
site_id: 108
utc_offset:
recursive: true
report:
items_total: 0
items_size_bytes: 0
items_duration_seconds: 0.0
items_new: 0
items_metadata_gathered: 0
items_failed: 0
items_completed: 0
items_errored: 0
items_invalid_fixable: 0
items_invalid_not_fixable: 0
latest_activity_at:
run_time_seconds:
last_upload_at: '2020-01-02T03:04:05.677Z'
last_metadata_review_at:
last_mappings_change_at: '2020-01-02T03:04:05.677Z'
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/harvest"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/harvest"
"/regions":
post:
summary: create region
security:
- auth_token_header: []
parameters: []
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 100
name: region name 102
description: site **description** 102
notes:
region_note_102: 102
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 106
site_ids: []
description_html: "<p>site <strong>description</strong> 102</p>\n"
description_html_tagline: site <strong>description</strong> 102
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/region"
get:
summary: list regions
security:
- auth_token_header: []
parameters: []
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/regions?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 101
name: region name 103
description: site **description** 103
notes:
region_note_103: 103
creator_id: 468
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 107
site_ids:
- 110
description_html: "<p>site <strong>description</strong> 103</p>\n"
description_html_tagline: site <strong>description</strong> 103
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/region"
"/regions/filter":
post:
summary: filter region
security:
- auth_token_header: []
parameters: []
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/regions/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 102
name: region name 104
description: site **description** 104
notes:
region_note_104: 104
creator_id: 472
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 108
site_ids:
- 111
description_html: "<p>site <strong>description</strong> 104</p>\n"
description_html_tagline: site <strong>description</strong> 104
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/region"
"/regions/{id}":
put:
summary: update region
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 103
name: region name 106
description: site **description** 106
notes:
region_note_106: 106
creator_id: 476
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 110
site_ids:
- 112
description_html: "<p>site <strong>description</strong> 106</p>\n"
description_html_tagline: site <strong>description</strong> 106
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/region"
get:
summary: show region
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 104
name: region name 107
description: site **description** 107
notes:
region_note_107: 107
creator_id: 482
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 111
site_ids:
- 113
description_html: "<p>site <strong>description</strong> 107</p>\n"
description_html_tagline: site <strong>description</strong> 107
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
patch:
summary: update region
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 105
name: region name 109
description: site **description** 109
notes:
region_note_109: 109
creator_id: 486
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
project_id: 113
site_ids:
- 114
description_html: "<p>site <strong>description</strong> 109</p>\n"
description_html_tagline: site <strong>description</strong> 109
image_urls: []
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/region"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/region"
delete:
summary: delete region
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
"/regions/new":
get:
summary: new region
security:
- auth_token_header: []
parameters: []
tags:
- regions
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
name:
description:
notes:
project_id:
"/analysis_jobs":
get:
summary: list analysis_jobs
security:
- auth_token_header: []
parameters: []
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: updated_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/analysis_jobs?direction=desc&items=25&order_by=updated_at&page=1
previous:
next:
data:
- id: 78
name: job name 78
description: job description 78
annotation_name:
custom_settings: custom settings 78
creator_id: 501
updater_id:
deleter_id:
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
deleted_at:
script_id: 78
saved_search_id: 79
started_at: '2020-01-02T03:04:05.677Z'
overall_status: new
overall_status_modified_at: '2020-01-02T03:04:05.677Z'
overall_progress:
new: 0
queued: 0
working: 0
successful: 0
failed: 0
timed_out: 0
cancelling: 0
cancelled: 0
total: 0
overall_progress_modified_at: '2020-01-02T03:04:05.677Z'
overall_count: 0
overall_duration_seconds: 0.0
overall_data_length_bytes: 0
description_html: "<p>job description 78</p>\n"
description_html_tagline: job description 78
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/analysis_job"
post:
summary: create analysis_job
security:
- auth_token_header: []
parameters: []
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 80
name: job name 80
description: job description 80
annotation_name:
custom_settings: custom settings 80
creator_id: 1
updater_id: 1
deleter_id:
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
deleted_at:
script_id: 80
saved_search_id: 81
started_at: '2020-01-02T03:04:05.677Z'
overall_status: completed
overall_status_modified_at: '2020-01-02T03:04:05.677Z'
overall_progress:
new: 0
queued: 0
working: 0
successful: 0
failed: 0
timed_out: 0
cancelling: 0
cancelled: 0
total: 0
overall_progress_modified_at: '2020-01-02T03:04:05.677Z'
overall_count: 0
overall_duration_seconds: 0.0
overall_data_length_bytes: 0
description_html: "<p>job description 80</p>\n"
description_html_tagline: job description 80
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/analysis_job"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/analysis_job"
"/analysis_jobs/{id}":
delete:
summary: delete analysis_job
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
get:
summary: show analysis_job
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 82
name: job name 82
description: job description 82
annotation_name:
custom_settings: custom settings 82
creator_id: 516
updater_id:
deleter_id:
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
deleted_at:
script_id: 82
saved_search_id: 83
started_at: '2020-01-02T03:04:05.677Z'
overall_status: completed
overall_status_modified_at: '2020-01-02T03:04:05.677Z'
overall_progress:
new: 0
queued: 0
working: 0
successful: 0
failed: 0
timed_out: 0
cancelling: 0
cancelled: 0
total: 0
overall_progress_modified_at: '2020-01-02T03:04:05.677Z'
overall_count: 0
overall_duration_seconds: 0.0
overall_data_length_bytes: 0
description_html: "<p>job description 82</p>\n"
description_html_tagline: job description 82
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/analysis_job"
patch:
summary: update analysis_job
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 83
name: job name 84
description: job description 84
annotation_name:
custom_settings: custom settings 83
creator_id: 520
updater_id: 1
deleter_id:
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
deleted_at:
script_id: 83
saved_search_id: 84
started_at: '2020-01-02T03:04:05.677Z'
overall_status: completed
overall_status_modified_at: '2020-01-02T03:04:05.677Z'
overall_progress:
new: 0
queued: 0
working: 0
successful: 0
failed: 0
timed_out: 0
cancelling: 0
cancelled: 0
total: 0
overall_progress_modified_at: '2020-01-02T03:04:05.677Z'
overall_count: 0
overall_duration_seconds: 0.0
overall_data_length_bytes: 0
description_html: "<p>job description 84</p>\n"
description_html_tagline: job description 84
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/analysis_job"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/analysis_job"
put:
summary: update analysis_job
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 84
name: job name 86
description: job description 86
annotation_name:
custom_settings: custom settings 85
creator_id: 527
updater_id: 1
deleter_id:
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
deleted_at:
script_id: 85
saved_search_id: 86
started_at: '2020-01-02T03:04:05.677Z'
overall_status: completed
overall_status_modified_at: '2020-01-02T03:04:05.677Z'
overall_progress:
new: 0
queued: 0
working: 0
successful: 0
failed: 0
timed_out: 0
cancelling: 0
cancelled: 0
total: 0
overall_progress_modified_at: '2020-01-02T03:04:05.677Z'
overall_count: 0
overall_duration_seconds: 0.0
overall_data_length_bytes: 0
description_html: "<p>job description 86</p>\n"
description_html_tagline: job description 86
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/analysis_job"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/analysis_job"
"/analysis_jobs/new":
get:
summary: new analysis_job
security:
- auth_token_header: []
parameters: []
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
annotation_name:
custom_settings:
"/analysis_jobs/filter":
post:
summary: filter analysis_job
security:
- auth_token_header: []
parameters: []
tags:
- analysis_jobs
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: updated_at
direction: desc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/analysis_jobs/filter?direction=desc&items=25&order_by=updated_at&page=1
previous:
next:
data:
- id: 86
name: job name 88
description: job description 88
annotation_name:
custom_settings: custom settings 88
creator_id: 538
updater_id:
deleter_id:
created_at: '2020-01-02T03:04:05.677Z'
updated_at: '2020-01-02T03:04:05.677Z'
deleted_at:
script_id: 88
saved_search_id: 89
started_at: '2020-01-02T03:04:05.677Z'
overall_status: new
overall_status_modified_at: '2020-01-02T03:04:05.677Z'
overall_progress:
new: 0
queued: 0
working: 0
successful: 0
failed: 0
timed_out: 0
cancelling: 0
cancelled: 0
total: 0
overall_progress_modified_at: '2020-01-02T03:04:05.677Z'
overall_count: 0
overall_duration_seconds: 0.0
overall_data_length_bytes: 0
description_html: "<p>job description 88</p>\n"
description_html_tagline: job description 88
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/analysis_job"
"/datasets":
get:
summary: list datasets
security:
- auth_token_header: []
parameters: []
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/datasets?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 87
name: gen_dataset_name86
description: dataset description 86
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 541
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
description_html: "<p>dataset description 86</p>\n"
description_html_tagline: dataset description 86
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/dataset"
post:
summary: create dataset
security:
- auth_token_header: []
parameters: []
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`.<br />
Users that can't: `Harvester`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 89
name: gen_dataset_name88
description: dataset description 88
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
description_html: "<p>dataset description 88</p>\n"
description_html_tagline: dataset description 88
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/dataset"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/dataset"
"/datasets/{id}":
get:
summary: show dataset
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 90
name: gen_dataset_name89
description: dataset description 89
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 550
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
description_html: "<p>dataset description 89</p>\n"
description_html_tagline: dataset description 89
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/dataset"
patch:
summary: update dataset
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 91
name: gen_dataset_name91
description: dataset description 91
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 554
updated_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
description_html: "<p>dataset description 91</p>\n"
description_html_tagline: dataset description 91
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/dataset"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/dataset"
put:
summary: update dataset
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 92
name: gen_dataset_name93
description: dataset description 93
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 559
updated_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
description_html: "<p>dataset description 93</p>\n"
description_html_tagline: dataset description 93
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/dataset"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/dataset"
delete:
summary: can't delete a dataset
security:
- auth_token_header: []
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`.<br />
Users that can't: `Harvester`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'404':
description: not found
content:
application/json:
example:
meta:
status: 404
message: Not Found
error:
details: Could not find the requested page.
info:
original_route: datasets/93
original_http_method: DELETE
data:
"/datasets/new":
get:
summary: new dataset
security:
- auth_token_header: []
parameters: []
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
name:
description:
"/datasets/filter":
post:
summary: filter dataset
security:
- auth_token_header: []
parameters: []
tags:
- datasets
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/datasets/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 95
name: gen_dataset_name96
description: dataset description 96
created_at: '2020-01-02T03:04:05.677Z'
creator_id: 572
updated_at: '2020-01-02T03:04:05.677Z'
updater_id:
description_html: "<p>dataset description 96</p>\n"
description_html_tagline: dataset description 96
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/dataset"
"/projects/{project_id}/sites/filter":
post:
summary: filter site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/132/sites/filter?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 133
name: site name 135
description: site description 135
notes: note number 135
creator_id: 576
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id: 124
custom_latitude: -24.04628
custom_longitude: 171.790013
location_obfuscated: false
project_ids:
- 132
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 135</p>\n"
description_html_tagline: site description 135
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/site"
"/projects/{project_id}/sites/new":
get:
summary: new site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
longitude:
latitude:
notes:
image:
tzinfo_tz:
rails_tz:
"/projects/{project_id}/sites/{id}":
put:
summary: update site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 135
name: site name 138
description: site description 138
notes: note number 138
creator_id: 584
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude: -15.990541
custom_longitude: -51.99147
location_obfuscated: false
project_ids:
- 134
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 138</p>\n"
description_html_tagline: site description 138
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/site"
get:
summary: show site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 136
name: site name 139
description: site description 139
notes: note number 139
creator_id: 589
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id: 127
custom_latitude: 70.214108
custom_longitude: 110.073699
location_obfuscated: false
project_ids:
- 135
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 139</p>\n"
description_html_tagline: site description 139
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
patch:
summary: update site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
data:
id: 137
name: site name 141
description: site description 141
notes: note number 141
creator_id: 593
created_at: '2020-01-02T03:04:05.677Z'
updater_id: 1
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude: -23.627877
custom_longitude: 114.318721
location_obfuscated: false
project_ids:
- 136
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 141</p>\n"
description_html_tagline: site description 141
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/site"
delete:
summary: delete site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
- name: id
in: path
description: id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'204':
description: successful
"/projects/{project_id}/sites":
post:
summary: create site
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'201':
description: successful
content:
application/json:
example:
meta:
status: 201
message: Created
data:
id: 140
name: site name 144
description: site description 144
notes: note number 144
creator_id: 1
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id:
custom_latitude:
custom_longitude:
location_obfuscated: false
project_ids:
- 138
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 144</p>\n"
description_html_tagline: site description 144
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
"$ref": "#/components/schemas/site"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/site"
get:
summary: list sites
security:
- auth_token_header: []
parameters:
- name: project_id
in: path
description: project_id
required: true
schema:
type: integer
tags:
- sites
description: |2
Users that can invoke this route: `Admin`, `owner user`, `writer`, `reader`, `no_access`, `anyone`.<br />
Users that can't: `Harvester`.
Note: accessing a list/index/filter endpoint may return no results due to project permissions
responses:
'200':
description: successful
content:
application/json:
example:
meta:
status: 200
message: OK
sorting:
order_by: name
direction: asc
paging:
page: 1
items: 25
total: 1
max_page: 1
current: http://localhost:3000/projects/139/sites?direction=asc&items=25&order_by=name&page=1
previous:
next:
data:
- id: 141
name: site name 145
description: site description 145
notes: note number 145
creator_id: 607
created_at: '2020-01-02T03:04:05.677Z'
updater_id:
updated_at: '2020-01-02T03:04:05.677Z'
deleter_id:
deleted_at:
region_id: 131
custom_latitude: -28.745405
custom_longitude: -4.076742
location_obfuscated: false
project_ids:
- 139
timezone_information:
image_urls:
- size: extralarge
url: "/images/site/site_span4.png"
width: 300
height: 300
- size: large
url: "/images/site/site_span3.png"
width: 220
height: 220
- size: medium
url: "/images/site/site_span2.png"
width: 140
height: 140
- size: small
url: "/images/site/site_span1.png"
width: 60
height: 60
- size: tiny
url: "/images/site/site_spanhalf.png"
width: 30
height: 30
description_html: "<p>site description 145</p>\n"
description_html_tagline: site description 145
schema:
allOf:
- "$ref": "#/components/schemas/standard_response"
- type: object
properties:
data:
type: array
items:
"$ref": "#/components/schemas/site"
servers:
- url: "{protocol}://{authority}"
variables:
authority:
default: localhost:3000
protocol:
enum:
- http
- https
default: http
components:
securitySchemes:
auth_token_header:
type: apiKey
description: |
The api auth_token placed in the 'Authorization' header.
Example:
```
Token token="xxxxxxxxxx"
```
Where the your auth_token is substituted into the placeholder.
in: header
name: Authorization
scheme: Token
auth_token_query_string:
type: apiKey
name: user_token
in: query_string
schemas:
id:
type: integer
minimum: 0
readOnly: true
nullableId:
type:
- integer
- 'null'
minimum: 0
readOnly: true
timezone_information:
anyOf:
- type: object
properties:
identifier_alt:
type:
- string
- 'null'
identifier:
type: string
friendly_identifier:
type: string
utc_offset:
type: string
utc_total_offset:
type: integer
- type: 'null'
image_urls:
type: array
items:
type: object
properties:
size:
type: string
url:
type: string
format: URI
width:
type: integer
nullable: true
height:
type: integer
nullable: true
permission_levels:
type: string
nullable: true
enum:
- owner
- writer
- reader
-
meta:
properties:
capabilities:
type: object
items:
type: object
properties:
can:
type:
- 'null'
- boolean
details:
type: string
required:
- can
type: object
meta_error:
type: object
properties:
error:
type: object
required:
- error
standard_response:
type: object
additionalProperties: false
properties:
meta:
"$ref": "#/components/schemas/meta"
data:
oneOf:
- type: array
- type: object
required:
- meta
- data
error_response:
type: object
additionalProperties: false
properties:
meta:
allOf:
- "$ref": "#/components/schemas/meta"
- "$ref": "#/components/schemas/meta_error"
data:
type: 'null'
required:
- meta
- data
cms_blob:
type: object
required:
- id
- site_id
- layout_id
- parent_id
- target_page_id
- label
- slug
- full_path
- content
- position
- children_count
- is_published
- created_at
- updated_at
- children
properties:
id:
"$ref": "#/components/schemas/id"
site_id:
"$ref": "#/components/schemas/id"
layout_id:
"$ref": "#/components/schemas/id"
parent_id:
"$ref": "#/components/schemas/nullableId"
target_page_id:
"$ref": "#/components/schemas/nullableId"
label:
type: string
slug:
type: string
full_path:
type: string
format: uri-reference
content:
type: string
format: html
position:
type: integer
children_count:
type: integer
is_published:
type: boolean
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
children:
type: array
additionalItems: true
items:
type: object
properties:
label:
type: string
full_path:
type: string
format: uri-reference
additionalProperties: false
additionalProperties: false
stats:
type: object
required:
- summary
- recent
properties:
summary:
type: object
properties:
users_online:
type: integer
users_total:
type: integer
online_window_start:
type: string
format: date-time
readOnly: true
projects_total:
type: integer
regions_total:
type: integer
sites_total:
type: integer
annotations_total:
type: integer
annotations_total_duration:
type: number
annotations_recent:
type: integer
audio_recordings_total:
type: integer
audio_recordings_recent:
type: integer
audio_recordings_total_duration:
type: number
audio_recordings_total_size:
type: integer
tags_total:
type: integer
tags_applied_total:
type: integer
tags_applied_unique_total:
type: integer
recent:
type: object
properties:
audio_recording_ids:
type: array
items:
"$ref": "#/components/schemas/id"
audio_event_ids:
type: array
items:
"$ref": "#/components/schemas/id"
additionalProperties: false
project:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
notes:
type: string
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
site_ids:
type: array
items:
"$ref": "#/components/schemas/id"
readOnly: true
readOnly: false
region_ids:
type: array
items:
"$ref": "#/components/schemas/id"
readOnly: true
readOnly: true
owner_ids:
type: array
items:
"$ref": "#/components/schemas/id"
readOnly: true
readOnly: true
image_urls:
"$ref": "#/components/schemas/image_urls"
access_level:
"$ref": "#/components/schemas/permission_levels"
allow_original_download:
"$ref": "#/components/schemas/permission_levels"
allow_audio_upload:
type: boolean
required:
- id
- name
- description
- description_html
- description_html_tagline
- notes
- creator_id
- created_at
- updater_id
- updated_at
- deleter_id
- deleted_at
- owner_ids
- site_ids
- region_ids
- image_urls
- allow_original_download
analysis_job:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
annotation_name:
type:
- string
- 'null'
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
custom_settings:
type: string
script_id:
"$ref": "#/components/schemas/id"
saved_search_id:
"$ref": "#/components/schemas/id"
started_at:
type:
- 'null'
- date
readOnly: true
overall_status:
type: string
enum:
- before_save
- new
- preparing
- processing
- completed
- suspended
readOnly: true
overall_status_modified_at:
type:
- 'null'
- date
readOnly: true
overall_progress:
type: object
readOnly: true
overall_progress_modified_at:
type:
- 'null'
- date
readOnly: true
overall_count:
type: integer
readOnly: true
overall_duration_seconds:
type: number
readOnly: true
overall_data_length_bytes:
type: integer
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
required:
- id
- name
- description
- description_html
- description_html_tagline
- custom_settings
- script_id
- saved_search_id
- started_at
- overall_status
- overall_status_modified_at
- overall_progress
- overall_progress_modified_at
- overall_count
- overall_duration_seconds
- overall_data_length_bytes
bookmark:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
audio_recording_id:
"$ref": "#/components/schemas/id"
name:
type: string
category:
type: string
offset_seconds:
type: number
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
required:
- id
- audio_recording_id
- name
- category
- offset_seconds
- description
- description_html
- description_html_tagline
- creator_id
- created_at
- updater_id
- updated_at
dataset:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
required:
- id
- name
- description
- created_at
- creator_id
- updated_at
- updater_id
saved_search:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
analysis_job_ids:
type: array
items:
"$ref": "#/components/schemas/id"
project_ids:
type: array
items:
"$ref": "#/components/schemas/id"
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
stored_query:
type: object
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
required:
- id
- name
- description
- description_html
- description_html_tagline
- stored_query
- creator_id
- created_at
- deleter_id
- deleted_at
script:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
group_id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
analysis_identifier:
type: string
executable_settings:
type: string
executable_settings_media_type:
type: string
version:
type: number
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
is_last_version:
type: boolean
readOnly: true
is_first_version:
type: boolean
readOnly: true
analysis_action_params:
type: object
required:
- id
- group_id
- name
- description
- analysis_identifier
- executable_settings_media_type
- version
- created_at
- creator_id
- is_last_version
- is_first_version
- analysis_action_params
site:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
notes:
type: string
project_ids:
type: array
items:
"$ref": "#/components/schemas/id"
location_obfuscated:
type: boolean
custom_latitude:
type:
- number
- 'null'
minimum: -90
maximum: 90
custom_longitude:
type:
- number
- 'null'
minimum: -180
maximum: 180
timezone_information:
"$ref": "#/components/schemas/timezone_information"
readOnly: false
image_urls:
"$ref": "#/components/schemas/image_urls"
region_id:
"$ref": "#/components/schemas/nullableId"
required:
- id
- name
- description
- description_html
- description_html_tagline
- creator_id
- created_at
- updater_id
- updated_at
- deleter_id
- deleted_at
- notes
- project_ids
- location_obfuscated
- custom_latitude
- custom_longitude
- timezone_information
- image_urls
- region_id
region:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
notes:
type: object
project_id:
"$ref": "#/components/schemas/id"
site_ids:
type: array
items:
"$ref": "#/components/schemas/id"
readOnly: true
image_urls:
"$ref": "#/components/schemas/image_urls"
image:
type: string
format: binary
writeOnly: true
nullable: true
required:
- id
- name
- notes
- project_id
- description
- description_html
- description_html_tagline
- creator_id
- created_at
- updater_id
- updated_at
- deleter_id
- deleted_at
- site_ids
- image_urls
audio_recording:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
site_id:
"$ref": "#/components/schemas/id"
readOnly: true
duration_seconds:
type: number
sample_rate_hertz:
type: number
channels:
type: number
bit_rate_bps:
type: number
media_type:
type: string
data_length_bytes:
type: number
status:
type: string
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
recorded_date:
type: string
format: date-time
readOnly: false
file_hash:
type: string
notes:
type: object
recorded_date_timezone:
type:
- 'null'
- string
uploader_id:
"$ref": "#/components/schemas/nullableId"
readOnly: false
original_file_name:
type: string
canonical_file_name:
type: string
readOnly: true
recorded_utc_offset:
type:
- 'null'
- string
readOnly: true
required:
- id
- uuid
- site_id
- duration_seconds
- sample_rate_hertz
- channels
- bit_rate_bps
- media_type
- data_length_bytes
- status
- creator_id
- created_at
- updater_id
- updated_at
- deleter_id
- deleted_at
- recorded_date
- file_hash
- notes
- uploader_id
- original_file_name
- canonical_file_name
- recorded_utc_offset
permission:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
project_id:
"$ref": "#/components/schemas/id"
readOnly: false
level:
"$ref": "#/components/schemas/permission_levels"
user_id:
"$ref": "#/components/schemas/nullableId"
readOnly: false
allow_logged_in:
type: boolean
allow_anonymous:
type: boolean
required:
- id
- project_id
- creator_id
- created_at
- updater_id
- updated_at
- level
- user_id
- allow_anonymous
- allow_logged_in
harvest:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type:
- 'null'
- string
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
project_id:
"$ref": "#/components/schemas/id"
readOnly: true
streaming:
type: boolean
status:
type: string
enum:
- new_harvest
- uploading
- scanning
- metadata_extraction
- metadata_review
- processing
- complete
last_upload_at:
type:
- 'null'
- string
format: date-time
readOnly: true
last_metadata_review_at:
type:
- 'null'
- string
format: date-time
readOnly: true
last_mappings_change_at:
type:
- 'null'
- string
format: date-time
readOnly: true
upload_user:
type:
- 'null'
- string
readOnly: true
upload_password:
type:
- 'null'
- string
readOnly: true
upload_url:
type:
- 'null'
- string
format: url
readOnly: true
mappings:
type:
- array
- 'null'
items:
type: object
properties:
path:
type: string
site_id:
type:
"$ref": "#/components/schemas/nullableId"
readOnly: true
report:
type: object
readOnly: true
properties:
items_total:
type: integer
items_size_bytes:
type: integer
items_duration_seconds:
type: number
items_invalid_fixable:
type: integer
items_invalid_not_fixable:
type: integer
items_new:
type: integer
items_metadata_gathered:
type: integer
items_failed:
type: integer
items_completed:
type: integer
items_errored:
type: integer
latest_activity_at:
type:
- 'null'
- string
format: date-time
run_time_seconds:
type:
- 'null'
- number
required:
- id
- creator_id
- created_at
- updater_id
- updated_at
- project_id
- status
- streaming
- upload_user
- upload_password
- upload_url
- mappings
- report
harvest_item:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted:
type: boolean
readOnly: true
path:
type: string
readOnly: true
status:
type: string
enum:
- new
- metadata_gathered
- failed
- completed
- errored
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
audio_recording_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
uploader_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
harvest_id:
"$ref": "#/components/schemas/id"
readOnly: true
validations:
type: array
readOnly: true
items:
type: object
additionalProperties: false
properties:
status:
type: string
readOnly: true
enum:
- fixable
- not_fixable
message:
type: string
readOnly: true
name:
type: string
readOnly: true
report:
type: object
readOnly: true
properties:
items_total:
type: integer
items_size_bytes:
type:
- 'null'
- integer
items_duration_seconds:
type:
- 'null'
- integer
items_invalid_fixable:
type: integer
items_invalid_not_fixable:
type: integer
items_new:
type: integer
items_metadata_gathered:
type: integer
items_failed:
type: integer
items_completed:
type: integer
items_errored:
type: integer
audio_event_import:
type: object
additionalProperties: false
properties:
id:
"$ref": "#/components/schemas/id"
readOnly: true
name:
type: string
description:
type:
- string
- 'null'
description_html:
type:
- string
- 'null'
readOnly: true
description_html_tagline:
type:
- string
- 'null'
readOnly: true
creator_id:
"$ref": "#/components/schemas/id"
readOnly: true
created_at:
type: string
format: date-time
readOnly: true
updater_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
updated_at:
type:
- 'null'
- string
format: date-time
readOnly: true
deleter_id:
"$ref": "#/components/schemas/nullableId"
readOnly: true
deleted_at:
type:
- 'null'
- string
format: date-time
readOnly: true
files:
type: array
readOnly: true
items:
type: object
additionalProperties: false
properties:
name:
type: string
additional_tags:
type: array
items:
"$ref": "#/components/schemas/id"
readOnly: true
readOnly: true
imported_at:
type: string
format: date-time
readOnly: true
readOnly: true
imported_events:
type: array
readOnly: true
items:
properties:
errors:
type: array
readOnly: true
readOnly: true
required:
- id
- name
- files
- imported_events
- description
- description_html
- description_html_tagline
- creator_id
- created_at
- updater_id
- updated_at
- deleter_id
- deleted_at