Back to top

ReDBox Portal API

The ReDBox Portal API provides authorized access to manage functions related to records, user management, roles, search functionalities, and more. This document outlines the available endpoints, request/response formats, and other relevant technical details.

Overview

Authorization

The ReDBox Portal API secures access through the use of bearer tokens. A bearer token must be obtained from the ReDBox admin user interface and included in the Authorization header as a Bearer token for all API requests.

Obtaining Bearer Tokens

To obtain a bearer token, follow the instructions on the ReDBox Portal Wiki

Using Bearer Tokens

Once you have obtained a bearer token, include it in the Authorization header as a Bearer token with each API request:

Authorization: Bearer YOUR_BEARER_TOKEN_HERE

Please ensure that your bearer tokens are stored securely and are not exposed to unauthorized entities. If a token is compromised, generate a new token from the admin user interface immediately to replace it.

Error Handling

The API uses standard HTTP status codes to indicate the success or failure of an API request. In general:

  • 2xx codes indicate success.

  • 4xx codes indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.).

  • 5xx codes indicate an error with ReDBox’s servers.

Record

Record Actions

List records in the system
GET/default/rdmp/api/records/list{?packageType,recordType,sort,start,rows}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/records/list?packageType=rdmp&recordType=rdmp&sort=date_object_modified:-1&start=0&rows=10
URI Parameters
HideShow
recordType
string (required) Example: rdmp

The record type name

packageType
string (optional) Example: rdmp

The type of ReDBox package to return

sort
object (optional) Default: date_object_modified:-1 Example: date_object_modified:-1

Sort results by this parameter. Parameter should be of the pattern <property name>:<sort direction> where sort direction is 1 for ascending order and -1 for descending order

start
number (optional) Default: 0 Example: 0

The index number for the first value to return from the result set.

rows
number (optional) Default: 10 Example: 10

The number of records to return in the request

Request  Get Records
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "summary": {
    "numFound": "1",
    "page": "1",
    "start": "0"
  },
  "records": [
    {
      "oid": "7e72b5952e8e323c77f72ae268a27c46",
      "title": "A sample record title",
      "dateCreated": "2020",
      "dateModified": "2020",
      "metadata": {}
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "numFound": {
          "type": "string"
        },
        "page": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "numFound",
        "page",
        "start"
      ]
    },
    "records": {
      "type": "array"
    }
  },
  "required": [
    "summary",
    "records"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "You have reached the maximum of request available; Max rows per request 10",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "An error has occurred",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Create Record
POST/default/rdmp/api/records/metadata/{recordType}

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/records/metadata/rdmp
URI Parameters
HideShow
recordType
string (required) Example: rdmp

The record type name

Request  Create Record setting metadata, authorization and workflowStage
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "metadata": {
    "title": "A sample title",
    "description": "A description"
  },
  "workflowStage": "draft",
  "authorization": {
    "edit": [
      "username"
    ],
    "view": [
      "username"
    ],
    "editRoles": [
      "Admin"
    ],
    "viewRoles": [
      "Admin"
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "workflowStage": {
      "type": "string"
    },
    "authorization": {
      "type": "object",
      "properties": {
        "edit": {
          "type": "array"
        },
        "view": {
          "type": "array"
        },
        "editRoles": {
          "type": "array"
        },
        "viewRoles": {
          "type": "array"
        }
      }
    }
  },
  "required": [
    "metadata",
    "authorization"
  ],
  "additionalProperties": false
}
Request  Create Record only setting metadata
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "metadata": {
    "title": "A sample title",
    "description": "A description"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false
}
Request  Create Record setting metadata and workflowStage
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "metadata": {},
  "workflowStage": "draft"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {}
    },
    "workflowStage": {
      "type": "string"
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false
}
Response  201
HideShow
Headers
Content-Type: application/json
Location: /default/rdmp/api/records/metadata/7e72b5952e8e323c77f72ae268a27c46
Body
{
  "message": "Record created successfully",
  "description": "",
  "oid": "7e72b5952e8e323c77f72ae268a27c46"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Message describing action"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    },
    "oid": {
      "type": "string"
    }
  },
  "required": [
    "message",
    "description",
    "oid"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Record Type provided is not valid",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Create failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Transition record through workflow
POST/default/rdmp/api/records/workflow/step/{workflowStage}/{oid}

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/records/workflow/step/queued/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

workflowStage
string (required) Example: queued

The workflow stage to transition the record to.

Request  Transition record to queued workflow stage
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "success": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    },
    "success": {
      "type": "boolean"
    }
  },
  "required": [
    "message",
    "success"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": [
    "Failed to transition workflow",
    "please check server logs."
  ],
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "array",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Record Metadata Actions

