Skip to main content

Onna Platform API (v1.1.0)

Download OpenAPI specification:Download

Introduction

The Onna Platform API enables you to programmatically upload your data into our Knowledge Integration Platform. This unlocks the possibility to have all your data in one place and turn it into knowledge—even data we don't support directly with one of our connectors.

Key concepts

Before starting to use the API, we recommend to become familiar with some key concepts. For more information on the key concepts, see API basics.

Requirements

To use this API, you must have an active account on an Enterprise Plan and have the Developer role assigned.

For more information, see Requirements.

Security

This API requires that all requests are made using HTTPS and must be authenticated with a valid token.

Response codes

A full list of the response codes returned by this API is available at Response codes.

Versioning

This API uses semantic versioning to ensure that your client doesn't break. The version is declared in the URL so that you can lock to a specific one by prefix the URL.

When the version declared in the URL is not supported, you will receive a 400 response.

For more information, see Versioning.

Date and time format

This API supports dates and times in ISO 8601 format.

Pagination

This API uses cursoring to divide large sets of results in multiple pages. For more information, see Pagination.

Parameters

There are many ways to pass parameters when making requests to this API. For more information, see Parameters.

Resource types

You can ingest various type of resources. For more information, see Resource types.

Authentication

Our API uses OAuth 2's Client Credentials Grant to authenticate your requests. This grant type is especially suited for machine-to-machine (M2M) applications, such as the applications you build on top of the Onna platform.

For more information please check our detailed authentication docs.

Login

Exchange credentials for an access token.

Authorizations:
OAuth2
Request Body schema: application/x-www-form-urlencoded
client_id
string (Client ID)

Unique client ID, generated in the Platform API app.

client_secret
string (Client Secret)

Unique client secret, generated in the Platform API app.

Grant Type (string) or Grant Type (null) (Grant Type)
Default: "client_credentials"

Use the default value.

Responses

Request samples

curl --request POST \
  --url 'https://api.onna.com/v1/oauth/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'client_id=YOUR_CLIENT_ID' \
  --data-urlencode 'client_secret=YOUR_CLIENT_SECRET' \
  --data-urlencode 'grant_type=client_credentials'

Response samples

Content type
application/json
{
  • "access_token": "<BEARER_TOKEN>",
  • "expires_in": 3599,
  • "token_type": "bearer"
}

Current User

Return information about the currently authenticated user.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Response samples

Content type
application/json
{
  • "example": {
    }
}

Workspaces

Workspaces are locations where you can collect data coming from different sources, organize it, and collaborate with other members of your team.

You can share workspaces with collaborators with various permission levels and roles. Permission levels are dependent on the type of expected collaboration. You can also search across an entire workspace and export the results of your searches or entire data collections.

This collection includes all the endpoints that enable you to work and collaborate inside workspaces.

List Workspaces

List workspaces.

Authorizations:
OAuth2
query Parameters
Cursor (string) or Cursor (null) (Cursor)
Examples: cursor=2022-02-22T11:11:11.12345
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --location --request GET 'https://api.onna.com/v1/workspaces?cursor=100' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "cursor": "string",
  • "items": [
    ]
}

Create Workspace

Create a workspace.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Description (string) or Description (null) (Description)

Short description of the workspace.

Embeddings Enabled (boolean) or Embeddings Enabled (null) (Embeddings Enabled)

Flag to enable or disable embeddings calculation for the workspace.

name
required
string (Name)

Display name of the workspace.

Array of Tags (strings) or Tags (null) (Tags)

Labels attached to the workspace for the purpose of identification or to give meta information.

Responses

Request samples

Content type
application/json
{
  • "description": "My personal workspace",
  • "embeddings_enabled": true,
  • "name": "My workspace",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "onna_id": "ws6f0c5339de42f9964e6afe9bf20469",
  • "type": "BoxEDatasource"
}

Delete Workspace

Delete a Workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --location --request DELETE 'https://api.onna.com/v1/workspaces/ws6f0c5339de42f9964e6afe9bf20469' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Retrieve Workspace Info

Retrieve information related to a workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --location --request GET 'https://api.onna.com/v1/workspaces/ws6f0c5339de42f9964e6afe9bf20469' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json

Response samples

Content type
application/json
{
  • "creation_datetime": "2025-04-29T08:51:06.803407+00:00",
  • "description": "My personal workspace",
  • "modification_datetime": "2025-04-29T08:51:06.803407+00:00",
  • "name": "My workspace",
  • "onna_id": "ws6f0c5339de42f9964e6afe9bf20469",
  • "tags": [
    ]
}

Update Workspace

Update the workspace. For example, rename it from my-workspace to my-new-workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Description (string) or Description (null) (Description)

Short description of the workspace.

Embeddings Enabled (boolean) or Embeddings Enabled (null) (Embeddings Enabled)

Flag to enable or disable embeddings calculation for the workspace.

Name (string) or Name (null) (Name)

Display name of the workspace.

Array of Tags (strings) or Tags (null) (Tags)

Labels attached to the workspace for the purpose of identification or to give meta information.

Responses

Request samples

Content type
application/json
{
  • "description": "My personal workspace",
  • "embeddings_enabled": true,
  • "name": "My workspace",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

List Workspace Custom Fields

List custom fields for a workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

query Parameters
Cursor (string) or Cursor (null) (Cursor)
Examples: cursor=2022-02-22T11:11:11.12345
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/workspaces/0c5dfdeb9df34e44a754975a2ad9473d/customFields' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "cursor": "string",
  • "items": [
    ]
}

Enable Workspace Custom Field

Enable custom field for a workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
onna_id
required
string (Onna ID)

Alphanumeric unique identifier of the workspace.

Responses

Request samples

