Skip to main content

Nextcloud OpenRegister API (1.0)

Download OpenAPI specification:Download

API for managing registers, schemas, sources, objects, and audit trails in a Nextcloud environment.

Registers

Operations related to registers

Get all registers

Authorizations:
basicAuthoauth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new register

Authorizations:
basicAuthoauth2
Request Body schema: application/json
required
uuid
string
title
string
description
string
version
string
schemas
Array of strings

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "schemas": [
    ]
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "schemas": [
    ]
}

Get a register by UUID

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "schemas": [
    ]
}

Update a register

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
uuid
string
title
string
description
string
version
string
schemas
Array of strings

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "schemas": [
    ]
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "schemas": [
    ]
}

Delete a register

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Schemas

Operations related to schemas and their properties

Get all schemas

Authorizations:
basicAuthoauth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new schema

Authorizations:
basicAuthoauth2
Request Body schema: application/json
required
uuid
string
title
string
description
string
version
string
properties
object

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "properties": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "properties": { }
}

Get a schema by UUID

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "properties": { }
}

Update a schema

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
uuid
string
title
string
description
string
version
string
properties
object

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "properties": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "description": "string",
  • "version": "string",
  • "properties": { }
}

Delete a schema

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Get schema properties

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{ }

Add schema property

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Get schema property

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
propertyName
required
string

Responses

Response samples

Content type
application/json
{ }

Update schema property

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
propertyName
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Delete schema property

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
propertyName
required
string

Responses

Validate data against schema

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Response samples

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

Sources

Operations related to data sources

Get all sources

Authorizations:
basicAuthoauth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new source

Authorizations:
basicAuthoauth2
Request Body schema: application/json
required
uuid
string
title
string
version
string
description
string
databaseUrl
string
type
string

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "version": "string",
  • "description": "string",
  • "databaseUrl": "string",
  • "type": "string"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "version": "string",
  • "description": "string",
  • "databaseUrl": "string",
  • "type": "string"
}

Get a source by UUID

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "version": "string",
  • "description": "string",
  • "databaseUrl": "string",
  • "type": "string"
}

Update a source

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
uuid
string
title
string
version
string
description
string
databaseUrl
string
type
string

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "version": "string",
  • "description": "string",
  • "databaseUrl": "string",
  • "type": "string"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "version": "string",
  • "description": "string",
  • "databaseUrl": "string",
  • "type": "string"
}

Delete a source

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Objects

Operations related to objects, including files, relationships, audit trails, and time travel

Get all objects

Authorizations:
basicAuthoauth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new object

Authorizations:
basicAuthoauth2
Request Body schema: application/json
required
id
integer
uuid
string
uri
string
version
string
register
integer
schema
integer
object
object
files
Array of strings
relations
Array of strings
Lock (object) or null

Contains either a lock object or the value null

Deletion (object) or null

Contains either a deletion object or the value null

owner
string

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Get an object by UUID

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Update an object

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
id
integer
uuid
string
uri
string
version
string
register
integer
schema
integer
object
object
files
Array of strings
relations
Array of strings
Lock (object) or null

Contains either a lock object or the value null

Deletion (object) or null

Contains either a deletion object or the value null

owner
string

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Delete an object

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Get object relations

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add object relation

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
type
required
string
target
required
string

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "target": "string"
}

Get object files

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
[]

Add file to object

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/json
{}

Lock an object

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

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

Unlock an object

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
lockToken
required
string

Responses

Request samples

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

Get object audit trails

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get specific object version

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
version
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Get object at specific point in time

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
timestamp
required
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}

Compare object versions

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
query Parameters
version1
required
string
version2
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "changes": { }
}

Restore object to previous version

Authorizations:
basicAuthoauth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
One of
version
required
string
timestamp
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "uuid": "123e4567-e89b-12d3-a456-426614174000",
  • "uri": "/api/objects/123e4567-e89b-12d3-a456-426614174000",
  • "version": "1.0",
  • "register": 123,
  • "schema": 123,
  • "object": {
    },
  • "files": [
    ],
  • "relations": {
    },
  • "locked": {
    },
  • "deleted": {
    },
  • "owner": "user-12345"
}