Overview

The Mural Link system is used to pay patients 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.

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 patients.

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 patients 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 patients. 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 patients, 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 patient. They are frequently nurses or other medical staff. They will also be the users of the Mural Link system — registering and paying patients.

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

Patient

A patient 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.

Patients 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 patients 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 patient is to be paid. This is because the amouts will vary by geographic location, and by the type of trial. For example, patients in Los Angeles or New York may receive a higher amount than patients 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 patient 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 patient 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": "seth.randall@example.com",
        "phone": "(212) 555-1212",
        "first_name": "Seth",
        "last_name": "Randall",
        "password": "c9f656ccf86a~",
        "address": {
            "street1": "168 Old Pinbrick Dr",
            "street2": "",
            "city": "Hampton",
            "state": "VA",
            "post_code": "23670"
        }
    }
}

Response

{
    "action": "register",
    "payload": {
        "uid": "2D5YrMBp4s5Z4oz3THXPwy5Ohet",
        "email": "seth.randall@example.com",
        "first_name": "Seth",
        "last_name": "Randall",
        "address": {
            "uid": "2D5YrIekUZChcBSJ8Q3EE9GZRQd",
            "street1": "168 Old Pinbrick Dr",
            "city": "Hampton",
            "state": "VA",
            "post_code": "23670",
            "valid": false
        },
        "phone": "(212) 555-1212",
        "email_verified": false,
        "sms_verified": false
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrKQ2rYkRdZkoPnPcFYzAlt6"
}

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": {
        "session_id": "2D5YrGjIYjZnvC7bIEAvvF2EOUV",
        "user_role": "admin",
        "invalid_attempts": 0
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrH6CoTnYb6Xh61HmXeFcF8g"
}

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": "2D5YrGjIYjZnvC7bIEAvvF2EOUV"
}

Response

{
    "action": "keepalive",
    "status_code": 200,
    "message": "session valid",
    "request_id": "2D5YrIDn21WdbeyGa4IcbUQShwL"
}

Log Out

Expire the current session ID.

Request

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

Response

{
    "action": "logout",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrKVrnVxnQ0M7d4THsCVUHck"
}

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": "2D5YrMjfdAKz7M1B7aJXJtl8Yll"
}

My Info

Retrieve the logged-in user’s information.

Request

{
    "action": "my_info",
    "session_id": "2D5YrR0WCzF5r0jApOZqqEP23ex"
}

Response

{
    "action": "my_info",
    "payload": {
        "uid": "2D5YrRmmg1vFVCpbRdkiKtmKQ0Z",
        "email": "johnathan.curtis@example.com",
        "first_name": "Johnathan",
        "last_name": "Curtis",
        "address": {
            "uid": "2D5YrNGfn019rTzhKPnDtMzZmkI",
            "street1": "559 Freeland Ave",
            "city": "Yonkers",
            "state": "NY",
            "post_code": "10701",
            "valid": false
        },
        "phone": "(212) 555-1212",
        "email_verified": false,
        "sms_verified": false
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrOlua8hcQrGxXQdoZtzl4Oo"
}

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": "2D5YrR3vIbtt42VQeQCiJJaShek"
}

Response