Update Record Metadata
PUT/default/rdmp/api/records/metadata/{oid}{?merge}

Example URI

PUT https://demo.redboxresearchdata.com.au/default/rdmp/api/records/metadata/7e72b5952e8e323c77f72ae268a27c46?merge=true
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

merge
boolean (optional) Default: false Example: true

When set to true, the post body is recursively merged with the existing metadata record.

Request  Update record metadata
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "title": "A sample title",
  "description": "A sample description"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    }
  },
  "required": [
    "title",
    "description"
  ],
  "additionalProperties": false
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Record updated successfully",
  "description": "",
  "oid": "7e72b5952e8e323c77f72ae268a27c46"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Message describing action"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    },
    "oid": {
      "type": "string"
    }
  },
  "required": [
    "message",
    "description",
    "oid"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": [
    "Update metadata failed",
    "failed to retrieve existing record."
  ],
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "array",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Update Metadata failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Delete a Record
DELETE/default/rdmp/api/records/metadata/{oid}{?permanent}

Example URI

DELETE https://demo.redboxresearchdata.com.au/default/rdmp/api/records/metadata/oid?permanent=
URI Parameters
HideShow
oid
string (required) 

The identifier of the Record in the form of a string.

permanent
boolean (optional) Default: false 

A flag to permanently delete the record.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The success message. Defaults to 'Request processed successfully'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the action. Defaults to an empty string."
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}
Request  Update record metadata
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Record deleted successfully",
  "description": "",
  "oid": "7e72b5952e8e323c77f72ae268a27c46"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Message describing action"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    },
    "oid": {
      "type": "string"
    }
  },
  "required": [
    "message",
    "description",
    "oid"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": [
    "Delete metadata failed",
    "failed to retrieve existing record."
  ],
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "array",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Delete Metadata failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Get Record Metadata
GET/default/rdmp/api/records/metadata/{oid}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/records/metadata/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request
HideShow
Headers
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "A sample title",
  "description": "A description"
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": [
    "Get Metadata failed",
    "failed to retrieve existing record."
  ],
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "array",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Deleted Record Actions

List Deleted Records
GET/api/deletedrecords{?recordType,state,start,rows,packageType,sort,filterFields,filter}

Example URI

GET https://demo.redboxresearchdata.com.au/api/deletedrecords?recordType=&state=&start=&rows=&packageType=&sort=&filterFields=&filter=
URI Parameters
HideShow
recordType
string (optional) 

The type of the record.

state
string (optional) 

The workflow state of the record.

start
number (optional) 

The starting index for the records to be returned.

rows
number (optional) 

The number of records to be returned.

packageType
string (optional) 

The package type of the record.

sort
string (optional) 

The sorting order for the records.

filterFields
string (optional) 

The a comma seperated list of the fields to be used for filtering.

filter
string (optional) 

The filter string to be applied.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "summary": {
    "numFound": 1,
    "page": 1,
    "start": 1
  },
  "records": []
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "numFound": {
          "type": "number",
          "description": "The total number of records found."
        },
        "page": {
          "type": "number",
          "description": "The current page number."
        },
        "start": {
          "type": "number",
          "description": "The starting index of the records in the current page."
        }
      },
      "required": [
        "numFound",
        "page",
        "start"
      ],
      "description": "An object containing summary information about the list."
    },
    "records": {
      "description": "An array of records. The type of the records is defined by the specific use case."
    }
  },
  "required": [
    "summary",
    "records"
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}

Restore a Deleted Record
PUT/api/deletedrecords/{oid}

Example URI

PUT https://demo.redboxresearchdata.com.au/api/deletedrecords/oid
URI Parameters
HideShow
oid
string (required) 

The identifier of the Deleted Record in the form of a string.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The success message. Defaults to 'Request processed successfully'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the action. Defaults to an empty string."
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}

Permanently Delete a Deleted Record
DELETE/api/deletedrecords/{oid}

Example URI

