IRB Exchange

Show / Hide Table of Contents

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

Note: This request intentionally requires an empty object as the request body. This may be expanded upon with additional keys in the future.
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

NameTypeDescription
organizationIdstringRequired. 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

NameTypeDescription
organizationIdstringRequired. 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

NameTypeDescription
ownerstringFilter the result set to only the items owned by the organization with the specified id
recursebooleanExpand the result set with all items that share the same bath path.
sincedateTimeAn 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

NameTypeDescription
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

NameTypeDescription
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

NameTypeDescription
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

NameTypeDescription
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
Back to top © 2017 Huron Consulting Group Inc. and affiliates.
Use and distribution prohibited except through written agreement with Huron. Trademarks used in this website are registered or unregistered trademarks of Huron or its licensors.