Content type
application/json
{
  • "onna_id": "cf-b20696ae9"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Read Workspace Custom Value

Get custom field value for a workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

field_id
required
string (Field ID)
Examples: cf-b20696ae9

Unique ID of the field.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --location 'https://stage.intra.onna.internal/api/v1/workspaces/0c5dfdeb9df34e44a754975a2ad9473d/customFields/cf-testdates' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>'

Response samples

Content type
application/json
{
  • "onna_id": "cf-b20696ae9",
  • "value": "My custom field value"
}

Update Workspace Custom Value

Set custom field value for a workspace.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Workspace ID)
Examples: myworkspace-ZPM9Jf4zQ

Unique ID of the workspace.

field_id
required
string (Field ID)
Examples: cf-b20696ae9

Unique ID of the field.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
value
required
string (Value)

Custom field value

Responses

Request samples

Content type
application/json
{
  • "value": "My custom field value"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Collections

Collections are designed to facilitate the management and collaboration of data within workspaces. Workspaces serve as centralized locations where data from multiple sources can be organized and shared with team members.

Collaborators can be assigned different roles and permissions based on collaboration needs. These endpoints allow searching across the workspace and exporting results or entire data collections.

This collection provides all necessary endpoints to enable seamless collaboration and efficient data handling within workspaces.

Create Collection

Create a collection in a workspace.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
name
required
string (Name)

Display name of the Collection.

onna_parent_id
required
string (Parent ID)

The ID of the parent Workspace.

type
required
string (Type)

The type of the collection.

Responses

Request samples

Content type
application/json
{
  • "name": "My collection",
  • "onna_parent_id": "b7c6f55fa54c4a3e821e825bd6262c0f",
  • "type": "ebox"
}

Response samples

Content type
application/json
{
  • "onna_id": "8a8ead66ba6f4862b922a911dd67c439",
  • "type": "BoxEDatasource"
}

Authenticate Source

Authenticate to a given source type.

Authorizations:
OAuth2
path Parameters
source_type
required
string (Source Type)
Enum: "s3" "box" "ebox" "confluence" "dropbox" "edropbox" "gcs" "gdrive" "egdrive" "github" "gmail" "gsuite" "gvault" "imap" "jira" "eworkplace" "miro" "msteams" "emsteams" "office365" "okta" "onedrive" "eonedrive" "mgraphmail" "quip" "equip" "salesforce" "sharepoint" "slack" "eslack" "twitter" "zendesk" "zoom" "slackjson" "logikcull"

Source to authenticate to.

query Parameters
redirect_to
required
string (Redirect To)

Final URL to redirect to.

Scopes Type (string) or Scopes Type (null) (Scopes Type)

Type of scopes to request.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Any of
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
null

Delete Collection

Delete the collection. 📌 This also deletes all resources contained in it!

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request DELETE \
--url 'https://api.onna.com/v1/collections/fd9f0c5339de42f9964e6afe9bf20259' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Retrieve Collection Info

Retrieve information related to a collection.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET \
--url 'https://api.onna.com/v1/collections/fd9f0c5339de42f9964e6afe9bf20259' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json' \

Response samples

Content type
application/json
{
  • "configured": false,
  • "name": "My new collection",
  • "onna_id": "f3fb1c53300a4127945274779272d4b0",
  • "sync_status": "created",
  • "type": "ebox",
  • "type_sync": "one"
}

Update Collection

Update the collection. For example, rename it from My collection to My updated collection name.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Name (string) or Name (null) (Name)

Display name of the Collection.

Sync Filters (object) or Sync Filters (null) (Sync Filters)

Sync filters for the collection.

Sync Status (string) or Sync Status (null) (Sync Status)

The sync status of the collection.

Type Sync (string) or Type Sync (null) (Type Sync)

The sync type of the collection (One, Auto or Archive).

Responses

Request samples

Content type
application/json
{
  • "name": "My updated collection name",
  • "sync_filters": {
    },
  • "sync_status": "pending",
  • "type_sync": "one"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

List of folders

Get list of Folders from the 3rd party service.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET \
--url 'https://api.onna.com/v1/collections/a859397e23bd44d6a5e7a9f68b9f9ae9/folders' \
--header 'Authorization: Bearer <ACCESS_TOKEN>'

Response samples

Content type
application/json
{
  • "_next": "string",
  • "results": [
    ],
  • "total_count_label": "string"
}

Pair credential with Source.

Pair a credential to a source.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

query Parameters
auth_code
required
string (Auth Code)

Authorization code from source.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --location --request POST 'https://api.onna.com/v1/collections/<COLLECTION_ID>/pair_credentials?auth_code=<AUTH_CODE>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Start Sync

Start the sync process for the collection.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Response samples

Content type
application/json
null

List of users

Get list of Users from the 3rd party service.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the collection.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET \
--url 'https://api.onna.com/v1/collections/a859397e23bd44d6a5e7a9f68b9f9ae9/users' \
--header 'Authorization: Bearer <ACCESS_TOKEN>'

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "limit": 0,
  • "next_marker": "string"
}

Folders

Folders are containers for your files or other folders. A place where you can group your resources together, like in any desktop operating system.

This collection includes all the endpoints that enable you to handle folders, such as creating, retrieving, or deleting them.

Create Folder

Create a folder in a workspace.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
name
required
string (Name)

Display name of the Folder.

onna_parent_id
required
string (Parent ID)

The ID of the parent Workspace or Folder.

Responses

Request samples

Content type
application/json
{
  • "name": "My folder",
  • "onna_parent_id": "b7c6f55fa54c4a3e821e825bd6262c0f"
}

Response samples

Content type
application/json
{
  • "onna_id": "8a8ead66ba6f4862b922a911dd67c439"
}

Delete Folder

Delete the folder. 📌 This also deletes all resources contained in it!

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the folder.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request DELETE \
--url 'https://api.onna.com/v1/folders/fd9f0c5339de42f9964e6afe9bf20259' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Retrieve Folder Info

Retrieve information related to a folder.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the folder.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET \
--url 'https://api.onna.com/v1/folders/fd9f0c5339de42f9964e6afe9bf20259' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json' \

Response samples

Content type
application/json
{
  • "name": "My folder",
  • "onna_id": "fd9f0c5339de42f9964e6afe9bf20259"
}

Update Folder

Update the folder. For example, rename it from My folder to My updated folder name.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the folder.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
name
required
string (Name)

Display name of the Folder.

Responses

Request samples

Content type
application/json
{
  • "name": "My updated folder name"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Resources: Files

You can ingest a wide range of raw files.

Here's the details of what raw files you can view in the UI:

  • Media (Audio, Video, Images)
  • PDFs
  • Microsoft Documents (DOC, DOCX, PPT, PPTX), rendered as PDFs
  • Microsoft Spreadsheets (Worksheets rendered as tabs)
  • Plain text (CSV, TXT), rendered as PDFs
  • Emails (EML, MSG)
  • Web pages (HTM, HTML)
  • Code

For more information,please check our docs about raw-files ingestion.

Create File

Create a file resource.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Comment (string) or Comment (null) (Comment)

Comment type of file.

Creation Date (string) or Creation Date (null) (Creation Date)

Date when file was created.

Creator (string) or Creator (null) (Creator)

User that created the file.

Deleter (string) or Deleter (null) (Deleter)

User that deleted the file.

Deletion Date (string) or Deletion Date (null) (Deletion Date)

Date when file was deleted.

Description (string) or Description (null) (Description)

File description.

Name (string) or Name (null) (Name)

File name.

onna_parent_id
required
string (Parent ID)

The ID of the parent Workspace or Folder.

Array of Origin Tags (strings) or Origin Tags (null) (Origin Tags)

List of tags associated to the file in the origin.

Path (string) or Path (null) (Path)

Path to file, at the origin.

ref
required
string (Reference)

The Reference Number or ID for the file at the origin.

Share URL (string) or Share URL (null) (Share URL)

Link or invite to share file (at origin).

Status (string) or Status (null) (Status)

File status: Deleted, Archived, etc.

Type (string) or Type (null) (Type)

Type of file.

Update Date (string) or Update Date (null) (Update Date)

Date when the file was last updated.

Updater (string) or Updater (null) (Updater)

The last user to update the file.

url
required
string (URL)

A Unique Resource Locator for the file at the origin.

Version (string) or Version (null) (Version)

Version.

Responses

Request samples

Content type
application/json
{
  • "comment": "Creative Commons PDF",
  • "creation_date": "2022-07-21T09:02:40.083388+00:00",
  • "creator": "Creative Commons ORG",
  • "description": "Creative Commons PDF",
  • "name": "Creativecommons-what-is-creative-commons_eng.pdf",
  • "onna_parent_id": "0ec85634bf2c4d8db453a65551c36b8d",
  • "origin_tags": [
    ],
  • "path": "/images/3/35",
  • "ref": "Creativecommons-what-is-creative-commons_eng",
  • "type": "pdf",
  • "update_date": "2022-07-21T09:02:40.083388+00:00",
  • "updater": "Bob",
}

Response samples

Content type
application/json
{
  • "onna_id": "string"
}

Delete File

Delete the file.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the file.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request DELETE 'https://api.onna.com/v1/resources/files/fs3f0c5339de42f9964e6afe9bf20169' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Read File

Retrieve a file resource.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the file.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/resources/files/fs3f0c5339de42f9964e6afe9bf20169' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "comment": "Creative Commons PDF",
  • "creation_date": "2022-07-21T09:02:40.083388+00:00",
  • "creator": "Creative Commons ORG",
  • "description": "Creative Commons PDF",
  • "name": "Creativecommons-what-is-creative-commons_eng.pdf",
  • "onna_parent_id": "0ec85634bf2c4d8db453a65551c36b8d",
  • "origin_tags": [
    ],
  • "path": "/images/3/35",
  • "ref": "Creativecommons-what-is-creative-commons_eng",
  • "type": "pdf",
  • "update_date": "2022-07-21T09:02:40.083388+00:00",
  • "updater": "Bob",
}

Update File

Update a file resource.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (File ID)

Unique ID of the file resource.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Array of Tags (strings) or Tags (null) (Tags)

List of onna tags to update for the file.

Any of
Array
string

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Resources: Tickets

The Ticket resource type defines resources with which two parties communicate to track work to resolve issues or deliver incremental value. Customer support requests, service desk tickets, or software development projects are some examples of what can be mapped to this resource type.

Read our developer documentation to learn more about the Ticket resource type.

Create Ticket

Create a ticket resource.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Assignee Group (string) or Assignee Group (null) (Assignee Group)

Assignee group.

Array of Assignees (strings) or Assignees (null) (Assignees)

List of users assigned to the ticket.

Author (string) or Author (null) (Author)

The user that created the ticket.

Category (string) or Category (null) (Category)

Category.

Array of Comments (objects) or Comments (null) (Comments)

List of messages associated to the ticket.

Creation Date (string) or Creation Date (null) (Creation Date)

Date when the ticket was created.

Description (string) or Description (null) (Description)

Description.

Array of Followers (strings) or Followers (null) (Followers)

List of users following the ticket.

name
required
string (Name)

Title.

onna_parent_id
required
string (Parent ID)

The ID of the parent Folder.

Array of Origin Tags (strings) or Origin Tags (null) (Origin Tags)

List of tags associated to the ticket in the origin.

Priority (string) or Priority (null) (Priority)

Priority: high, medium, low, etc.

Array of Reactions (strings) or Reactions (null) (Reactions)

List of reactions.

ref
required
string (Reference)

The Reference Number or ID for the ticket at the origin.

Requester (string) or Requester (null) (Requester)

The user that requested the ticket.

Severity (string) or Severity (null) (Severity)

Severity: high, medium, low, etc.

Status (string) or Status (null) (Status)

Ticket status: open, closed, archived, etc.

Subcategory (string) or Subcategory (null) (Subcategory)

Subcategory.

Type (string) or Type (null) (Type)

Type of ticket.

Update Date (string) or Update Date (null) (Update Date)

Date when the ticket was last updated.

Updater (string) or Updater (null) (Updater)

The last user to update the ticket.

url
required
string (URL)

A Unique Resource Locator for the ticket at the origin.

Responses

Request samples

Content type
application/json
{
  • "assignee_group": "IT Support",
  • "assignees": [
    ],
  • "author": "Bob",
  • "category": "incident",
  • "comments": [
    ],
  • "creation_date": "2022-07-21T09:02:40.083388+00:00",
  • "description": "Ticket description",
  • "followers": [
    ],
  • "name": "CS0001401",
  • "onna_parent_id": "da72de92fef04c6a9cc5cfe018fa9cd6",
  • "origin_tags": [
    ],
  • "priority": "medium",
  • "reactions": [
    ],
  • "ref": "f352dc9387632300d6b0a7da0acb0b60",
  • "requester": "Alice",
  • "severity": "low",
  • "status": "open",
  • "subcategory": "hardware",
  • "type": "incident",
  • "update_date": "2022-07-21T09:02:40.083388+00:00",
  • "updater": "Bob",
}

Response samples

Content type
application/json
{
  • "onna_id": "string"
}

Delete Ticket

Delete the ticket.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the ticket.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request DELETE 'https://api.onna.com/v1/resources/tickets/tk3f0c5339de42f9964e6afe9bf20358' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Read Ticket

Retrieve a ticket resource.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the ticket.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/resources/tickets/tk3f0c5339de42f9964e6afe9bf20358' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "assignee_group": "IT Support",
  • "assignees": [
    ],
  • "author": "Bob",
  • "category": "incident",
  • "comments": [
    ],
  • "creation_date": "2022-07-21T09:02:40.083388+00:00",
  • "description": "Ticket description",
  • "followers": [
    ],
  • "name": "CS0001401",
  • "onna_parent_id": "da72de92fef04c6a9cc5cfe018fa9cd6",
  • "origin_tags": [
    ],
  • "priority": "medium",
  • "reactions": [
    ],
  • "ref": "f352dc9387632300d6b0a7da0acb0b60",
  • "requester": "Alice",
  • "severity": "low",
  • "status": "open",
  • "subcategory": "hardware",
  • "type": "incident",
  • "update_date": "2022-07-21T09:02:40.083388+00:00",
  • "updater": "Bob",
}