DELETE https://demo.redboxresearchdata.com.au/api/deletedrecords/oid
URI Parameters
HideShow
oid
string (required) 

The identifier of the Deleted Record in the form of a string.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The success message. Defaults to 'Request processed successfully'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the action. Defaults to an empty string."
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}

Record Audit Actions

Get Record Audit Information
GET/default/rdmp/api/records/audit/{oid}{?dateFrom,dateTo}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/records/audit/7e72b5952e8e323c77f72ae268a27c46?dateFrom=2023-02-14T00:44:26Z&dateTo=2023-02-28T00:44:26Z
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

dateFrom
string (required) Example: 2023-02-14T00:44:26Z

Show modifications to the record from this date. ISO8601 format

dateTo
string (required) Example: 2023-02-28T00:44:26Z

Show modifications to the record from this date. ISO8601 format

Request
HideShow
Headers
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json

Datastream Actions

Add attachment to record
POST/default/rdmp/api/records/datastreams/{oid}

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/records/datastreams/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request
HideShow
Headers
Content-Type: multipart/form-data; boundary={boundary value}
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
--{boundary value}
Content-Disposition: form-data; name="attachmentFields"; filename="researchdata.zip"
Content-Type: application/zip
Content-Transfer-Encoding: base64

{file content}
--{boundary value}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Attachment added successfully",
  "success": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    },
    "success": {
      "type": "boolean"
    }
  },
  "required": [
    "message",
    "success"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": [
    "Get Metadata failed",
    "failed to retrieve existing record."
  ],
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "array",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Get attachment in record
GET/default/rdmp/api/records/datastreams/{oid}{?datastreamId}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/records/datastreams/7e72b5952e8e323c77f72ae268a27c46?datastreamId=9159dc90fa9511edbc38b7f112a6db3d
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

datastreamId
string (required) Example: 9159dc90fa9511edbc38b7f112a6db3d

The datastream identifier

Request  Get Attachment
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Failed to get attachment.",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

List attachments in record
PUT/default/rdmp/api/records/datastreams/{oid}

Example URI

PUT https://demo.redboxresearchdata.com.au/default/rdmp/api/records/datastreams/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request  Get Records
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "summary": {
    "numFound": "1",
    "page": "1",
    "start": "0"
  },
  "records": [
    {
      "filename": "researchdata.zip"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "numFound": {
          "type": "string"
        },
        "page": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "numFound",
        "page",
        "start"
      ]
    },
    "records": {
      "type": "array"
    }
  },
  "required": [
    "summary",
    "records"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Missing ID of record.",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": [
    "Failed to list attachments",
    "please check server logs."
  ],
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "array",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Record Permission Actions

Give users edit access to record
POST/default/rdmp/api/records/permissions/edit/{oid}

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/records/permissions/edit/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request  Give users edit access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username1",
    "username2"
  ]
}
Request  Give users pending edit access to record.
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "usersPending": [
    "pendingusername1@email.com",
    "pendingusername2@email.com"
  ]
}
Request  Give users pending and immediate edit access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username1",
    "username2"
  ],
  "usersPending": [
    "pendingusername1@email.com",
    "pendingusername2@email.com"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "edit": [
    "username1",
    "username2"
  ],
  "view": [
    "username1",
    "username2"
  ],
  "editRoles": [
    "Admin"
  ],
  "viewRoles": [
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "edit": {
      "type": "array"
    },
    "view": {
      "type": "array"
    },
    "editRoles": {
      "type": "array"
    },
    "viewRoles": {
      "type": "array"
    }
  },
  "required": [
    "edit",
    "view",
    "editRoles",
    "viewRoles"
  ],
  "additionalProperties": false
}

Remove users edit access to record
DELETE/default/rdmp/api/records/permissions/edit/{oid}

Example URI

DELETE https://demo.redboxresearchdata.com.au/default/rdmp/api/records/permissions/edit/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request  Remove users edit access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username2"
  ]
}
Request  Remove pending users edit access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "usersPending": [
    "pendingusername2@email.com"
  ]
}
Request  Remove known users and pending users edit access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username2"
  ],
  "usersPending": [
    "pendingusername2@email.com"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "edit": [
    "username1"
  ],
  "view": [
    "username1",
    "username2"
  ],
  "editRoles": [
    "Admin"
  ],
  "viewRoles": [
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "edit": {
      "type": "array"
    },
    "view": {
      "type": "array"
    },
    "editRoles": {
      "type": "array"
    },
    "viewRoles": {
      "type": "array"
    }
  },
  "required": [
    "edit",
    "view",
    "editRoles",
    "viewRoles"
  ],
  "additionalProperties": false
}

