Endpoints
Containers
List Your Containers
sIRB pSite
Gets the collection of containers that are accessible to your organization.
GET /containers
Request
GET https://api.huronirbexchange.com/containers
Response
Status: 200 OK
[
{
"id": "07bb05e3575f4edeb8f2bf62efbb1d56",
"url": "/containers/07bb05e3575f4edeb8f2bf62efbb1d56"
"ownerId": "981420af9f4d49e895096e80111be1ef",
"itemsUrl": "/containers/07bb05e3575f4edeb8f2bf62efbb1d56/items",
"organizationsUrl": "/container/07bb05e3575f4edeb8f2bf62efbb1d56/organizations",
"ownerUrl": "/organizations/981420af9f4d49e895096e80111be1ef",
"createdAt": "2017-04-26T16:09:44.3441873-07:00",
"updatedAt": "2017-04-26T16:09:44.3441873-07:00"
}
]
Create a Container
sIRB
Creates a new container for exchanging information related to a multi-site study. This API endpoint is only authorized for organizations that are registered as a single IRB of record.
POST /containers
Request
POST https://api.huronirbexchange.com/containers
{ }
Response
Status: 201 Created
Location: /containers/07bb05e3575f4edeb8f2bf62efbb1d56
{
"id": "07bb05e3575f4edeb8f2bf62efbb1d56",
"url": "/containers/07bb05e3575f4edeb8f2bf62efbb1d56"
"ownerId": "981420af9f4d49e895096e80111be1ef",
"itemsUrl": "/containers/07bb05e3575f4edeb8f2bf62efbb1d56/items",
"organizationsUrl": "/container/07bb05e3575f4edeb8f2bf62efbb1d56/organizations",
"ownerUrl": "/organizations/981420af9f4d49e895096e80111be1ef",
"createdAt": "2017-04-26T16:09:44.3441873-07:00",
"updatedAt": "2017-04-26T16:09:44.3441873-07:00"
}
Get Single Container
sIRB pSite
Retrieves a container by its identifier.
GET /containers/{containerId}
Request
GET https://api.huronirbexchange.com/containers/07bb05e3575f4edeb8f2bf62efbb1d56
Response
Status: 200 OK
{
"id": "07bb05e3575f4edeb8f2bf62efbb1d56",
"url": "/containers/07bb05e3575f4edeb8f2bf62efbb1d56"
"ownerId": "981420af9f4d49e895096e80111be1ef",
"itemsUrl": "/containers/07bb05e3575f4edeb8f2bf62efbb1d56/items",
"organizationsUrl": "/container/07bb05e3575f4edeb8f2bf62efbb1d56/organizations",
"ownerUrl": "/organizations/981420af9f4d49e895096e80111be1ef",
"createdAt": "2017-04-26T16:09:44.3441873-07:00",
"updatedAt": "2017-04-26T16:09:44.3441873-07:00"
}
Get Container Access List
sIRB pSite
Retrieves a list of organizations which have access to the container.
GET /containers/{containerId}/organizations
Request
GET https://api.huronirbexchange.com/containers/f28202812af24b83a1af639b10daad86/organizations
Response
Status: 200 OK
[
{
"id": "f28202812af24b83a1af639b10daad86",
"url": "/organizations/f28202812af24b83a1af639b10daad86",
"name": "Huron University",
"isSirb": true,
"isDisabled": false,
"certificateUrl": "/organizations/f28202812af24b83a1af639b10daad86/certificate",
"thumbprint": "1e5e5d073e97ebb93239d04cc639751700f4c7f0",
"createdAt": "2017-04-26T16:09:44.3441873-07:00",
"updatedAt": "2017-04-26T16:09:44.3441873-07:00"
}
]
Grant Container Access
sIRB
Allows the organization that owns the container to grant access to another organization so they can collaborate on a multi-site study.
POST /containers/{containerId}/organizations
Parameters
Name | Type | Description |
---|---|---|
organizationId | string | Required. The unique identifier which represents the organization being granted access to the container. |
Request
POST https://api.huronirbexchange.com/containers/165b7bc0a6ae462b89fb6d0ded18df55/organizations
{
"organizationId": "88c6ccd33a6e47db9bf570bb15925261"
}
Response
Scenario:
Status: 200 OK
Revoke Container Access
sIRB
Allows the organization that owns the container to revoke access from a collaborating organization. This will prevent the organization from further collaboration on the multi-site study.
DELETE /containers/{containerId}/organizations
Parameters
Name | Type | Description |
---|---|---|
organizationId | string | Required. The unique identifier which represents the organization being granted access to the container. |
Request
DELETE https://api.huronirbexchange.com/containers/165b7bc0a6ae462b89fb6d0ded18df55/organizations
{
"organizationId": "913238cafcc14bbeac680900cd2a5a2c"
}
Response
Status: 200 OK
Items
Item endpoints are unique in the fact that they support a variable number of URL segments. This allows client applications to logically structure the information they store on the exchange, similarly to a file system. The file system is a useful mental model to use when dealing with Items and Containers. You can think of a Container as a disk drive, e.g. C:
. An Item can be thought of as a simple file that is either stored directly on the root directory of the drive or contained within a subdirectory. The IRB Exchange does not define a resource that represents a directory, but it is helpful to think of an Item with multiple URL segments as being a part of a directory structure.
Each item has a URL that has 1 to 12 custom segments, excluding the initial portion of the URL like the scheme, host, and container path:https://irbexchange.huronsoftware.com/containers/19c8daef1f854a348b3de8c7252a7698/items/
. The rest of an item URL is the ID. Please note that the IRB Exchange converts the forward slash /
characters into pipe characters for storage |
. You may see this ID format in the Item resource objects that are returned in the API responses.
Examples
The following is the URL for an Item with the id of study
:
https://irbexchange.huronsoftware.com/containers/19c8daef1f854a348b3de8c7252a7698/items/study
The following is the URL for an Item with the id of participants/huron-university
. The IRB Exchange converts the forward slash /
into a pipe for storage purposes:
https://irbexchange.huronsoftware.com/containers/19c8daef1f854a348b3de8c7252a7698/items/participants/huron-university
Using this model, the previous example could be thought about in a two different ways: the huron-university
item is stored in the participants
directory of container 19c8daef1f854a348b3de8c7252a7698
, or the particapants/huron-university
item is stored in container 19c8daef1f854a348b3de8c7252a7698
.
List Items
sIRB pSite
This will return a single item or a list of items. If the specified URL is an item, the system will respond with the single item. Otherwise, the system will treat the url as a directory and will return a list of items which are considered children of the specified url.
GET /containers/{containerId}/items[/{a}][/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]{?owner,recurse,since}
Parameters
Name | Type | Description |
---|---|---|
owner | string | Filter the result set to only the items owned by the organization with the specified id |
recurse | boolean | Expand the result set with all items that share the same bath path. |
since | dateTime | An ISO 8601 date time used to filter the result set to only the items that have been created or modified since the timestamp |
Request - Get all container items
GET https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/items
Response
Status: 200 OK
[
{
"id": "6c7b629e8e8a4ca4847961916a1ebb09",
"url": "/containers/a9c242dc832f492c8e72f443a06e6efa/items/6c7b629e8e8a4ca4847961916a1ebb09",
"contentUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/content/6c7b629e8e8a4ca4847961916a1ebb09",
"ownerUrl": "/organizations/3f3a041e1d424b338c54151c6990e47d",
"containerUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa",
"permissionsUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/6c7b629e8e8a4ca4847961916a1ebb09",
"createdAt": "2017-06-14T16:17:47.2865489+00:00",
"updatedAt": "2017-06-14T16:17:47.2865489+00:00",
"contentHash": "434bbca1fbf950333c9d1e3a22bd42caee617582d12e920530fdc38615222380",
"contentHashAlgorithm": "SHA256",
"header": "eyANCiAgInZlcnNpb24iOiAxLA0KICAidHlwZSI6ICJmaWxlIiwNCiAgIm5hbWUiOiAid2VsY29tZS50eHQiDQogICJkYXRhIjoge30NCn0",
"headerHash": "ebd831efc2a623c0414a18e68c20988cdfc559809da999da330c56ff93783043",
"headerHashAlgorithm": "SHA256",
"algorithm": "AES",
"iv": "38074e933613420c83e708fb608bca91",
"key": "1JLLfRCcwe/EP+iGdLYb7tBphphwEvZzpmzcWhC27hHa7TXs0VDR4dwNp2KYQb6sTDqudzAIoLbFechQAN4spFHTzOS6ungIHsIWGzIl6ReJIjN/rRafCWeQq/Eu1ZEOqeFYb+JACXCtVSEg+Mbu9Tep5HraIWRuKka1v6e7ERxtf1GGgTh46SBtznTZy9XqzJCFcbf1MLDOF5rX7ytbF1WnSM8oYEQIfQ6GtDvXw0MWLlIBeO54x6fsFna6x7OGpWLboqZElckLp2Lg6CUS/lRuINUR1b09WP6JLSSR89/gjZXAusKEY2FnbF2kIlRO55Yre+8ZMMvmkkm8brCXiA==",
"keyHash": "27dd406cde054247b3331e44bd171651e2d4625a99cd4abe9523bb3c08ced817",
"keyHashAlgorithm: "SHA256"
}
]
Request - Get study item
GET https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/items/study
Request - Get all site items
GET https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/items/sites
Save Item
sIRB pSite
This will create a new item with a defined item id, or it can be used to update an existing item. The primary difference between the create and update cases is the response code that is returned. If the item was created, the server will response with 201 Created
otherwise it will respond with 200 OK
for an update.
PUT /containers/{containerId}/items/{a}[/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]
Request
PUT https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/items/study
{
"header": "eyANCiAgInZlcnNpb24iOiAxLA0KICAidHlwZSI6ICJmaWxlIiwNCiAgIm5hbWUiOiAid2VsY29tZS50eHQiDQogICJkYXRhIjoge30NCn0",
"headerHash": "ebd831efc2a623c0414a18e68c20988cdfc559809da999da330c56ff93783043"
"headerAlgorithm": "SHA256",
"content": "V2VsY29tZSB0byB0aGUgSVJCIEV4Y2hhbmdlLg==",
"contentHash": "434bbca1fbf950333c9d1e3a22bd42caee617582d12e920530fdc38615222380",
"contentHashAlgorithm": "SHA256",
"key": "1JLLfRCcwe/EP+iGdLYb7tBphphwEvZzpmzcWhC27hHa7TXs0VDR4dwNp2KYQb6sTDqudzAIoLbFechQAN4spFHTzOS6ungIHsIWGzIl6ReJIjN/rRafCWeQq/Eu1ZEOqeFYb+JACXCtVSEg+Mbu9Tep5HraIWRuKka1v6e7ERxtf1GGgTh46SBtznTZy9XqzJCFcbf1MLDOF5rX7ytbF1WnSM8oYEQIfQ6GtDvXw0MWLlIBeO54x6fsFna6x7OGpWLboqZElckLp2Lg6CUS/lRuINUR1b09WP6JLSSR89/gjZXAusKEY2FnbF2kIlRO55Yre+8ZMMvmkkm8brCXiA==",
"keyHash": "27dd406cde054247b3331e44bd171651e2d4625a99cd4abe9523bb3c08ced817",
"keyHashAlgorithm": "SHA256",
"iv": "38074e933613420c83e708fb608bca91",
"algorithm": "AES"
}
Response
Status: 201 Created
Location: https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/items/study
{
"id": "study",
"url": "/containers/a9c242dc832f492c8e72f443a06e6efa/items/study",
"contentUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/content/study",
"ownerUrl": "/organizations/3f3a041e1d424b338c54151c6990e47d",
"containerUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa",
"permissionsUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/study",
"createdAt": "2017-06-14T16:17:47.2865489+00:00",
"updatedAt": "2017-06-14T16:17:47.2865489+00:00",
"contentHash": "434bbca1fbf950333c9d1e3a22bd42caee617582d12e920530fdc38615222380",
"contentHashAlgorithm": "SHA256",
"header": "eyANCiAgInZlcnNpb24iOiAxLA0KICAidHlwZSI6ICJmaWxlIiwNCiAgIm5hbWUiOiAid2VsY29tZS50eHQiDQogICJkYXRhIjoge30NCn0",
"headerHash": "ebd831efc2a623c0414a18e68c20988cdfc559809da999da330c56ff93783043",
"headerHashAlgorithm": "SHA256",
"algorithm": "AES",
"iv": "38074e933613420c83e708fb608bca91",
"key": "1JLLfRCcwe/EP+iGdLYb7tBphphwEvZzpmzcWhC27hHa7TXs0VDR4dwNp2KYQb6sTDqudzAIoLbFechQAN4spFHTzOS6ungIHsIWGzIl6ReJIjN/rRafCWeQq/Eu1ZEOqeFYb+JACXCtVSEg+Mbu9Tep5HraIWRuKka1v6e7ERxtf1GGgTh46SBtznTZy9XqzJCFcbf1MLDOF5rX7ytbF1WnSM8oYEQIfQ6GtDvXw0MWLlIBeO54x6fsFna6x7OGpWLboqZElckLp2Lg6CUS/lRuINUR1b09WP6JLSSR89/gjZXAusKEY2FnbF2kIlRO55Yre+8ZMMvmkkm8brCXiA==",
"keyHash": "27dd406cde054247b3331e44bd171651e2d4625a99cd4abe9523bb3c08ced817",
"keyHashAlgorithm: "SHA256"
}
Delete Item
sIRB pSite
This allows the owner of an item to delete an item, its content, and all associated access records that grant access to other organizations.
DELETE /containers/{containerId}/items/{a}[/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]
Request
GET https://api.huronirbexchange.com/containers/11583047aa334792b62e7a07b128009d/items/sites/d4603bf685d2413aa008eeeb9bad8c20
Response
Status: 204 No Content
Add Item
sIRB pSite
This will create a new item with an exchange assigned identifier as a child of a specified url. This would be similar to putting a new file into a directory where the file name is randomly generated.
POST /containers/{containerId}/items[/{a}][/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}]
Request - Create new site
POST https://api.huronirbexchange.com/containers/containers/a9c242dc832f492c8e72f443a06e6efa/items/sites
{
"header": "eyANCiAgInZlcnNpb24iOiAxLA0KICAidHlwZSI6ICJmaWxlIiwNCiAgIm5hbWUiOiAid2VsY29tZS50eHQiDQogICJkYXRhIjoge30NCn0",
"headerHash": "ebd831efc2a623c0414a18e68c20988cdfc559809da999da330c56ff93783043"
"headerAlgorithm": "SHA256",
"content": "V2VsY29tZSB0byB0aGUgSVJCIEV4Y2hhbmdlLg==",
"contentHash": "434bbca1fbf950333c9d1e3a22bd42caee617582d12e920530fdc38615222380",
"contentHashAlgorithm": "SHA256",
"key": "1JLLfRCcwe/EP+iGdLYb7tBphphwEvZzpmzcWhC27hHa7TXs0VDR4dwNp2KYQb6sTDqudzAIoLbFechQAN4spFHTzOS6ungIHsIWGzIl6ReJIjN/rRafCWeQq/Eu1ZEOqeFYb+JACXCtVSEg+Mbu9Tep5HraIWRuKka1v6e7ERxtf1GGgTh46SBtznTZy9XqzJCFcbf1MLDOF5rX7ytbF1WnSM8oYEQIfQ6GtDvXw0MWLlIBeO54x6fsFna6x7OGpWLboqZElckLp2Lg6CUS/lRuINUR1b09WP6JLSSR89/gjZXAusKEY2FnbF2kIlRO55Yre+8ZMMvmkkm8brCXiA==",
"keyHash": "27dd406cde054247b3331e44bd171651e2d4625a99cd4abe9523bb3c08ced817",
"keyHashAlgorithm": "SHA256",
"iv": "38074e933613420c83e708fb608bca91",
"algorithm": "AES"
}
Response
Status: 201 Created
Location: https://api.huronirbexchange.com/containers/containers/a9c242dc832f492c8e72f443a06e6efa/items/sites/d2a892e4d87f4f4b9f4b87b98decc42e
{
"id": "sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"url": "/containers/a9c242dc832f492c8e72f443a06e6efa/items/sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"contentUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/content/sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"ownerUrl": "/organizations/3f3a041e1d424b338c54151c6990e47d",
"containerUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa",
"permissionsUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"createdAt": "2017-06-14T16:17:47.2865489+00:00",
"updatedAt": "2017-06-14T16:17:47.2865489+00:00",
"contentHash": "434bbca1fbf950333c9d1e3a22bd42caee617582d12e920530fdc38615222380",
"contentHashAlgorithm": "SHA256",
"header": "eyANCiAgInZlcnNpb24iOiAxLA0KICAidHlwZSI6ICJmaWxlIiwNCiAgIm5hbWUiOiAid2VsY29tZS50eHQiDQogICJkYXRhIjoge30NCn0",
"headerHash": "ebd831efc2a623c0414a18e68c20988cdfc559809da999da330c56ff93783043",
"headerHashAlgorithm": "SHA256",
"algorithm": "AES",
"iv": "38074e933613420c83e708fb608bca91",
"key": "1JLLfRCcwe/EP+iGdLYb7tBphphwEvZzpmzcWhC27hHa7TXs0VDR4dwNp2KYQb6sTDqudzAIoLbFechQAN4spFHTzOS6ungIHsIWGzIl6ReJIjN/rRafCWeQq/Eu1ZEOqeFYb+JACXCtVSEg+Mbu9Tep5HraIWRuKka1v6e7ERxtf1GGgTh46SBtznTZy9XqzJCFcbf1MLDOF5rX7ytbF1WnSM8oYEQIfQ6GtDvXw0MWLlIBeO54x6fsFna6x7OGpWLboqZElckLp2Lg6CUS/lRuINUR1b09WP6JLSSR89/gjZXAusKEY2FnbF2kIlRO55Yre+8ZMMvmkkm8brCXiA==",
"keyHash": "27dd406cde054247b3331e44bd171651e2d4625a99cd4abe9523bb3c08ced817",
"keyHashAlgorithm: "SHA256"
}
Get Item Content
sIRB pSite
This will return the full item, it is similar to the List items request but it also includes the content
, contentHash
, and contentHashAlgorithm
properties in the response. These property values are not included in the List items request, because the content of an item may be quite large, and returning a list of large items could be detrimental to network and to the service.
GET /containers/{containerId}/content/{a}[/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]
Request
GET https://api.huronirbexchange.com/containers/28cd8bfab49542a58e7b742e348987d3/content/study
Response
Status: 200 OK
{
"id": "sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"url": "/containers/a9c242dc832f492c8e72f443a06e6efa/items/sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"contentUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/content/sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"ownerUrl": "/organizations/3f3a041e1d424b338c54151c6990e47d",
"containerUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa",
"permissionsUrl": "/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/sites/d2a892e4d87f4f4b9f4b87b98decc42e",
"createdAt": "2017-06-14T16:17:47.2865489+00:00",
"updatedAt": "2017-06-14T16:17:47.2865489+00:00",
"header": "eyANCiAgInZlcnNpb24iOiAxLA0KICAidHlwZSI6ICJmaWxlIiwNCiAgIm5hbWUiOiAid2VsY29tZS50eHQiDQogICJkYXRhIjoge30NCn0",
"headerHash": "ebd831efc2a623c0414a18e68c20988cdfc559809da999da330c56ff93783043",
"headerHashAlgorithm": "SHA256",
"content": "V2VsY29tZSB0byB0aGUgSVJCIEV4Y2hhbmdlLg==",
"contentHash": "434bbca1fbf950333c9d1e3a22bd42caee617582d12e920530fdc38615222380",
"contentHashAlgorithm": "SHA256",
"algorithm": "AES",
"iv": "38074e933613420c83e708fb608bca91",
"key": "1JLLfRCcwe/EP+iGdLYb7tBphphwEvZzpmzcWhC27hHa7TXs0VDR4dwNp2KYQb6sTDqudzAIoLbFechQAN4spFHTzOS6ungIHsIWGzIl6ReJIjN/rRafCWeQq/Eu1ZEOqeFYb+JACXCtVSEg+Mbu9Tep5HraIWRuKka1v6e7ERxtf1GGgTh46SBtznTZy9XqzJCFcbf1MLDOF5rX7ytbF1WnSM8oYEQIfQ6GtDvXw0MWLlIBeO54x6fsFna6x7OGpWLboqZElckLp2Lg6CUS/lRuINUR1b09WP6JLSSR89/gjZXAusKEY2FnbF2kIlRO55Yre+8ZMMvmkkm8brCXiA==",
"keyHash": "27dd406cde054247b3331e44bd171651e2d4625a99cd4abe9523bb3c08ced817",
"keyHashAlgorithm: "SHA256"
}
Get Item Access
sIRB pSite
Gets a list of organizations that have been granted access to the item.
GET /containers/{containerId}/permissions/{a}[/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]
Request
GET https://api.huronirbexchange.com/containers/28cd8bfab49542a58e7b742e348987d3/permission/study
Response
Status: 200 OK
[
{
"id": "e3eff4e2287e448eb5361c006f452b0f",
"isSirb": true,
"isDisabled": false,
"name": "Huron University",
"certificateUrl": "/organizations/e3eff4e2287e448eb5361c006f452b0f/certificate",
"thumbprint": "1e5e5d073e97ebb93239d04cc639751700f4c7f0",
"url": "/organizations/e3eff4e2287e448eb5361c006f452b0f",
"createdAt": "2017-06-14T20:48:24.6477048+00:00",
"updatedAt": "2017-06-14T20:48:24.6477048+00:00"
}
]
Grant Item Access
sIRB pSite
This allows the owner of an item to grant read access to another organization that they are collaborating with on the study.
POST /containers/{containerId}/permissions/{a}[/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]
Parameters
Name | Type | Description |
---|---|---|
organizationId | string | Required. The unique identifier that represents the organization being granted access to the item. |
key | string | Required. The key value used to encrypt the item header and item content. This key should be encrypted using the certificate of the organization being granted access. The value should then be base-64 encoded. |
Request
POST https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/sites/d2a892e4d87f4f4b9f4b87b98decc42e
{
"organizationId": "58acc5e7ac4e4ad6a9da76c7307c22a2"
"key": "N5y6CdbmAcshRBNjnZocQ1C+kR/FBxeud27lOX8DFVIbJ51IIeuJpmwciKw/cvlT8kY/0GINy+he8raYcMlQX1TrJRE28q8LIMLAE9qLDzes6Y2c6dK4CpwY7BoxNa6nHya8B3FtwD7xsXbE/SXxv8hmWayKbICWLI/MZAy0udXsBBsLJ6fA0zPKOzxJ1G3X9VzmDC04BqAC4onzuIPKJGkWO1M/pjCQPwngjfP/3umWYOzUH1a5V3YjOJimQagapH4T382UbVwwudRiAhe5kn3/Am5nbCKD006RaLAqscA9lRahPjTY/4Iw489MMXd1GfFlH3g01Z+/P3dDxOj2tw=="
}
Response
Status: 200 OK
Update Item Access
sIRB pSite
This allows the owner of an item to update the access key for organizations that have read access.
PUT /containers/{containerId}/permissions/{a}/{b?}/{c?}/{d?}/{e?}/{f?}/{g?}/{h?}/{i?}/{j?}/{k?}/{l?}
Parameters
Name | Type | Description |
---|---|---|
organizationId | string | Required. The unique identifier that represents the organization being granted access to the item. |
key | string | Required. The key value used to encrypt the item header and item content. This key should be encrypted using the certificate of the organization being granted access. The value should then be base-64 encoded. |
Request
PUT https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/sites/d2a892e4d87f4f4b9f4b87b98decc42e
{
"organizationId": "58acc5e7ac4e4ad6a9da76c7307c22a2"
"key": "N5y6CdbmAcshRBNjnZocQ1C+kR/FBxeud27lOX8DFVIbJ51IIeuJpmwciKw/cvlT8kY/0GINy+he8raYcMlQX1TrJRE28q8LIMLAE9qLDzes6Y2c6dK4CpwY7BoxNa6nHya8B3FtwD7xsXbE/SXxv8hmWayKbICWLI/MZAy0udXsBBsLJ6fA0zPKOzxJ1G3X9VzmDC04BqAC4onzuIPKJGkWO1M/pjCQPwngjfP/3umWYOzUH1a5V3YjOJimQagapH4T382UbVwwudRiAhe5kn3/Am5nbCKD006RaLAqscA9lRahPjTY/4Iw489MMXd1GfFlH3g01Z+/P3dDxOj2tw=="
}
Response
Status: 200 OK
Revoke Item Access
sIRB pSite
This allows the owner of an item to revoke an organizations access to an item.
DELETE /containers/{containerId}/permissions/{a}[/{b}][/{c}][/{d}][/{e}][/{f}][/{g}][/{h}][/{i}][/{j}][/{k}][/{l}]
Parameters
Name | Type | Description |
---|---|---|
organizationId | string | Required. The unique identifier that represents the organization having their access revoked. |
Request
DELETE https://api.huronirbexchange.com/containers/a9c242dc832f492c8e72f443a06e6efa/permissions/sites/d2a892e4d87f4f4b9f4b87b98decc42e
{
"organizationId": "58acc5e7ac4e4ad6a9da76c7307c22a2"
}
Response
Status: 200 OK
Organizations
List Organizations
sIRB pSite
This allows you to find organizations that are registered on the IRB Exchange.
GET /organizations{?name}
Parameters
Name | Type | Description |
---|---|---|
name | string | Find organizations that start with the specified name. |
Request
GET https://api.huronirbexchange.com/organizations
Response
Status: 200 OK
[
{
"id": "e3eff4e2287e448eb5361c006f452b0f",
"isSirb": true,
"isDisabled": false,
"name": "Huron University",
"certificateUrl": "/organizations/e3eff4e2287e448eb5361c006f452b0f/certificate",
"thumbprint": "1e5e5d073e97ebb93239d04cc639751700f4c7f0",
"url": "/organizations/e3eff4e2287e448eb5361c006f452b0f",
"createdAt": "2017-06-14T20:48:24.6477048+00:00",
"updatedAt": "2017-06-14T20:48:24.6477048+00:00"
}
]
Create Organization
Admin
POST /organizations
Get Organization
sIRB pSite
This will retrieve an organization by its identifier.
GET /organizations/{organizationId}
Update Organization
Admin
PUT /organizations/{organizationId}
Get Organization Certificate
sIRB pSite
GET /organizations/{organizationId}/certificate
Update Organization Certificate
Admin
This will set or replace the public key certificate for an organization.
PUT /organizations/{organizationId}/certificate
Tests
Test Connectivity
Anonymous
This allows you to test your ability to connect to the IRB Exchange. When the request is successful the system will return the value pong
. This will fail if the IRB Exchange is down or if there are any networking related issues that are blocking your connection.
GET /ping
Request
GET https://api.huronirbexchange.com/ping
Response
Status: 200 OK
pong
Test Authentication
sIRB pSite
This tests your ability to send an authenticated message to the IRB Exchange. When the request is successful the system will return the value pong
. This will fail if the request sent to the IRB Exchange cannot be authenticated, if the IRB Exchange is down, or if any networking related issues are blocking your connection.
GET /ping/site
Request
GET https://api.huronirbexchange.com/ping/site
Response
Status: 200 OK
pong
Test Authorization
sIRB pSite
This tests your ability to send an authenticated message to the IRB Exchange that is only authorized for organizations registered as a single IRB of record (sIRB). When the request is successful the system will return the value pong
. Not all organizations using the system are granted this authorization level; if you are only authorized to be a participating site, this request will fail. This request will also fail if it cannot be authenticated, or if any networking related issues are blocking your connection.
GET /ping/sirb
Request
GET https://api.huronirbexchange.com/ping/sirb
Response
Status: 200 OK
pong