Update Ticket

Update a ticket resource.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (Ticket ID)

Unique ID of the ticket.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Array of Tags (strings) or Tags (null) (Tags)

List of onna tags to update for the ticket.

Any of
Array
string

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Upload

A generic endpoint to upload a raw file to an existing resource (ticket, file, etc).

Our upload engine is based on the TUS protocol and treats every upload as a resumable file upload.

Check our get started guide.

Whatever the programming language you're using, it's possible that there's a library that integrates this protocol.

For more information about TUS, see the TUS documentation.

Head Resource File Resumable Upload

HEAD a resource's file, for use with the TUS protocol.

Authorizations:
OAuth2
path Parameters
id
required
string (Id)
header Parameters
tus-resumable
string (Tus-Resumable)

The Tus-Resumable header is included in every request and response.

Tus-Resumable: 1.0.0

For more information on the headers used by TUS, see "the protocol specification".

authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl -i 'https://api.onna.com/v1/upload/d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0/tus' \
  -X 'HEAD' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'content-type: application/offset+octet-stream' \
  -H 'tus-resumable: 1.0.0' \

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Options Resource File

TUS OPTIONS may be used to gather information about the Server's current configuration.

Authorizations:
OAuth2
path Parameters
id
required
string (Id)
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl -i 'https://api.onna.com/v1/upload/d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0/tus' \
  -X 'OPTIONS' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'content-type: application/offset+octet-stream' \

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Resume Resource File Upload