Give users view access to record
POST/default/rdmp/api/records/permissions/view/{oid}

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/records/permissions/view/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request  Give users view access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username1",
    "username2"
  ]
}
Request  Give users pending view access to record.
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "usersPending": [
    "pendingusername1@email.com",
    "pendingusername2@email.com"
  ]
}
Request  Give users pending and immediate view access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username1",
    "username2"
  ],
  "usersPending": [
    "pendingusername1@email.com",
    "pendingusername2@email.com"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "edit": [
    "username1",
    "username2"
  ],
  "view": [
    "username1",
    "username2"
  ],
  "editRoles": [
    "Admin"
  ],
  "viewRoles": [
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "edit": {
      "type": "array"
    },
    "view": {
      "type": "array"
    },
    "editRoles": {
      "type": "array"
    },
    "viewRoles": {
      "type": "array"
    }
  },
  "required": [
    "edit",
    "view",
    "editRoles",
    "viewRoles"
  ],
  "additionalProperties": false
}

Remove users view access to record
DELETE/default/rdmp/api/records/permissions/view/{oid}

Example URI

DELETE https://demo.redboxresearchdata.com.au/default/rdmp/api/records/permissions/view/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request  Remove users view access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username2"
  ]
}
Request  Remove pending users view access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "usersPending": [
    "pendingusername2@email.com"
  ]
}
Request  Remove known users and pending users view access to record
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "users": [
    "username2"
  ],
  "usersPending": [
    "pendingusername2@email.com"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "edit": [
    "username1"
  ],
  "view": [
    "username1",
    "username2"
  ],
  "editRoles": [
    "Admin"
  ],
  "viewRoles": [
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "edit": {
      "type": "array"
    },
    "view": {
      "type": "array"
    },
    "editRoles": {
      "type": "array"
    },
    "viewRoles": {
      "type": "array"
    }
  },
  "required": [
    "edit",
    "view",
    "editRoles",
    "viewRoles"
  ],
  "additionalProperties": false
}

Get access permissions for record
GET/default/rdmp/api/records/permissions/{oid}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/records/permissions/7e72b5952e8e323c77f72ae268a27c46
URI Parameters
HideShow
oid
string (required) Example: 7e72b5952e8e323c77f72ae268a27c46

The identifier for the record

Request
HideShow
Headers
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "edit": [
    "username"
  ],
  "view": [
    "username"
  ],
  "editRoles": [
    "Admin"
  ],
  "viewRoles": [
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "edit": {
      "type": "array"
    },
    "view": {
      "type": "array"
    },
    "editRoles": {
      "type": "array"
    },
    "viewRoles": {
      "type": "array"
    }
  },
  "required": [
    "edit",
    "view",
    "editRoles",
    "viewRoles"
  ],
  "additionalProperties": false
}

Export Actions

Export record data
GET/default/rdmp/api/export/record/download/{format}{?recType,before,after}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/export/record/download/json?recType=rdmp&before=2023-06-30T00:00:00Z&after=2022-07-01T00:00:00Z
URI Parameters
HideShow
format
string (required) Example: json

The format of the export. Valid values are ‘json’ or ‘csv’

recType
string (required) Example: rdmp

The type of record to export

before
string (required) Example: 2023-06-30T00:00:00Z

Show records updated before the date (ISO 8601 format)

after
string (required) Example: 2022-07-01T00:00:00Z

Show records updated after the date (ISO 8601 format)

Response  200

Report

Report

Execute Named Query
GET/default/rdmp/api/report/namedQuery/{queryName}{?rows,start}

Executes a named query based on the provided query name and parameters.

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/report/namedQuery/queryName?rows=&start=
URI Parameters
HideShow
queryName
string (required) 

The name of the query to execute.

start
number (optional) 

The starting index for the query results. Defaults to 0.

rows
number (optional) 

The number of rows to return. Defaults to 10 and must not be greater than 100.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "results": [],
  "total": 0
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "results": {
      "type": "array"
    },
    "total": {
      "type": "number"
    }
  },
  "required": [
    "results",
    "total"
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}

User Management