{
    "action": "get_users",
    "payload": [
        {
            "uid": "2D5YrRmmg1vFVCpbRdkiKtmKQ0Z",
            "email": "johnathan.curtis@example.com",
            "first_name": "Johnathan",
            "last_name": "Curtis",
            "address": {
                "uid": "2D5YrNGfn019rTzhKPnDtMzZmkI",
                "street1": "559 Freeland Ave",
                "city": "Yonkers",
                "state": "NY",
                "post_code": "10701",
                "valid": false
            },
            "phone": "(212) 555-1212",
            "email_verified": false,
            "sms_verified": false
        },
        {
            "uid": "2D5YrGP8c41sKvaefSyp35FVPcQ",
            "email": "ina.munoz@example.com",
            "first_name": "Ina",
            "last_name": "Munoz",
            "address": {
                "uid": "2D5YrIhntEVhQ0GzknuitQHHFAm",
                "street1": "863 Cooper St",
                "city": "Seattle",
                "state": "WA",
                "post_code": "98109",
                "valid": false
            },
            "phone": "(212) 555-1212",
            "email_verified": false,
            "sms_verified": false
        },
        {
            "uid": "2D5YrMBp4s5Z4oz3THXPwy5Ohet",
            "email": "seth.randall@example.com",
            "first_name": "Seth",
            "last_name": "Randall",
            "address": {
                "uid": "2D5YrIekUZChcBSJ8Q3EE9GZRQd",
                "street1": "168 Old Pinbrick Dr",
                "city": "Hampton",
                "state": "VA",
                "post_code": "23670",
                "valid": false
            },
            "phone": "(212) 555-1212",
            "email_verified": false,
            "sms_verified": false
        },
        {
            "uid": "2D5YrPKjZk0hPSR8M7gF4hTWbGh",
            "email": "sharron.tucker@example.com",
            "first_name": "Sharron",
            "last_name": "Tucker",
            "address": {
                "uid": "2D5YrObd7freRrLO2QeZW4TiAC7",
                "street1": "1273 Tomkins Blcd",
                "city": "Auburn",
                "state": "NY",
                "post_code": "13021",
                "valid": false
            },
            "phone": "(212) 555-1212",
            "email_verified": false,
            "sms_verified": false
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrPXsD89Ea3AjuHQv6hgh3Bf"
}

Update User

Request

{
    "action": "update_user",
    "session_id": "2D5YrYBKy6FApiu0fbp1GVqpiNv",
    "payload": {
        "uid": "2D5YrZON4xQbN7TkScuwdajPLRu",
        "email": "jefferey.lawson@example.com",
        "first_name": "Michael",
        "last_name": "Knight",
        "address": {
            "uid": "2D5YrVEBCrDoRrqMNeoad3PSfo0",
            "street1": "1979 Willow Rd",
            "city": "Vancouver",
            "state": "WA",
            "post_code": "98661",
            "valid": false
        },
        "phone": "(212) 555-1212",
        "email_verified": false,
        "sms_verified": false,
        "password": "e84269fee79d~"
    }
}

Response

{
    "action": "update_user",
    "payload": {
        "uid": "2D5YrZON4xQbN7TkScuwdajPLRu",
        "email": "jefferey.lawson@example.com",
        "first_name": "Michael",
        "last_name": "Knight",
        "address": {
            "uid": "2D5YrVEBCrDoRrqMNeoad3PSfo0",
            "street1": "1979 Willow Rd",
            "city": "Vancouver",
            "state": "WA",
            "post_code": "98661",
            "valid": false
        },
        "phone": "(212) 555-1212",
        "email_verified": false,
        "sms_verified": false
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrcErTBwGiAVi8w70VHr0GYj"
}

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": "2D5YrYnpguzfafn63ECTwR6451p"
}

Response

{
    "action": "get_clients",
    "payload": [],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZfI3DhsEPCPGndbqCLGSFm"
}

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": "2D5YrYnpguzfafn63ECTwR6451p",
    "payload": {
        "name": "Murray, Inc.",
        "sales_contact": "Enrique Salas",
        "tax_id": "391701535",
        "contact_name": "Lynne Navarro",
        "contact_phone": "(952) 505-1184",
        "contact_email": "lynne.navarro@example.com"
    }
}

Response

{
    "action": "create_client",
    "payload": {
        "uid": "2D5YrZScjyQ4ZUBmc1aouFiRA3i",
        "name": "Murray, Inc.",
        "sales_contact": "",
        "client_type": "",
        "tax_id": "",
        "client_signature_date": "",
        "address": {
            "valid": false
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZMNfoiGnEQ2ssfmkbFI0Ur"
}

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": "2D5YrVI9yPHCcD1Z9D1hAHrNb2W",
    "payload": {
        "uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf"
    }
}

Response

{
    "action": "get_client",
    "payload": {
        "uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf",
        "name": "Ingram, Inc.",
        "sales_contact": "",
        "client_type": "",
        "tax_id": "",
        "client_signature_date": "",
        "address": {
            "valid": false
        },
        "audit_history": [
            {
                "uid": "2D5YrZUGct2awUwlWw2CajTN3Wr",
                "resource_uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf",
                "user_uid": "admin",
                "changes": "created client"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YraxdejNCUDxhev81jyfzFPQ"
}

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": "2D5YrVI9yPHCcD1Z9D1hAHrNb2W",
    "payload": {
        "uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf",
        "name": "5d0b49235c8940a788c56ca3b4459872"
    }
}

Response

{
    "action": "edit_client",
    "payload": {
        "uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf",
        "name": "5d0b49235c8940a788c56ca3b4459872",
        "sales_contact": "",
        "client_type": "",
        "tax_id": "",
        "client_signature_date": "",
        "address": {
            "valid": false
        },
        "audit_history": [
            {
                "uid": "2D5YrZjdKTh9NWwAFKrDqM218zm",
                "resource_uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf",
                "user_uid": "admin",
                "changes": "changed name from \"Ingram, Inc.\" to \"5d0b49235c8940a788c56ca3b4459872\""
            },
            {
                "uid": "2D5YrZUGct2awUwlWw2CajTN3Wr",
                "resource_uid": "2D5YrXfDFd6Fh1IHhJJ1RFJe5Wf",
                "user_uid": "admin",
                "changes": "created client"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrYueRGREOfcqtb8iyzkxPdr"
}

Search Clients

Search for a client by partial name.

Requires permission view_clients.

Request

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

Response

{
    "action": "search_clients",
    "payload": [
        {
            "uid": "2D5YrVR16TY92GpIu0kNW22wzsk",
            "name": "Oscar Wilde",
            "sales_contact": "",
            "client_type": "",
            "tax_id": "",
            "client_signature_date": "",
            "address": {
                "valid": false
            }
        },
        {
            "uid": "2D5YramJW4m9sflTwSE67EmhlS0",
            "name": "Oscar the Grouch",
            "sales_contact": "",
            "client_type": "",
            "tax_id": "",
            "client_signature_date": "",
            "address": {
                "valid": false
            }
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZdf0XcbYm6Qt5fbHm03mLg"
}

Delete Client

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

Request

{
    "action": "delete_client",
    "session_id": "2D5Yra57jWoRRvhKeqBYKJ4IYY1",
    "payload": {
        "client_uid": "2D5YrX0lbSFfFT5hChpCFLloUFY"
    }
}

Response

{
    "action": "delete_client",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrY0v8jqb6OAQzkiy9aN0NiA"
}

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": "2D5YrYZNmk8QuW53KfvGQQvUADs",
    "payload": {
        "client_uid": "2D5YraItVp4eIgNSuZmLBD8jMy1",
        "name": "Example Contract Young-4860",
        "client_signature_date": "2022-07-21",
        "contract_start_date": "2022-08-09",
        "contract_end_date": "2024-11-07",
        "total_contract_value": "371000",
        "currency": "USD"
    }
}

Response

{
    "action": "create_contract",
    "payload": {
        "uid": "2D5YrVdD7weCnXF311pwB13sFmE",
        "client_uid": "2D5YraItVp4eIgNSuZmLBD8jMy1",
        "name": "Example Contract Young-4860",
        "total_contract_value": "$371,000.00",
        "currency": "USD",
        "client_signature_date": "2022-07-21T00:00:00Z",
        "contract_start_date": "2022-08-09T00:00:00Z",
        "contract_end_date": "2024-11-07T00:00:00Z",
        "document_url": "http://api:6666/contracts/2D5YrV6UslqVXWtlg1SI6J8ZohY"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZquvvlhlDaevoILNe4InRQ"
}

Edit Contract

Contracts may be edited to correct typos.

This functionality is only available to admin users.

Request

{
    "action": "edit_contract",
    "session_id": "2D5YrcGegyf3w0MH22Yxaj5MSaH",
    "payload": {
        "uid": "2D5YrbMRX68zHnegTs0Bp4yltUz",
        "name": "Example Contract 02"
    }
}

Response

{
    "action": "edit_contract",
    "payload": {
        "uid": "2D5YrbMRX68zHnegTs0Bp4yltUz",
        "client_uid": "2D5YrYDVwJfEgYyg0C3NKFuP8OM",
        "name": "Example Contract 02",
        "total_contract_value": "$248,000.00",
        "currency": "USD",
        "client_signature_date": "2022-05-18T00:00:00Z",
        "contract_start_date": "2022-08-09T00:00:00Z",
        "contract_end_date": "2026-11-09T00:00:00Z",
        "document_url": "http://api:6666/contracts/2D5YrabtZ6kqBJtiD0uL8SwHKhZ"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YraeDYuTPShM31Gf7rbXgexA"
}

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": "2D5YrXkcQ3gsxvzPccV6zjyI0ne",
    "payload": {
        "client_uid": "2D5YrXSdaJOPlT69YSNUGIsFveY"
    }
}

Response

{
    "action": "get_contracts",
    "payload": [
        {
            "uid": "2D5YrYHlFrYJqZuyZ4tbHhxDYKi",
            "client_uid": "2D5YrXSdaJOPlT69YSNUGIsFveY",
            "name": "Example Contract Bowen-6438",
            "total_contract_value": "$372,000.00",
            "currency": "USD",
            "client_signature_date": "2022-06-04T00:00:00Z",
            "contract_start_date": "2022-08-09T00:00:00Z",
            "contract_end_date": "2027-08-21T00:00:00Z",
            "document_url": "http://api:6666/contracts/2D5YrYZLWSShXEKlsS2nZeJ339x"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZQv9JeMsCpjbOmPtdIsawf"
}

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": "2D5YrXj0JZGkRmjFtxjmvj8FZTy",
    "payload": {
        "contract_uid": "2D5YraDdoNvgYW1D5sCq9WxnUr8",
        "data": "JVBERi0xLjQKJf////8KMSAwIG9iago8PCAvVGl0bGUgKFN0cmlwZSBQYXlvdXRzKQovQXV0aG9yIChTaGF3biBNaWxvY2hpaykK<truncated>",
        "filename": "example.pdf",
        "client_signature_date": "2022-05-30",
        "contract_start_date": "2022-08-09",
        "contract_end_date": "2026-10-13",
        "total_contract_value": "480000",
        "currency": "USD"
    }
}

Response

{
    "action": "upload_contract",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrbBAlBABRoymhm3xYPlXSnQ"
}

Get Contract

Get the details of a single contract.

Requires the permission view_contract.

Request

{
    "action": "get_contract",
    "session_id": "2D5YrXj0JZGkRmjFtxjmvj8FZTy",
    "payload": {
        "contract_uid": "2D5YraDdoNvgYW1D5sCq9WxnUr8"
    }
}

Response

{
    "action": "get_contract",
    "payload": {
        "uid": "2D5YraDdoNvgYW1D5sCq9WxnUr8",
        "client_uid": "",
        "name": "Example Contract Vasquez-7908",
        "total_contract_value": "$308,000.00",
        "currency": "USD",
        "contract_start_date": "2022-08-09T00:00:00+00:00",
        "document_url": "http://api:6666/contracts/2D5YrbYYRdbrBKslISkwnDReNag"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZdLdREK4EnG2pdpEVA6UaJ"
}

Delete Contract

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

Request

{
    "action": "delete_contract",
    "session_id": "2D5YraL3aNKdjZvMxZoVOsK9Apw",
    "payload": {
        "contract_uid": "2D5Yrc2uf1ZMfEZCQgWb9tF73v7"
    }
}

Response

{
    "action": "delete_contract",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrW00eZcI9MvfPQiX1uDahzd"
}

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": "2D5YrVzez9GpJqzrGbgh6TcdVVZ",
    "payload": {
        "contract_uid": "2D5YrafVXcAz2gjlsjlMymkESav",
        "name": "Trial Hester-42",
        "protocol_id": "XK2293-75260"
    }
}

Response

{
    "action": "create_trial",
    "payload": {
        "uid": "2D5YrYFOG99VoOq8R6HygABxTOQ",
        "contract_uid": "2D5YrafVXcAz2gjlsjlMymkESav",
        "name": "Trial Hester-42",
        "protocol_id": "XK2293-75260"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZXXRGfFgsq421bwMcjCF2P"
}

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": "2D5YrVzez9GpJqzrGbgh6TcdVVZ",
    "payload": {
        "name": "Lawrence Clinic",
        "trial_uid": "2D5YrYFOG99VoOq8R6HygABxTOQ",
        "contract_uid": "2D5YrafVXcAz2gjlsjlMymkESav"
    }
}

Response

{
    "action": "create_site",
    "payload": {
        "uid": "2D5Yrar4jpnBTa4YFRDkbBYkCCl",
        "name": "Lawrence Clinic",
        "contract_uid": "2D5YrafVXcAz2gjlsjlMymkESav"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZ3C7gMYnHP7t3SaJc9d191"
}

Add Patient

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

Requires permission add_patient.

Request

{
    "action": "add_patient",
    "session_id": "2D5YrVzez9GpJqzrGbgh6TcdVVZ",
    "payload": {
        "site_uid": "2D5Yrar4jpnBTa4YFRDkbBYkCCl",
        "first_name": "Grover",
        "last_name": "Briggs",
        "email": "Grover.Briggs@example.com",
        "phone": "(536) 595-0599",
        "email_enabled": true,
        "address": {
            "street1": "595 Tulip St",
            "street2": "",
            "city": "Biloxi",
            "state": "MS",
            "post_code": "39530"
        },
        "emergency_contact": "Joe Pesci",
        "emergency_phone": "(212) 555-1212"
    }
}

Response

{
    "action": "add_patient",
    "payload": {
        "uid": "2D5YrZoFaktYT3R5CVUe157y13x",
        "site_uid": "",
        "email": "grover.briggs@example.com",
        "phone": "(536) 595-0599",
        "first_name": "Grover",
        "last_name": "Briggs",
        "email_enabled": false,
        "sms_enabled": false,
        "address": {
            "uid": "2D5YrVIWeXHPEKTb8cBZBF1StaY",
            "street1": "595 Tulip St",
            "city": "Biloxi",
            "state": "MS",
            "post_code": "39530",
            "valid": false
        },
        "emergency_contact": "Joe Pesci",
        "emergency_phone": "(212) 555-1212",
        "time_zone": "",
        "audit_history": null
    },
    "status_code": 200,
    "message": "patient added",
    "request_id": "2D5YrZRnIaVRaqQbT3RT2s8gRqd"
}

Upload Document

Upload a document related to a patient or caregiver. Either patient_uid or caregiver_uid is required.

Requires permission upload_document.

Request

{
    "action": "upload_document",
    "session_id": "2D5YrVzez9GpJqzrGbgh6TcdVVZ",
    "payload": {
        "patient_uid": "2D5YrZoFaktYT3R5CVUe157y13x",
        "caregiver_uid": "",
        "filename": "example.pdf",
        "data": "JVBERi0xLjQKJf////8KMSAwIG9iago8PCAvVGl0bGUgKFN0cmlwZSBQYXlvdXRzKQovQXV0aG9yIChTaGF3biBNaWxvY2hpaykK<truncated>"
    }
}

Response

{
    "action": "upload_document",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrXNMzAEmegGK85naULEz55y"
}

Get Document

Download a document. This retrieves documents created with upload_document.

As with upload_document, the caregiver_uid or patient_uid is required. The filename is also required.

Requires permission get_document.

Request

{
    "action": "get_document",
    "session_id": "2D5YrVzez9GpJqzrGbgh6TcdVVZ",
    "payload": {
        "patient_uid": "2D5YrZoFaktYT3R5CVUe157y13x",
        "caregiver_uid": "",
        "filename": "example.pdf"
    }
}

Response

{
    "action": "get_document",
    "payload": {
        "patient_uid": "2D5YrZoFaktYT3R5CVUe157y13x",
        "data": "JVBERi0xLjQKJf////8KMSAwIG9iago8PCAvVGl0bGUgKFN0cmlwZSBQYXlvdXRzKQovQXV0aG9yIChTaGF3biBNaWxvY2hpaykK<truncated>",
        "filename": "example.pdf"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrX2mOc5w0qFyAqhE8RDHKzX"
}

Funding

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

This functionality is only available to admin users.

Requires the add_funding permission.

Request

{
    "action": "add_funding",
    "session_id": "2D5YrW6YfOsVaqK5vYH1QhWAgZr",
    "payload": {
        "contract_uid": "2D5YrUp5Dpomgkt1768nCtdPfMp",
        "amount": 10000,
        "currency": "USD"
    }
}

Response

{
    "action": "add_funding",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrZxMccVcDFUbBoHtZrJ0apV"
}

Edit Trial

Edit trial information.

This requires the edit_trial permission.

Request

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

Response

{
    "action": "edit_trial",
    "payload": {
        "uid": "2D5YrYg6aQUK5wy5GcuWRM9GlkY",
        "contract_uid": "2D5YrVHYF61g1npgrvgwxuF3BGV",
        "name": "Trial 02",
        "protocol_id": "potato"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrWVuGrV8AOPoUh3LkmhH7iQ"
}

Search Trials

Search for a trial by name or protocol ID.

Requires permission view_trials.

Request

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

Response

{
    "action": "search_trials",
    "payload": [
        {
            "uid": "2D5YrXdBFoFkLrji23C4p9Z7cSt",
            "contract_uid": "2D5YrXhU0Z1cHxVn2lpmcuNNRkF",
            "name": "Potato Trial 43",
            "protocol_id": "microphone"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrcJbKUZz2xFrQGSHkE1voXD"
}

Get Trials

Get all trials available to the user.

Request

{
    "action": "get_trials",
    "session_id": "2D5YrZiqSQYwZKGAXZUtHwYwykT",
    "payload": {
        "contract_uid": "2D5YrWo7jjfl8aekUfPTpVxA1Ca"
    }
}

Response

{
    "action": "get_trials",
    "payload": [
        {
            "uid": "2D5YrcrsMLYBO7HTdsr2Q0Ku0XY",
            "contract_uid": "2D5YrWo7jjfl8aekUfPTpVxA1Ca",
            "name": "Trial Riley-68",
            "protocol_id": "XK9260-67276"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YriKqArVxqbKIkWUrZ2GrR0o"
}

Get Trial

Get details about an individual trial.

Request

{
    "action": "get_trial",
    "session_id": "2D5YrfqJikVKAa3qG026fDUY7Kn",
    "payload": {
        "trial_uid": "2D5YrjA8jNvGgmB3Or0q1Ww6lxj"
    }
}

Response

{
    "action": "get_trial",
    "payload": {
        "uid": "2D5YrjA8jNvGgmB3Or0q1Ww6lxj",
        "contract_uid": "2D5YreYSB1D7AJzCZMVA04CEZ0r",
        "name": "Trial Pollard-82",
        "protocol_id": "XK2961-94704"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Yrj7QgaTNCDBXeD2byRR0aEP"
}

Delete Trial

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

Request

{
    "action": "delete_trial",
    "session_id": "2D5YrhIIl7hXM2PQ2zW83avOMYx",
    "payload": {
        "trial_uid": "2D5YrexutGR1ZABlq52PUv6UT7x"
    }
}

Response

{
    "action": "delete_trial",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrjwvameODkluZMErbYKsLMG"
}

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": "2D5YrhJFPoIlG6GQPX5x5LUubg9",
    "payload": {
        "action": "grant",
        "resource_uid": "2D5Yreon0RkgyKrApTg0c8CChxF",
        "permission": "create_trial",
        "user_uid": "2D5YrdaUtGdAOwS1Gaf5CoCofNM"
    }
}

Response

{
    "action": "grant",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrhaMOSZnqWYhRODht2WEx3G"
}

Get Permissions

This is an internal admin function used for testing.

Request

{
    "action": "get_permissions",
    "session_id": "2D5Yre5jwqUrxOcY5ZEUeRFZhhs",
    "payload": {
        "user_uid": "2D5YrgzVrYHsACvcU2PVNPOdtTP"
    }
}

Response

{
    "action": "get_permissions",
    "payload": {
        "create_trial": [
            {
                "uid": "2D5YrgIWHNLXsKNgLpWAJuBp71s",
                "description": "Contract: Example Contract Paul-2295"
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YriDRjtB2P0QytFjc2zh8wFo"
}

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": "2D5YrjtETu0pZ7ABCIeR12DsZH0",
    "payload": {
        "from_uid": "2D5YrdKLFBS6ClSJTCeqcF1lU5A",
        "to_uid": "2D5YrfmLu5Jg6ZLFmJ3TaHAWnUi"
    }
}

Response

{
    "action": "copy_permissions",
    "status_code": 200,
    "message": "1 of 1 permissions copied successfully",
    "request_id": "2D5Yrd6JNymArHiwVeKCbVb2clK"
}

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": "2D5YrcPonBzsfiOoCZuKWwIA1Kc"
}

Response

{
    "action": "list_permissions",
    "payload": [
        "add_milestone",
        "add_patient",
        "add_trial_site",
        "approve_payments",
        "approve_travel",
        "bulk_email",
        "create_appointment",
        "create_site",
        "create_trial",
        "delete_site",
        "delete_trial",
        "edit_contract",
        "edit_trial",
        "enroll",
        "get_document",
        "grant",
        "manual_payment",
        "milestone_payment",
        "set_enrollment_status",
        "set_payment_type",
        "travel_payment",
        "update_patient",
        "upload_document",
        "view_clients",
        "view_contract",
        "view_enrollments",
        "view_patients",
        "view_payment_schedule",
        "view_payments",
        "view_report",
        "view_sites",
        "view_trials"
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrcKB0HaEpvqhtbFzfoY9Ykb"
}

Get Sites

Get all sites from the system.

Requires permission view_sites.

Request

{
    "action": "get_sites",
    "session_id": "2D5YrfTBvfr2qqxIeVVSper8Jdk"
}

Response

{
    "action": "get_sites",
    "payload": [
        {
            "uid": "2D5Yrar4jpnBTa4YFRDkbBYkCCl",
            "name": "Lawrence Clinic",
            "contract_uid": "2D5YrafVXcAz2gjlsjlMymkESav"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrdEs2bIh5TmmnSpEDe6m4DA"
}

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": "2D5Yrm9ON62OyyzJC8CJ7SAtTNC",
    "payload": {
        "uid": "2D5Yro5WahwP6b6rbuEgOv9u8ke",
        "name": "c68233dde7a249bdb9d589c920b2483f"
    }
}

Response

{
    "action": "edit_site",
    "payload": {
        "uid": "2D5Yro5WahwP6b6rbuEgOv9u8ke",
        "name": "c68233dde7a249bdb9d589c920b2483f",
        "contract_uid": "2D5Yrk7cDNYmDvivGEbuyHwfQPi"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrprQbT3mhvNxQEw8PAtyYGr"
}

Get Site

Look up an individual site by its UID.

Requires permission view_sites.

Request

{
    "action": "get_site",
    "session_id": "2D5Yrm9ON62OyyzJC8CJ7SAtTNC",
    "payload": {
        "uid": "2D5Yro5WahwP6b6rbuEgOv9u8ke"
    }
}

Response

{
    "action": "get_site",
    "payload": {
        "uid": "2D5Yro5WahwP6b6rbuEgOv9u8ke",
        "name": "c68233dde7a249bdb9d589c920b2483f",
        "trial_sites": [
            {
                "uid": "",
                "site_uid": "",
                "trial_uid": "",
                "site": {
                    "uid": "",
                    "name": ""
                },
                "trial": {
                    "uid": "2D5Yrkn60Iu1iXPA7HAHkuHqgfr",
                    "contract_uid": "",
                    "name": "Trial Grimes-74",
                    "protocol_id": ""
                }
            }
        ]
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Yrq5YC5f4Rkx8iKcjmNxFDvc"
}

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": "2D5YroCpaZFMN9UZzUcdSvrl7Dy",
    "payload": {
        "site_uid": "2D5Yrm0uFm2lmGNPlmMHDly2qeE"
    }
}

Response

{
    "action": "delete_site",
    "status_code": 200,
    "message": "site deleted",
    "request_id": "2D5YrndTjrkUKDVcvo5IKHr35wu"
}

Add Trial Site

Associate a site with a clinical trial.

Requires permission add_trial_site.

Request

{
    "action": "add_trial_site",
    "session_id": "2D5Yrrj8awdLw4ZGyS4osyyvD3R",
    "payload": {
        "trial_uid": "2D5YrrleCmgNa98kf0Xk3bHxbv0",
        "site_uid": "2D5YrkIvWwHp3aliXXr2w8LJ1OB"
    }
}

Response

{
    "action": "add_trial_site",
    "payload": {
        "uid": "2D5YrrEg0G9MYeB6HauRxZEe0mi",
        "site_uid": "2D5YrkIvWwHp3aliXXr2w8LJ1OB",
        "trial_uid": "2D5YrrleCmgNa98kf0Xk3bHxbv0",
        "site": {
            "uid": "",
            "name": ""
        },
        "trial": {
            "uid": "",
            "contract_uid": "",
            "name": "",
            "protocol_id": ""
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YroOujXoIzDGzn6pHWlVi0t9"
}

Search Patients

Search for a patient by partial name.

Requires permission view_patients.

Request

{
    "action": "search_patients",
    "session_id": "2D5YrqLr29Ibkduf5XdJ9mPUhnK",
    "payload": {
        "query": "bill"
    }
}

Response

{
    "action": "search_patients",
    "payload": [
        {
            "uid": "2D5YrrQngBs494fVKDoasdxN7Tx",
            "site_uid": "",
            "email": "",
            "phone": "",
            "first_name": "Bill",
            "last_name": "Hicks",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "",
            "emergency_phone": "",
            "time_zone": "",
            "audit_history": null
        },
        {
            "uid": "2D5YrrOtBmQ9ZbpdLY2SjJFD8P8",
            "site_uid": "",
            "email": "",
            "phone": "",
            "first_name": "William",
            "last_name": "Hickey",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "",
            "emergency_phone": "",
            "time_zone": "",
            "audit_history": null
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Yrq9cmgthJ62qag0jnW1dSzU"
}

Get Patients

Get all patients visible to the current user.

Request

{
    "action": "get_patients",
    "session_id": "2D5YrkCOarVRjb1RHYhrrkKn8lw",
    "payload": {
        "trial_uid": "2D5YrpsXR9CyWyFLzo6tiD8dIaV"
    }
}

Response

{
    "action": "get_patients",
    "payload": [
        {
            "uid": "2D5YrZoFaktYT3R5CVUe157y13x",
            "site_uid": "",
            "email": "grover.briggs@example.com",
            "phone": "(536) 595-0599",
            "first_name": "Grover",
            "last_name": "Briggs",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "time_zone": "",
            "audit_history": null
        },
        {
            "uid": "2D5YroQP66JGEvGFytbSLz8NrDy",
            "site_uid": "",
            "email": "george.carlin@example.com",
            "phone": "(568) 630-7110",
            "first_name": "George",
            "last_name": "Carlin",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "time_zone": "",
            "audit_history": null
        },
        {
            "uid": "2D5YrrOtBmQ9ZbpdLY2SjJFD8P8",
            "site_uid": "",
            "email": "william.hickey@example.com",
            "phone": "(224) 338-3798",
            "first_name": "William",
            "last_name": "Hickey",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "time_zone": "",
            "audit_history": null
        },
        {
            "uid": "2D5YrrQngBs494fVKDoasdxN7Tx",
            "site_uid": "",
            "email": "bill.hicks@example.com",
            "phone": "(256) 741-7100",
            "first_name": "Bill",
            "last_name": "Hicks",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "time_zone": "",
            "audit_history": null
        },
        {
            "uid": "2D5YrrnPXHdgH1AgMHpRgrqE7e3",
            "site_uid": "",
            "email": "jodi.santos@example.com",
            "phone": "(828) 213-6955",
            "first_name": "Jodi",
            "last_name": "Santos",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "time_zone": "",
            "audit_history": null
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrpMTcnqv8VDlgtjaSpFDUyN"
}

Enroll

Enroll a patient in a trial at a site.

Requires the enroll permission.

Request

{
    "action": "enroll",
    "session_id": "2D5YrqFGmMzmgqiPbWJdX4Ab20Q",
    "payload": {
        "patient_uid": "2D5YrnJ7Un82ucVS24hne1xQZIP",
        "trial_uid": "2D5YrmeZsaxq3EoheuWmUoCipaz",
        "site_uid": "2D5YrrmbDwhX46rC07e9IEj7pwR",
        "subject_id": "5420"
    }
}

Response

{
    "action": "enroll",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrnT8g6sCBywi7NZ5dlzNrov"
}

Get Enrolled

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

Requires permission view_enrollments.

Request

{
    "action": "get_enrolled",
    "session_id": "2D5YrqFGmMzmgqiPbWJdX4Ab20Q",
    "payload": {
        "trial_uid": "2D5YrmeZsaxq3EoheuWmUoCipaz",
        "site_uid": "2D5YrrmbDwhX46rC07e9IEj7pwR"
    }
}

Response

{
    "action": "get_enrolled",
    "payload": [
        {
            "uid": "2D5YrnJ7Un82ucVS24hne1xQZIP",
            "site_uid": "",
            "email": "carlos.owens@example.com",
            "phone": "(708) 448-8373",
            "first_name": "Carlos",
            "last_name": "Owens",
            "enrollment_uid": "2D5Yrnm0jKQmdZDCG5q4SemD0l7",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "uid": "2D5YrkBDW4XPNBG5HIB9py3rDHg",
                "street1": "1022 Limetree Ln",
                "city": "Arlington",
                "state": "TX",
                "post_code": "76010",
                "valid": false
            },
            "emergency_contact": "Joe Pesci",
            "emergency_phone": "(212) 555-1212",
            "time_zone": "",
            "audit_history": null,
            "enrollments": [
                {
                    "uid": "2D5Yrnm0jKQmdZDCG5q4SemD0l7",
                    "trial_uid": "",
                    "site_uid": "",
                    "patient_uid": "",
                    "subject_id": "5420",
                    "payment_type_uid": "",
                    "status": "enrolled",
                    "patient": {
                        "uid": "",
                        "site_uid": "",
                        "email": "",
                        "phone": "",
                        "first_name": "",
                        "last_name": "",
                        "email_enabled": false,
                        "sms_enabled": false,
                        "address": {
                            "valid": false
                        },
                        "emergency_contact": "",
                        "emergency_phone": "",
                        "time_zone": "",
                        "audit_history": null
                    },
                    "trial_site": {
                        "uid": "",
                        "site_uid": "",
                        "trial_uid": "",
                        "site": {
                            "uid": "2D5YrrmbDwhX46rC07e9IEj7pwR",
                            "name": "Meyer Clinic"
                        },
                        "trial": {
                            "uid": "2D5YrmeZsaxq3EoheuWmUoCipaz",
                            "contract_uid": "",
                            "name": "Trial Harrison-49",
                            "protocol_id": ""
                        }
                    }
                }
            ]
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrlqfDfUKRiPqbmHwt9u2lyG"
}

Update Patient

Update a patient’s details.

Request

{
    "action": "update_patient",
    "session_id": "2D5YrpfHxcwXaYYok7nEFsBjvo9",
    "payload": {
        "uid": "2D5YrniXnDxw2MImb7SJBmAIZdt",
        "site_uid": "",
        "email": "jimmie.mendez@example.com",
        "phone": "(774) 524-7849",
        "first_name": "Throatwobbler",
        "last_name": "Mangrove",
        "email_enabled": false,
        "sms_enabled": false,
        "address": {
            "uid": "2D5YrmrdDw1kwuauiRYDSql8IfI",
            "street1": "1199 Flanty Terr",
            "city": "Chicago",
            "state": "IL",
            "post_code": "60607",
            "valid": false
        },
        "emergency_contact": "Dwayne \"The Rock\" Johnson",
        "emergency_phone": "212-666-6666",
        "time_zone": "",
        "audit_history": null
    }
}

Response

{
    "action": "update_patient",
    "payload": {
        "uid": "2D5YrniXnDxw2MImb7SJBmAIZdt",
        "site_uid": "",
        "email": "jimmie.mendez@example.com",
        "phone": "(774) 524-7849",
        "first_name": "Throatwobbler",
        "last_name": "Mangrove",
        "email_enabled": false,
        "sms_enabled": false,
        "address": {
            "uid": "2D5YrmrdDw1kwuauiRYDSql8IfI",
            "street1": "1199 Flanty Terr",
            "city": "Chicago",
            "state": "IL",
            "post_code": "60607",
            "valid": false
        },
        "emergency_contact": "Dwayne \"The Rock\" Johnson",
        "emergency_phone": "212-666-6666",
        "time_zone": "",
        "audit_history": null
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrpYkpb0D3egSoGptn3e9lZi"
}

Get Enrollments

Retrieve all enrollments for a patient.

Requires permission view_patients.

Request

{
    "action": "get_enrollments",
    "session_id": "2D5YrnNMswksn7iuilVDZnDUERe",
    "payload": {
        "patient_uid": "2D5YrqzsbR3OUErfYi4alI0SoMI"
    }
}

Response

{
    "action": "get_enrollments",
    "payload": [
        {
            "uid": "2D5YrpXAI7M5YMRhevvAc0MEjli",
            "trial_uid": "2D5YrnmriyxHAVW84X6Nav8eoSq",
            "site_uid": "",
            "trial_site_uid": "2D5Yrp5KNynSGHJQx4qSkkuPRPm",
            "patient_uid": "2D5YrqzsbR3OUErfYi4alI0SoMI",
            "subject_id": "1913",
            "payment_type_uid": "",
            "status": "enrolled",
            "patient": {
                "uid": "",
                "site_uid": "",
                "email": "",
                "phone": "",
                "first_name": "",
                "last_name": "",
                "email_enabled": false,
                "sms_enabled": false,
                "address": {
                    "valid": false
                },
                "emergency_contact": "",
                "emergency_phone": "",
                "time_zone": "",
                "audit_history": null
            },
            "trial_site": {
                "uid": "2D5Yrp5KNynSGHJQx4qSkkuPRPm",
                "site_uid": "2D5YrrooitSzBgPqMgT34IyE38v",
                "trial_uid": "2D5YrnmriyxHAVW84X6Nav8eoSq",
                "site": {
                    "uid": "",
                    "name": ""
                },
                "trial": {
                    "uid": "",
                    "contract_uid": "",
                    "name": "",
                    "protocol_id": ""
                }
            }
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Yror4PN7xfgmTTt8OdZjf6OZ"
}

Set Enrollment Status

The allowed values are enrolled, dropped, and completed.

Request

{
    "action": "set_enrollment_status",
    "session_id": "2D5YrnNMswksn7iuilVDZnDUERe",
    "payload": {
        "status": "completed",
        "trial_uid": "2D5YrnmriyxHAVW84X6Nav8eoSq",
        "patient_uid": "2D5YrqzsbR3OUErfYi4alI0SoMI"
    }
}

Response

{
    "action": "set_enrollment_status",
    "payload": {
        "uid": "2D5YrpXAI7M5YMRhevvAc0MEjli",
        "trial_uid": "2D5YrnmriyxHAVW84X6Nav8eoSq",
        "site_uid": "",
        "trial_site_uid": "2D5Yrp5KNynSGHJQx4qSkkuPRPm",
        "patient_uid": "2D5YrqzsbR3OUErfYi4alI0SoMI",
        "subject_id": "1913",
        "payment_type_uid": "",
        "status": "completed",
        "patient": {
            "uid": "",
            "site_uid": "",
            "email": "",
            "phone": "",
            "first_name": "",
            "last_name": "",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "",
            "emergency_phone": "",
            "time_zone": "",
            "audit_history": null
        },
        "trial_site": {
            "uid": "2D5Yrp5KNynSGHJQx4qSkkuPRPm",
            "site_uid": "2D5YrrooitSzBgPqMgT34IyE38v",
            "trial_uid": "2D5YrnmriyxHAVW84X6Nav8eoSq",
            "site": {
                "uid": "",
                "name": ""
            },
            "trial": {
                "uid": "",
                "contract_uid": "",
                "name": "",
                "protocol_id": ""
            }
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrnX5Wcit6qxZXyjAWP0Q5eZ"
}

Get Patient

Retrieve an individual patient’s info.

Request

{
    "action": "get_patient",
    "session_id": "2D5YrpNRjAYWNBcG4Ghj6Slq1w7",
    "payload": {
        "patient_uid": "2D5YrkJbVjeWjqYjF0JCfDR97AU"
    }
}

Response

{
    "action": "get_patient",
    "payload": {
        "uid": "2D5YrkJbVjeWjqYjF0JCfDR97AU",
        "site_uid": "",
        "email": "dave.adams@example.com",
        "phone": "(478) 373-1059",
        "first_name": "Dave",
        "last_name": "Adams",
        "email_enabled": false,
        "sms_enabled": false,
        "address": {
            "uid": "2D5YrreqiKZWbIQkhZIMeSuwzfy",
            "street1": "626 Sharon Rd",
            "city": "Minneapolis",
            "state": "MN",
            "post_code": "55401",
            "valid": false
        },
        "emergency_contact": "Joe Pesci",
        "emergency_phone": "(212) 555-1212",
        "time_zone": "",
        "audit_history": null
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrmmsT5vbtXEqHqJLtbm8voc"
}

Schedule Appointment

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

The patient 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": "2D5Yro8o4YxdGZNfPSLVlSkvaFD",
    "payload": {
        "patient_uid": "2D5YrpjbmsYUc3kGMQ4Ec4yxN8J",
        "datetime": "2022-08-15T20:30:00",
        "description": "Visit 03"
    }
}

Response

{
    "action": "schedule_appointment",
    "payload": {
        "uid": "2D5YrpmruSCj8UCXfMRt9cfhpjQ",
        "enrollment_uid": "2D5Yron1VCvkTzqd6Vp8zdFxRq7",
        "description": "Visit 03",
        "datetime": "2022-08-15T20:30:00",
        "patient_uid": "2D5YrpjbmsYUc3kGMQ4Ec4yxN8J"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrqK6z5M4D6hc2ZVjbKIcNnv"
}

Bulk E-mail

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

Request

{
    "action": "bulk_email",
    "session_id": "2D5YrmVW1s8oF0phyoXabWkCZhN",
    "payload": {
        "trial_uid": "2D5YrqKT1ERoKQQ9A7o4r7UCbqc",
        "site_uid": "2D5Yrl8EC6EmzImcPAUwOqvHDxZ",
        "subject": "Test Subject",
        "body": "Test Body"
    }
}

Response

{
    "action": "bulk_email",
    "payload": {
        "OK": 1
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrxpTmc4XAU3YUKMCALouvhu"
}

Register Caregiver

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

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

Requires permission add_patient, because a caregiver is directly linked to the patient.

Request

{
    "action": "register_caregiver",
    "session_id": "2D5Yrt59zNHgx0dbcV5VwZs5FYV",
    "payload": {
        "patient_uid": "2D5Yrtx44KoyaFQXC6NNju2axHI",
        "first_name": "Madelyn",
        "last_name": "Sheppard",
        "email": "Madelyn.Sheppard@example.com",
        "address": {
            "street1": "824 Main St",
            "street2": "",
            "city": "Vancouver",
            "state": "WA",
            "post_code": "98661"
        }
    }
}

Response

{
    "action": "register_caregiver",
    "payload": {
        "uid": "2D5YrykQW9zJPWipYBNeMSNP7xG",
        "patient_uid": "2D5Yrtx44KoyaFQXC6NNju2axHI",
        "email": "madelyn.sheppard@example.com",
        "first_name": "Madelyn",
        "last_name": "Sheppard",
        "phone": "",
        "address": {
            "uid": "2D5YrxNdZOvoTIpVzqjnzlcMPKV",
            "street1": "824 Main St",
            "city": "Vancouver",
            "state": "WA",
            "post_code": "98661",
            "valid": false
        }
    },
    "status_code": 200,
    "message": "caregiver added",
    "request_id": "2D5YrwkNooKexKIzxzhz8ayIkPz"
}

Update Caregiver

Request

{
    "action": "update_caregiver",
    "session_id": "2D5YrxOHFDkZgFtsovmL5mHAYRq",
    "payload": {
        "uid": "2D5YrsBuGLNiD26GK9qpxp7Tb3X",
        "patient_uid": "2D5YrtmK2HxT7vL2Hj13ImBozGT",
        "email": "ivy.melendez@example.com",
        "first_name": "Maude",
        "last_name": "Lebowski",
        "phone": "",
        "address": {
            "uid": "2D5Yrxnjc0PccBWbKx6O2GxDRqa",
            "street1": "1182 Potter Rd",
            "city": "Gary",
            "state": "IN",
            "post_code": "46401",
            "valid": false
        }
    }
}

Response

{
    "action": "update_caregiver",
    "payload": {
        "uid": "2D5YrsBuGLNiD26GK9qpxp7Tb3X",
        "patient_uid": "2D5YrtmK2HxT7vL2Hj13ImBozGT",
        "email": "ivy.melendez@example.com",
        "first_name": "Maude",
        "last_name": "Lebowski",
        "phone": "",
        "address": {
            "uid": "2D5Yrxnjc0PccBWbKx6O2GxDRqa",
            "street1": "1182 Potter Rd",
            "city": "Gary",
            "state": "IN",
            "post_code": "46401",
            "valid": false
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrxF2331sfTqBCkhPhK5Tbjn"
}

Switch User

An admin user may log in as another user to troubleshoot using their settings.

Request

{
    "action": "switch_user",
    "session_id": "2D5YrzPpLyZt1XrQyWCFF11pFjA",
    "payload": {
        "uid": "2D5Yry1hYriPnN6jVvQh5fzwIlt"
    }
}

Response

{
    "action": "switch_user",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrwAx8fGBlwqueeu4K0hYsHv"
}

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.

Request

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

Response

{
    "action": "change_password",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YrvUZkAQZ390a716gjBbQsG0"
}

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": "2D5YrtN69KSQpfQdP9CGKfjIp1w",
    "payload": {
        "user_uid": "2D5YryamgjbMMMu2V511bynNbvA",
        "new_password": "the user forgot theirs"
    }
}

Response

{
    "action": "change_user_password",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YryZbGYgEVQiWMCsfeW26PrQ"
}

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": "andy.lester@example.com"
    }
}

Response

{
    "action": "request_password_reset",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys4nMG6ZO3cyPaykB7Is2UOq"
}

Reset Tokens

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

Request

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

Response

{
    "action": "reset_tokens",
    "payload": {
        "tokens": {
            "2D5Ys3MqILZ8tnij89gNsnbuixc": "6045",
            "2D5Ys5rssd6o7VULSkGVgSMu3iX": "2333"
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys0DsUq4qgztCB8mdWR1H3rU"
}

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": "edward.mcintosh@example.com",
        "password": "monkey123",
        "token": "2333"
    }
}

Response

{
    "action": "reset_password",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys3XM9yWG7uGnG9DK6pbiX77"
}

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": "2D5Ys4IQd3nqfGPZ5R4GSluUZN2",
    "payload": {
        "milestone": "Week 01",
        "amount": 100,
        "currency": "USD",
        "trial_uid": "2D5Ys56grEXHoqxBRxWGkWQuOCS",
        "site_uid": "2D5Yrzzi3ZFJE0AhwQCsU5dzOrz",
        "num_payments": 1
    }
}

Response

{
    "action": "add_milestone",
    "payload": {
        "uid": "2D5Ys5z2EHbgkMk9mEuBDdQx8iV",
        "trial_site_uid": "2D5Ys1oAAoWpzGi9FO8rK2bSQNI",
        "effective_date": "2022-08-08T20:30:15.413227Z",
        "milestone": "Week 01",
        "amount": 100,
        "num_payments": 0,
        "currency": "USD",
        "sort_order": 0,
        "site_uid": "2D5Yrzzi3ZFJE0AhwQCsU5dzOrz",
        "trial_uid": "2D5Ys56grEXHoqxBRxWGkWQuOCS"
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys38z7auhMsCIrzwKRhWjbFl"
}

Get Payment Schedule

Retrieve a payment schedule for a trial/site combination.

Requires view_payment_schedule permission.

Request

{
    "action": "get_payment_schedule",
    "session_id": "2D5Ys7DZ2fHaWaC0fkzmTWZjoRu",
    "payload": {
        "trial_uid": "2D5Ys06GbYohvYn71PLZ4XFqMNv",
        "site_uid": "2D5Ys6wKH4e8JGdSsx92jNomLGd"
    }
}

Response

{
    "action": "get_payment_schedule",
    "payload": [
        {
            "uid": "2D5Ys3mpyFNgZ1BNWipcOrtgf0M",
            "trial_site_uid": "2D5Ys4ihs50yLpjlFkYVhr6ftGg",
            "effective_date": "2022-08-08T20:30:15.513594Z",
            "milestone": "First Visit",
            "amount": 75,
            "num_payments": 0,
            "currency": "USD",
            "sort_order": 0
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys63Xbc0KUZBWaZKjpECvHog"
}

Milestone Payment

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

Requires milestone_payment permission.

Request

{
    "action": "milestone_payment",
    "session_id": "2D5Ys7DZ2fHaWaC0fkzmTWZjoRu",
    "payload": {
        "patient_uid": "2D5Ys5AxpQYP5oQEbqXeqANyBTH",
        "milestone_uid": "2D5Ys3mpyFNgZ1BNWipcOrtgf0M",
        "note": "test suite"
    }
}

Response

{
    "action": "milestone_payment",
    "payload": {
        "uid": "2D5Ys4jYN13xKhYMms7PDvNNOY5",
        "enrollment_uid": "2D5Ys2JvVXMBhYd6ADWEkemEG3t",
        "payment_type": "milestone",
        "milestone_uid": "2D5Ys3mpyFNgZ1BNWipcOrtgf0M",
        "amount": 75,
        "currency": "USD",
        "note": "test suite",
        "status": "pending",
        "milestone": {
            "uid": "",
            "effective_date": "0001-01-01T00:00:00Z",
            "milestone": "",
            "amount": 0,
            "num_payments": 0,
            "currency": "",
            "sort_order": 0
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys2kLQAy1UqQo90akoR8NU7v"
}

Get Patient Payments

Look up payments already made to a patient.

Requires view_payments permission.

Request

{
    "action": "get_patient_payments",
    "session_id": "2D5Ys7DZ2fHaWaC0fkzmTWZjoRu",
    "payload": {
        "patient_uid": "2D5Ys5AxpQYP5oQEbqXeqANyBTH",
        "trial_uid": "2D5Ys06GbYohvYn71PLZ4XFqMNv"
    }
}

Response

{
    "action": "get_patient_payments",
    "payload": [
        {
            "uid": "2D5Ys4jYN13xKhYMms7PDvNNOY5",
            "enrollment_uid": "2D5Ys2JvVXMBhYd6ADWEkemEG3t",
            "payment_type": "milestone",
            "milestone_uid": "2D5Ys3mpyFNgZ1BNWipcOrtgf0M",
            "amount": 75,
            "currency": "USD",
            "note": "test suite",
            "status": "pending",
            "date": "2022-08-08",
            "milestone": {
                "uid": "",
                "effective_date": "0001-01-01T00:00:00Z",
                "milestone": "",
                "amount": 0,
                "num_payments": 0,
                "currency": "",
                "sort_order": 0
            }
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys4DRYDROTF4652alNuJk676"
}

Manual Payment

Make a one-off payment that’s not associated with a trial milestone.

Manual payments generally require approval.

Requires manual_payment permission.

Request

{
    "action": "manual_payment",
    "session_id": "2D5Ys6IB3H4DXTLu5vKj8NZ39MM",
    "payload": {
        "patient_uid": "2D5Ys4hej94g1QCgRKO3ZLF28Kh",
        "trial_uid": "2D5Ys5xznoTRibAx6mtIXJOJImv",
        "amount": 123,
        "currency": "USD",
        "note": "test of manual"
    }
}

Response

{
    "action": "manual_payment",
    "payload": {
        "uid": "2D5Ys0CXFMqlugl1Uh3Misyy8aD",
        "enrollment_uid": "2D5Ys680vFmFqLFXTRrDLOGb4q2",
        "payment_type": "manual",
        "amount": 123,
        "currency": "USD",
        "note": "test of manual",
        "status": "pending",
        "milestone": {
            "uid": "",
            "effective_date": "0001-01-01T00:00:00Z",
            "milestone": "",
            "amount": 0,
            "num_payments": 0,
            "currency": "",
            "sort_order": 0
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys05XS4FksbXnwFtseP3bxzz"
}

Approve Payment

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

Requires the permission approve_payments.

Request

{
    "action": "approve_payment",
    "session_id": "2D5Ys6IB3H4DXTLu5vKj8NZ39MM",
    "payload": {
        "payment_uid": "2D5Ys0CXFMqlugl1Uh3Misyy8aD"
    }
}

Response

{
    "action": "approve_payment",
    "payload": {
        "uid": "2D5Ys0CXFMqlugl1Uh3Misyy8aD",
        "enrollment_uid": "2D5Ys680vFmFqLFXTRrDLOGb4q2",
        "payment_type": "manual",
        "amount": 123,
        "currency": "USD",
        "note": "test of manual",
        "status": "approved",
        "date": "2022-08-08",
        "milestone": {
            "uid": "",
            "effective_date": "0001-01-01T00:00:00Z",
            "milestone": "",
            "amount": 0,
            "num_payments": 0,
            "currency": "",
            "sort_order": 0
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys39hyyPjeghNyGEscT1m9kZ"
}

Travel Payment

A travel payment is a reimbursement for travel expenses.

Requires permission travel_payment.

Request

{
    "action": "travel_payment",
    "session_id": "2D5Ys0LE9tqHc0k4Gu8sYv90eRS",
    "payload": {
        "patient_uid": "2D5Ys4JmuyOlej0RXyWcIl58fjl",
        "trial_uid": "2D5Ys7JoNW0hHGjUtLwTuvmVAFP",
        "amount": 225,
        "currency": "USD",
        "note": "test of travel"
    }
}

Response

{
    "action": "travel_payment",
    "payload": {
        "uid": "2D5Ys1K9jGEtkAIUKakzZ1epwA9",
        "enrollment_uid": "2D5Ys0lQTKBjWeB1vo01v63QTLj",
        "payment_type": "travel",
        "amount": 225,
        "currency": "USD",
        "note": "test of travel",
        "status": "pending",
        "milestone": {
            "uid": "",
            "effective_date": "0001-01-01T00:00:00Z",
            "milestone": "",
            "amount": 0,
            "num_payments": 0,
            "currency": "",
            "sort_order": 0
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys2U8UPOq9uYNNbHmNDDFh81"
}

Get Payment Types

The patient 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 patient may have to enter additional information relevant to the payment type.

Request

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

Response

{
    "action": "get_payment_types",
    "payload": [
        {
            "uid": "28LLr9EUm9f1G5S5yxoOJKNTDP0",
            "name": "PayPal",
            "description": "pay me via PayPal"
        },
        {
            "uid": "2CRrLEBYGVFEyNejc3s3G6Ub7Vm",
            "name": "Venmo",
            "description": "pay me via Venmo"
        },
        {
            "uid": "28LLqy3paByy5jcqpoU9wXuTiYo",
            "name": "check",
            "description": "check mailed to my home address"
        },
        {
            "uid": "28LLr8WY5tNSSIDtcjRSmWODmGW",
            "name": "debit",
            "description": "deposited to my debit card"
        }
    ],
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys9TEZwTEWSQLIthH7hV3JyZ"
}

Set Payment Type

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

Requires set_payment_type permission.

Request

{
    "action": "set_payment_type",
    "session_id": "2D5Ys2cB6CjDIvaM8VR5qEd4MDS",
    "payload": {
        "payment_type_uid": "28LLqy3paByy5jcqpoU9wXuTiYo",
        "trial_uid": "2D5Ys1Ozyu6i6EXCl8xXIssXdtR",
        "patient_uid": "2D5Ys3ikiLlNNuGUp4xKuwTXAeq"
    }
}

Response

{
    "action": "set_payment_type",
    "payload": {
        "uid": "2D5Ys0FYhxA1EOPX6O4i7jVvxdx",
        "trial_uid": "2D5Ys1Ozyu6i6EXCl8xXIssXdtR",
        "site_uid": "",
        "trial_site_uid": "2D5Ys1HOtMY8bGzYnO0eLwrbIOM",
        "patient_uid": "2D5Ys3ikiLlNNuGUp4xKuwTXAeq",
        "subject_id": "5550",
        "payment_type_uid": "28LLqy3paByy5jcqpoU9wXuTiYo",
        "status": "enrolled",
        "patient": {
            "uid": "",
            "site_uid": "",
            "email": "",
            "phone": "",
            "first_name": "",
            "last_name": "",
            "email_enabled": false,
            "sms_enabled": false,
            "address": {
                "valid": false
            },
            "emergency_contact": "",
            "emergency_phone": "",
            "time_zone": "",
            "audit_history": null
        },
        "trial_site": {
            "uid": "2D5Ys1HOtMY8bGzYnO0eLwrbIOM",
            "site_uid": "2D5Ys2hAxLxwQhratrKoCx8TP5O",
            "trial_uid": "2D5Ys1Ozyu6i6EXCl8xXIssXdtR",
            "site": {
                "uid": "",
                "name": ""
            },
            "trial": {
                "uid": "",
                "contract_uid": "",
                "name": "",
                "protocol_id": ""
            }
        }
    },
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YsBSb3JFroWiJDFJgH7CIEP9"
}

Trial Payment Report

Retrieve all payments for a clinical trial.

Requires view_reports permission.

Request

{
    "action": "trial_payment_report",
    "session_id": "2D5YsCqgW4AlhKCz3LXTEU3Nr3x",
    "payload": {
        "trial_uid": "2D5Ys8w56NeGRkNArPMtSSBfedL",
        "format": "csv"
    }
}

Response

{
    "action": "trial_payment_report",
    "payload": "http://api:6666/reports/2D5YsATdNgBQkfYou79bSQv08Fy",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5YsAdwlbYaPe9NxTyPFRUNJxG"
}

Funding Report

Retrieve the funding status of a contract.

Request

{
    "action": "funding_report",
    "session_id": "2D5Ys872xd33LxyWUOXiELOKu3z",
    "payload": {
        "contract_uid": "2D5YsDe1aqSOxmUTv4JehAEa9qV",
        "format": "xlsx"
    }
}

Response

{
    "action": "funding_report",
    "payload": "http://api:6666/reports/2D5Ys7o3eGV5RXxtiQARrDFH6C6",
    "status_code": 200,
    "message": "OK",
    "request_id": "2D5Ys8GkmYHaLrWRfqiQODLVQff"
}

Index