TUS PATCH applies partial modifications to a resource.

Authorizations:
OAuth2
path Parameters
id
required
string (Id)
header Parameters
content-length
string (Content-Length)

The Content-Length header indicates the size of the message body, in bytes, sent to the recipient.

Content-Length: 512

For more information on headers, see "the MDN Web Docs".

content-type
string (Content-Type)

The Content-Type representation header is used to indicate the original media type of the resource (prior to any content encoding applied for sending).

Content-Type: application/json; charset=utf-8

For more information on headers, see "the MDN Web Docs".

upload-offset
string (Upload-Offset)

The Upload-Offset request and response header indicates a byte offset within a resource. The value MUST be a non-negative integer.

Upload-Offset: 64

For more information on the headers used by TUS, see "the protocol specification".

tus-resumable
string (Tus-Resumable)

The Tus-Resumable header is included in every request and response.

Tus-Resumable: 1.0.0

For more information on the headers used by TUS, see "the protocol specification".

authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl 'https://api.onna.com/v1/upload/d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0/tus' \
  -X 'PATCH' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'content-type: application/offset+octet-stream' \
  -H 'tus-resumable: 1.0.0' \
  -H 'upload-offset: 0' \
  --data $'%PDF-1.4\v3ryl0ngstr1ng0fR4wD4t4' \
  --compressed

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Create Resource File Resumable Upload

TUS CREATION endpoint.

The created file has the same URL as the current endpoint, since a resource can only have a single file.

Authorizations:
OAuth2
path Parameters
id
required
string (Id)
header Parameters
upload-defer-length
string (Upload-Defer-Length)

The Upload-Defer-Length request and response header indicates that the size of the upload is not known currently and will be transferred later. Its value MUST be 1. If the length of an upload is not deferred, this header MUST be omitted.

Upload-Defer-Length: 1

For more information on the headers used by TUS, see "the protocol specification".

