Nextcloud OpenRegister API (1.0)
Download OpenAPI specification:Download
API for managing registers, schemas, sources, objects, and audit trails in a Nextcloud environment.
Create a new register
Authorizations:
basicAuthoauth2
Request Body schema: application/jsonrequired
uuid | string |
title | string |
description | string |
version | string |
schemas | Array of strings |
Responses
Request samples
- Payload
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "schemas": [
- "string"
]
}
Response samples
- 201
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "schemas": [
- "string"
]
}
Update a register
Authorizations:
basicAuthoauth2
path Parameters
uuid required | string |
Request Body schema: application/jsonrequired
uuid | string |
title | string |
description | string |
version | string |
schemas | Array of strings |
Responses
Request samples
- Payload
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "schemas": [
- "string"
]
}
Response samples
- 200
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "schemas": [
- "string"
]
}
Create a new schema
Authorizations:
basicAuthoauth2
Request Body schema: application/jsonrequired
uuid | string |
title | string |
description | string |
version | string |
properties | object |
Responses
Request samples
- Payload
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "properties": { }
}
Response samples
- 201
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/jsonrequired
uuid | string |
title | string |
description | string |
version | string |
properties | object |
Responses
Request samples
- Payload
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "properties": { }
}
Response samples
- 200
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "description": "string",
- "version": "string",
- "properties": { }
}
Create a new source
Authorizations:
basicAuthoauth2
Request Body schema: application/jsonrequired
uuid | string |
title | string |
version | string |
description | string |
databaseUrl | string |
type | string |
Responses
Request samples
- Payload
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "version": "string",
- "description": "string",
- "databaseUrl": "string",
- "type": "string"
}
Response samples
- 201
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/jsonrequired
uuid | string |
title | string |
version | string |
description | string |
databaseUrl | string |
type | string |
Responses
Request samples
- Payload
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "version": "string",
- "description": "string",
- "databaseUrl": "string",
- "type": "string"
}
Response samples
- 200
Content type
application/json
{- "uuid": "string",
- "title": "string",
- "version": "string",
- "description": "string",
- "databaseUrl": "string",
- "type": "string"
}
Response samples
- 200
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
]
Create a new object
Authorizations:
basicAuthoauth2
Request Body schema: application/jsonrequired
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
- Payload
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
Response samples
- 201
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
Response samples
- 200
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
Update an object
Authorizations:
basicAuthoauth2
path Parameters
uuid required | string |
Request Body schema: application/jsonrequired
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
- Payload
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
Response samples
- 200
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
Response samples
- 200
Content type
application/json
[- {
- "id": 123,
- "uuid": "123e4567-e89b-12d3-a456-426614174000",
- "filename": "profile.jpg",
- "extension": "jpg",
- "checksum": "abc123",
- "source": 1,
- "userId": "user-12345",
- "base64": "base64encodedstring",
- "filePath": "/files/profile.jpg",
- "created": "2023-02-15T14:30:00Z",
- "updated": "2023-05-20T10:15:00Z"
}
]
Add file to object
Authorizations:
basicAuthoauth2
path Parameters
uuid required | string |
Request Body schema: multipart/form-datarequired
file | string <binary> |
Responses
Response samples
- 201
Content type
application/json
{- "id": 123,
- "uuid": "123e4567-e89b-12d3-a456-426614174000",
- "filename": "profile.jpg",
- "extension": "jpg",
- "checksum": "abc123",
- "source": 1,
- "userId": "user-12345",
- "base64": "base64encodedstring",
- "filePath": "/files/profile.jpg",
- "created": "2023-02-15T14:30:00Z",
- "updated": "2023-05-20T10:15:00Z"
}
Response samples
- 200
Content type
application/json
[- {
- "uuid": "550e8400-e29b-41d4-a716-446655440000",
- "schema": 42,
- "register": 123,
- "object": 456,
- "action": "create",
- "changed": {
- "name": {
- "old": "John",
- "new": "Jane"
}
}, - "user": "admin",
- "userName": "Administrator",
- "session": "sess_89d7h2",
- "request": "req_7d8h3j",
- "ipAddress": "192.168.1.1",
- "version": "1.0.0",
- "created": "2024-03-15T14:30:00Z",
- "processingActivity": "string",
- "processing": "string",
- "operation": "string",
- "legalBasis": "string",
- "retentionPeriod": "string",
- "executor": "string",
- "system": "string",
- "dataSource": "string"
}
]
Get specific object version
Authorizations:
basicAuthoauth2
path Parameters
uuid required | string |
version required | string |
Responses
Response samples
- 200
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "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
- 200
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}
Restore object to previous version
Authorizations:
basicAuthoauth2
path Parameters
uuid required | string |
Request Body schema: application/jsonrequired
One of
version required | string |
timestamp | string <date-time> |
Responses
Request samples
- Payload
Content type
application/json
{- "version": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
Response samples
- 200
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": {
- "firstName": "John",
- "lastName": "Doe",
- "birthDate": "1980-01-15",
- "email": "john.doe@example.com",
- "address": {
- "street": "123 Main St",
- "city": "Anytown",
- "postalCode": "12345",
- "country": "USA"
}, - "phoneNumbers": [
- {
- "type": "mobile",
- "number": "555-123-4567"
}
], - "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "files": [
- "123",
- "124"
], - "relations": {
- "spouse": "123e4567-e89b-12d3-a456-426614174000"
}, - "locked": {
- "user": "user_id",
- "process": "optional_process_name",
- "created": "timestamp",
- "duration": "seconds",
- "expiration": "timestamp"
}, - "deleted": {
- "deleted": "2023-01-01T00:00:00Z",
- "deletedBy": "user-12345",
- "deletedReason": "No longer needed",
- "retentionPeriod": 30,
- "purgeDate": "2023-01-31T00:00:00Z"
}, - "owner": "user-12345"
}