Overview

The Mural Link system is used to pay participants who are participating in clinical trials.

Note that Mural Link is a working title, and will be changed before launch.

Entities

The system consists of the following entities, whose roles and relationships are described below.

The hierachy is as follows:

Diagram

Client

The client is the company contracting with Mural Health. They are, or represent, a company such as pharmaceutical company, medical device manufacturer, or any other company that produces a product which is subject to clinical trial approval.

The client may also be a CRO, which has been engaged by the type of company described above.

Sponsor

The sponsor is the company that the client is working on behalf of. This may be the same company as the client, but will often be different because logistics are often handled by third parties such as CROs.

Contract

A contract is an agreement between the client and Mural Health. It covers one or more clinical trials. The client will provide funding to Mural Health, which will be used to distribute payments to the participants.

Clinical Trial

A clinical trial is a single phase of the process required to bring a product to market. Trial phases may each run for multiple years, so participants may receive regular payments for an extended period.

The trial is officially referred to via a protocol ID which is a unique identifier for the trial. However, they are most commonly referred to via marketing-friendly names.

Funding

Funding is the money provided to Mural Health to pay the participants. It is not used to pay Mural Health for its services. It is a fiduciary account. This means that Mural Health is authorized to distribute funds to the participants, but the money is still owned by the client.

Site

A site is a location where a clinical trial is conducted. These are usually private practices, hospitals, or universities.

A site may be participating in multiple trials, for multiple different clients and sponsors, simultaneously. A site may be working directly with Mural Health to manage the trials they are participating in, or they may be working under a CRO. It is possible that they can be doing both at the same time.

Site Coordinator

The site coordinator is an employee at the site who directly deals with the participant. They are frequently nurses or other medical staff. They will also be the users of the Mural Link system — registering and paying participants.

A site coordinator can work for multiple sites, although this is usually when there are multiple sites operating as part of the same business.

Participant

A participant is a person who is participating in a clinical trial. They will have a medical condition which is can potentially be treated by the product undergoing the trial.

Participants are often compensated financially for their time and travel. The amount paid to is strictly controlled by an Institutional Review Board (IRB) to ensure that participants are not coerced into participating against their best interests. Specifically, the amount paid, while it should be a fair amount, should not be high enough to encourage the individual to take inadvisable health risks.

Payment Schedule

For each site, there will be a payment schedule which describes each milestone, and how much a participant is to be paid. This is because the amouts will vary by geographic location, and by the type of trial. For example, participants in Los Angeles or New York may receive a higher amount than participants in the midwest. Also, trials involving surgery will pay significantly more than trials involving a pill or injection.

Table 1. Payment Schedule Example
Milestone Amount

Week 1

$100

Week 2

$75

Week 3

$75

Week 4

$75

Week 5

$75

Week 6

$75

Week 7

$75

Week 8

$150

Week 9

$150

Week 10

$200

These amounts will be programmed into the Mural Link system, so the site coordinator doesn’t have to keep track of amounts.

Each milestone can only be paid once. So if a participant is paid for the first two weeks, when they come for their third visit, the site coordinator will not see them available for payment. The site coordinator will only be able to pay them for the week three milestone.

Payment Methods

The participant will be able to select among multiple payment methods. They can have money deposited into their bank account, either by ACH or wire transfer, or directly onto their debit card.

Other payment options, such as Cash App, PayPal, Venmo, etc. will likely be added in the future.

Register

Any user can register an account with the system. However, they will not be able to do anything until they are assigned permissions.

Request

{
    "action": "register",
    "payload": {
        "email": "herminia.kline@example.com",
        "phone": "(212) 555-1212",
        "first_name": "Herminia",
        "last_name": "Kline",
        "password": "EpEQ@.glVm6!",
        "address": {
            "street1": "1100 Fairfield Rd",
            "street2": "",
            "city": "Hamilton",
            "state": "OH",
            "post_code": "45012"
        }
    }
}

Response