upload-length
string (Upload-Length)

The Upload-Length request and response header indicates the size of the entire upload in bytes. The value MUST be a non-negative integer.

Upload-Length: 512

For more information on the headers used by TUS, see "the protocol specification".

upload-metadata
string (Upload-Metadata)

The Upload-Metadata request and response header MUST consist of one or more comma-separated key-value pairs. The key and value MUST be separated by a space. The key MUST NOT contain spaces and commas and MUST NOT be empty. The key SHOULD be ASCII encoded and the value MUST be Base64 encoded. All keys MUST be unique. The value MAY be empty. In these cases, the space, which would normally separate the key and the value, MAY be left out.

Upload-Metadata: filename d29ybGRfZG9taW5hdGlvbl9wbGFuLnBkZg==,is_confidential

For more information on the headers used by TUS, see "the protocol specification".

tus-resumable
string (Tus-Resumable)

The Tus-Resumable header is included in every request and response.

Tus-Resumable: 1.0.0

For more information on the headers used by TUS, see "the protocol specification".

authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl 'https://api.onna.com/v1/upload/d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0/tus' \
  -X 'POST' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'content-length: 0' \
  -H 'tus-resumable: 1.0.0' \
  -H 'upload-length: 44251' \
  -H 'upload-metadata: name Q3JlYXRpdmVjb21tb25zLXdoYXQtaXMtY3JlYXRpdmUtY29tbW9uc19lbmcucGRm' \
  --compressed

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Create Resource File Single Request

Create single request for resource file upload.

Authorizations:
OAuth2
path Parameters
id
required
string (Id)
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl -i 'https://api.onna.com/v1/upload/d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0/tus' \
  -X 'PUT' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'content-type: application/offset+octet-stream' \

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Utils

API Utils, such as the health endpoint.

Health Check

Check service status, version and build.

Authorizations:
OAuth2

Responses

Request samples

curl --request GET \
--url 'https://api.onna.com/v1/health' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json' \

Response samples

Content type
application/json
{
  • "release_id": "1.0.0",
  • "status": "pass",
  • "version": "v1"
}

Wallet

The Wallet is a store where external credentials are stored in Onna platform. A WalletEntry is an entity that holds a single credential. It can be either a plain string or a JSON object and can store additional metadata as well.

This collection includes all the endpoints that enable you to work.

Create Wallet Entry

Create a wallet entry.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
credential_type_name
string (AllowedCredentialTypes)
Default: "ExternalCredential"
Enum: "ExternalCredential" "GSuiteEDatasource" "BoxEDatasource"
Credentials (string) or Credentials (object) or Credentials (null) (Credentials)

Credentials to store in the wallet entry.

AllowedCredentialScopesTypes (string) or null
Default: "content.read"
Metadata (object) or Metadata (null) (Metadata)

Metadata associated with the credentials to store.

name
string (Name)
Default: "Public API Wallet Entry"

Display name of the wallet entry.

Responses

Request samples

Content type
application/json
{
  • "credentials": "ASECR3TT0K3N",
  • "metadata": {
    },
  • "name": "wallet1"
}

Response samples

Content type
application/json
{
  • "onna_id": "006334fe06174ccaa2d1710a37e6d7f6"
}

Delete wallet entry

Delete a wallet entry

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the wallet entry.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --location --request DELETE 'https://api.onna.com/v1/wallet/f601fdfadf5c4bea99186f24bc7aa306' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Retrieve wallet entry info

Retrieve information related to a wallet entry.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the wallet entry.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET \
--url 'https://api.onna.com/v1/wallet/f601fdfadf5c4bea99186f24bc7aa306' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json' \

Response samples

Content type
application/json
{
  • "creation_datetime": "2021-08-25T12:00:00Z",
  • "metadata": {
    },
  • "modification_datetime": "2021-08-25T12:00:00Z",
  • "name": "Public API Wallet Entry",
  • "onna_id": "ws6f0c5339de42f9964e6afe9bf20469"
}

Update Wallet Entry

Update the wallet entry. For example, rename it, update the credentials or the metadata.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the wallet entry.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
Credentials (string) or Credentials (object) or Credentials (null) (Credentials)

Credentials to store in the wallet entry.

Metadata (object) or Metadata (null) (Metadata)

Metadata associated with the credentials to store.

Name (string) or Name (null) (Name)

Display name of the wallet entry.

Responses

Request samples

Content type
application/json
{
  • "credentials": "NEWASECR3TT0K3N",
  • "metadata": {
    },
  • "name": "Updated wallet entry"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Exports

Exports are a collection of files from either a search or a datasource, based on the settings configured.

Exports can include additional metadata, related files, natives, PDFs, or extracted text in downloadable zip(s) that can be used to provide information for an interested party.

The endpoints in this section allow you to list exports, retrieve information about a specific export, and download export metadata.

An export response includes information such as its status, name, size, and the number of documents processed. The metadata URL provides access to additional information related to the export.

NOTE:
When downloading export volumes, the generated metadata.csv/dat file will always be in the last volume generated.

List Exports

List exports.

Authorizations:
OAuth2
query Parameters
Cursor (string) or Cursor (null) (Cursor)
Examples: cursor=2022-02-22T11:11:11.12345
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/exports' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{}

Retrieve export info

Retrieve information related to an Export.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the Export.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/exports/fs3f0c5339de42f9964e6afe9bf20169' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{}

Download export metadata

Download the metadata of an Export.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (ID)

Unique ID of the Export.

query Parameters
key
required
string (Key)

Temporary key to download the metadata.

header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/exports/fs3f0c5339de42f9964e6afe9bf20169/metadata?key=R9OXYeXjSiLT3oLSxfs5H6HhhmBnd' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
null

Legal Hold

Legal Hold Management operations

Acknowledge an email notification

Authorizations:
OAuth2
Request Body schema: application/json
token
required
string (Token)

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
null

Delete account logo

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
null

Get account logo

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "file": "string",
  • "filename": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "type": "none"
}