User Management Actions

List users in the system
GET/default/rdmp/api/users{?searchBy,query,page,pageSize}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/users?searchBy=type&query=local&page=1&pageSize=10
URI Parameters
HideShow
page
number (optional) Default: 1 Example: 1

The page index of the result set to show.

pageSize
number (optional) Default: 10 Example: 10

The number of records to return in a page

searchBy
string (optional) Example: type

The attribute to search by. e.g. email

query
string (optional) Example: local

The value to query. Only exact matches.

Request
HideShow
Headers
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "summary": {
    "numFound": "1",
    "page": "1",
    "start": "0"
  },
  "records": [
    {
      "type": "local",
      "name": "Local user",
      "username": "user1",
      "email": "localuser@redboxresearchdata.com.au",
      "createdAt": "2017-10-09T03:34:47.660Z",
      "updatedAt": "2017-11-20T04:08:33.061Z",
      "id": "59daee5720b453050057c2f5"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "numFound": {
          "type": "string"
        },
        "page": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "numFound",
        "page",
        "start"
      ]
    },
    "records": {
      "type": "array"
    }
  },
  "required": [
    "summary",
    "records"
  ],
  "additionalProperties": false
}

Find user in the system
GET/default/rdmp/api/users/get{?searchBy,query}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/users/get?searchBy=email&query=localuser@redboxresearchdata.com.au
URI Parameters
HideShow
searchBy
string (required) Example: email

The attribute to search by. e.g. email

query
string (required) Example: localuser@redboxresearchdata.com.au

The value to query. Only exact matches.

Request
HideShow
Headers
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "type": "local",
  "name": "Local user",
  "username": "user1",
  "email": "localuser@redboxresearchdata.com.au",
  "createdAt": "2017-10-09T03:34:47.660Z",
  "updatedAt": "2017-11-20T04:08:33.061Z",
  "id": "59daee5720b453050057c2f5"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "id": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "name",
    "username",
    "email",
    "createdAt",
    "updatedAt",
    "id"
  ],
  "additionalProperties": false
}

Create Local User
PUT/default/rdmp/api/users

Example URI

PUT https://demo.redboxresearchdata.com.au/default/rdmp/api/users
Request  Create Local User
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "name": "Local user",
  "username": "user1",
  "email": "localuser@redboxresearchdata.com.au",
  "password": "Password123!",
  "roles": [
    "Guest",
    "Researcher",
    "Librarian",
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "roles": {
      "type": "array"
    }
  },
  "required": [
    "name",
    "username",
    "email",
    "password",
    "roles"
  ],
  "additionalProperties": false
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "type": "local",
  "name": "Local user",
  "username": "user1",
  "email": "localuser@redboxresearchdata.com.au",
  "createdAt": "2017-10-09T03:34:47.660Z",
  "updatedAt": "2017-11-20T04:08:33.061Z",
  "id": "59daee5720b453050057c2f5"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "id": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "name",
    "username",
    "email",
    "createdAt",
    "updatedAt",
    "id"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "User creation failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Update Local User
POST/default/rdmp/api/users

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/users
Request  Create Local User
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "id": "59daee5720b453050057c2f5",
  "name": "New Local user name",
  "password": "Password123!",
  "roles": [
    "Guest",
    "Researcher",
    "Librarian",
    "Admin"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "roles": {
      "type": "array"
    }
  },
  "required": [
    "id",
    "roles"
  ],
  "additionalProperties": false
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "type": "local",
  "name": "Local user",
  "username": "user1",
  "email": "localuser@redboxresearchdata.com.au",
  "createdAt": "2017-10-09T03:34:47.660Z",
  "updatedAt": "2017-11-20T04:08:33.061Z",
  "id": "59daee5720b453050057c2f5"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "id": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "name",
    "username",
    "email",
    "createdAt",
    "updatedAt",
    "id"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "User update failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Generate API Token for user
GET/default/rdmp/api/users/token/generate{?id}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/users/token/generate?id=59daee5720b453050057c2f5
URI Parameters
HideShow
id
string (required) Example: 59daee5720b453050057c2f5

The user’s identifier