{
    "action": "register",
    "payload": {
        "address": {
            "city": "Hamilton",
            "post_code": "45012",
            "state": "OH",
            "street1": "1100 Fairfield Rd",
            "uid": "2LFdAcDrNOt8BvnSERTpBk3VPHk"
        },
        "email": "herminia.kline@example.com",
        "email_enabled": true,
        "email_verified": false,
        "first_name": "Herminia",
        "last_name": "Kline",
        "phone": "(212) 555-1212",
        "push_enabled": true,
        "sms_enabled": true,
        "sms_verified": false,
        "uid": "2LFdAcxNpuhi13SD8MRQMSWxmGH"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAd33tEtaCdd3Jg8Y7uohuUj",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Log In

Logging in is required to take any action except registration. Upon successful login, the user will receive a session ID which much be used for all subsequent requests.

Request

{
    "action": "login",
    "payload": {
        "email": "admin@example.com",
        "password": "259otqjIbYNDeFd2rx5XNpNX4Si"
    }
}

Response

{
    "action": "login",
    "payload": {
        "invalid_attempts": 0,
        "session_id": "2LFdAZk1Lq8xMYjpvHyMI6oGU9N"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAW9RUyCxb98fPfUThkjl3ae",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Assign Role

Assign a role to a user for a resource (trial, site, client, etc.). This will give them all the permissions assigned to that role for that resource. It will also add the role name to the user’s profile.

Request

{
    "action": "assign_role",
    "session_id": "2LFdAZk1Lq8xMYjpvHyMI6oGU9N",
    "payload": {
        "role_name": "Mural Admin",
        "resource_uid": "default",
        "user_uid": "2LFdAcxNpuhi13SD8MRQMSWxmGH"
    }
}

Response

{
    "action": "assign_role",
    "status_code": 200,
    "message": "added 37 permissions; 0 errors",
    "request_id": "2LFdAcsdPf1p6mVOZStMdvPL2mW",
    "roles": [
        "admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Create Client

A client represents a customer of the service. For now there’s nothing here but a name.

This functionality is only available to admin users.

Request

{
    "action": "create_client",
    "session_id": "2LFdAbHBL6CZsttwbEXMND2adFn",
    "payload": {
        "name": "Vang, Inc.",
        "sales_contact": "Selma Oliver",
        "tax_id": "864401449",
        "contact_name": "Ines Avery",
        "contact_phone": "(447) 215-2025",
        "contact_email": "ines.avery@example.com",
        "address": {
            "street1": "779 Brighton St",
            "street2": "",
            "city": "Albany",
            "state": "NY",
            "post_code": "12212"
        }
    }
}

Response

{
    "action": "create_client",
    "payload": {
        "address": {
            "city": "Albany",
            "post_code": "12212",
            "state": "NY",
            "street1": "779 Brighton St",
            "uid": "2LFdAcqLgJWhua0AXsN0Pq2mwQY"
        },
        "name": "Vang, Inc.",
        "uid": "2LFdAWEDMjgI4slcSwAbZjeD0bm"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAYRUfNg8m5OinkCpKkbsnUH",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Create Sponsor

Create a new sponsor, which will be made available in a drop-down when adding new trials.

Request

{
    "action": "create_sponsor",
    "session_id": "2LFdAbHBL6CZsttwbEXMND2adFn",
    "payload": {
        "name": "test sponsor 1",
        "client_uid": "2LFdAWEDMjgI4slcSwAbZjeD0bm"
    }
}

Response

{
    "action": "create_sponsor",
    "payload": {
        "client_uid": "2LFdAWEDMjgI4slcSwAbZjeD0bm",
        "name": "test sponsor 1",
        "uid": "2LFdAYK5nrIOcAJB04yoSXjXjFG"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAWPEP8vCxAUjg6u4VR5uERq",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

keepalive

This call is used to determine whether the current session_id is still valid.

It also refreshes the session timeout.

Request

{
    "action": "keepalive",
    "session_id": "2LFdAelNiBW8alKBi82M5WrCG5v"
}

Response

{
    "action": "keepalive",
    "status_code": 200,
    "message": "session valid",
    "request_id": "2LFdAeXwxmwRfwgOzpkuQjAkA2Q",
    "roles": [
        "admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Log Out

Expire the current session ID.

Request

{
    "action": "logout",
    "session_id": "2LFdAelNiBW8alKBi82M5WrCG5v"
}

Response

{
    "action": "logout",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAfU15Rdxyup6QE2jdVe1dOK",
    "roles": [
        "admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

ping

Simple test of server connectivity. ping does not require a valid session ID.

Request

{
    "action": "ping"
}

Response

{
    "action": "ping",
    "status_code": 200,
    "message": "pong",
    "request_id": "2LFdAilYQIx3grKdD186Bf0jQoC",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

My Info

Retrieve the logged-in user’s information.

Request

{
    "action": "my_info",
    "session_id": "2LFdApRqV4wDR9eiJACwjTmfENR",
    "payload": {
        "token": ""
    }
}

Response

{
    "action": "my_info",
    "payload": {
        "address": {
            "city": "Roanoke",
            "post_code": "24022",
            "state": "VA",
            "street1": "1000 Tomkins Blcd",
            "uid": "2LFdAnMRK7YdiZZ6gPaJ6alSYdm"
        },
        "email": "alberta.stein@example.com",
        "email_enabled": true,
        "email_verified": false,
        "first_name": "Alberta",
        "last_name": "Stein",
        "phone": "(212) 555-1212",
        "push_enabled": true,
        "sms_enabled": true,
        "sms_verified": false,
        "uid": "2LFdAozISZ8loU22yAgXbVjUQ7k"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdApJvDmBCfzhioPUZQdZueqA",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Get user verification token

For admin use only.

Retrieve a user’s verification token for testing purposes.

Request

{
    "action": "get_user_verification_token",
    "session_id": "2LFdAtBha8abCEZ18AyRLhXhRTU",
    "payload": {
        "user_uid": "2LFdAozISZ8loU22yAgXbVjUQ7k"
    }
}

Response

{
    "action": "get_user_verification_token",
    "payload": "2LFdAmsAKDbeEUicxr6Z65oWuOo",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdApZ8bn6rCMruSIcwxKDcB6g",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Users

Look up registered users.

This is for use by admins only, and is used to grant permissions.

Request

{
    "action": "get_users",
    "session_id": "2LFdAogmQF0ui8IDEsyq3EYF3fT"
}

Response

{
    "action": "get_users",
    "payload": [
        {
            "address": {
                "city": "Hamilton",
                "post_code": "45012",
                "state": "OH",
                "street1": "1100 Fairfield Rd",
                "uid": "2LFdAcDrNOt8BvnSERTpBk3VPHk"
            },
            "email": "herminia.kline@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Herminia",
            "last_name": "Kline",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAcxNpuhi13SD8MRQMSWxmGH"
        },
        {
            "address": {
                "city": "Albany",
                "post_code": "31706",
                "state": "GA",
                "street1": "761 Maple Ln",
                "uid": "2LFdAbYrVWgnoRpIrUJWQgcqdVf"
            },
            "email": "jerrod.wilson@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Jerrod",
            "last_name": "Wilson",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAbz5miEyZbIJlFzyViMeofQ"
        },
        {
            "address": {
                "city": "Akron",
                "post_code": "44309",
                "state": "OH",
                "street1": "17 Sunrise Rd",
                "uid": "2LFdAd95UGz2miOqBZ9LXh4Kyx9"
            },
            "email": "alonzo.valdez@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Alonzo",
            "last_name": "Valdez",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAXKw03LsNTVljEFMCmYKyBl"
        },
        {
            "address": {
                "city": "Minneapolis",
                "post_code": "55401",
                "state": "MN",
                "street1": "29 Wommert Ln",
                "uid": "2LFdAkhEqyYlxESkBmTQrgrOEry"
            },
            "email": "nickolas.welch@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Nickolas",
            "last_name": "Welch",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAhLNS27hnBPReyZRi0RAoKW"
        },
        {
            "address": {
                "city": "Providence",
                "post_code": "02940",
                "state": "RI",
                "street1": "772 Lowel Rd",
                "uid": "2LFdAf4aZb6YVzMxevjmp6GphvP"
            },
            "email": "stewart.johns@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Stewart",
            "last_name": "Johns",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAdwvjZh7UnchDxeejpRJ0Pn"
        },
        {
            "address": {
                "city": "Roanoke",
                "post_code": "24022",
                "state": "VA",
                "street1": "1000 Tomkins Blcd",
                "uid": "2LFdAnMRK7YdiZZ6gPaJ6alSYdm"
            },
            "email": "alberta.stein@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Alberta",
            "last_name": "Stein",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAozISZ8loU22yAgXbVjUQ7k"
        },
        {
            "address": {
                "city": "Seattle",
                "post_code": "98109",
                "state": "WA",
                "street1": "1924 Columbus Dr",
                "uid": "2LFdAjvY4qNQzYsS7hy03kQN0R6"
            },
            "email": "bettye.marsh@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Bettye",
            "last_name": "Marsh",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAk9xJeCd3fipPhKGLvCSL3m"
        },
        {
            "address": {
                "city": "Indianapolis",
                "post_code": "46206",
                "state": "IN",
                "street1": "1252 Plymth Terr",
                "uid": "2LFdAkP7D8v6e3TYNeayZvM0SW0"
            },
            "email": "junior.yang@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Junior",
            "last_name": "Yang",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAft0cTB7nfQ6XN4YOQyuCko"
        },
        {
            "address": {
                "city": "Spokane",
                "post_code": "99210",
                "state": "WA",
                "street1": "665 Bryant Blvd",
                "uid": "2LFdArkQGYLMtiQ0Gu6Myv2xnFO"
            },
            "email": "edmund.jackson@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Edmund",
            "last_name": "Jackson",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAqoHSpQB4aa2R5vyOTDp6HM"
        },
        {
            "address": {
                "city": "Vancouver",
                "post_code": "98661",
                "state": "WA",
                "street1": "31 Anton Dr",
                "uid": "2LFdAgmBy2USSYVSYBbexLTZoDh"
            },
            "email": "cole.cleveland@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Cole",
            "last_name": "Cleveland",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAjycqFuyoaZxZr7FhI0o9Ao"
        },
        {
            "address": {
                "city": "Minneapolis",
                "post_code": "55401",
                "state": "MN",
                "street1": "935 Midland St",
                "uid": "2LFdAoHVoidteECq1ZL41fL4css"
            },
            "email": "debra.carney@example.com",
            "email_enabled": true,
            "email_verified": false,
            "first_name": "Debra",
            "last_name": "Carney",
            "phone": "(212) 555-1212",
            "push_enabled": true,
            "sms_enabled": true,
            "sms_verified": false,
            "uid": "2LFdAnILTCmxVXj6oxymomnlBu6"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdArgpfeOqOzPfYbqP4ssrnjF",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Update User

Request

{
    "action": "update_user",
    "session_id": "2LFdApPx1b7V1B98FbsdZJUodwK",
    "payload": {
        "address": {
            "city": "Sunnyvale",
            "post_code": "94086",
            "state": "CA",
            "street1": "539 Brandy Run",
            "uid": "2LFdAsTsxwVDNkpd5BIUOwF6KCj"
        },
        "email": "woodrow.parrish@example.com",
        "email_enabled": true,
        "email_verified": false,
        "first_name": "Michael",
        "last_name": "Knight",
        "phone": "(212) 555-1212",
        "push_enabled": true,
        "sms_enabled": true,
        "sms_verified": false,
        "uid": "2LFdAtN49LOS0uO6OqH4AxyXL4A",
        "password": "\"=j]zzsjDv7:",
        "session_id": "2LFdApPx1b7V1B98FbsdZJUodwK"
    }
}

Response

{
    "action": "update_user",
    "payload": {
        "address": {
            "city": "Sunnyvale",
            "post_code": "94086",
            "state": "CA",
            "street1": "539 Brandy Run",
            "uid": "2LFdAsTsxwVDNkpd5BIUOwF6KCj"
        },
        "email": "woodrow.parrish@example.com",
        "email_enabled": true,
        "email_verified": false,
        "first_name": "Michael",
        "last_name": "Knight",
        "phone": "(212) 555-1212",
        "push_enabled": true,
        "sms_enabled": true,
        "sms_verified": false,
        "uid": "2LFdAtN49LOS0uO6OqH4AxyXL4A"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdArVviIMIMXV7bMu5AxVsPNP",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Update User Contact Preferences

Allow the user to opt into or out of receiving notifications via e-mail, SMS, or mobile push notifications.

Request

{
    "action": "update_user_contact_preferences",
    "session_id": "2LFdAqc0Iqes87rNJXaErAlSUv4",
    "payload": {
        "uid": "2LFdApfLqJbwwGpRsk2i2u4MOTW",
        "email_enabled": false,
        "sms_enabled": false,
        "push_enabled": false
    }
}

Response

{
    "action": "update_user_contact_preferences",
    "payload": {
        "address": {
            "city": "Garland",
            "post_code": "75040",
            "state": "TX",
            "street1": "1329 East Parson St",
            "uid": "2LFdAnpYyM3gdvNgpaXqHfAI0kT"
        },
        "email": "bret.davis@example.com",
        "email_enabled": false,
        "email_verified": false,
        "first_name": "Bret",
        "last_name": "Davis",
        "phone": "(212) 555-1212",
        "push_enabled": false,
        "sms_enabled": false,
        "sms_verified": false,
        "uid": "2LFdApfLqJbwwGpRsk2i2u4MOTW"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdApRFqIMaSrci1hkZoqP9Lzr",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Password Rules

Get a list of rules for valid passwords.

Request

{
    "action": "password_rules"
}

Response

{
    "action": "password_rules",
    "payload": [
        "Password must be at least 8 characters long.",
        "Password must contain at least one digit.",
        "Password must contain at least one special character: !@#$%^&*()-_=+[]{}|;:'\",.<>/?`~",
        "Password must contain at least one letter (capital or lowercase.)"
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB0PQ6KRuOuWq6DgY02IIIoO",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Set Push Token

Set the user’s push token so they can receive mobile notifications.

Request

{
    "action": "set_push_token",
    "session_id": "2LFdAyED7M4NWoNIVusOb6vMAs0",
    "payload": {
        "push_token": "sample token"
    }
}

Response

{
    "action": "set_push_token",
    "status_code": 200,
    "message": "token added successfully",
    "request_id": "2LFdAvgaXkhcruHXX5XyDEKUEAC",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Clients

The get_clients call is required to get client IDs to be used when creating contracts.

This functionality is only available to admin users.

This requires the get_clients permission.

Request

{
    "action": "get_clients",
    "session_id": "2LFdB0d1dFmsqAxrki6SfnmtSg4"
}

Response

{
    "action": "get_clients",
    "payload": [
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "keisha.mckenzie@example.com",
            "contact_name": "Keisha Mckenzie",
            "contact_phone": "(486) 915-2399",
            "name": "Cunningham, Inc.",
            "sales_contact": "Armando Guerrero",
            "tax_id": "150601369",
            "uid": "2LFdAkMYhcrDeB0ysuEqGp3wjrt"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "fred.pennington@example.com",
            "contact_name": "Fred Pennington",
            "contact_phone": "(215) 236-7938",
            "name": "Davenport, Inc.",
            "sales_contact": "Darrel Sargent",
            "tax_id": "847478988",
            "uid": "2LFdAxb0YF2t6qSScH9rKhVjCMD"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "kelley.whitney@example.com",
            "contact_name": "Kelley Whitney",
            "contact_phone": "(385) 906-4477",
            "name": "Gardner, Inc.",
            "sales_contact": "Dwight Bauer",
            "tax_id": "879975116",
            "uid": "2LFdAiIsjDN768OC8aruz6VwUj4"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "irwin.flores@example.com",
            "contact_name": "Irwin Flores",
            "contact_phone": "(787) 795-4423",
            "name": "Glover, Inc.",
            "sales_contact": "Theron Hester",
            "tax_id": "622892504",
            "uid": "2LFdAeRpdzPNoaT5hhcZsxWKfj3"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "virginia.dotson@example.com",
            "contact_name": "Virginia Dotson",
            "contact_phone": "(307) 366-3829",
            "name": "Hubbard, Inc.",
            "sales_contact": "Brock Houston",
            "tax_id": "830828598",
            "uid": "2LFdAq5qf3PaCXqNqXkMjTtMrsA"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "camille.james@example.com",
            "contact_name": "Camille James",
            "contact_phone": "(589) 755-9681",
            "name": "Keller, Inc.",
            "sales_contact": "Kory Salas",
            "tax_id": "126257771",
            "uid": "2LFdAun8uAcJfxDuPi005EGdJnm"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "kitty.valencia@example.com",
            "contact_name": "Kitty Valencia",
            "contact_phone": "(931) 786-3282",
            "name": "Mcfarland, Inc.",
            "sales_contact": "Wm Dillon",
            "tax_id": "157384197",
            "uid": "2LFdAmjBqSSIRz0jWSrBRy8OamN"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "frances.holloway@example.com",
            "contact_name": "Frances Holloway",
            "contact_phone": "(730) 116-8643",
            "name": "Oneal, Inc.",
            "sales_contact": "Stefan Osborn",
            "tax_id": "403412262",
            "uid": "2LFdAks6BGRvDMEXOCaQLb3Istt"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "jewel.wiley@example.com",
            "contact_name": "Jewel Wiley",
            "contact_phone": "(466) 065-3210",
            "name": "Quinn, Inc.",
            "sales_contact": "Arturo Price",
            "tax_id": "850621309",
            "uid": "2LFdAqs0akPdj1O5Zv1TJX8ri6E"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "charlotte.trevino@example.com",
            "contact_name": "Charlotte Trevino",
            "contact_phone": "(424) 226-4150",
            "name": "Reeves, Inc.",
            "sales_contact": "Gil Giles",
            "tax_id": "454560280",
            "uid": "2LFdB0LIzZWjZ6dYiUGp6OnPkVl"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "ines.avery@example.com",
            "contact_name": "Ines Avery",
            "contact_phone": "(447) 215-2025",
            "name": "Vang, Inc.",
            "sales_contact": "Selma Oliver",
            "tax_id": "864401449",
            "uid": "2LFdAWEDMjgI4slcSwAbZjeD0bm"
        },
        {
            "client_signature_date": "2023-02-04",
            "client_type": "sponsor",
            "contact_email": "goldie.ingram@example.com",
            "contact_name": "Goldie Ingram",
            "contact_phone": "(782) 076-4765",
            "name": "William, Inc.",
            "sales_contact": "Rod York",
            "tax_id": "608079339",
            "uid": "2LFdAoJKqmJFujx1L8hjVlklKZs"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB0WI2W0D4vnkjLj3imCe7WN",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Client

get_client is like get_clients, except it returns a single client by UID.

Requires permission view_clients.

Request

{
    "action": "get_client",
    "session_id": "2LFdAuaGIfdRVSMAHy8A3myB9s3",
    "payload": {
        "uid": "2LFdAyRVroz4RO1krGJW1qaJhod"
    }
}

Response

{
    "action": "get_client",
    "payload": {
        "address": {
            "city": "Irving",
            "post_code": "75061",
            "state": "TX",
            "street1": "1585 North Hampton St",
            "uid": "2LFdAye3rxoGIYvnVmGVWHRMgB6"
        },
        "audit_history": [
            {
                "changes": "created client",
                "resource_uid": "2LFdAyRVroz4RO1krGJW1qaJhod",
                "uid": "2LFdAuz5UOMeJVOSaaiL6Mc4jaT",
                "user_uid": "2LFdB0zHISiAyDac07wp8XiOzku"
            }
        ],
        "name": "Harvey, Inc.",
        "uid": "2LFdAyRVroz4RO1krGJW1qaJhod"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAwPaQ5L0cbjKr7gjXlijlbM",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Edit Client

A client may be edited to fix a typo.

This functionality is only available to admin users.

Request

{
    "action": "edit_client",
    "session_id": "2LFdAuaGIfdRVSMAHy8A3myB9s3",
    "payload": {
        "uid": "2LFdAyRVroz4RO1krGJW1qaJhod",
        "name": "d86842782df04f08a515aef7c81b9237"
    }
}

Response

{
    "action": "edit_client",
    "payload": {
        "uid": "2LFdAyRVroz4RO1krGJW1qaJhod",
        "name": "d86842782df04f08a515aef7c81b9237",
        "address": {
            "uid": "2LFdAye3rxoGIYvnVmGVWHRMgB6",
            "street1": "1585 North Hampton St",
            "city": "Irving",
            "state": "TX",
            "post_code": "75061"
        },
        "audit_history": [
            {
                "uid": "2LFdAuz5UOMeJVOSaaiL6Mc4jaT",
                "resource_uid": "2LFdAyRVroz4RO1krGJW1qaJhod",
                "user_uid": "2LFdB0zHISiAyDac07wp8XiOzku",
                "changes": "created client"
            },
            {
                "uid": "2LFdAujXkFmjfjHNcMVVUQIzkTu",
                "resource_uid": "2LFdAyRVroz4RO1krGJW1qaJhod",
                "user_uid": "2LFdB0zHISiAyDac07wp8XiOzku",
                "changes": "changed name from \"Harvey, Inc.\" to \"d86842782df04f08a515aef7c81b9237\", changed address uid from \"2L<truncated>"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAzaK12gJWQr7NQX1at6Nrby",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Search Clients

Search for a client by partial name.

Requires permission view_clients.

Request

{
    "action": "search_clients",
    "session_id": "2LFdAxDOCyHLNNEjhaSqAgui2cG",
    "payload": {
        "query": "Oscar"
    }
}

Response

{
    "action": "search_clients",
    "payload": [
        {
            "name": "Oscar the Grouch",
            "uid": "2LFdAykQqVA1M10wbkB5XMSYCR8"
        },
        {
            "name": "Oscar Wilde",
            "uid": "2LFdAuyw0DTGrzUYD5nVxTC2TR4"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdAwGb9ks8ZDvHKOU7WfJ0a9Y",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Delete Client

A client can not be deleted if they have any contracts.

Request

{
    "action": "delete_client",
    "session_id": "2LFdB6EDPfqWP8zrfSUAAEhW4Hd",
    "payload": {
        "client_uid": "2LFdB7nAia5vkoOC4RcukgJvJHm"
    }
}

Response

{
    "action": "delete_client",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB21nkjpHRNnPn5gJSv2rIbe",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Create Contract

A contract will be created to be associated with one or more studies being conducted by the client.

This functionality is only available to admin users.

Request

{
    "action": "create_contract",
    "session_id": "2LFdB6nr9WK1MpUDW4RPzbGhvA9",
    "payload": {
        "client_uid": "2LFdB8TCLpHLlJLsbrYWxJeGWJ9",
        "name": "Example Contract Powell-1942",
        "client_signature_date": "2023-01-18",
        "contract_start_date": "2023-02-05",
        "contract_end_date": "2026-04-20",
        "total_contract_value": "237000",
        "currency": "USD",
        "sales_contact": "Yogi Bear"
    }
}

Response

{
    "action": "create_contract",
    "payload": {
        "client_signature_date": "2023-01-18T00:00:00Z",
        "client_uid": "2LFdB8TCLpHLlJLsbrYWxJeGWJ9",
        "contract_end_date": "2026-04-20T00:00:00Z",
        "contract_start_date": "2023-02-05T00:00:00Z",
        "currency": "USD",
        "name": "Example Contract Powell-1942",
        "sales_contact": "Yogi Bear",
        "total_contract_value": "$237,000.00",
        "uid": "2LFdB6TdPRKc6k5T9A3PzTNh9aS"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB4NVmeIqnFNBuMNfhfA8Lk8",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Edit Contract

Contracts may be edited to correct typos.

This functionality is only available to admin users.

Request

{
    "action": "edit_contract",
    "session_id": "2LFdB5uNC3jFfyEURMnWUZQ3kn3",
    "payload": {
        "uid": "2LFdB42N06FDor93IjqO4eHuCvy",
        "name": "Example Contract 02",
        "sales_contact": "Bam Bam"
    }
}

Response

{
    "action": "edit_contract",
    "payload": {
        "client_signature_date": "2022-12-21T00:00:00Z",
        "client_uid": "2LFdB59jtP4mXL2hIHhXlDioX0i",
        "contract_end_date": "2025-09-10T00:00:00Z",
        "contract_start_date": "2023-02-05T00:00:00Z",
        "currency": "USD",
        "name": "Example Contract 02",
        "sales_contact": "Bam Bam",
        "total_contract_value": "$283,000.00",
        "uid": "2LFdB42N06FDor93IjqO4eHuCvy"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB3mGtxAakWkVPCo6ekvRkwB",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Contracts

The get_contracts function returns all contracts, and must be used to get contract IDs to create studies.

This functionality is only available to admin users.

Requires permission view_contract.

Request

{
    "action": "get_contracts",
    "session_id": "2LFdB2caRnq8Ti0fxrj7zaBrSwM",
    "payload": {
        "client_uid": "2LFdB3l712twS90VnhbD07aZLDQ"
    }
}

Response

{
    "action": "get_contracts",
    "payload": [
        {
            "client_signature_date": "2023-01-18T00:00:00+00:00",
            "client_uid": "",
            "contract_end_date": "2026-04-20T00:00:00+00:00",
            "contract_start_date": "2023-02-05T00:00:00+00:00",
            "currency": "USD",
            "name": "Example Contract Powell-1942",
            "sales_contact": "",
            "total_contract_value": "$237,000.00",
            "uid": "2LFdB6TdPRKc6k5T9A3PzTNh9aS"
        },
        {
            "client_signature_date": "2022-12-21T00:00:00+00:00",
            "client_uid": "",
            "contract_end_date": "2025-09-10T00:00:00+00:00",
            "contract_start_date": "2023-02-05T00:00:00+00:00",
            "currency": "USD",
            "name": "Example Contract 02",
            "sales_contact": "",
            "total_contract_value": "$283,000.00",
            "uid": "2LFdB42N06FDor93IjqO4eHuCvy"
        },
        {
            "client_signature_date": "2023-01-16T00:00:00+00:00",
            "client_uid": "",
            "contract_end_date": "2028-06-01T00:00:00+00:00",
            "contract_start_date": "2023-02-05T00:00:00+00:00",
            "currency": "USD",
            "name": "Example Contract Patel-6980",
            "sales_contact": "",
            "total_contract_value": "$405,000.00",
            "uid": "2LFdB5xzeOTNbIpzv2A2YO8bsGs"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB2q9enn7hPqRdoHV27JPKOc",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Upload Contract

Upload a PDF of the contract. It accepts a base-64 encoded file.

Requires permission edit_contract.

Request

{
    "action": "upload_contract",
    "session_id": "2LFdB500mUcilcx3yl8QChF9OTI",
    "payload": {
        "contract_uid": "2LFdB6NgloeBWHq7KJThveD8oSx",
        "data": "JVBERi0xLjQKJf////8KMSAwIG9iago8PCAvVGl0bGUgKFN0cmlwZSBQYXlvdXRzKQovQXV0aG9yIChTaGF3biBNaWxvY2hpaykK<truncated>",
        "filename": "example.pdf",
        "client_signature_date": "2022-12-15",
        "contract_start_date": "2023-02-05",
        "contract_end_date": "2026-05-17",
        "total_contract_value": "309000",
        "currency": "USD"
    }
}

Response

{
    "action": "upload_contract",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB5tcVueW3bvKyUbfuhdpZMD",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Contract

Get the details of a single contract.

Requires the permission view_contract.

Request

{
    "action": "get_contract",
    "session_id": "2LFdB500mUcilcx3yl8QChF9OTI",
    "payload": {
        "contract_uid": "2LFdB6NgloeBWHq7KJThveD8oSx"
    }
}

Response

{
    "action": "get_contract",
    "payload": {
        "client_uid": "",
        "contract_start_date": "2023-02-05T00:00:00+00:00",
        "currency": "USD",
        "document_url": "http://api:6666/files/2LFdB4q30om6utRCAW9NtxsKdw1",
        "name": "Example Contract Berger-6658",
        "sales_contact": "",
        "total_contract_value": "$448,000.00",
        "uid": "2LFdB6NgloeBWHq7KJThveD8oSx"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB4gbbYHjaYUshsZFv2ncMJB",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Delete Contract

Delete a contract. A contract may not be deleted if it has already been funded.

Request

{
    "action": "delete_contract",
    "session_id": "2LFdB9ugkP0mZvA8GQa6vQAG2kZ",
    "payload": {
        "contract_uid": "2LFdBDFzjvf45KSRxpq9ZIsMDaE"
    }
}

Response

{
    "action": "delete_contract",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBF9Vtd9w6NidPwiHUJ1XdiG",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Create Trial

A trial represents a clinical trial being conducted by the client.

This requires the create_trial permission.

Request

{
    "action": "create_trial",
    "session_id": "2LFdBGECGLniqtVP5Bvj1aFiWak",
    "payload": {
        "contract_uid": "2LFdBBOsR65FHkfFweHzjUKYbVk",
        "name": "Trial Wiggins-13",
        "protocol_id": "XK4049-67276",
        "start_date": "2023-06-01",
        "end_date": "2024-05-31",
        "sponsor_uid": "2LFdBEoxoTGNJcP2AAVdz6LPr8D"
    }
}

Response

{
    "action": "create_trial",
    "payload": {
        "actual_participant_count": 0,
        "anticipated_participant_count": 0,
        "appointments_enabled": false,
        "contract_uid": "2LFdBBOsR65FHkfFweHzjUKYbVk",
        "end_date": "2024-05-31T00:00:00Z",
        "fundings_aggregate": {
            "aggregate": {
                "sum": {
                    "amount": 0
                }
            }
        },
        "messaging_enabled": false,
        "milestone_count": 0,
        "name": "Trial Wiggins-13",
        "protocol_id": "XK4049-67276",
        "ratings_enabled": false,
        "reimbursements_enabled": false,
        "site_count": 0,
        "sponsor_uid": "2LFdBEoxoTGNJcP2AAVdz6LPr8D",
        "start_date": "2023-06-01T00:00:00Z",
        "theraputic_area": "",
        "uber_enabled": false,
        "uid": "2LFdBEBILRGZtlA0TAtHwj7tFB1"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBDAiQYttU3XmlaCff6Jv1Y9",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Funding

Get remaining funding for a contract.

Either the contract_uid or trial_uid can be used.

Request

{
    "action": "get_funding",
    "session_id": "2LFdBGECGLniqtVP5Bvj1aFiWak",
    "payload": {
        "trial_uid": "2LFdBEBILRGZtlA0TAtHwj7tFB1"
    }
}

Response

{
    "action": "get_funding",
    "payload": 0,
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB9vra1qVyQnidNE7qPY8eVt",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Funding

Funding is added by Mural Health employees only. Sufficient funding is required for payments to be made to participants on behalf of the client.

This functionality is only available to admin users.

Requires the add_funding permission.

Request

{
    "action": "add_funding",
    "session_id": "2LFdBGECGLniqtVP5Bvj1aFiWak",
    "payload": {
        "trial_uid": "2LFdBEBILRGZtlA0TAtHwj7tFB1",
        "amount": 111.11,
        "currency": "USD"
    }
}

Response

{
    "action": "add_funding",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBG8oaf5CNc41ewcuDMQvQBa",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Edit Trial

Edit trial information.

This requires the edit_trial permission.

Request

{
    "action": "edit_trial",
    "session_id": "2LFdBGI4ajUAJy5WZcbiODckRgb",
    "payload": {
        "uid": "2LFdBD7TTtig4tHesCz0125chjO",
        "name": "Trial 02",
        "protocol_id": "potato"
    }
}

Response

{
    "action": "edit_trial",
    "payload": {
        "actual_participant_count": 0,
        "anticipated_participant_count": 0,
        "appointments_enabled": false,
        "contract_uid": "2LFdBAvbUuwm0YpFqSYRucGFtoo",
        "end_date": "2024-05-31T00:00:00Z",
        "fundings_aggregate": {
            "aggregate": {
                "sum": {
                    "amount": 0
                }
            }
        },
        "messaging_enabled": false,
        "milestone_count": 0,
        "name": "Trial 02",
        "protocol_id": "potato",
        "ratings_enabled": false,
        "reimbursements_enabled": false,
        "site_count": 0,
        "sponsor_uid": "2LFdBBjbYU9VCvtwCg9FlQFQDWd",
        "start_date": "2023-06-01T00:00:00Z",
        "theraputic_area": "",
        "uber_enabled": false,
        "uid": "2LFdBD7TTtig4tHesCz0125chjO"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdB98JaKqzs3X6Rxk02Cy6cNn",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Search Trials

Search for a trial by name or protocol ID.

Requires permission view_trials.

Request

{
    "action": "search_trials",
    "session_id": "2LFdBAWOemc3myOCRSrtitX2l2A",
    "payload": {
        "query": "micro"
    }
}

Response

{
    "action": "search_trials",
    "payload": [
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBDaC3J6eHNWLNTIio24J38e",
            "end_date": "2024-05-31T00:00:00Z",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Potato Trial 43",
            "protocol_id": "microphone",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_uid": "2LFdB90vxYDlCUokLQyV5Hfvo7E",
            "start_date": "2023-06-01T00:00:00Z",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBBoxcdyOiU7z1C3kvDtKDQL"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBBCghNVCS0Hbx1ukgmRVKc1",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Trials

Get all trials available to the user.

Request

{
    "action": "get_trials",
    "session_id": "2LFdBNOZRDEizSUC6qYDMB3HvzS"
}

Response

{
    "action": "get_trials",
    "payload": [
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBBOsR65FHkfFweHzjUKYbVk",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Trial Wiggins-13",
            "protocol_id": "XK4049-67276",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 21",
            "sponsor_uid": "2LFdBEoxoTGNJcP2AAVdz6LPr8D",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBEBILRGZtlA0TAtHwj7tFB1"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBAMxmlUodoIdE5sg84MYGG8",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Trial Singleton-23",
            "protocol_id": "XK6942-24022",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 22",
            "sponsor_uid": "2LFdB9sFjbriDVkTAxrzBmgquz9",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdB905D4QxeOG1q3TyvMltwZ4"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBAvbUuwm0YpFqSYRucGFtoo",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Trial 02",
            "protocol_id": "potato",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 23",
            "sponsor_uid": "2LFdBBjbYU9VCvtwCg9FlQFQDWd",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBD7TTtig4tHesCz0125chjO"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBDaC3J6eHNWLNTIio24J38e",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Potato Trial 43",
            "protocol_id": "microphone",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 24",
            "sponsor_uid": "2LFdB90vxYDlCUokLQyV5Hfvo7E",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBBoxcdyOiU7z1C3kvDtKDQL"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBDaC3J6eHNWLNTIio24J38e",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Sasquash Hunt",
            "protocol_id": "telephone",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 24",
            "sponsor_uid": "2LFdB90vxYDlCUokLQyV5Hfvo7E",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdB9ZrnDhDPt8aQjZmaeOqwUC"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBKXBoN9k498STjsv80gxspp",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Trial Downs-76",
            "protocol_id": "XK1394-07051",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 25",
            "sponsor_uid": "2LFdBM63cY2bThxZUqrwgNSWL66",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBOFWqz3iSGiQR26Hhv0OjuU"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBIRZgIJhDh7UPUii9hofV25",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Trial Finley-33",
            "protocol_id": "XK1688-77553",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 26",
            "sponsor_uid": "2LFdBOAcSVqvVp4uWJIiBd7LqyO",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBNbf2XHbbuqFx6pwsejcV1y"
        },
        {
            "actual_participant_count": 0,
            "anticipated_participant_count": 0,
            "appointments_enabled": false,
            "contract_uid": "2LFdBIRZgIJhDh7UPUii9hofV25",
            "end_date": "2024-05-31",
            "fundings_aggregate": {
                "aggregate": {
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "messaging_enabled": false,
            "milestone_count": 0,
            "name": "Trial Ball-13",
            "protocol_id": "XK8337-46206",
            "ratings_enabled": false,
            "reimbursements_enabled": false,
            "site_count": 0,
            "sponsor_name": "test sponsor 26",
            "sponsor_uid": "2LFdBOAcSVqvVp4uWJIiBd7LqyO",
            "start_date": "2023-06-01",
            "theraputic_area": "",
            "uber_enabled": false,
            "uid": "2LFdBIYtmSSuACQahBF97K721aU"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBNAn8NmFTBB16FjeiVh5HPu",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Trial

Get details about an individual trial.

Request

{
    "action": "get_trial",
    "session_id": "2LFdBHERD6hgcAPgN4r5GLoHnRN",
    "payload": {
        "trial_uid": "2LFdBJkYobzxymeHAaPI9OBfJby"
    }
}

Response

{
    "action": "get_trial",
    "payload": {
        "actual_participant_count": 0,
        "anticipated_participant_count": 0,
        "appointments_enabled": false,
        "contract_uid": "2LFdBKtNRLWQA4EzzjqbeFwRROz",
        "end_date": "2024-05-31",
        "fundings_aggregate": {
            "aggregate": {
                "sum": {
                    "amount": 0
                }
            }
        },
        "messaging_enabled": false,
        "milestone_count": 0,
        "name": "Trial Wilkerson-18",
        "protocol_id": "XK9770-16515",
        "ratings_enabled": false,
        "reimbursements_enabled": false,
        "site_count": 0,
        "sponsor_name": "test sponsor 27",
        "sponsor_uid": "2LFdBOAOzmAqdHStIOD9McHWS5I",
        "start_date": "2023-06-01",
        "theraputic_area": "",
        "uber_enabled": false,
        "uid": "2LFdBJkYobzxymeHAaPI9OBfJby"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBKZBTZjys0jLxTIxDFVT71S",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Delete Trial

A trial may only be deleted if no participants are enrolled.

Request

{
    "action": "delete_trial",
    "session_id": "2LFdBLQm0lRWVeeCYlHYXMAHjUf",
    "payload": {
        "trial_uid": "2LFdBLwNjHyIbgiPCBfv5oKNF1U"
    }
}

Response

{
    "action": "delete_trial",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBO8RzJe9C3EpYAINzsUqrUS",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Grant

An admin may grant any permissions to any user.

A user who is allowed to grant permissions may only grant permissions they themselves have.

Based on the hierarchy described above, a user may be granted permissions at any level. For example, if a user is granted create_trial permissions to a contract, then they may create studies for that contract. However, if they’re granted create_trial permissions for a client, they may create studies for any contract for that client.

Requires permission grant, and the user must have the permissions being granted.

Request

{
    "action": "grant",
    "session_id": "2LFdBJpr7uCGEnKOR6pZOJO8IMO",
    "payload": {
        "resource_uid": "2LFdBMb7sZQzURsJFskHJ0daNaT",
        "user_uid": "2LFdBLMB68wp2xRFr8teKvGgA5h",
        "permissions": [
            "view_trials",
            "create_trial",
            "approve_payments"
        ]
    }
}

Response

{
    "action": "grant",
    "status_code": 200,
    "message": "3 permissions granted, 0 errors: ",
    "request_id": "2LFdBHS9WdKK7x03aasA9Rb4zlr",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Permissions

This is an internal admin function used for testing.

Request

{
    "action": "get_permissions",
    "session_id": "2LFdBSdv6a0UPVU6FOjZaFPYxNs",
    "payload": {
        "user_uid": "2LFdBPmKMt3CUGH0I4kR73ZKTpe"
    }
}

Response

{
    "action": "get_permissions",
    "payload": {
        "create_trial": [
            {
                "permission_name": "create_trial",
                "permission_uid": "2CpTBmUXYaueMfH5xbimjjseIum",
                "resource_name": "Example Contract Duran-1777",
                "resource_type": "contract",
                "resource_uid": "2LFdBRl9RT9FjiqGtbkgim3x1WZ",
                "uid": "2LFdBQsnhG8hQGh4PKzV82umH3E",
                "user_uid": "2LFdBPmKMt3CUGH0I4kR73ZKTpe",
                "v_all_permissions": {
                    "name": ""
                }
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBTq3V00AzMjFEGJ123pDs7h",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Copy Permissions

This action allows a user (such as as site coordinator) to be set up with permissions identical to than of an existing user.

Note that any existing permissions for the new user will remain, even if the user whose permissions are being copied does not have them.

This action requires the grant permission.

Request

{
    "action": "copy_permissions",
    "session_id": "2LFdBOev3jQ5h4UDUa1DpBbifEY",
    "payload": {
        "from_uid": "2LFdBSpYsnT8GmzUBBbPuu0giXg",
        "to_uid": "2LFdBPRmdlp4vusXXhiy3SRkAfj"
    }
}

Response

{
    "action": "copy_permissions",
    "status_code": 200,
    "message": "37 of 37 permissions copied successfully",
    "request_id": "2LFdBTIKlX0SDXKaeqNgEwh7Akd",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

List Permissions

View a list of all permissions in the system.

Not all permissions will be avaialble to the current user.

Request

{
    "action": "list_permissions",
    "session_id": "2LFdBd1MCAZQ8vUqSjpogpAmxSs"
}

Response

{
    "action": "list_permissions",
    "payload": [
        "add_funding",
        "add_milestone",
        "add_participant",
        "add_trial_site",
        "approve_payments",
        "approve_travel",
        "assign_role",
        "bulk_email",
        "create_appointment",
        "create_client",
        "create_contract",
        "create_site",
        "create_trial",
        "delete_site",
        "delete_trial",
        "edit_contract",
        "edit_trial",
        "enroll",
        "get_document",
        "grant",
        "manual_payment",
        "messaging",
        "milestone_payment",
        "set_enrollment_status",
        "set_payment_type",
        "travel_payment",
        "update_participant",
        "upload_document",
        "view_appointment_report",
        "view_clients",
        "view_contract",
        "view_enrollments",
        "view_funding_balance_report",
        "view_participant_report",
        "view_participants",
        "view_payment_report",
        "view_payment_schedule",
        "view_payments",
        "view_reports",
        "view_rideshare_report",
        "view_sites",
        "view_trials"
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBcRHpc6FdqSDeavnrdu5v2q",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Revoke

Revoke permissions from a user.

The user revoking the permission must have grant access and must also have the permission being revoked.

Request

{
    "action": "revoke",
    "session_id": "2LFdBZHVE7ekX8WkRkXFWZ1qaR8",
    "payload": {
        "resource_uid": "default",
        "user_uid": "2LFdBYPM6yU3CGLlRc4XgtFl2Oo",
        "permissions": [
            "add_funding"
        ]
    }
}

Response

{
    "action": "revoke",
    "status_code": 200,
    "message": "1 permissions revoked, 0 errors: ",
    "request_id": "2LFdBcKAUDtiDUrkZ5x406321Im",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Sites

Get all sites from the system.

Requires permission view_sites.

Request

{
    "action": "get_sites",
    "session_id": "2LFdBkfCISY6ekDtivM6N9RJPJm",
    "payload": {
        "contract_uid": "2LFdBf1WA4gL2rIGjNPgKygU3Sb"
    }
}

Response

{
    "action": "get_sites",
    "payload": [],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBlNCvsLxv68yUAGxrryiqjG",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Create Site

A site is a location where clinical trials are conducted. This could be a private practice, hospital, or university.

The trial UID or contract UID is required to create a site. If the trial UID is sent, the trial/site association will be created automatically. Otherwise, a call must be made to add_trial_site to associate the site with the trial before subjects can be enrolled.

Request

{
    "action": "create_site",
    "session_id": "2LFdBkfCISY6ekDtivM6N9RJPJm",
    "payload": {
        "name": "Macias Clinic",
        "trial_uid": "",
        "client_uid": "2LFdBjGSHbk8kaNTzbqRgvfhcjz"
    }
}

Response

{
    "action": "create_site",
    "payload": {
        "client_site_id": "",
        "client_uid": "2LFdBjGSHbk8kaNTzbqRgvfhcjz",
        "name": "Macias Clinic",
        "uid": "2LFdBhsTWKEWsyOqEd3K8yMqqWA"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBeD2fwHjNhOdWnIhfxLA5J3",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Edit Site

An admin or business partner can edit a site.

This feature is currently only available to an admin user.

Request

{
    "action": "edit_site",
    "session_id": "2LFdBgReAuFSRCNj5o1le9ecuzx",
    "payload": {
        "uid": "2LFdBgRbxEL22bkuZSWMnjNbCsw",
        "name": "4d33a05f5f8d4681b641562356f64be2"
    }
}

Response

{
    "action": "edit_site",
    "payload": {
        "client_site_id": "",
        "client_uid": "2LFdBkGHpJv8I7KGh7GHO1wjXtB",
        "name": "4d33a05f5f8d4681b641562356f64be2",
        "uid": "2LFdBgRbxEL22bkuZSWMnjNbCsw"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBk5NVYnxPRGW1HC4Wf76O3X",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Site

Look up an individual site by its UID.

Requires permission view_sites.

Request

{
    "action": "get_site",
    "session_id": "2LFdBgReAuFSRCNj5o1le9ecuzx",
    "payload": {
        "uid": "2LFdBgRbxEL22bkuZSWMnjNbCsw"
    }
}

Response

{
    "action": "get_site",
    "payload": {
        "client_site_id": "",
        "name": "4d33a05f5f8d4681b641562356f64be2",
        "uid": "2LFdBgRbxEL22bkuZSWMnjNbCsw"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBgk2LGW3SA3dKF7ktLFjbpD",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Delete Site

Delete a site.

A site may not be deleted if it’s associated with one or more trials.

Request

{
    "action": "delete_site",
    "session_id": "2LFdBhlV20ZGMoQIuzgxImD5HCB",
    "payload": {
        "site_uid": "2LFdBhGwNuY19e7OtEanjGA6DtG"
    }
}

Response

{
    "action": "delete_site",
    "status_code": 200,
    "message": "site deleted",
    "request_id": "2LFdBfV7v0oQozqXvj6P2cXR9Br",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Add Trial Site

Associate a site with a clinical trial.

Requires permission add_trial_site.

Request

{
    "action": "add_trial_site",
    "session_id": "2LFdBfi40EEoLgVeDAoJmbYoutl",
    "payload": {
        "trial_uid": "2LFdBgRjQ3q62xDHTbtIXyvdUQU",
        "site_uid": "2LFdBg79pHPwhBtFFauu7hRfXad"
    }
}

Response

{
    "action": "add_trial_site",
    "payload": {
        "appointments_enabled": false,
        "messaging_enabled": false,
        "ratings_enabled": false,
        "site_uid": "2LFdBg79pHPwhBtFFauu7hRfXad",
        "trial_uid": "2LFdBgRjQ3q62xDHTbtIXyvdUQU",
        "uber_enabled": false,
        "uid": "2LFdBlsoCXl93y16U5GcB7e4asM"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBln8o9KxzFboXxyP0ooUz2p",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Add Milestone

This function adds the payment details for a milestone. This is specific per milestone, per site, per clinical trial.

The optional effective_date parameter is used to set the effective date of the milestone payment. By default, the effective date is the time this milestone is added. This allows automatic updates to the payment schedule as the trial progresses.

For example, if milestone "Week 1" is added today, and another is added for "Week 1" with an effective date of next month, then all payments made for the next month will use the first amount, and payments starting next month will use the second amount.

Requires permission add_milestone.

Request

{
    "action": "add_milestone",
    "session_id": "2LFdBfi40EEoLgVeDAoJmbYoutl",
    "payload": {
        "milestone": "Week 2",
        "amount": 5,
        "currency": "USD",
        "trial_uid": "2LFdBgRjQ3q62xDHTbtIXyvdUQU",
        "site_uid": "2LFdBg79pHPwhBtFFauu7hRfXad",
        "sort_order": 1
    }
}

Response

{
    "action": "add_milestone",
    "payload": {
        "amount": 5,
        "currency": "USD",
        "effective_date": "2023-02-04T00:30:30.809981Z",
        "milestone": "Week 2",
        "site_uid": "2LFdBg79pHPwhBtFFauu7hRfXad",
        "sort_order": 0,
        "trial_site_uid": "2LFdBlsoCXl93y16U5GcB7e4asM",
        "trial_uid": "2LFdBgRjQ3q62xDHTbtIXyvdUQU",
        "uid": "2LFdBfJE0ynTDrbMyh6qOdcjbbP"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBglfoIgRkjgUHm7Mex5OgrU",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Trial Sites

Retrieve all trial/site info by trial UID.

Request

{
    "action": "get_trial_sites",
    "session_id": "2LFdBm9ry4XJMY56I7SXN8SMld2",
    "payload": {
        "trial_uid": "2LFdBomUTmWnzW7gVEJQnlXU4ao"
    }
}

Response

{
    "action": "get_trial_sites",
    "payload": [
        {
            "appointments_enabled": false,
            "messaging_enabled": false,
            "ratings_enabled": false,
            "site": {
                "client_site_id": "",
                "name": "Battle Clinic",
                "uid": "2LFdBo30wdxiUk3CUivxpfgDSZA"
            },
            "site_uid": "2LFdBo30wdxiUk3CUivxpfgDSZA",
            "trial": {
                "actual_participant_count": 0,
                "anticipated_participant_count": 0,
                "appointments_enabled": false,
                "contract_uid": "2LFdBo4bOYbPxqWP0Va11mZ2h2t",
                "end_date": "2024-05-31",
                "fundings_aggregate": {
                    "aggregate": {
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "messaging_enabled": false,
                "milestone_count": 0,
                "name": "Trial Dickerson-16",
                "protocol_id": "XK7287-48233",
                "ratings_enabled": false,
                "reimbursements_enabled": false,
                "site_count": 0,
                "sponsor_name": "test sponsor 40",
                "sponsor_uid": "2LFdBr4KMGFjeEvxiiWzI92V3c6",
                "start_date": "2023-06-01",
                "theraputic_area": "",
                "uber_enabled": false,
                "uid": "2LFdBomUTmWnzW7gVEJQnlXU4ao"
            },
            "trial_uid": "2LFdBomUTmWnzW7gVEJQnlXU4ao",
            "uber_enabled": false,
            "uid": "2LFdBoP57hgE2sxxcNnbNsywtjw"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBskflW7O2tiaLeHTscER9PK",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Add Participant

Adds a participant and the participant’s association with a site. A participant can be associated with multiple studies for the same site.

Requires permission add_participant.

Request

{
    "action": "add_participant",
    "session_id": "2LFdBmgad8krHBsvP8fcmmTy11P",
    "payload": {
        "site_uid": "2LFdBn0TNIVejLo0ZxMDsfeOKMG",
        "first_name": "Alden",
        "last_name": "Bryan",
        "email": "Alden.Bryan@example.com",
        "dob": "1967-04-28",
        "phone": "(274) 313-6131",
        "email_enabled": true,
        "address": {
            "street1": "453 Orrand Dr",
            "street2": "",
            "city": "Rome",
            "state": "GA",
            "post_code": "30161"
        },
        "emergency_contact": "Joe Pesci",
        "emergency_phone": "(212) 555-1212"
    }
}

Response

{
    "action": "add_participant",
    "payload": {
        "address": {
            "city": "Rome",
            "post_code": "30161",
            "state": "GA",
            "street1": "453 Orrand Dr",
            "uid": "2LFdBrnxhaf6V5jqpE7BUx7PcTO"
        },
        "dob": "1967-04-28",
        "email": "alden.bryan@example.com",
        "emergency_contact": "Joe Pesci",
        "emergency_phone": "(212) 555-1212",
        "enrollment_date": "2023-02-04T00:30:31Z",
        "first_name": "Alden",
        "last_name": "Bryan",
        "phone": "(274) 313-6131",
        "site_uid": "2LFdBn0TNIVejLo0ZxMDsfeOKMG",
        "time_zone": "America/New_York",
        "uid": "2LFdBniwahkBqmw9YPSDmNXB3Fy"
    },
    "status_code": 200,
    "message": "participant added",
    "request_id": "2LFdBnT7E2a28Wk2vTDdlYRLApG",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Search Participants

Search for a participant by partial name.

Requires permission view_participants.

Request

{
    "action": "search_participants",
    "session_id": "2LFdBnayHNOzYm4MQU6qczHWwe9",
    "payload": {
        "query": "bill"
    }
}

Response

{
    "action": "search_participants",
    "payload": [
        {
            "first_name": "Bill",
            "last_name": "Hicks",
            "uid": "2LFdBtR2O7rugo34OHDFyb0QDu8"
        },
        {
            "first_name": "William",
            "last_name": "Hickey",
            "uid": "2LFdBoGITShW2ad74bO3YwCempx"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBmp959skbSbDsPvwytEkCv9",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Enroll

Enroll a participant in a trial at a site.

Requires the enroll permission.

Request

{
    "action": "enroll",
    "session_id": "2LFdBoPk9QblFqY2uUKEvDsYOSA",
    "payload": {
        "participant_uid": "2LFdBoblGNN8yMLRSjmHGoTfy9y",
        "trial_uid": "2LFdBp5dvjC6JQ8s488gJJEaI93",
        "site_uid": "2LFdBqFIR376rYXfin6Bo1DTo04",
        "subject_id": "8526"
    }
}

Response

{
    "action": "enroll",
    "payload": {
        "participant_uid": "2LFdBoblGNN8yMLRSjmHGoTfy9y",
        "patient": {
            "address": {
                "city": "Garland",
                "post_code": "75040",
                "state": "TX",
                "street1": "1958 Ashland St",
                "uid": "2LFdBqu4tMVtS29KBMd50TtzcFl"
            },
            "dob": "1964-12-19",
            "email": "jaime.henry@example.com",
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "enrollment_date": "2023-02-04T00:30:31Z",
            "first_name": "Jaime",
            "last_name": "Henry",
            "phone": "(284) 771-4578",
            "uid": "2LFdBoblGNN8yMLRSjmHGoTfy9y",
            "user_uid": "2LFdBoGobWbUhfzLYvZrLqXdkST"
        },
        "patient_uid": "2LFdBoblGNN8yMLRSjmHGoTfy9y",
        "payment_type_uid": "",
        "payments_aggregate": {
            "aggregate": {
                "count": 0,
                "sum": {
                    "amount": 0
                }
            }
        },
        "status": "enrolled",
        "subject_id": "8526",
        "trial_site": {
            "appointments_enabled": false,
            "messaging_enabled": false,
            "ratings_enabled": false,
            "site": {
                "client_site_id": "",
                "name": "Hayes Clinic",
                "uid": "2LFdBqFIR376rYXfin6Bo1DTo04"
            },
            "site_uid": "2LFdBqFIR376rYXfin6Bo1DTo04",
            "trial": {
                "actual_participant_count": 1,
                "anticipated_participant_count": 0,
                "appointments_enabled": false,
                "contract_uid": "",
                "end_date": "2024-05-31",
                "fundings_aggregate": {
                    "aggregate": {
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "messaging_enabled": false,
                "milestone_count": 0,
                "name": "Trial Olsen-30",
                "protocol_id": "XK6041-31706",
                "ratings_enabled": false,
                "reimbursements_enabled": false,
                "site_count": 0,
                "sponsor_name": "test sponsor 43",
                "sponsor_uid": "2LFdBpvLuWAOVjgXohHX32bUt08",
                "start_date": "2023-06-01",
                "theraputic_area": "",
                "uber_enabled": false,
                "uid": "2LFdBp5dvjC6JQ8s488gJJEaI93"
            },
            "trial_uid": "2LFdBp5dvjC6JQ8s488gJJEaI93",
            "uber_enabled": false,
            "uid": "2LFdBqnHppl1Q3vT7Vo8VPTG0Ls"
        },
        "trial_site_uid": "2LFdBqnHppl1Q3vT7Vo8VPTG0Ls",
        "trial_uid": "2LFdBp5dvjC6JQ8s488gJJEaI93",
        "uid": "2LFdBoPPaXpK6IC9HaDWPjOTvu3",
        "user_uid": "2LFdBoGobWbUhfzLYvZrLqXdkST"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBsveZiomJPjojy2Jdmbxwn3",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Participants

Get all participants visible to the current user.

Request

{
    "action": "get_participants",
    "session_id": "2LFdBvlBJzc1vns4uZxGCuvz8OP",
    "payload": {
        "trial_uid": ""
    }
}

Response

{
    "action": "get_participants",
    "payload": [
        {
            "address": {
                "city": "Garland",
                "post_code": "75040",
                "state": "TX",
                "street1": "1958 Ashland St",
                "uid": "2LFdBqu4tMVtS29KBMd50TtzcFl"
            },
            "dob": "1964-12-19",
            "email": "jaime.henry@example.com",
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "enrollment_date": "2023-02-04T00:30:31Z",
            "enrollments": [
                {
                    "patient": {
                        "address": {}
                    },
                    "payment_address": {},
                    "payment_type_uid": "",
                    "payments_aggregate": {
                        "aggregate": {
                            "count": 0,
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "status": "enrolled",
                    "subject_id": "8526",
                    "trial_site": {
                        "appointments_enabled": false,
                        "messaging_enabled": false,
                        "ratings_enabled": false,
                        "site": {
                            "client_site_id": "",
                            "name": "Hayes Clinic",
                            "uid": "2LFdBqFIR376rYXfin6Bo1DTo04"
                        },
                        "trial": {
                            "actual_participant_count": 3,
                            "anticipated_participant_count": 0,
                            "appointments_enabled": false,
                            "contract": {
                                "client": {
                                    "address": {},
                                    "name": "",
                                    "uid": ""
                                },
                                "client_uid": "",
                                "name": "",
                                "sales_contact": "",
                                "uid": ""
                            },
                            "contract_uid": "",
                            "end_date": "2024-05-31",
                            "fundings_aggregate": {
                                "aggregate": {
                                    "sum": {
                                        "amount": 0
                                    }
                                }
                            },
                            "messaging_enabled": false,
                            "milestone_count": 0,
                            "name": "Trial Olsen-30",
                            "protocol_id": "XK6041-31706",
                            "ratings_enabled": false,
                            "reimbursements_enabled": false,
                            "site_count": 0,
                            "sponsor_name": "test sponsor 43",
                            "sponsor_uid": "2LFdBpvLuWAOVjgXohHX32bUt08",
                            "start_date": "2023-06-01",
                            "theraputic_area": "",
                            "uber_enabled": false,
                            "uid": "2LFdBp5dvjC6JQ8s488gJJEaI93"
                        },
                        "uber_enabled": false,
                        "uid": "2LFdBqnHppl1Q3vT7Vo8VPTG0Ls"
                    },
                    "uid": "2LFdBoPPaXpK6IC9HaDWPjOTvu3"
                }
            ],
            "first_name": "Jaime",
            "last_name": "Henry",
            "phone": "(284) 771-4578",
            "site_uid": "2LFdBqFIR376rYXfin6Bo1DTo04",
            "time_zone": "America/New_York",
            "uid": "2LFdBoblGNN8yMLRSjmHGoTfy9y",
            "user_uid": "2LFdBoGobWbUhfzLYvZrLqXdkST"
        },
        {
            "address": {
                "city": "Emporia",
                "post_code": "66801",
                "state": "KS",
                "street1": "1403 Lake Dr",
                "uid": "2LFdBoxtXtIHWNsgGLZe4u7eHsP"
            },
            "dob": "1999-05-16",
            "email": "tara.macdonald@example.com",
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "enrollment_date": "2023-02-04T00:30:31Z",
            "enrollments": [
                {
                    "patient": {
                        "address": {}
                    },
                    "payment_address": {},
                    "payment_type_uid": "",
                    "payments_aggregate": {
                        "aggregate": {
                            "count": 0,
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "status": "enrolled",
                    "subject_id": "9030",
                    "trial_site": {
                        "appointments_enabled": false,
                        "messaging_enabled": false,
                        "ratings_enabled": false,
                        "site": {
                            "client_site_id": "",
                            "name": "Hayes Clinic",
                            "uid": "2LFdBqFIR376rYXfin6Bo1DTo04"
                        },
                        "trial": {
                            "actual_participant_count": 3,
                            "anticipated_participant_count": 0,
                            "appointments_enabled": false,
                            "contract": {
                                "client": {
                                    "address": {},
                                    "name": "",
                                    "uid": ""
                                },
                                "client_uid": "",
                                "name": "",
                                "sales_contact": "",
                                "uid": ""
                            },
                            "contract_uid": "",
                            "end_date": "2024-05-31",
                            "fundings_aggregate": {
                                "aggregate": {
                                    "sum": {
                                        "amount": 0
                                    }
                                }
                            },
                            "messaging_enabled": false,
                            "milestone_count": 0,
                            "name": "Trial Olsen-30",
                            "protocol_id": "XK6041-31706",
                            "ratings_enabled": false,
                            "reimbursements_enabled": false,
                            "site_count": 0,
                            "sponsor_name": "test sponsor 43",
                            "sponsor_uid": "2LFdBpvLuWAOVjgXohHX32bUt08",
                            "start_date": "2023-06-01",
                            "theraputic_area": "",
                            "uber_enabled": false,
                            "uid": "2LFdBp5dvjC6JQ8s488gJJEaI93"
                        },
                        "uber_enabled": false,
                        "uid": "2LFdBqnHppl1Q3vT7Vo8VPTG0Ls"
                    },
                    "uid": "2LFdBps1Ya66k4OPIYwdlxjKRQH"
                }
            ],
            "first_name": "Tara",
            "last_name": "Macdonald",
            "phone": "(316) 015-1931",
            "site_uid": "2LFdBqFIR376rYXfin6Bo1DTo04",
            "time_zone": "America/New_York",
            "uid": "2LFdBmNnE2AjXrVsEB2b3kiJTJB",
            "user_uid": "2LFdBnrcdeeBx8S97BdzqGKByiT"
        },
        {
            "address": {
                "city": "Irving",
                "post_code": "75061",
                "state": "TX",
                "street1": "1739 Wommert Ln",
                "uid": "2LFdBtHY0J83gZE9yMz7ujxHLnc"
            },
            "dob": "1952-02-22",
            "email": "morris.herrera@example.com",
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "enrollment_date": "2023-02-04T00:30:31Z",
            "enrollments": [
                {
                    "patient": {
                        "address": {}
                    },
                    "payment_address": {},
                    "payment_type_uid": "",
                    "payments_aggregate": {
                        "aggregate": {
                            "count": 0,
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "status": "enrolled",
                    "subject_id": "6935",
                    "trial_site": {
                        "appointments_enabled": false,
                        "messaging_enabled": false,
                        "ratings_enabled": false,
                        "site": {
                            "client_site_id": "",
                            "name": "Hayes Clinic",
                            "uid": "2LFdBqFIR376rYXfin6Bo1DTo04"
                        },
                        "trial": {
                            "actual_participant_count": 3,
                            "anticipated_participant_count": 0,
                            "appointments_enabled": false,
                            "contract": {
                                "client": {
                                    "address": {},
                                    "name": "",
                                    "uid": ""
                                },
                                "client_uid": "",
                                "name": "",
                                "sales_contact": "",
                                "uid": ""
                            },
                            "contract_uid": "",
                            "end_date": "2024-05-31",
                            "fundings_aggregate": {
                                "aggregate": {
                                    "sum": {
                                        "amount": 0
                                    }
                                }
                            },
                            "messaging_enabled": false,
                            "milestone_count": 0,
                            "name": "Trial Olsen-30",
                            "protocol_id": "XK6041-31706",
                            "ratings_enabled": false,
                            "reimbursements_enabled": false,
                            "site_count": 0,
                            "sponsor_name": "test sponsor 43",
                            "sponsor_uid": "2LFdBpvLuWAOVjgXohHX32bUt08",
                            "start_date": "2023-06-01",
                            "theraputic_area": "",
                            "uber_enabled": false,
                            "uid": "2LFdBp5dvjC6JQ8s488gJJEaI93"
                        },
                        "uber_enabled": false,
                        "uid": "2LFdBqnHppl1Q3vT7Vo8VPTG0Ls"
                    },
                    "uid": "2LFdBm6PdFZLE0nAeN8aFULq0BO"
                }
            ],
            "first_name": "Morris",
            "last_name": "Herrera",
            "phone": "(291) 427-0948",
            "site_uid": "2LFdBqFIR376rYXfin6Bo1DTo04",
            "time_zone": "America/New_York",
            "uid": "2LFdBnMZEYbcdEv9fgA77T6PZRD",
            "user_uid": "2LFdBvin1vXjSCtdUqZpWDVTGrJ"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdBwwzGNg9iKLswcDZvn1o84A",
    "roles": [
        "Site Coordinator"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Enrolled

Get a list of participants enrolled in a trial at a site.

Requires permission view_enrollments.

Request

{
    "action": "get_enrolled",
    "session_id": "2LFdBxG84jMqUSVl24QtmjezHoy",
    "payload": {
        "trial_uid": "2LFdBygQVDAXQqKzO1HWhUBwsdj",
        "site_uid": "2LFdBw4NDp5hWKZ54HVKu3zHQws"
    }
}

Response

{
    "action": "get_enrolled",
    "payload": [
        {
            "address": {
                "city": "Athens",
                "post_code": "30601",
                "state": "GA",
                "street1": "212 Orrand Dr",
                "uid": "2LFdBxpE4WWLIGZknMZwu8MRMB5"
            },
            "dob": "1975-07-03",
            "email": "lacy.mcclure@example.com",
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "enrollment_date": "2023-02-04T00:30:32Z",
            "enrollment_uid": "2LFdBucHlLAta9FO3zf43hzCLa0",
            "enrollments": [
                {
                    "patient": {
                        "address": {}
                    },
                    "payment_address": {},
                    "payment_type_uid": "",
                    "payments_aggregate": {
                        "aggregate": {
                            "count": 0,
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "status": "enrolled",
                    "subject_id": "2531",
                    "trial_site": {
                        "appointments_enabled": false,
                        "messaging_enabled": false,
                        "payment_schedules": [
                            {
                                "amount": 5,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 2",
                                "sort_order": 1,
                                "uid": "2LFdBuTYrP5aPcxJtREjhZNRBFg"
                            },
                            {
                                "amount": 10,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 3",
                                "sort_order": 2,
                                "uid": "2LFdBzspwZQButXVD1dKPfctjH9"
                            },
                            {
                                "amount": 15,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 4",
                                "sort_order": 3,
                                "uid": "2LFdBvR4Z39fqPLQ1GbTnn18YKj"
                            },
                            {
                                "amount": 20,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 5",
                                "sort_order": 4,
                                "uid": "2LFdBzJaHfICznAkOs1eKXCXRqS"
                            },
                            {
                                "amount": 25,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 6",
                                "sort_order": 5,
                                "uid": "2LFdBwXu9iRndkYIX0rK7PbaPpC"
                            },
                            {
                                "amount": 30,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 7",
                                "sort_order": 6,
                                "uid": "2LFdBvJTuxsGLt8FTvgyAnbBkzd"
                            },
                            {
                                "amount": 35,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 8",
                                "sort_order": 7,
                                "uid": "2LFdBuWUlRwioewha4FUdbiHUpZ"
                            },
                            {
                                "amount": 40,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 9",
                                "sort_order": 8,
                                "uid": "2LFdBu12dcQdifuPph4ppLCGBXk"
                            },
                            {
                                "amount": 45,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 10",
                                "sort_order": 9,
                                "uid": "2LFdBv7JGY8oqFfLlk4yMvfiWLL"
                            },
                            {
                                "amount": 50,
                                "currency": "USD",
                                "effective_date": "0001-01-01T00:00:00Z",
                                "milestone": "Week 11",
                                "sort_order": 10,
                                "uid": "2LFdC0qyV6nUpybGiZoR6OShXHm"
                            }
                        ],
                        "ratings_enabled": false,
                        "site": {
                            "client_site_id": "",
                            "name": "Alston Clinic",
                            "uid": "2LFdBw4NDp5hWKZ54HVKu3zHQws"
                        },
                        "trial": {
                            "actual_participant_count": 1,
                            "anticipated_participant_count": 0,
                            "appointments_enabled": false,
                            "contract": {
                                "client": {
                                    "address": {},
                                    "name": "",
                                    "uid": ""
                                },
                                "client_uid": "",
                                "name": "",
                                "sales_contact": "",
                                "uid": ""
                            },
                            "contract_uid": "",
                            "fundings_aggregate": {
                                "aggregate": {
                                    "sum": {
                                        "amount": 0
                                    }
                                }
                            },
                            "messaging_enabled": false,
                            "milestone_count": 0,
                            "name": "Trial Buchanan-27",
                            "protocol_id": "",
                            "ratings_enabled": false,
                            "reimbursements_enabled": false,
                            "site_count": 0,
                            "theraputic_area": "",
                            "uber_enabled": false,
                            "uid": "2LFdBygQVDAXQqKzO1HWhUBwsdj"
                        },
                        "uber_enabled": false
                    },
                    "uid": "2LFdBucHlLAta9FO3zf43hzCLa0"
                }
            ],
            "first_name": "Lacy",
            "last_name": "Mcclure",
            "phone": "(723) 590-5244",
            "site_uid": "2LFdBw4NDp5hWKZ54HVKu3zHQws",
            "time_zone": "America/New_York",
            "uid": "2LFdByQPhuUySxtZBHISDjOdrFH",
            "user_uid": "2LFdBvCcziimS7qEaAFA1SIShSX"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdC0pqR6YmXRPcf2yWAzN5uzs",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Update Participant

Update a participant’s details.

Request

{
    "action": "update_participant",
    "session_id": "2LFdBvRh7RNiW5nIgBVzLl8F5Ev",
    "payload": {
        "address": {
            "city": "Massillon",
            "post_code": "44646",
            "state": "OH",
            "street1": "1275 Sunrise Rd",
            "uid": "2LFdBvSSYfnj2cdraUW7HektNHV",
            "street2": "Apartment 3"
        },
        "dob": "1984-03-05",
        "email": "amado.valentine@example.com",
        "emergency_contact": "Dwayne \"The Rock\" Johnson",
        "emergency_phone": "212-666-6666",
        "enrollment_date": "2023-02-04T00:30:32Z",
        "first_name": "Throatwobbler",
        "last_name": "Mangrove",
        "phone": "(620) 664-6453",
        "site_uid": "2LFdBvJekhSdcRJMZWxtQEiQpQJ",
        "time_zone": "America/New_York",
        "uid": "2LFdBvQQOTPWxWzDKxbLJMTacEL"
    }
}

Response

{
    "action": "update_participant",
    "payload": {
        "address": {
            "city": "Massillon",
            "post_code": "44646",
            "state": "OH",
            "street1": "1275 Sunrise Rd",
            "street2": "Apartment 3",
            "uid": "2LFdBvSSYfnj2cdraUW7HektNHV"
        },
        "dob": "1984-03-05",
        "email": "amado.valentine@example.com",
        "emergency_contact": "Dwayne \"The Rock\" Johnson",
        "emergency_phone": "212-666-6666",
        "enrollment_date": "2023-02-04T00:30:32Z",
        "first_name": "Throatwobbler",
        "last_name": "Mangrove",
        "phone": "(620) 664-6453",
        "site_uid": "2LFdBvJekhSdcRJMZWxtQEiQpQJ",
        "time_zone": "America/New_York",
        "uid": "2LFdBvQQOTPWxWzDKxbLJMTacEL",
        "user_uid": "2LFdBvk692DZoJK7NgNap2bhTgq"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdByHdejeucYITvwBk47ycMcI",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Enrollments

Retrieve all enrollments for a participant.

Requires permission view_participants.

Request

{
    "action": "get_enrollments",
    "session_id": "2LFdBtp08vHxzcT7eaBj7ueSR57",
    "payload": {
        "participant_uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s"
    }
}

Response

{
    "action": "get_enrollments",
    "payload": [
        {
            "participant_uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s",
            "patient": {
                "address": {
                    "city": "Dayton",
                    "post_code": "45401",
                    "state": "OH",
                    "street1": "858 Spring County Blvd",
                    "uid": "2LFdBuXqOJYeYrk0liYp6lVbHhd"
                },
                "dob": "1951-09-14",
                "email": "earline.wilcox@example.com",
                "emergency_contact": "Joe Pesci",
                "emergency_phone": "(212) 555-1212",
                "enrollment_date": "2023-02-04T00:30:32Z",
                "first_name": "Earline",
                "last_name": "Wilcox",
                "phone": "(726) 263-4781",
                "uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s",
                "user_uid": "2LFdC3tGwE3TUVxHL7qTYZG20ZV"
            },
            "patient_uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s",
            "payment_type_uid": "",
            "payments_aggregate": {
                "aggregate": {
                    "count": 0,
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "status": "enrolled",
            "subject_id": "7562",
            "trial_site": {
                "appointments_enabled": false,
                "messaging_enabled": false,
                "ratings_enabled": false,
                "site": {
                    "client_site_id": "",
                    "name": "Mullins Clinic",
                    "uid": "2LFdBuluKvHj24t7GjIdCkyPFHV"
                },
                "site_uid": "2LFdBuluKvHj24t7GjIdCkyPFHV",
                "trial": {
                    "actual_participant_count": 1,
                    "anticipated_participant_count": 0,
                    "appointments_enabled": false,
                    "contract_uid": "",
                    "end_date": "2024-05-31",
                    "fundings_aggregate": {
                        "aggregate": {
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "messaging_enabled": false,
                    "milestone_count": 0,
                    "name": "Trial Weeks-64",
                    "protocol_id": "XK9482-80202",
                    "ratings_enabled": false,
                    "reimbursements_enabled": false,
                    "site_count": 0,
                    "sponsor_name": "test sponsor 46",
                    "sponsor_uid": "2LFdC08SBI5di4x2x36A4LV32dN",
                    "start_date": "2023-06-01",
                    "theraputic_area": "",
                    "uber_enabled": false,
                    "uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm"
                },
                "trial_uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm",
                "uber_enabled": false,
                "uid": "2LFdC2PQz5eUMcNHhSyMD7v1kIU"
            },
            "trial_site_uid": "2LFdC2PQz5eUMcNHhSyMD7v1kIU",
            "trial_uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm",
            "uid": "2LFdC4mva2V0SR2xWIWS8wW3C5P"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdC3xkVJQ8Z6KFXhAvNMJcVdc",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Set Enrollment Status

The allowed values are enrolled, dropped, and completed.

Request

{
    "action": "set_enrollment_status",
    "session_id": "2LFdBtp08vHxzcT7eaBj7ueSR57",
    "payload": {
        "status": "completed",
        "trial_uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm",
        "participant_uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s"
    }
}

Response

{
    "action": "set_enrollment_status",
    "payload": {
        "participant_uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s",
        "patient": {
            "address": {
                "city": "Dayton",
                "post_code": "45401",
                "state": "OH",
                "street1": "858 Spring County Blvd",
                "uid": "2LFdBuXqOJYeYrk0liYp6lVbHhd"
            },
            "dob": "1951-09-14",
            "email": "earline.wilcox@example.com",
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "enrollment_date": "2023-02-04T00:30:32Z",
            "first_name": "Earline",
            "last_name": "Wilcox",
            "phone": "(726) 263-4781",
            "uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s",
            "user_uid": "2LFdC3tGwE3TUVxHL7qTYZG20ZV"
        },
        "patient_uid": "2LFdBvi2Jdzt7NpBytq5GVDtc8s",
        "payment_type_uid": "",
        "payments_aggregate": {
            "aggregate": {
                "count": 0,
                "sum": {
                    "amount": 0
                }
            }
        },
        "status": "completed",
        "subject_id": "7562",
        "trial_site": {
            "appointments_enabled": false,
            "messaging_enabled": false,
            "ratings_enabled": false,
            "site": {
                "client_site_id": "",
                "name": "Mullins Clinic",
                "uid": "2LFdBuluKvHj24t7GjIdCkyPFHV"
            },
            "site_uid": "2LFdBuluKvHj24t7GjIdCkyPFHV",
            "trial": {
                "actual_participant_count": 1,
                "anticipated_participant_count": 0,
                "appointments_enabled": false,
                "contract_uid": "",
                "end_date": "2024-05-31",
                "fundings_aggregate": {
                    "aggregate": {
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "messaging_enabled": false,
                "milestone_count": 0,
                "name": "Trial Weeks-64",
                "protocol_id": "XK9482-80202",
                "ratings_enabled": false,
                "reimbursements_enabled": false,
                "site_count": 0,
                "sponsor_name": "test sponsor 46",
                "sponsor_uid": "2LFdC08SBI5di4x2x36A4LV32dN",
                "start_date": "2023-06-01",
                "theraputic_area": "",
                "uber_enabled": false,
                "uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm"
            },
            "trial_uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm",
            "uber_enabled": false,
            "uid": "2LFdC2PQz5eUMcNHhSyMD7v1kIU"
        },
        "trial_site_uid": "2LFdC2PQz5eUMcNHhSyMD7v1kIU",
        "trial_uid": "2LFdBvyE3qt845iG7sIJvI5Kjvm",
        "uid": "2LFdC4mva2V0SR2xWIWS8wW3C5P"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdC9AZJaNnlJsO3suKMgsCdsa",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Participant

Retrieve an individual participant’s info.

Request

{
    "action": "get_participant",
    "session_id": "2LFdC65TTpYbjb0pB5OmPr7uzDV",
    "payload": {
        "participant_uid": "2LFdC5Aomrp09S8TNUWjcgvJnSy"
    }
}

Response

{
    "action": "get_participant",
    "payload": {
        "address": {
            "city": "Providence",
            "post_code": "02940",
            "state": "RI",
            "street1": "476 Sharon Rd",
            "uid": "2LFdC1x0FerARSh1GRWzxwAPvrt"
        },
        "dob": "1962-01-05",
        "email": "ella.park@example.com",
        "emergency_contact": "Joe Pesci",
        "emergency_phone": "(212) 555-1212",
        "enrollment_date": "2023-02-04T00:30:33Z",
        "first_name": "Ella",
        "last_name": "Park",
        "phone": "(616) 012-4200",
        "site_uid": "2LFdC7eBOQ3Em4dgXxTgUeYXRO6",
        "time_zone": "America/New_York",
        "uid": "2LFdC5Aomrp09S8TNUWjcgvJnSy",
        "user_uid": "2LFdC4NDNDfvndFOAw4Dj3p5EZy"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdC6U8XqnEFHHTyXU5oX6O3W3",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Schedule Appointment

Schedule an appointment for a participant to return to the site for a follow-up visit. The enrollment_uid or participant_uid is required. If the participant is enrolled in multiple trials, the enrollment_uid is required.

The participant will automatically receive e-mail or SMS reminder notifications.

The date must be in YYYY-MM-DDTHH:MM:SS format, e.g. "2022-07-05T21:13:00".

Request

{
    "action": "schedule_appointment",
    "session_id": "2LFdC8rnlKf04cTVSPQ0UjBW7fT",
    "payload": {
        "participant_uid": "2LFdC8iMS6YH3F1BfaVrNomJeIY",
        "time": "2023-02-11T00:30:00",
        "description": "please bring your paperwork",
        "milestone": "Week 3"
    }
}

Response

{
    "action": "schedule_appointment",
    "payload": {
        "description": "please bring your paperwork",
        "enrollment": {
            "payment_type_uid": "",
            "payments_aggregate": {
                "aggregate": {
                    "count": 0,
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "trial_site": {
                "appointments_enabled": false,
                "messaging_enabled": false,
                "ratings_enabled": false,
                "uber_enabled": false
            }
        },
        "enrollment_uid": "2LFdC1oDGkkpdGVyk1I2DPUOA07",
        "milestone": "Week 3",
        "participant_uid": "2LFdC8iMS6YH3F1BfaVrNomJeIY",
        "patient_uid": "2LFdC8iMS6YH3F1BfaVrNomJeIY",
        "time": "2023-02-11T00:30:00",
        "uid": "2LFdC7pUSJV7BsDoc1Pcb0vK4va"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdC4WX9QfYUuTjNYIptPpk37z",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Bulk E-mail

Send an e-mail message to all participants enrolled in a trial at a site.

Request

{
    "action": "bulk_email",
    "session_id": "2LFdC8AZCQ4tbZlZUm7sotq2vN9",
    "payload": {
        "trial_uid": "2LFdC6rCJgTSlXXDMeb7FIpGT7U",
        "site_uid": "2LFdC37gp058zi7ApW4JAqJ1Hvs",
        "subject": "Test Subject",
        "body": "Test Body"
    }
}

Response

{
    "action": "bulk_email",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCD0ULMExPPf1WYPnYrPVqgX",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Payment Types

The participant has the option to select how they would like to receive their funds. This API call returns the available options.

Once an option is selected, the participant may have to enter additional information relevant to the payment type.

Request

{
    "action": "get_payment_types",
    "session_id": "2LFdCOPtYLENwOBEnQdK4rN2llw"
}

Response

{
    "action": "get_payment_types",
    "payload": {
        "payment_types": [
            {
                "description": "deposit to my bank account",
                "name": "Bank Account",
                "uid": "2FJiHEcuV7SSq5adI88gSq5khAb"
            },
            {
                "description": "pay me via PayPal",
                "name": "PayPal",
                "uid": "28LLr9EUm9f1G5S5yxoOJKNTDP0"
            },
            {
                "description": "pay me via Venmo",
                "name": "Venmo",
                "uid": "2CRrLEBYGVFEyNejc3s3G6Ub7Vm"
            },
            {
                "description": "check mailed to my home address",
                "name": "check",
                "uid": "28LLqy3paByy5jcqpoU9wXuTiYo"
            },
            {
                "description": "deposited to my debit card",
                "name": "debit",
                "uid": "28LLr8WY5tNSSIDtcjRSmWODmGW"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCNdR7Sx5q5Imy5P10j6gxZP",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Set Payment Type

Set the preferred payment type for the participant for the trial.

Requires set_payment_type permission.

Request

{
    "action": "set_payment_type",
    "session_id": "2LFdCOPtYLENwOBEnQdK4rN2llw",
    "payload": {
        "payment_type_uid": "28LLr9EUm9f1G5S5yxoOJKNTDP0",
        "trial_uid": "2LFdCMLjE1RJnS0OgCGToE51nHe",
        "participant_uid": "2LFdCMslqGnrwoYGc596pYpdYlk",
        "payment_email": "",
        "payment_phone": "",
        "payment_address": {}
    }
}

Response

{
    "action": "set_payment_type",
    "status_code": 401,
    "message": "you do not have permission to view information for this participant",
    "request_id": "2LFdCOrNt7g7ihduqrJ0ONWhQ5X",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get User by Participant UID

Look up the user used by a participant to log in.

Request

{
    "action": "get_user_by_participant_uid",
    "session_id": "2LFdCOPtYLENwOBEnQdK4rN2llw",
    "payload": {
        "participant_uid": "2LFdCMslqGnrwoYGc596pYpdYlk"
    }
}

Response

{
    "action": "get_user_by_participant_uid",
    "payload": {
        "email": "jeremiah.guthrie@example.com",
        "email_enabled": false,
        "email_verified": false,
        "first_name": "Jeremiah",
        "last_name": "Guthrie",
        "phone": "(384) 428-1070",
        "push_enabled": false,
        "sms_enabled": false,
        "sms_verified": false,
        "uid": "2LFdCLZhbL6ORtiPOW1Iso7osbV"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCIkKU4h6GrSZPRLVtbG2YYN",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Change User Password

This function allows an admin to change a user’s password for them.

This functionality is only available to an admin.

Request

{
    "action": "change_user_password",
    "session_id": "2LFdCOPtYLENwOBEnQdK4rN2llw",
    "payload": {
        "user_uid": "2LFdCLZhbL6ORtiPOW1Iso7osbV",
        "new_password": "monkey123"
    }
}

Response

{
    "action": "change_user_password",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCK8KKaPaH4WNIEAAo954pQI",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Appointments

Get all appointments for a participant_uid. Add "past": true to to payload to get past appointments.

Request

{
    "action": "get_appointments",
    "session_id": "2LFdCK3CLMtQl4rH6aBchMkfYi1",
    "payload": {
        "participant_uid": "2LFdCOXdae3DUSavTUGJEytdc18",
        "past": false
    }
}

Response

{
    "action": "get_appointments",
    "payload": {
        "appointments": [
            {
                "description": "this appointment is in the future",
                "enrollment": {
                    "patient": {
                        "address": {}
                    },
                    "payment_address": {},
                    "payment_type_uid": "",
                    "payments_aggregate": {
                        "aggregate": {
                            "count": 0,
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "trial_site": {
                        "appointments_enabled": false,
                        "messaging_enabled": false,
                        "ratings_enabled": false,
                        "site": {
                            "client_site_id": "",
                            "name": "",
                            "uid": ""
                        },
                        "trial": {
                            "actual_participant_count": 0,
                            "anticipated_participant_count": 0,
                            "appointments_enabled": false,
                            "contract": {
                                "client": {
                                    "address": {},
                                    "name": "",
                                    "uid": ""
                                },
                                "client_uid": "",
                                "name": "",
                                "sales_contact": "",
                                "uid": ""
                            },
                            "contract_uid": "",
                            "fundings_aggregate": {
                                "aggregate": {
                                    "sum": {
                                        "amount": 0
                                    }
                                }
                            },
                            "messaging_enabled": false,
                            "milestone_count": 0,
                            "name": "",
                            "protocol_id": "",
                            "ratings_enabled": false,
                            "reimbursements_enabled": false,
                            "site_count": 0,
                            "theraputic_area": "",
                            "uber_enabled": false,
                            "uid": ""
                        },
                        "uber_enabled": false
                    }
                },
                "enrollment_uid": "2LFdCIYFbAuhuqYx8ZQzn5ab7Vp",
                "milestone": "Week 3",
                "time": "2023-02-11T00:30:00Z",
                "uid": "2LFdCK55qZXBbvktiPS8Y6Dftat"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCMPrjwrpTXMU9p92xzErkBz",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Payment Schedule

Retrieve a payment schedule for a trial/site combination.

Requires view_payment_schedule permission.

Request

{
    "action": "get_payment_schedule",
    "session_id": "2LFdCVdqjr30roIgIREWYywR6M6",
    "payload": {
        "trial_uid": "2LFdCS29m1YsiYqPApPomMxXRS6",
        "site_uid": "2LFdCSh4HcfsRmDPaEjdSb1SLxt",
        "enrollment_uid": "2LFdCT9SlM8gkqqAlvMXaejrDBa"
    }
}

Response

{
    "action": "get_payment_schedule",
    "payload": [
        {
            "amount": 5,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.114119Z",
            "milestone": "Week 2",
            "sort_order": 1,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCWKYMEnOXGI9P5Zagk6Mi4P"
        },
        {
            "amount": 10,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.119111Z",
            "milestone": "Week 3",
            "sort_order": 2,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCRjj0Qp0mpIdfqyK9LBTC82"
        },
        {
            "amount": 15,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.12461Z",
            "milestone": "Week 4",
            "sort_order": 3,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCTB95ZtiNH8zPTV6VF7S5K4"
        },
        {
            "amount": 20,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.129903Z",
            "milestone": "Week 5",
            "sort_order": 4,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCWS40fJ4TK17ItnNuLOZr67"
        },
        {
            "amount": 25,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.134844Z",
            "milestone": "Week 6",
            "sort_order": 5,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCRydPHrdwKhqVftZ5f6Ayg1"
        },
        {
            "amount": 30,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.140309Z",
            "milestone": "Week 7",
            "sort_order": 6,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCTKO4o6ruxEq8McxlkmG022"
        },
        {
            "amount": 35,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.145481Z",
            "milestone": "Week 8",
            "sort_order": 7,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCQAfIXzILYn2ZkaSu0osCwZ"
        },
        {
            "amount": 40,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.150365Z",
            "milestone": "Week 9",
            "sort_order": 8,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCUE8wJA7YhtSay9PPEvjvlC"
        },
        {
            "amount": 45,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.155247Z",
            "milestone": "Week 10",
            "sort_order": 9,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCRu8oq6XaWE2vM3uEBbNQNA"
        },
        {
            "amount": 50,
            "currency": "USD",
            "effective_date": "2023-02-04T00:30:36.160253Z",
            "milestone": "Week 11",
            "sort_order": 10,
            "trial_site_uid": "2LFdCU9VRDZkQ7OT9mbcAYGuLE2",
            "uid": "2LFdCS8rVC2LuWUZsR2srEXuzJz"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCSiWPzJyRwdEREVlZjiW1Kz",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Appointment Report

Report that provides information on participants by trial.

Request

{
    "action": "appointment_report",
    "session_id": "2LFdCVdqjr30roIgIREWYywR6M6",
    "payload": {
        "user_uid": "2LFdCLIafqwZXPx342tOYKgycMc",
        "trial_uids": [
            "2LFdCS29m1YsiYqPApPomMxXRS6"
        ],
        "format": "xlsx"
    }
}

Response

{
    "action": "appointment_report",
    "payload": "http://api:6666/reports/appointment_report/2LFdCQQi6fPS94DXb9cuk5hNDhK",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCOwnPoJ9TXxQ5dD5MFVAmGz",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Caregiver Relationships

Provides the list of relationships between participant and caregiver to use in the relationship field of the caregiver.

Request

{
    "action": "caregiver_relationships",
    "session_id": "2LFdCTpewhJVDDM7vYPLMnWxpc1"
}

Response

{
    "action": "caregiver_relationships",
    "payload": [
        "parent",
        "guardian",
        "nurse"
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCUvsgKe3xbhvb6dI8HrFg26",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Register Caregiver

A caregiver is a person who is allowed to act on behalf of a participant.

The participant may be a minor or unable to do some things for themselves for medical reasons.

Requires permission add_participant, because a caregiver is directly linked to the participant.

Request

{
    "action": "register_caregiver",
    "session_id": "2LFdCTpewhJVDDM7vYPLMnWxpc1",
    "payload": {
        "participant_uid": "2LFdCR1x3Wu1c0Cmkv3Ryn0Ty12",
        "first_name": "Alexandria",
        "last_name": "Larsen",
        "relationship": "parent",
        "email": "Alexandria.Larsen@example.com",
        "address": {
            "street1": "1727 Tulip St",
            "street2": "",
            "city": "Austin",
            "state": "TX",
            "post_code": "78710"
        }
    }
}

Response

{
    "action": "register_caregiver",
    "payload": {
        "address": {
            "city": "Austin",
            "post_code": "78710",
            "state": "TX",
            "street1": "1727 Tulip St",
            "uid": "2LFdCWIPvwM3JzKgLTSiJOA53Az"
        },
        "email": "alexandria.larsen@example.com",
        "first_name": "Alexandria",
        "last_name": "Larsen",
        "participant_uid": "2LFdCR1x3Wu1c0Cmkv3Ryn0Ty12",
        "patient_uid": "2LFdCR1x3Wu1c0Cmkv3Ryn0Ty12",
        "relationship": "parent",
        "uid": "2LFdCV5hsbcxtOQUir0S1YOWVXT",
        "user_uid": "2LFdCR4Ji47jWWX327fgeYIEzaJ"
    },
    "status_code": 200,
    "message": "caregiver added",
    "request_id": "2LFdCUJmYS0etanoBy9r51WIpUS",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Caregivers

Get caregivers by their participant’s UID.

Request

{
    "action": "get_caregivers",
    "session_id": "2LFdCTpewhJVDDM7vYPLMnWxpc1",
    "payload": {
        "participant_uid": "2LFdCR1x3Wu1c0Cmkv3Ryn0Ty12"
    }
}

Response

{
    "action": "get_caregivers",
    "payload": [
        {
            "address": {
                "city": "Austin",
                "post_code": "78710",
                "state": "TX",
                "street1": "1727 Tulip St",
                "uid": "2LFdCWIPvwM3JzKgLTSiJOA53Az"
            },
            "email": "alexandria.larsen@example.com",
            "first_name": "Alexandria",
            "last_name": "Larsen",
            "participant_uid": "2LFdCR1x3Wu1c0Cmkv3Ryn0Ty12",
            "patient_uid": "2LFdCR1x3Wu1c0Cmkv3Ryn0Ty12",
            "relationship": "parent",
            "uid": "2LFdCV5hsbcxtOQUir0S1YOWVXT"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCTAcZJGiwdA120boI1deIPA",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Update Caregiver

Request

{
    "action": "update_caregiver",
    "session_id": "2LFdCTZqRYf0i6uC9lOfFyLLeVa",
    "payload": {
        "address": {
            "city": "Chicago",
            "post_code": "60607",
            "state": "IL",
            "street1": "902 Main St",
            "uid": "2LFdCTAVkZSi8c6k6r9iLZ0wZZP"
        },
        "email": "daren.brock@example.com",
        "first_name": "Maude",
        "last_name": "Lebowski",
        "participant_uid": "2LFdCRVmCN9QbITPZXDNvvVH00v",
        "patient_uid": "2LFdCRVmCN9QbITPZXDNvvVH00v",
        "uid": "2LFdCRUqsUClBWLEUD05qkGEpfO",
        "user_uid": "2LFdCa7aFlSMaL46Kl72ngvLaXp"
    }
}

Response

{
    "action": "update_caregiver",
    "payload": {
        "address": {
            "city": "Chicago",
            "post_code": "60607",
            "state": "IL",
            "street1": "902 Main St",
            "uid": "2LFdCTAVkZSi8c6k6r9iLZ0wZZP"
        },
        "email": "daren.brock@example.com",
        "first_name": "Maude",
        "last_name": "Lebowski",
        "participant_uid": "2LFdCRVmCN9QbITPZXDNvvVH00v",
        "patient_uid": "2LFdCRVmCN9QbITPZXDNvvVH00v",
        "uid": "2LFdCRUqsUClBWLEUD05qkGEpfO"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCeLdMeS3qW8grxMrxSvkx9g",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get User by Caregiver UID

For testing purposes. Retrive the user by caregiver UID.

Request

{
    "action": "get_user_by_caregiver_uid",
    "session_id": "2LFdCcMEDCzSpLay8FWpWXiCCLZ",
    "payload": {
        "caregiver_uid": "2LFdCXDo3IlNwex4A13ftx3xxS0"
    }
}

Response

{
    "action": "get_user_by_caregiver_uid",
    "payload": {
        "email": "harriet.nguyen@example.com",
        "email_enabled": false,
        "email_verified": false,
        "first_name": "Harriet",
        "last_name": "Nguyen",
        "push_enabled": false,
        "sms_enabled": false,
        "sms_verified": false,
        "uid": "2LFdCWuc34vjuC2gR7p0TDpvU0T"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCYNYVzwPKsHNBVfbhL1QvGT",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Send Message

Send a message to other users.

Participants may always send and receive messages. Site coordinators need the messaging permission.

Request

{
    "action": "send_message",
    "session_id": "2LFdClkRMXpDjFNaruSejXSBTuI",
    "payload": {
        "message": "hello",
        "enrollment_uid": "2LFdCbkWVHQC3wjzy9IlQ7H802j"
    }
}

Response

{
    "action": "send_message",
    "payload": {
        "enrollment_uid": "2LFdCbkWVHQC3wjzy9IlQ7H802j",
        "message": "hello",
        "sender_name": "Carly Weaver",
        "sender_uid": "2LFdCYd12L3UWsSUk7qA4TgzM6o",
        "subject_id": "",
        "time_stamp": "2023-02-04T00:30:38Z",
        "trial_name": "",
        "uid": "2LFdCf6oNjAqwL6n3WJDMyy7OmF"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdChbhvF9xlXoTLbZnzhJwbMA",
    "roles": [
        "participant"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Messages

Get messages in the user’s inbox.

Participants may always send and receive messages. Site coordinators need the messaging permission.

Request

{
    "action": "get_messages",
    "session_id": "2LFdClkRMXpDjFNaruSejXSBTuI"
}

Response

{
    "action": "get_messages",
    "payload": {
        "messages": [
            {
                "enrollment_uid": "2LFdCbkWVHQC3wjzy9IlQ7H802j",
                "message": "hello",
                "sender_name": "Carly Weaver",
                "sender_uid": "2LFdCYd12L3UWsSUk7qA4TgzM6o",
                "subject_id": "1890",
                "time_stamp": "2023-02-04T00:30:38Z",
                "trial_name": "",
                "uid": "2LFdCf6oNjAqwL6n3WJDMyy7OmF"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdChvO4Cq1MRu7KAHdv2gnYK6",
    "roles": [
        "participant"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Change Password

Allow the user to change their password. Requiring them to enter their current password and to enter the new password twice is the responsibility of the API client.

If the user was just registered, their verification token may be passed as token in the payload instead of a session_id.

Request

{
    "action": "change_password",
    "session_id": "2LFdCshO0AzUrFslSLO9GNbF9DA",
    "payload": {
        "new_password": "my awesome new password"
    }
}

Response

{
    "action": "change_password",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCsQ3563LrglwocOMbfOxagB",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Request Password Reset

If a user has forgotten their password, they can request a reset token.

This reset token can be used with the reset_password API call.

Request

{
    "action": "request_password_reset",
    "payload": {
        "email": "gil.walls@example.com"
    }
}

Response

{
    "action": "request_password_reset",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCvU1TQ6a8qUfCeXVFemVSgs",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Reset Tokens

This feature is for admin users only. It is used to test the password reset functionality.

Request

{
    "action": "reset_tokens",
    "session_id": "2LFdCxsRQNW1QjNC95cmJEjxSxX"
}

Response

{
    "action": "reset_tokens",
    "payload": {
        "tokens": {
            "2LFdCw6yHHlhYMCu2JDftCkamNO": "6776",
            "2LFdD0iNPVRqDpj2Mwqa5Q4HrFk": "9063"
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCxKigKlfZg7xn6wevGuUglU",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Reset Password

Reset password using a token received via e-mail after calling the request_password_reset API action.

Request

{
    "action": "reset_password",
    "payload": {
        "email": "luz.spence@example.com",
        "password": "monkey123",
        "token": "6776"
    }
}

Response

{
    "action": "reset_password",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCx5wwDcump4hqdnBpVcd3ZB",
    "roles": [],
    "user_type": "external",
    "version": "50fc063"
}

Milestone Payment

Pay a participant for a milestone visit. Generally, each milestone can only be paid once per participant. However, some studies may allow more than one, one a milestone-by-milestone basis.

Requires milestone_payment permission.

Request

{
    "action": "milestone_payment",
    "session_id": "2LFdD09n9Qslp67Ghz9sHj3QJDJ",
    "payload": {
        "participant_uid": "2LFdCxzGCz7quC1xpN7CY0VaRFA",
        "milestone_uid": "2LFdCzWUweB8XAKeweCTy7xqGGS",
        "amount": 0,
        "note": "test suite"
    }
}

Response

{
    "action": "milestone_payment",
    "payload": {
        "amount": 75,
        "created_by": "2LFdD0QgJwUDCmICAnokfg5AzaP",
        "currency": "USD",
        "enrollment": {
            "payment_type_uid": "",
            "payments_aggregate": {
                "aggregate": {
                    "count": 0,
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "trial_site": {
                "appointments_enabled": false,
                "messaging_enabled": false,
                "ratings_enabled": false,
                "uber_enabled": false
            }
        },
        "enrollment_uid": "2LFdD1XviljVkhLn8CYpvm9EnOa",
        "milestone_uid": "2LFdCzWUweB8XAKeweCTy7xqGGS",
        "note": "test suite",
        "payment_type": "milestone",
        "status": "unclaimed",
        "uid": "2LFdD0zvw1zMDTc89cGfjvkjXf9"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdD0OXHnq1X6NeUvwfoEydjDF",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Participant Payments

Look up payments already made to a participant.

Requires view_payments permission.

Request

{
    "action": "get_participant_payments",
    "session_id": "2LFdD09n9Qslp67Ghz9sHj3QJDJ",
    "payload": {
        "participant_uid": "2LFdCxzGCz7quC1xpN7CY0VaRFA",
        "trial_uid": "2LFdD1aOG230XDGQYC4JkO2MNrp"
    }
}

Response

{
    "action": "get_participant_payments",
    "payload": [
        {
            "amount": 75,
            "created": "2023-02-04T00:30:40Z",
            "created_by": "2LFdD0QgJwUDCmICAnokfg5AzaP",
            "currency": "USD",
            "date": "2023-02-04T00:30:40Z",
            "enrollment": {
                "patient_uid": "2LFdCxzGCz7quC1xpN7CY0VaRFA",
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "3031",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "trial": {
                        "actual_participant_count": 1,
                        "anticipated_participant_count": 0,
                        "appointments_enabled": false,
                        "contract_uid": "",
                        "end_date": "2024-05-31",
                        "fundings_aggregate": {
                            "aggregate": {
                                "sum": {
                                    "amount": 0
                                }
                            }
                        },
                        "messaging_enabled": false,
                        "milestone_count": 0,
                        "name": "Trial Puckett-41",
                        "protocol_id": "XK5081-30601",
                        "ratings_enabled": false,
                        "reimbursements_enabled": false,
                        "site_count": 0,
                        "sponsor_name": "test sponsor 65",
                        "sponsor_uid": "2LFdCxX7WBk4N9mA3aiPnASVkNY",
                        "start_date": "2023-06-01",
                        "theraputic_area": "",
                        "uber_enabled": false,
                        "uid": "2LFdD1aOG230XDGQYC4JkO2MNrp"
                    },
                    "uber_enabled": false
                },
                "uid": "2LFdD1XviljVkhLn8CYpvm9EnOa"
            },
            "enrollment_uid": "2LFdD1XviljVkhLn8CYpvm9EnOa",
            "milestone": {
                "amount": 75,
                "currency": "USD",
                "effective_date": "2023-02-04T00:30:40.843414Z",
                "milestone": "First Visit",
                "sort_order": 0,
                "uid": "2LFdCzWUweB8XAKeweCTy7xqGGS"
            },
            "milestone_uid": "2LFdCzWUweB8XAKeweCTy7xqGGS",
            "note": "test suite",
            "payment_type": "milestone",
            "status": "unclaimed",
            "uid": "2LFdD0zvw1zMDTc89cGfjvkjXf9",
            "updated": "2023-02-04T00:30:40Z"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdCwzELYsEvoHwEsM83t4k8UR",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Mileage Payment

A mileage payment is a reimbursement mileage traveled.

Requires permission mileage_payment.

Request

{
    "action": "mileage_payment",
    "session_id": "2LFdD8U3KhBehtOJh378vz4ouOB",
    "payload": {
        "participant_uid": "2LFdD8TpDjF3nvlBtDfqhMGKfu2",
        "trial_uid": "2LFdD8HEFnD54cBNkWUtL5cKnJf",
        "amount": 225,
        "currency": "USD",
        "note": "test of mileage",
        "milestone": "Week 2"
    }
}

Response

{
    "action": "mileage_payment",
    "payload": {
        "amount": 225,
        "created_by": "2LFdD5hAXc8BAThFA0qUOx5dlRI",
        "currency": "USD",
        "enrollment": {
            "payment_type_uid": "",
            "payments_aggregate": {
                "aggregate": {
                    "count": 0,
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "trial_site": {
                "appointments_enabled": false,
                "messaging_enabled": false,
                "ratings_enabled": false,
                "uber_enabled": false
            }
        },
        "enrollment_uid": "2LFdD93IoO9eyLrF5QZtcd8Io6P",
        "milestone_uid": "2LFdD8yNedwSKdeI4nNdBbhYdXq",
        "note": "test of mileage",
        "payment_type": "mileage",
        "status": "unclaimed",
        "uid": "2LFdD2fYicT557mmDdvz99PXgeU"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdD4gya45EuuAZpcaH5VCgHHW",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Funding Report

Retrieve the funding status of a contract.

Request

{
    "action": "funding_report",
    "session_id": "2LFdD9wH5M377lQRuLBBH5O8Lpp",
    "payload": {
        "trial_uids": [
            "2LFdDEYXkZgkEtwA8rCKvmZVJgj"
        ],
        "format": "xlsx"
    }
}

Response

{
    "action": "funding_report",
    "payload": "http://api:6666/reports/funding_report/2LFdDIL0S3rASMzHad6hIvLNE6a",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDKVRRoa4Ivzfrzunsnaboav",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Unclaimed Payments

An API call made by a participant to view any unclaimed payments. They may then use the claim_payments API call to begin the payment transfer process.

Request

{
    "action": "get_unclaimed_payments",
    "session_id": "2LFdDNsreBfJI6wd0TZqKk505tz",
    "payload": {
        "participant_uid": "2LFdDKx4HLyavMW2DwPI0YxxIML"
    }
}

Response

{
    "action": "get_unclaimed_payments",
    "payload": {
        "payments": [
            {
                "amount": 75,
                "created": "2023-02-04T00:30:43Z",
                "created_by": "2LFdDNwjSazu6X3oIJWuESJDs8s",
                "creator": {
                    "address": {},
                    "caregiver": {
                        "address": {},
                        "patient": {
                            "address": {}
                        }
                    },
                    "email": "",
                    "email_enabled": false,
                    "email_verified": false,
                    "first_name": "",
                    "last_name": "",
                    "patient": {
                        "address": {}
                    },
                    "push_enabled": false,
                    "sms_enabled": false,
                    "sms_verified": false,
                    "uid": ""
                },
                "currency": "USD",
                "date": "2023-02-04T00:30:43Z",
                "enrollment": {
                    "patient": {
                        "address": {}
                    },
                    "patient_uid": "2LFdDKx4HLyavMW2DwPI0YxxIML",
                    "payment_address": {},
                    "payment_type_uid": "",
                    "payments_aggregate": {
                        "aggregate": {
                            "count": 0,
                            "sum": {
                                "amount": 0
                            }
                        }
                    },
                    "status": "enrolled",
                    "subject_id": "8742",
                    "trial_site": {
                        "appointments_enabled": false,
                        "messaging_enabled": false,
                        "ratings_enabled": false,
                        "site": {
                            "client_site_id": "",
                            "name": "",
                            "uid": ""
                        },
                        "trial": {
                            "actual_participant_count": 1,
                            "anticipated_participant_count": 0,
                            "appointments_enabled": false,
                            "contract": {
                                "client": {
                                    "address": {},
                                    "name": "",
                                    "uid": ""
                                },
                                "client_uid": "",
                                "name": "",
                                "sales_contact": "",
                                "uid": ""
                            },
                            "contract_uid": "",
                            "end_date": "2024-05-31",
                            "fundings_aggregate": {
                                "aggregate": {
                                    "sum": {
                                        "amount": 0
                                    }
                                }
                            },
                            "messaging_enabled": false,
                            "milestone_count": 0,
                            "name": "Trial Holman-31",
                            "protocol_id": "XK8657-23232",
                            "ratings_enabled": false,
                            "reimbursements_enabled": false,
                            "site_count": 0,
                            "sponsor_name": "test sponsor 71",
                            "sponsor_uid": "2LFdDM0BaKVbGPU52PhbxBVIxUv",
                            "start_date": "2023-06-01",
                            "theraputic_area": "",
                            "uber_enabled": false,
                            "uid": "2LFdDMo0TCesOGjfQydJX8kZBBy"
                        },
                        "uber_enabled": false
                    },
                    "uid": "2LFdDKv9m8hrRiIo50nkKqeN4QC"
                },
                "enrollment_uid": "2LFdDKv9m8hrRiIo50nkKqeN4QC",
                "milestone": {
                    "amount": 75,
                    "currency": "USD",
                    "effective_date": "2023-02-04T00:30:43.408773Z",
                    "milestone": "First Visit",
                    "sort_order": 0,
                    "uid": "2LFdDKNdl6lTA5fTtQmOyYEk7qb"
                },
                "milestone_uid": "2LFdDKNdl6lTA5fTtQmOyYEk7qb",
                "note": "test suite",
                "payment_type": "milestone",
                "status": "unclaimed",
                "uid": "2LFdDNejrOHFreekiVwb5jTPC2l",
                "updated": "2023-02-04T00:30:43Z"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDOVX0PxuriaCcRgXoApryr1",
    "roles": [
        "participant"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Claim Payments

The participant may claim all unclaimed participants, and this will initiate the transfer process.

Request

{
    "action": "claim_payments",
    "session_id": "2LFdDNsreBfJI6wd0TZqKk505tz",
    "payload": {
        "participant_uid": "2LFdDKx4HLyavMW2DwPI0YxxIML"
    }
}

Response

{
    "action": "claim_payments",
    "status_code": 200,
    "message": "1 payments claimed, 0 failed",
    "request_id": "2LFdDNZDPWo2t6RvMt8LuUG7Gjj",
    "roles": [
        "participant"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Reimbursement Request

Request a reimbursement for an expense you have incurred that is related to the trial.

Request

{
    "action": "reimbursement_request",
    "session_id": "2LFdDRGgQCw7FzlI2vtGeLJkjEU",
    "payload": {
        "participant_uid": "2LFdDUQ0VwEHfx6RBRTkN4mqS9Q",
        "trial_uid": "2LFdDWnJL1XOC9muC2w5ahjQnHO",
        "amount": 53,
        "currency": "USD",
        "note": "meal reimbursement",
        "attachments": [
            "JVBERi0xLjQKJf////8KMSAwIG9iago8PCAvVGl0bGUgKFN0cmlwZSBQYXlvdXRzKQovQXV0aG9yIChTaGF3biBNaWxvY2hpaykK<truncated>"
        ],
        "category": "Airfare"
    }
}

Response

{
    "action": "reimbursement_request",
    "payload": {
        "amount": 53,
        "attachments": [
            ""
        ],
        "category": "Airfare",
        "created_by": "2LFdDSPmVzFrLCh2weq8FefactR",
        "currency": "USD",
        "enrollment": {
            "payment_type_uid": "",
            "payments_aggregate": {
                "aggregate": {
                    "count": 0,
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "trial_site": {
                "appointments_enabled": false,
                "messaging_enabled": false,
                "ratings_enabled": false,
                "uber_enabled": false
            }
        },
        "enrollment_uid": "2LFdDRR6k7ahbYzy0SVBzy4ehvC",
        "note": "meal reimbursement",
        "payment_type": "reimbursement",
        "request_id": "275470644",
        "status": "pending",
        "uid": "2LFdDRRyF6QHJZyUoDCrf084pzX"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDPFVevaBgdWdjvFiHquglhg",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Pending Reimbursements

Get all pending reimbursements for the participant specified by the participant_uid.

This will return any reimbursements that have been created but not yet approved.

Request

{
    "action": "get_pending_reimbursements",
    "session_id": "2LFdDRGgQCw7FzlI2vtGeLJkjEU",
    "payload": {
        "participant_uid": "2LFdDUQ0VwEHfx6RBRTkN4mqS9Q"
    }
}

Response

{
    "action": "get_pending_reimbursements",
    "payload": [
        {
            "amount": 53,
            "attachments": [
                "http://api:6666/files/2LFdDRuFCUop7zS1Wqu8oNx2FFH"
            ],
            "category": "Airfare",
            "created": "2023-02-04T00:30:44Z",
            "created_by": "2LFdDSPmVzFrLCh2weq8FefactR",
            "currency": "USD",
            "date": "2023-02-04T00:30:44Z",
            "enrollment": {
                "patient_uid": "2LFdDUQ0VwEHfx6RBRTkN4mqS9Q",
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "3268",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "trial": {
                        "actual_participant_count": 1,
                        "anticipated_participant_count": 0,
                        "appointments_enabled": false,
                        "contract_uid": "",
                        "end_date": "2024-05-31",
                        "fundings_aggregate": {
                            "aggregate": {
                                "sum": {
                                    "amount": 0
                                }
                            }
                        },
                        "messaging_enabled": false,
                        "milestone_count": 0,
                        "name": "Trial Palmer-32",
                        "protocol_id": "XK6703-33575",
                        "ratings_enabled": false,
                        "reimbursements_enabled": false,
                        "site_count": 0,
                        "sponsor_name": "test sponsor 74",
                        "sponsor_uid": "2LFdDUo751W2BF1VNwBeBLC9Vsv",
                        "start_date": "2023-06-01",
                        "theraputic_area": "",
                        "uber_enabled": false,
                        "uid": "2LFdDWnJL1XOC9muC2w5ahjQnHO"
                    },
                    "uber_enabled": false
                },
                "uid": "2LFdDRR6k7ahbYzy0SVBzy4ehvC"
            },
            "enrollment_uid": "2LFdDRR6k7ahbYzy0SVBzy4ehvC",
            "note": "meal reimbursement",
            "payment_type": "reimbursement",
            "request_id": "275470644",
            "status": "pending",
            "uid": "2LFdDRRyF6QHJZyUoDCrf084pzX",
            "updated": "2023-02-04T00:30:44Z"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDU480DFVvAHsrNm39IA3G1q",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Pending Payments

Get all pending payments the site coordinator can see.

Request

{
    "action": "get_pending_payments",
    "session_id": "2LFdDTxfHYQKY12b4z8kXNI8aAh",
    "payload": {
        "participant_uid": ""
    }
}

Response

{
    "action": "get_pending_payments",
    "payload": [
        {
            "amount": 53,
            "attachments": [
                "http://api:6666/files/2LFdDRuFCUop7zS1Wqu8oNx2FFH"
            ],
            "category": "Airfare",
            "created": "2023-02-04T00:30:44Z",
            "created_by": "",
            "creator": {
                "email": "aubrey.pierce@example.com",
                "email_enabled": false,
                "email_verified": false,
                "first_name": "",
                "last_name": "",
                "push_enabled": false,
                "sms_enabled": false,
                "sms_verified": false,
                "uid": "2LFdDSPmVzFrLCh2weq8FefactR"
            },
            "currency": "USD",
            "date": "2023-02-04T00:30:44Z",
            "enrollment": {
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "3268",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "site": {
                        "client_site_id": "",
                        "name": "Bernard Clinic",
                        "uid": "2LFdDWZPiVruFSZJ4DqPSMGhi3X"
                    },
                    "trial": {
                        "actual_participant_count": 1,
                        "anticipated_participant_count": 0,
                        "appointments_enabled": false,
                        "contract_uid": "",
                        "fundings_aggregate": {
                            "aggregate": {
                                "sum": {
                                    "amount": 0
                                }
                            }
                        },
                        "messaging_enabled": false,
                        "milestone_count": 0,
                        "name": "Trial Palmer-32",
                        "protocol_id": "",
                        "ratings_enabled": false,
                        "reimbursements_enabled": false,
                        "site_count": 0,
                        "theraputic_area": "",
                        "uber_enabled": false,
                        "uid": "2LFdDWnJL1XOC9muC2w5ahjQnHO"
                    },
                    "uber_enabled": false,
                    "uid": "2LFdDSY26DQ7jTkjWVbYwx7CIJo"
                },
                "uid": "2LFdDRR6k7ahbYzy0SVBzy4ehvC"
            },
            "enrollment_uid": "",
            "note": "meal reimbursement",
            "payment_type": "reimbursement",
            "request_id": "275470644",
            "status": "pending",
            "uid": "2LFdDRRyF6QHJZyUoDCrf084pzX",
            "updated": "2023-02-04T00:30:44Z"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDQWImLIzy3i76pZIyi3CUII",
    "roles": [
        "Site Coordinator"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Approve Payment

Approve a pending payment so the electronic payment can be processed.

Requires the permission approve_payments.

Request

{
    "action": "approve_payment",
    "session_id": "2LFdDTxfHYQKY12b4z8kXNI8aAh",
    "payload": {
        "payment_uid": "2LFdDRRyF6QHJZyUoDCrf084pzX"
    }
}

Response

{
    "action": "approve_payment",
    "payload": {
        "amount": 53,
        "attachments": [
            "http://api:6666/files/2LFdDRuFCUop7zS1Wqu8oNx2FFH"
        ],
        "category": "Airfare",
        "created": "2023-02-04T00:30:44Z",
        "created_by": "",
        "creator": {
            "email": "aubrey.pierce@example.com",
            "email_enabled": false,
            "email_verified": false,
            "first_name": "Aubrey",
            "last_name": "Pierce",
            "phone": "(212) 555-1212",
            "push_enabled": false,
            "sms_enabled": false,
            "sms_verified": false,
            "uid": "2LFdDSPmVzFrLCh2weq8FefactR"
        },
        "currency": "USD",
        "date": "2023-02-04T00:30:44Z",
        "enrollment": {
            "payment_type_uid": "",
            "payments_aggregate": {
                "aggregate": {
                    "count": 0,
                    "sum": {
                        "amount": 0
                    }
                }
            },
            "status": "enrolled",
            "subject_id": "3268",
            "trial_site": {
                "appointments_enabled": false,
                "messaging_enabled": false,
                "ratings_enabled": false,
                "uber_enabled": false
            },
            "uid": "2LFdDRR6k7ahbYzy0SVBzy4ehvC"
        },
        "enrollment_uid": "2LFdDRR6k7ahbYzy0SVBzy4ehvC",
        "note": "meal reimbursement",
        "payment_type": "reimbursement",
        "request_id": "275470644",
        "status": "unclaimed",
        "uid": "2LFdDRRyF6QHJZyUoDCrf084pzX"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDS4BTEHqqE9U7J5OvYlQVyW",
    "roles": [
        "Site Coordinator"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Categories

Get categories that are available for manual payments for this trial.

Request

{
    "action": "get_categories",
    "session_id": "2LFdDUpbB5Uiqd1EZP9pIbSRz3v",
    "payload": {
        "trial_uid": "2LFdDVJLhqsFpKh7uo1LzD7mCmG"
    }
}

Response

{
    "action": "get_categories",
    "payload": {
        "categories": [
            "Airfare",
            "Hotel",
            "Meal",
            "Other",
            "Parking",
            "Tolls",
            "Transportation"
        ],
        "trial_uid": ""
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDaRefOJWyCrtJp0Q0L2cXVu",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Add Category

Add a category for manual payments to a trial.

If no categories are added, the default categories will be used for the trial. If any categories are added, the default categories will not be available.

Request

{
    "action": "add_category",
    "session_id": "2LFdDUpbB5Uiqd1EZP9pIbSRz3v",
    "payload": {
        "trial_uid": "2LFdDVJLhqsFpKh7uo1LzD7mCmG",
        "category": "applesauce"
    }
}

Response

{
    "action": "add_category",
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDaR9Or86NF4Dv7QqeZqloOQ",
    "roles": [
        "Mural Admin"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Payable Visits

Retrieve a list of potential payments.

These payments are created when a milestone visit is completed and no payments have yet been generated.

These payments have not been created — they are only templates. The milestone_payment call may be made with these payments to create actual payments.

Request

{
    "action": "get_payable_visits",
    "session_id": "2LFdDaz1Wza490Ff7ej7n7pF9jx"
}

Response

{
    "action": "get_payable_visits",
    "payload": [],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDXSBCQUAg1EVEIk6KahJSWx",
    "roles": [
        "Site Coordinator"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Payments

Get all payments the site coordinator can see.

Request

{
    "action": "get_payments",
    "session_id": "2LFdDlqa3FDbvgbHtA8y6krouqN"
}

Response

{
    "action": "get_payments",
    "payload": [
        {
            "amount": 5,
            "attachments": [],
            "created": "2023-02-04T00:30:46Z",
            "created_by": "rafael.ward@example.com",
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment_uid": "2LFdDZdegl6nA7q9GXaEMJOnrHC",
            "files": [],
            "note": "test suite",
            "payment_type": "milestone",
            "request_id": "",
            "status": "unclaimed",
            "uid": "2LFdDkWlswsZMOki7zmSPuUt3SU",
            "updated": "2023-02-04T00:30:46Z"
        },
        {
            "amount": 5,
            "attachments": [],
            "created": "2023-02-04T00:30:46Z",
            "created_by": "rafael.ward@example.com",
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment_uid": "2LFdDlZ2j8UbMeJqZoa62j3Tncm",
            "files": [],
            "note": "test suite",
            "payment_type": "milestone",
            "request_id": "",
            "status": "unclaimed",
            "uid": "2LFdDhhJ5yS0cORMLO6nASYC1Se",
            "updated": "2023-02-04T00:30:46Z"
        },
        {
            "amount": 5,
            "attachments": [],
            "created": "2023-02-04T00:30:46Z",
            "created_by": "rafael.ward@example.com",
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment_uid": "2LFdDjRyx8JyqlwqZV5Sp2WKRuA",
            "files": [],
            "note": "test suite",
            "payment_type": "milestone",
            "request_id": "",
            "status": "unclaimed",
            "uid": "2LFdDiRSCFjRp8Bf0B8WhXKUCVt",
            "updated": "2023-02-04T00:30:46Z"
        },
        {
            "amount": 5,
            "attachments": [],
            "created": "2023-02-04T00:30:46Z",
            "created_by": "rafael.ward@example.com",
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment_uid": "2LFdDhWrQuRtOp4d3n4hzN76DsD",
            "files": [],
            "note": "test suite",
            "payment_type": "milestone",
            "request_id": "",
            "status": "unclaimed",
            "uid": "2LFdDl1mIe8vwApTDEvACZ2fo5f",
            "updated": "2023-02-04T00:30:46Z"
        },
        {
            "amount": 5,
            "attachments": [],
            "created": "2023-02-04T00:30:46Z",
            "created_by": "rafael.ward@example.com",
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment_uid": "2LFdDhYmT8kJqcaKnUVd7dLxxdU",
            "files": [],
            "note": "test suite",
            "payment_type": "milestone",
            "request_id": "",
            "status": "unclaimed",
            "uid": "2LFdDkipA4kBcQoBQuY9EKPF3rw",
            "updated": "2023-02-04T00:30:46Z"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2LFdDlFkIuMcs7RiEWtJo22sIbZ",
    "roles": [
        "Site Coordinator"
    ],
    "user_type": "external",
    "version": "50fc063"
}

Get Recent Payments

Get the latest payment for each participant the Site Coordinator has permission to see.

Request

{
    "action": "get_recent_payments",
    "session_id": "2LFdDlqa3FDbvgbHtA8y6krouqN"
}

Response

{
    "action": "get_recent_payments",
    "payload": [
        {
            "amount": 5,
            "created": "2023-02-04T00:30:46Z",
            "created_by": "",
            "creator": {
                "email": "rafael.ward@example.com",
                "email_enabled": false,
                "email_verified": false,
                "first_name": "Rafael",
                "last_name": "Ward",
                "phone": "(212) 555-1212",
                "push_enabled": false,
                "sms_enabled": false,
                "sms_verified": false,
                "uid": "2LFdDixnuBTHrg0KDMFsgoRuE9R"
            },
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment": {
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "5183",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "uber_enabled": false
                },
                "uid": "2LFdDZdegl6nA7q9GXaEMJOnrHC"
            },
            "enrollment_uid": "2LFdDZdegl6nA7q9GXaEMJOnrHC",
            "milestone": {
                "amount": 5,
                "currency": "USD",
                "effective_date": "2023-02-04T00:30:45.926764Z",
                "milestone": "Week 2",
                "sort_order": 1,
                "uid": "2LFdDaA65BQfaIflb40Y8Xygx2g"
            },
            "note": "test suite",
            "payment_type": "milestone",
            "status": "unclaimed",
            "uid": "2LFdDkWlswsZMOki7zmSPuUt3SU"
        },
        {
            "amount": 5,
            "created": "2023-02-04T00:30:46Z",
            "created_by": "",
            "creator": {
                "email": "rafael.ward@example.com",
                "email_enabled": false,
                "email_verified": false,
                "first_name": "Rafael",
                "last_name": "Ward",
                "phone": "(212) 555-1212",
                "push_enabled": false,
                "sms_enabled": false,
                "sms_verified": false,
                "uid": "2LFdDixnuBTHrg0KDMFsgoRuE9R"
            },
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment": {
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "8195",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "uber_enabled": false
                },
                "uid": "2LFdDhWrQuRtOp4d3n4hzN76DsD"
            },
            "enrollment_uid": "2LFdDhWrQuRtOp4d3n4hzN76DsD",
            "milestone": {
                "amount": 5,
                "currency": "USD",
                "effective_date": "2023-02-04T00:30:45.926764Z",
                "milestone": "Week 2",
                "sort_order": 1,
                "uid": "2LFdDaA65BQfaIflb40Y8Xygx2g"
            },
            "note": "test suite",
            "payment_type": "milestone",
            "status": "unclaimed",
            "uid": "2LFdDl1mIe8vwApTDEvACZ2fo5f"
        },
        {
            "amount": 5,
            "created": "2023-02-04T00:30:46Z",
            "created_by": "",
            "creator": {
                "email": "rafael.ward@example.com",
                "email_enabled": false,
                "email_verified": false,
                "first_name": "Rafael",
                "last_name": "Ward",
                "phone": "(212) 555-1212",
                "push_enabled": false,
                "sms_enabled": false,
                "sms_verified": false,
                "uid": "2LFdDixnuBTHrg0KDMFsgoRuE9R"
            },
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment": {
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "2557",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "uber_enabled": false
                },
                "uid": "2LFdDhYmT8kJqcaKnUVd7dLxxdU"
            },
            "enrollment_uid": "2LFdDhYmT8kJqcaKnUVd7dLxxdU",
            "milestone": {
                "amount": 5,
                "currency": "USD",
                "effective_date": "2023-02-04T00:30:45.926764Z",
                "milestone": "Week 2",
                "sort_order": 1,
                "uid": "2LFdDaA65BQfaIflb40Y8Xygx2g"
            },
            "note": "test suite",
            "payment_type": "milestone",
            "status": "unclaimed",
            "uid": "2LFdDkipA4kBcQoBQuY9EKPF3rw"
        },
        {
            "amount": 5,
            "created": "2023-02-04T00:30:46Z",
            "created_by": "",
            "creator": {
                "email": "rafael.ward@example.com",
                "email_enabled": false,
                "email_verified": false,
                "first_name": "Rafael",
                "last_name": "Ward",
                "phone": "(212) 555-1212",
                "push_enabled": false,
                "sms_enabled": false,
                "sms_verified": false,
                "uid": "2LFdDixnuBTHrg0KDMFsgoRuE9R"
            },
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment": {
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "2461",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "uber_enabled": false
                },
                "uid": "2LFdDjRyx8JyqlwqZV5Sp2WKRuA"
            },
            "enrollment_uid": "2LFdDjRyx8JyqlwqZV5Sp2WKRuA",
            "milestone": {
                "amount": 5,
                "currency": "USD",
                "effective_date": "2023-02-04T00:30:45.926764Z",
                "milestone": "Week 2",
                "sort_order": 1,
                "uid": "2LFdDaA65BQfaIflb40Y8Xygx2g"
            },
            "note": "test suite",
            "payment_type": "milestone",
            "status": "unclaimed",
            "uid": "2LFdDiRSCFjRp8Bf0B8WhXKUCVt"
        },
        {
            "amount": 5,
            "created": "2023-02-04T00:30:46Z",
            "created_by": "",
            "creator": {
                "email": "rafael.ward@example.com",
                "email_enabled": false,
                "email_verified": false,
                "first_name": "Rafael",
                "last_name": "Ward",
                "phone": "(212) 555-1212",
                "push_enabled": false,
                "sms_enabled": false,
                "sms_verified": false,
                "uid": "2LFdDixnuBTHrg0KDMFsgoRuE9R"
            },
            "currency": "USD",
            "date": "2023-02-04T00:30:46Z",
            "enrollment": {
                "payment_type_uid": "",
                "payments_aggregate": {
                    "aggregate": {
                        "count": 0,
                        "sum": {
                            "amount": 0
                        }
                    }
                },
                "status": "enrolled",
                "subject_id": "3874",
                "trial_site": {
                    "appointments_enabled": false,
                    "messaging_enabled": false,
                    "ratings_enabled": false,
                    "uber_enabled": false
                },
                "uid": "2LFdDlZ2j8UbMeJqZoa62j3Tncm"
            },
            "enrollment_uid": "2LFdDlZ2j8UbMeJqZoa62j3Tncm",
            "milestone": {
                "amount": 5,
                "currency": "USD",
                "effective_date": "2023-02-04T00:30:45.926764Z",
                "milestone": "Week 2",
                "sort_order": 1,
                "uid": "2LFdDaA65BQfaIflb40Y8Xygx2g"
            },
            "note": "test suite",
            "payment_type": "milestone",
            "status": "unclaimed",
            "uid": "2LFdDhhJ5yS0cORMLO6nASYC1Se"
        }
    ],
    "status_code": 200,
    "message"