Update account logo

Authorizations:
OAuth2
Request Body schema: application/json
File (string) or File (null) (File)
Filename (string) or Filename (null) (Filename)
type
string (LegalHold_LogoTypes)
Default: "onna"
Enum: "none" "onna" "custom"

Responses

Request samples

Content type
application/json
{
  • "file": "string",
  • "filename": "string",
  • "type": "none"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "file": "string",
  • "filename": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "type": "none"
}

Get a list of the matters

Authorizations:
OAuth2
query Parameters
Since (string) or Since (null) (Since)

Responses

Response samples

Content type
application/json
{ }

Add a matter

Authorizations:
OAuth2
Request Body schema: application/json
Billing Number (string) or Billing Number (null) (Billing Number)
Case Owner (string) or Case Owner (null) (Case Owner)
Jurisdiction (string) or Jurisdiction (null) (Jurisdiction)
MatterStatus (string) or null
Default: "active"
MatterTypes (string) or null
Notes (string) or Notes (null) (Notes)
Title (string) or Title (null) (Title)

Responses

Request samples

Content type
application/json
{
  • "billing_number": "string",
  • "case_owner": "string",
  • "jurisdiction": "string",
  • "matter_status": "active",
  • "matter_type": "litigation",
  • "notes": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{ }

Delete a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)

Responses

Response samples

Content type
application/json
{ }

Update a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
Request Body schema: application/json
Billing Number (string) or Billing Number (null) (Billing Number)
Case Owner (string) or Case Owner (null) (Case Owner)
Jurisdiction (string) or Jurisdiction (null) (Jurisdiction)
MatterStatus (string) or null
Default: "active"
MatterTypes (string) or null
Notes (string) or Notes (null) (Notes)
Title (string) or Title (null) (Title)

Responses

Request samples

Content type
application/json
{
  • "billing_number": "string",
  • "case_owner": "string",
  • "jurisdiction": "string",
  • "matter_status": "active",
  • "matter_type": "litigation",
  • "notes": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{ }

Close a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{ }

Get a list of the custodians

Parameters:

  • sort: Sort the result by field
  • order: Sort the result in acs or desc
  • limit: The max number of items to be returned, default is 10, and maximum is 100
  • cursor: Get next custodians from a cursor
Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Notification Id (string) or Notification Id (null) (Notification Id)
Ack (boolean) or Ack (null) (Ack)
Sent (boolean) or Sent (null) (Sent)
Search (string) or Search (null) (Search)
On Hold (boolean) or On Hold (null) (On Hold)
Role (string) or Role (null) (Role)
NotificationType (string) or Notification Type (null) (Notification Type)
Default: "initial"
sort
string (LegalHold_legal_hold_service__rest__custodians__Sort)
Default: "name"
Enum: "name" "role" "initial_notice_sent_on" "acknowledged_at" "sources"
order
string (LegalHold_Order)
Default: "asc"
Enum: "asc" "desc"
limit
integer (Limit) [ 0 .. 100 ]
Default: 10
Cursor (string) or Cursor (null) (Cursor)
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "cursor": "string",
  • "custodians": [ ],
  • "total_count": 0
}

Add a custodian

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
required
Array of objects (Custodians) [ 1 .. 5000 ] items
Array ([ 1 .. 5000 ] items)
email
required
string (Email) <= 64 characters
first_name
required
string (First Name) <= 40 characters
last_name
required
string (Last Name) <= 40 characters
role
string (LegalHold_Role)
Default: "custodian"
Enum: "custodian" "silent"

Responses

Request samples

Content type
application/json
{
  • "custodians": [
    ]
}

Response samples

Content type
application/json
{
  • "conflict_emails": [
    ],
  • "custodians": [
    ]
}

Delete one or more custodians that are not part of an active hold.

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
All Custodians (boolean) or All Custodians (null) (All Custodians)
Default: false
Array of Custodian Ids (strings) or Custodian Ids (null) (Custodian Ids)

Responses

Request samples

Content type
application/json
{
  • "all_custodians": false,
  • "custodian_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "num_deleted": 0
}

Get a custodian

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
id
required
string (Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "email": "string",
  • "email_activity": [
    ],
  • "first_name": "string",
  • "id": "string",
  • "last_name": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "role": "custodian",
  • "sources": [
    ]
}

Update a custodian

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
id
required
string (Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
role
required
string (LegalHold_Role)
Enum: "custodian" "silent"

Responses

Request samples

Content type
application/json
{
  • "role": "custodian"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "email": "string",
  • "first_name": "string",
  • "id": "string",
  • "last_name": "string",
  • "matter_id": "string",
  • "role": "custodian"
}

Get a list of the notifications

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "notifications": [ ]
}

Add a notification

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
email_bcc
Array of strings (Email Bcc)
Default: []
email_cc
Array of strings (Email Cc)
Default: []
email_content
required
string (Email Content)
email_subject
required
string (Email Subject)
Frequency (integer) or Frequency (null) (Frequency)
type
required
string (LegalHold_NotificationType)
Enum: "initial" "reminder" "ack-reminder" "release"

Responses

Request samples

Content type
application/json
{
  • "email_bcc": [ ],
  • "email_cc": [ ],
  • "email_content": "string",
  • "email_subject": "string",
  • "frequency": 0,
  • "type": "initial"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "email_bcc": [ ],
  • "email_cc": [ ],
  • "email_content": "string",
  • "email_subject": "string",
  • "frequency": 0,
  • "id": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "type": "initial"
}

Delete a notification

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
id
required
string (Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
null

Get a notification

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
id
required
string (Id)
query Parameters
Preview (boolean) or Preview (null) (Preview)
Default: false
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "email_bcc": [ ],
  • "email_cc": [ ],
  • "email_content": "string",
  • "email_subject": "string",
  • "frequency": 0,
  • "id": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "type": "initial"
}