Request  Generate API Token for user
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "59daee5720b453050057c2f5",
  "username": "user1",
  "token": "aaf688be"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "token": {
      "type": "string",
      "description": "0ade-4dbf-845c-d34d9f4cb4ac"
    }
  },
  "required": [
    "id",
    "username",
    "token"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unable to get user ID",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Token generation failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Revoke API Token for user
GET/default/rdmp/api/users/token/revoke{?id}

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/users/token/revoke?id=59daee5720b453050057c2f5
URI Parameters
HideShow
id
string (required) Example: 59daee5720b453050057c2f5

The user’s identifier

Request  Revoke API Token for user
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "59daee5720b453050057c2f5",
  "username": "user1",
  "token": null
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "token": {
      "type": [
        "string",
        "null"
      ],
      "description": "0ade-4dbf-845c-d34d9f4cb4ac"
    }
  },
  "required": [
    "id",
    "username",
    "token"
  ],
  "additionalProperties": false
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unable to get user ID",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Token revocation failed",
  "description": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Roles

Role Actions

List System Roles
GET/default/rdmp/api/roles

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/roles
Request  List configured System Roles
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "summary": {
    "numFound": "1",
    "page": "1",
    "start": "0"
  },
  "records": [
    {
      "name": "Admin"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "numFound": {
          "type": "string"
        },
        "page": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "numFound",
        "page",
        "start"
      ]
    },
    "records": {
      "type": "array"
    }
  },
  "required": [
    "summary",
    "records"
  ],
  "additionalProperties": false
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "An error has occurred",
  "description": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "A string stating the error"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    }
  },
  "required": [
    "message",
    "description"
  ],
  "additionalProperties": false
}

Other

Admin Resources

This endpoint is used to refresh the cached resources in the application such as CSS and JS resources and the language files.

Refresh Cached Resources
GET/default/rdmp/api/admin/refreshCachedResources

Example URI

GET https://demo.redboxresearchdata.com.au/default/rdmp/api/admin/refreshCachedResources
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The success message. Defaults to 'Request processed successfully'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the action. Defaults to an empty string."
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "details": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The error message. Defaults to 'An error has occurred'."
    },
    "details": {
      "type": "string",
      "description": "Additional details about the error. Defaults to an empty string."
    }
  }
}

Email Actions

Send an email
POST/default/rdmp/api/sendNotification

Example URI

POST https://demo.redboxresearchdata.com.au/default/rdmp/api/sendNotification
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "to": [
    "user@redboxresearchdata.com.au"
  ],
  "subject": "A sample subject",
  "template": "emailTemplateName",
  "data": {
    "property": "values to populate in template"
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "description": "Hello, world!",
  "oid": "7e72b5952e8e323c77f72ae268a27c46"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Message describing action"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    },
    "oid": {
      "type": "string"
    }
  },
  "required": [
    "message",
    "description",
    "oid"
  ],
  "additionalProperties": false
}

Mint

The following APIs are for the Mint system used to manage records used in lookups in ReDBox. Like ReDBox, the Mint system is configurable so the record type and associated metadata required varies from system to system.

Harvest records

Harvest a set of records into Mint
POST/mint/api/v1.1/harvest/{record_type}

Example URI

POST https://demo.redboxresearchdata.com.au/mint/api/v1.1/harvest/Activities
URI Parameters
HideShow
record_type
string (required) Example: Activities

The name of the configured record type in Mint.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Body
{
  "records": [
    {
      "harvest_id": "someSourceSystemIdentifierValue",
      "metadata": {
        "TITLE": "Activity Title",
        "DESCRIPTION": "Activity Description"
      }
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Hello, world!",
  "description": "Hello, world!",
  "oid": "7e72b5952e8e323c77f72ae268a27c46"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Message describing action"
    },
    "description": {
      "type": "string",
      "description": "A description of the error"
    },
    "oid": {
      "type": "string"
    }
  },
  "required": [
    "message",
    "description",
    "oid"
  ],
  "additionalProperties": false
}

Search Mint records

This endpoint is an authenticated wrapper to Apache solr’s search endpoint and supports all the basic common query parameters.

Search
GET/mint/api/v1.1/search{?q}

Example URI

GET https://demo.redboxresearchdata.com.au/mint/api/v1.1/search?q=query
URI Parameters
HideShow
q
string (required) Example: query

The search string to query the index.

Request
HideShow
Headers
Authorization: Bearer abcabcab-abca-abca-abca-abcabcabcabc
Response  200
HideShow
Headers
Content-Type: application/json

Generated by aglio on 16 Apr 2024