Modify a notification

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
id
required
string (Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
Array of Email Bcc (strings) or Email Bcc (null) (Email Bcc)
Array of Email Cc (strings) or Email Cc (null) (Email Cc)
Email Content (string) or Email Content (null) (Email Content)
Email Subject (string) or Email Subject (null) (Email Subject)
Frequency (integer) or Frequency (null) (Frequency)

Responses

Request samples

Content type
application/json
{
  • "email_bcc": [
    ],
  • "email_cc": [
    ],
  • "email_content": "string",
  • "email_subject": "string",
  • "frequency": 0
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "email_bcc": [ ],
  • "email_cc": [ ],
  • "email_content": "string",
  • "email_subject": "string",
  • "frequency": 0,
  • "id": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "type": "initial"
}

Notify custodians

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
notification_id
required
string (Notification Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
all_custodians
boolean (All Custodians)
Default: false
Array of Custodians (strings) or Custodians (null) (Custodians)

Responses

Request samples

Content type
application/json
{
  • "all_custodians": false,
  • "custodians": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "added_custodians": 0
}

Get a matter sharing

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)

Responses

Response samples

Content type
application/json
{ }

Share a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
Request Body schema: application/json
required
Array of objects (Prinrole)
Array
principal
required
string (Principal)
role
required
string (Role)
setting
required
string (Setting)

Responses

Request samples

Content type
application/json
{
  • "prinrole": [
    ]
}

Response samples

Content type
application/json
null

Get list of sources for a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
order
string (LegalHold_Order)
Default: "asc"
Enum: "asc" "desc"
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "sources": [
    ]
}

Add a new source hold to a matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
config_type
required
string (LegalHold_SourceConfigType)
Enum: "gsuite" "office365" "eslack" "ebox"
credential_id
required
string (Credential Id)
End Date (string) or End Date (null) (End Date)
Start Date (string) or Start Date (null) (Start Date)
object (LegalHold_SourceStatus)
Default: {"progress":{"processed":0,"retry_after":0,"retry_count":0,"total":0},"requires_rerun":false,"status":"pending"}
required
Array of objects (Sync Options)

Responses

Request samples

Content type
application/json
{
  • "config_type": "gsuite",
  • "credential_id": "string",
  • "end_date": "2019-08-24T14:15:22Z",
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": {
    },
  • "sync_options": [
    ]
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "config_type": "gsuite",
  • "created_by": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "credential_email": "string",
  • "credential_id": "string",
  • "custodians_not_found": 0,
  • "custodians_on_hold": 0,
  • "deleted": false,
  • "end_date": "2019-08-24T14:15:22Z",
  • "external_holds": { },
  • "id": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": {
    },
  • "sync_options": [
    ]
}

Release all source holds for a given matter

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
null

Delete a source hold

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
null

Get a source hold by id

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "config_type": "gsuite",
  • "created_by": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "credential_email": "string",
  • "credential_id": "string",
  • "custodians_not_found": 0,
  • "custodians_on_hold": 0,
  • "deleted": false,
  • "end_date": "2019-08-24T14:15:22Z",
  • "error": 0,
  • "external_holds": { },
  • "id": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "num_custodians": 0,
  • "pending": 0,
  • "pending_release": 0,
  • "pending_remove": 0,
  • "released": 0,
  • "removed": 0,
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": {
    },
  • "successful": 0,
  • "sync_options": [
    ],
  • "updating": 0
}

Modify an existing source hold

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
Credential Id (string) or Credential Id (null) (Credential Id)
External Holds (object) or External Holds (null) (External Holds)
SourceStatus (object) or null
Array of Sync Options (objects) or Sync Options (null) (Sync Options)

Responses

Request samples

Content type
application/json
{
  • "credential_id": "string",
  • "external_holds": {
    },
  • "status": {
    },
  • "sync_options": [
    ]
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "config_type": "gsuite",
  • "created_by": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "credential_email": "string",
  • "credential_id": "string",
  • "custodians_not_found": 0,
  • "custodians_on_hold": 0,
  • "deleted": false,
  • "end_date": "2019-08-24T14:15:22Z",
  • "external_holds": { },
  • "id": "string",
  • "matter_id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": {
    },
  • "sync_options": [
    ]
}

Get source hold custodians in CSV format

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
null

Get a list of the custodians

Parameters:

  • sort: Sort the result by field
  • order: Sort the result in acs or desc
  • limit: The max number of items to be returned, default is 10, and maximum is 100
  • cursor: Get next custodians from a cursor
Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
CustodianStatus (string) or Status (null) (Status)
sort
string (LegalHold_legal_hold_service__rest__sources__Sort)
Default: "name"
Enum: "name" "creation_date" "modification_date"
order
string (LegalHold_Order)
Default: "asc"
Enum: "asc" "desc"
limit
integer (Limit) [ 0 .. 100 ]
Default: 10
Cursor (string) or Cursor (null) (Cursor)
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
{
  • "cursor": "string",
  • "custodians": [ ],
  • "total_count": 0
}

Assign custodians to a source hold

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Update Holds (boolean) or Update Holds (null) (Update Holds)
Default: true
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
All Custodians (boolean) or All Custodians (null) (All Custodians)
Default: false
Array of Custodian Ids (strings) or Custodian Ids (null) (Custodian Ids)

Responses

Request samples

Content type
application/json
{
  • "all_custodians": false,
  • "custodian_ids": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "custodians": [
    ]
}

Release specific custodians from a source hold

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Permission (string) or Permission (null) (Permission)
Request Body schema: application/json
Array of Custodian Ids (strings) or Custodian Ids (null) (Custodian Ids)
Any of
Array
string

Responses

Request samples

Content type
application/json
{
  • "custodian_ids": [
    ]
}

Response samples

Content type
application/json
null

Release all In Place Preservation configs for a given In Place Preservation

Authorizations:
OAuth2
path Parameters
matter_id
required
string (Matter Id)
source_id
required
string (Source Id)
query Parameters
Permission (string) or Permission (null) (Permission)

Responses

Response samples

Content type
application/json
null

Get Metrics

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
null

Get all templates

Authorizations:
OAuth2
query Parameters
NotificationType (string) or Type (null) (Type)
NotificationTemplateSortField (string) or Sort (null) (Sort)
Default: "name"
Order (string) or Order (null) (Order)
Default: "asc"

Responses

Response samples

Content type
application/json
{
  • "templates": [
    ]
}

Create a new template

Authorizations:
OAuth2
Request Body schema: application/json
email_content
required
string (Email Content)
email_subject
required
string (Email Subject)
name
required
string (Name)
type
required
string (LegalHold_NotificationType)
Enum: "initial" "reminder" "ack-reminder" "release"

Responses

Request samples

Content type
application/json
{
  • "email_content": "string",
  • "email_subject": "string",
  • "name": "string",
  • "type": "initial"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "email_content": "string",
  • "email_subject": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "type": "initial"
}

Delete a template

Authorizations:
OAuth2
path Parameters
template_id
required
string (Template Id)

Responses

Response samples

Content type
application/json
null

Get a single notification template

Authorizations:
OAuth2
path Parameters
template_id
required
string (Template Id)

Responses

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "email_content": "string",
  • "email_subject": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "type": "initial"
}

Modify an existing template

Authorizations:
OAuth2
path Parameters
template_id
required
string (Template Id)
Request Body schema: application/json
Email Content (string) or Email Content (null) (Email Content)
Email Subject (string) or Email Subject (null) (Email Subject)
Name (string) or Name (null) (Name)
NotificationType (string) or null

Responses

Request samples

Content type
application/json
{
  • "email_content": "string",
  • "email_subject": "string",
  • "name": "string",
  • "type": "initial"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "email_content": "string",
  • "email_subject": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "type": "initial"
}

Receive email event

Authorizations:
OAuth2
Request Body schema: application/json
Array
Account Id (string) or Account Id (null) (Account Id)
Cluster (string) or Cluster (null) (Cluster)
email
required
string (Email)
event
required
string (LegalHold_SendGridDeliveryStatus)
Enum: "delivered" "bounce" "deferred" "dropped"
Matter Id (string) or Matter Id (null) (Matter Id)
Reason (string) or Reason (null) (Reason)
Response (string) or Response (null) (Response)
sg_event_id
required
string (Sg Event Id)
sg_message_id
required
string (Sg Message Id)
Task Id (string) or Task Id (null) (Task Id)
timestamp
required
integer (Timestamp)
Type (string) or Type (null) (Type)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
null

Delete SMTP config

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
null

Get SMTP config

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "host": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "port": 0,
  • "security": "None",
  • "username": "string"
}

Modify SMTP config

Authorizations:
OAuth2
Request Body schema: application/json
host
required
string (Host)
name
required
string (Name)
password
required
string (Password)
Port (integer) or Port (null) (Port)
security
required
string (LegalHold_SecurityTypes)
Enum: "None" "STARTTLS" "SSL/TLS"
username
required
string (Username)

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "name": "string",
  • "password": "string",
  • "port": 0,
  • "security": "None",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "host": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "port": 0,
  • "security": "None",
  • "username": "string"
}

Add SMTP config

Authorizations:
OAuth2
Request Body schema: application/json
host
required
string (Host)
name
required
string (Name)
password
required
string (Password)
Port (integer) or Port (null) (Port)
security
required
string (LegalHold_SecurityTypes)
Enum: "None" "STARTTLS" "SSL/TLS"
username
required
string (Username)

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "name": "string",
  • "password": "string",
  • "port": 0,
  • "security": "None",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "deleted": false,
  • "host": "string",
  • "id": "string",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "port": 0,
  • "security": "None",
  • "username": "string"
}

Test SMTP config without saving

Authorizations:
OAuth2
Request Body schema: application/json
host
required
string (Host)
name
required
string (Name)
password
required
string (Password)
Port (integer) or Port (null) (Port)
security
required
string (LegalHold_SecurityTypes)
Enum: "None" "STARTTLS" "SSL/TLS"
username
required
string (Username)

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "name": "string",
  • "password": "string",
  • "port": 0,
  • "security": "None",
  • "username": "string"
}

Response samples

Content type
application/json
null

CustomFields

List Custom Fields

List custom fields.

Authorizations:
OAuth2
query Parameters
Cursor (string) or Cursor (null) (Cursor)
Examples: cursor=2022-02-22T11:11:11.12345
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/customFields' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: application/json'

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Create Custom Field

Create a custom field.

Authorizations:
OAuth2
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Request Body schema: application/json
description
required
string (Description)

Description

name
required
string (Name)

Name

required
required
boolean (Required)

Required

type
required
string (Type)

Type

Responses

Request samples

Content type
application/json
{
  • "description": "My custom field description",
  • "name": "My custom field",
  • "required": false,
  • "type": "keyword"
}

Response samples

Content type
application/json
{
  • "onna_id": "cf-my-custom-field-b20696ae9"
}

Download

Download Resource Content

Download the content of a resource, either binary file or html rendered content.

Authorizations:
OAuth2
path Parameters
onna_id
required
string (The ID of the resource to download)
header Parameters
authorization
string (Authorization)

Authorization: Bearer ACCESS_TOKEN

The Authorization header must contain a Bearer Token, for more information see "Obtaining an access token".

Responses

Request samples

curl --request GET 'https://api.onna.com/v1/download/fd9f0c5339de42f9964e6afe9bf20259' \
--header 'Authorization: Bearer <ACCESS_TOKEN>'

Response samples

Content type
application/json
{
  • "errors": [
    ]
}