NAV Navbar
python

Introduction

Welcome to the Ordering API! You can use our API to access Reggora endpoints which get information on your products, loans, and orders.

You can view code examples in the dark area to the right. If you are using the development environment then you will need to use the base url:

/sandbox.reggora.io/

Authentication

To authorize, use this code:

import requests

# The login request does not require the integration API key
response = requests.post('/sandbox.reggora.io/auth', body={'username': 'username/email', 'password': 'password'})

Make sure to replace username/email and password with your Reggora Lender Portal login information.

The Reggora API uses JWT bearer tokens as well as a personal API key to authorize all requests.

The Reggora API expects for your API integration key as well as the JWT bearer token to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer {token}
integration: {api-integration-key}

If making requests to the development server, you will need to use your development specific credentials and development specific API key.

Loans

Get All Loans

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

# Just an example
query_params = {
    'offset': 0,
    'limit': 10,
    'ordering': '-created',
    'id': '5b5b19d3c643b3000f8f2857'
} 

response = requests.get('/sandbox.reggora.io/loan', params=query_params, headers=headers)

The above command returns JSON structured like this:

[
    {
        "id": "5c33c6b1681f110034effc72",
        "loan_number": "1002918281901",
        "loan_officer": null,
        "appraisal_type": "Refinance",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-07 21:37:53.938000",
        "updated": "2019-01-07 21:37:53.938000",
        "related_order": null,
        "subject_property_address": "100 Mass Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02192",
        "case_number": "10029MA",
        "loan_type": "FHA"
    },
    {
        "id": "5c33c693681f1100222d6cd5",
        "loan_number": "100291828190",
        "loan_officer": null,
        "appraisal_type": "Refinance",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-07 21:37:22.983000",
        "updated": "2019-01-07 21:37:22.983000",
        "related_order": null,
        "subject_property_address": "100 Mass Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02192",
        "case_number": "10029MA",
        "loan_type": "FHA"
    },
    {
        "id": "5c2fb48ca0e4db00500e36af",
        "loan_number": "10922911",
        "loan_officer": {
            "id": "5b5b19d3c643b3000f8f2857",
            "email": "hello@world.com",
            "phone_number": "555-444-1234",
            "firstname": "Joe",
            "lastname": "Shmoe"
        },
        "appraisal_type": "Refinance",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-04 19:31:24.532000",
        "updated": "2019-01-04 19:31:33.315000",
        "related_order": null,
        "subject_property_address": "10 Congress Street",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02201",
        "case_number": "",
        "loan_type": "FHA"
    },
    {
        "id": "5c2fb453a0e4db00500e36ae",
        "loan_number": "1092291",
        "loan_officer": {
            "id": "5b5b19d3c643b3000f8f2857",
            "email": "hello@world.com",
            "phone_number": "555-444-1234",
            "firstname": "Joe",
            "lastname": "Shmoe"
        },
        "appraisal_type": "Refinance",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-04 19:30:27.053000",
        "updated": "2019-01-04 19:30:27.053000",
        "related_order": null,
        "subject_property_address": "11 Congress Street",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02201",
        "case_number": "",
        "loan_type": "FHA"
    },
    {
        "id": "5c2f8a57cf89340022180ecd",
        "loan_number": "sldlsknlcaksldkc2324daasa9saasdsadsd",
        "loan_officer": null,
        "appraisal_type": "Purchase",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-04 16:31:19.269000",
        "updated": "2019-01-04 16:31:19.269000",
        "related_order": null,
        "subject_property_address": "100 Mass Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02135",
        "case_number": "100MA",
        "loan_type": ""
    },
    {
        "id": "5c2f818b2ca24300b2744bf5",
        "loan_number": "sldlsknlcaksldkc2324daasasaasdadsd",
        "loan_officer": null,
        "appraisal_type": "Purchase",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-04 15:53:47.429000",
        "updated": "2019-01-04 15:53:47.429000",
        "related_order": null,
        "subject_property_address": "101 Mass Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02135",
        "case_number": "100MA",
        "loan_type": ""
    },
    {
        "id": "5c2f80502ca2430085fcff17",
        "loan_number": "sldlsknlcksldkc2324daasasdads",
        "loan_officer": null,
        "appraisal_type": "Refinance",
        "due_date": "2018-12-19 12:00:00",
        "created": "2019-01-04 15:48:32.091000",
        "updated": "2019-01-04 15:48:32.091000",
        "related_order": null,
        "subject_property_address": "100 Brighton Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02135",
        "case_number": "100MA",
        "loan_type": ""
    },
    {
        "id": "5c24084bfbcbaa0022f12ee2",
        "loan_number": "0923840",
        "loan_officer": null,
        "appraisal_type": "Purchase",
        "due_date": "2018-12-26 12:00:00",
        "created": "2018-12-26 23:01:31.163000",
        "updated": "2018-12-26 23:01:31.163000",
        "related_order": null,
        "subject_property_address": "100 Atlantic Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02135",
        "case_number": "100MA",
        "loan_type": ""
    }
]

This endpoint retrieves all loans, and can take a number of query parameters.

HTTP Request

GET /sandbox.reggora.io/loans

Query Parameters

Parameter Default Description
offset 0 Number of loans to skip before list gets returned (Used in pagination).
limit 0 Limit of loans to return (If set to 0 there is no limit).
ordering -created The field to order loans by.
loan_officer None ID of loan officer to filter loans by.

Get Loan

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.get('/sandbox.reggora.io/loan/<loan_id>', headers=headers)

The above command returns JSON structured like this:

{
    "id": "5c33c716681f110034effc73",
    "loan_number": "1",
    "loan_officer": {
        "id": "5b5b19d3c643b3000f8f2857",
        "email": "hello@world.com",
        "phone_number": "555-444-1234",
        "firstname": "Joe",
        "lastname": "Shmoe"
    },
    "appraisal_type": "Refinance",
    "due_date": "2018-12-19 12:00:00",
    "created": "2019-01-07 21:39:34.018000",
    "updated": "2019-01-07 21:39:34.018000",
    "related_order": null,
    "subject_property_address": "100 Mass Ave",
    "subject_property_city": "Boston",
    "subject_property_state": "MA",
    "subject_property_zip": "02192",
    "case_number": "10029MA",
    "loan_type": "FHA"
}

This endpoint retrieves a specific loan by id.

HTTP Request

GET /sandbox.reggora.io/loan/<loan_id>

URL Parameters

Parameter Description
loan_id The ID of the loan.

Delete Loan

import requests

response = requests.delete('/sandbox.reggora.io/loan/<loan_id>', headers=headers)

The above command returns JSON structured like this:

{
    "success": "Loan deleted."
}

This endpoint deletes a specific loan.

HTTP Request

DELETE /sandbox.reggora.io/loan/<loan_id>

URL Parameters

Parameter Description
loan_id The ID of the loan.

Create a Loan

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

body = {
    "loan_number": "2",
    "loan_officer": "5b5b19d3c643b3000f8f2857",
    "appraisal_type": "Refinance",
    "due_date": "2018-12-19 12:00:00",
    "subject_property_address": "100 Mass Ave",
    "subject_property_city": "Boston",
    "subject_property_state": "MA",
    "subject_property_zip": "02192",
    "case_number": "10029MA",
    "loan_type": "FHA"
}

response = requests.post('/sandbox.reggora.io/loan/create', body=body, headers=headers)

The above command returns JSON structured like this:

{
    "id": "5c33c716681f110034effc73",
    "loan_number": "2",
    "loan_officer": {
        "id": "5b5b19d3c643b3000f8f2857",
        "email": "hello@world.com",
        "phone_number": "555-444-1234",
        "firstname": "Joe",
        "lastname": "Shmoe"
    },
    "appraisal_type": "Refinance",
    "due_date": "2018-12-19 12:00:00",
    "created": "2019-01-07 21:39:34.018000",
    "updated": "2019-01-07 21:39:34.018000",
    "related_order": null,
    "subject_property_address": "100 Mass Ave",
    "subject_property_city": "Boston",
    "subject_property_state": "MA",
    "subject_property_zip": "02192",
    "case_number": "10029MA",
    "loan_type": "FHA"
}

This endpoint creates a loan.

HTTP Request

POST /sandbox.reggora.io/loan/create

Request Body Parameters

Parameter Description Required
loan_number The unique loan identifier True
due_date UTC formatted due date of the loan file (Using TZ formatting). True
appraisal_type Appraisal Type (Refinance, Purchase, etc...) False
loan_officer Id of the loan officer associated with this loan False
subject_property_address Street address of loan False
subject_property_city City of the loan False
subject_property_state State of loan False
subject_property_zip 5 digit zip code of the loan False
loan_type Type of loan (FHA...) False
case_number Case number False

Edit a Loan

import requests

response = requests.put('/sandbox.reggora.io/loan/<loan_id>', body=body, headers=headers)

The above command returns JSON structured like this:

{
    "id": "5c33c716681f110034effc73",
    "loan_number": "10029182181901",
    "loan_officer": {
        "id": "5b5b19d3c643b3000f8f2857",
        "email": "hello@world.com",
        "phone_number": "555-444-1234",
        "firstname": "Joe",
        "lastname": "Shmoe"
    },
    "appraisal_type": "Purchase",
    "due_date": "2018-12-19 12:00:00",
    "created": "2019-01-07 21:39:34.018000",
    "updated": "2019-01-07 21:39:34.018000",
    "related_order": "5c2e718cb61f76001adf9871",
    "subject_property_address": "100 Mass Ave",
    "subject_property_city": "Boston",
    "subject_property_state": "MA",
    "subject_property_zip": "02192",
    "case_number": "10029MA",
    "loan_type": "FHA"
}

This endpoint edits a loan.

HTTP Request

PUT /sandbox.reggora.io/loan/<loan_id>

URL Parameters

Parameter Description Required
loan_id Id of the loan True

Request Body Parameters

Parameter Description Required
loan_number The unique loan identifier True
due_date UTC formatted due date of the loan file (Using TZ formatting). True
appraisal_type Appraisal Type (Refinance, Purchase, etc...) False
loan_officer Id of the loan officer associated with this loan False
subject_property_address Street address of loan False
subject_property_city City of the loan False
subject_property_state State of loan False
subject_property_zip 5 digit zip code of the loan False
loan_type Type of loan (FHA...) False
case_number Case number False

Products

Get All Products

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.get('/sandbox.reggora.io/products', headers=headers)

The above command returns JSON structured like this:

[
    {
        "id": "5b50a31fc2b109000fc82af5",
        "product_name": "Products # 1AB",
        "amount": "300.01",
        "inspection_type": "interior",
        "requested_forms": "Product #1 Forms, Product #1 Extra Forms",
        "geographic_pricing": null
    },
    {
        "id": "5b55d4c68d9472000fc432ef",
        "product_name": "5000",
        "amount": "5000.00",
        "inspection_type": "interior",
        "requested_forms": "1004 MC",
        "geographic_pricing": {
            "MA": "7000.00",
            "NH": "3000.00"
        }
    },
    {
        "id": "5beb226a828174000db1613e",
        "product_name": "Reggora Network Product",
        "amount": "500.00",
        "inspection_type": "interior",
        "requested_forms": null,
        "geographic_pricing": null
    },
    {
        "id": "5c2677c69121aa002245537c",
        "product_name": "alex.orfanos13+1234@gmail.com",
        "amount": "100.00",
        "inspection_type": "exterior",
        "requested_forms": "unsupported forms",
        "geographic_pricing": null
    },
]

This endpoint retrieves all products.

HTTP Request

GET /sandbox.reggora.io/products

Get Product

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.get('/sandbox.reggora.io/product/<product_id>', headers=headers)

The above command returns JSON structured like this:

{
    "id": "5b55d4c68d9472000fc432ef",
    "product_name": "Product #1",
    "amount": "5000.00",
    "inspection_type": "interior",
    "requested_forms": "1004 MC",
    "geographic_pricing": {
        "MA": "7000.00",
        "NH": "3000.00"
    }
}

This endpoint retrieves a specific product by id.

HTTP Request

GET /sandbox.reggora.io/product/<product_id>

URL Parameters

Parameter Description
product_id The ID of the product.

Delete Product

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.delete('/sandbox.reggora.io/product/<product_id>', headers=headers)

The above command returns JSON structured like this:

{
    "success": "Product deleted"
}

This endpoint deletes a specific product. If an order or a loan is associated with this product the reference will not be broken.

HTTP Request

DELETE /sandbox.reggora.io/product/<product_id>

URL Parameters

Parameter Description
product_id The ID of the product.

Create a Product

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

body = {
    'product_name': 'Full Appraisal',
    'amount': '100.00',
    'inspection_type': 'interior',
    'requested_forms': '1004MC, BPO'
}

response = requests.post('/sandbox.reggora.io/product/create', body=body, headers=headers)

The above command returns JSON structured like this:

{
    "id": "5b55d4c68d9472000fc432ef",
    "product_name": "Product #1",
    "amount": "5000.00",
    "inspection_type": "interior",
    "requested_forms": "1004 MC",
    "geographic_pricing": {
        "MA": "7000.00",
        "NH": "3000.00"
    }
}

This endpoint creates a product.

HTTP Request

POST /sandbox.reggora.io/product/create

Request Body Parameters

Parameter Description Required
product_name The description/title of the product. True
amount The non-zero, positive cost of the product. True
inspection_type 'interior' or 'exterior' True
requested_forms Free text that can describe any unorthodox forms False

Edit a Product

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

body = {
    'product_name': 'Full Appraisal',
    'amount': '100.00',
    'inspection_type': 'interior',
    'requested_forms': '1004MC, BPO'
}

response = requests.put('/sandbox.reggora.io/product/<product_id>', body=body, headers=headers)

The above command returns JSON structured like this:

{
    "id": "5b55d4c68d9472000fc432ef",
    "product_name": "Product #1",
    "amount": "5000.00",
    "inspection_type": "interior",
    "requested_forms": "1004 MC",
    "geographic_pricing": {
        "MA": "7000.00",
        "NH": "3000.00"
    }
}

This endpoint edits a product.

HTTP Request

PUT /sandbox.reggora.io/product/<product_id>

Request Body Parameters

Parameter Description Required
product_id The product to be edited True
product_name The description/title of the product. True
amount The non-zero, positive cost of the product. True
inspection_type 'interior' or 'exterior' True
requested_forms A free text field that informs the appraiser which forms are being ordered. False

Orders

Get All Orders

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

# Just an example 
query_params = {
    'offset': 0,
    'ordering': '-created',
    'loan_officer': '5b5b19d3c643b3000f8f2857',
    'filter': 'rush, behind_schedule'
}

response = requests.get('/sandbox.reggora.io/orders', params=query_params, headers=headers)

The above command returns JSON structured like this:

{
    "orders": [
        {
            "id": "5c1c05f532b211000e15302a",
            "status": "Submitted",
            "priority": "Normal",
            "due_date": "2018-12-28 12:00:00",
            "inspection_date": "2018-12-28 05:00:00",
            "accepted_appraiser": {
                "id": "5b859eebc5a0c9004e38dd8e",
                "firm_name": "__Alex's Test AMC Firm",
                "accepting_jobs": true,
                "company": "5b859eebc5a0c9004e38dd8d"
            },
            "created": "2018-12-20 21:13:25.102000",
            "allocation_mode": "manually",
            "requested_appraisers": [
                {
                    "id": "5b859eebc5a0c9004e38dd8e",
                    "firm_name": "__Alex's Test AMC Firm",
                    "accepting_jobs": true,
                    "company": "5b859eebc5a0c9004e38dd8d"
                }
            ],
            "inspection_complete": true,
            "products": [
                {
                    "id": "5b55d4c68d9472000fc432ef",
                    "product_name": "5000",
                    "amount": "7000.00"
                }
            ],
            "loan_file": {
                "id": "5b55d4c68d9472000fc432ab",
                "loan_number": "10000030",
                "subject_property_address": "100002 Sun Street",
                "subject_property_city": "Brighton",
                "subject_property_state": "MA",
                "subject_property_zip": "02135"
            }
        },
        {
            "id": "5c1bfdd0efd3a7000d0b90a2",
            "status": "Submitted",
            "priority": "Normal",
            "due_date": "2018-12-20 12:00:00",
            "inspection_date": "2018-12-12 05:00:00",
            "accepted_appraiser": {
                "id": "5b859eebc5a0c9004e38dd8e",
                "firm_name": "__Alex's Test AMC Firm",
                "accepting_jobs": true,
                "company": "5b859eebc5a0c9004e38dd8d"
            },
            "created": "2018-12-20 20:38:40.356000",
            "allocation_mode": "manually",
            "requested_appraisers": [
                {
                    "id": "5b859eebc5a0c9004e38dd8e",
                    "firm_name": "__Alex's Test AMC Firm",
                    "accepting_jobs": true,
                    "company": "5b859eebc5a0c9004e38dd8d"
                }
            ],
            "inspection_complete": true,
            "products": [
                {
                    "id": "5b55d4c68d9472000fc432ef",
                    "product_name": "5000",
                    "amount": "7000.00"
                }
            ],
            "loan_file": {
                "id": "5b55d4c68d9472000fc432ac",
                "loan_number": "10000029",
                "subject_property_address": "10001 Sun Street",
                "subject_property_city": "Brigton",
                "subject_property_state": "MA",
                "subject_property_zip": "02135"
            }
        },
        {
            "id": "5c1a8abfc46815000dd05c77",
            "status": "Submitted",
            "priority": "Normal",
            "due_date": "2018-12-19 12:00:00",
            "inspection_date": "2018-12-24 21:00:00",
            "accepted_appraiser": {
                "id": "5b859eecc5a0c9004e38dd8f",
                "firm_name": "__Alex's Test AMC Firm",
                "accepting_jobs": true,
                "company": "5b859eebc5a0c9004e38dd8d"
            },
            "created": "2018-12-19 18:15:27.800000",
            "allocation_mode": "amc",
            "requested_appraisers": [
                {
                    "id": "5b859eecc5a0c9004e38dd8f",
                    "firm_name": "__Alex's Test AMC Firm",
                    "accepting_jobs": true,
                    "company": "5b859eebc5a0c9004e38dd8d"
                }
            ],
            "inspection_complete": true,
            "products": [
                {
                    "id": "5b50a31fc2b109000fc82af5",
                    "product_name": "Products # 1AB",
                    "amount": "300.01"
                }
            ],
            "loan_file": {
                "id": "5b55d4c68d9472000fc432ad",
                "loan_number": "isjdfvosdinosdiosid",
                "subject_property_address": "dsocihsdcoih",
                "subject_property_city": "osihcosdih",
                "subject_property_state": "MA",
                "subject_property_zip": "92312"
            }
        },
    ],
    "count": 274
}

This endpoint retrieves all orders (limit 10 at a time). Can be filtered with query parameters.

HTTP Request

GET /sandbox.reggora.io/orders

Parameter Default Description
offset 0 Number of orders to skip before list gets returned (Used in pagination).
ordering -created The field to order orders by.
search None Currently not supported argument.
loan_officer None ID of loan officer to filter orders by.
due_in None A number of days until the order due_date.
filter '' A comma separated list that can include keys words that will filter orders specific to the keywords used. Filter words are described in the table below.

Filter Descriptions

Keyword Description
rush Gets all orders where priority is equal to "Rush".
behind_schedule Gets all orders where the due date has passed today, and the appraiser has not submitted a report. Excludes canceled orders.
due_soon Gets all orders where the due date is in less than 2 days.

Get Order

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.get('/sandbox.reggora.io/order/<order_id>', headers=headers)

The above command returns JSON structured like this:

{
    "id": "5c2e718cb61f76001adf9871",
    "status": "Inspection Scheduled",
    "priority": "Rush",
    "due_date": "2018-12-19 12:00:00",
    "inspection_date": "2018-12-24 21:00:00",
    "accepted_appraiser": {
        "id": "5b859eecc5a0c9004e38dd8f",
        "firm_name": "__Alex's Test AMC Firm",
        "accepting_jobs": true,
        "company": "5b859eebc5a0c9004e38dd8d"
    },
    "created": "2019-01-03 20:33:16.748000",
    "allocation_mode": "automatically",
    "requested_appraisers": [],
    "inspection_complete": false,
    "products": [
        {
            "id": "5b55d4c68d9472000fc432ef",
            "product_name": "Product #1",
            "amount": "10.0"
        }
    ],
    "loan_file": {
        "id": "5b55d4c68d9472000fc432ae",
        "loan_number": "ABC",
        "subject_property_address": "100 Brighton Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02135"
    }
}

This endpoint retrieves a specific order by id.

HTTP Request

GET /sandbox.reggora.io/order/<order_id>

URL Parameters

Parameter Description
order_id The ID of the order.

Cancel Order

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.delete('/sandbox.reggora.io/order/<order_id>', headers=headers)

The above command returns JSON structured like this:

{
    "success": "Order has been canceled."
}

This endpoint cancels a specific order.

HTTP Request

DELETE /sandbox.reggora.io/order/<order_id>

URL Parameters

Parameter Description
order_id The ID of the order.

Create an Order

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

body = {
    'allocation_type': 'automatically',
    'loan': '5c33c716681f110034effc73',
    'priority': 'Rush',
    'products': ["5b55d4c68d9472000fc432ef"],
    'due_date': '2018-12-24 21:00:00',
    'additional_fees': [
        {
            'description': 'Large yard',
            'amount': '50'
        },
        {
            'description': 'Outside regular locations',
            'amount': '20'
        }
    ]

}

response = requests.post('/sandbox.reggora.io/order/create', body=body, headers=headers)

The above command returns JSON structured like this:

{
    "id": "5c2e718cb61f76001adf9871",
    "status": "Inspection Scheduled",
    "priority": "Rush",
    "due_date": "2018-12-19 12:00:00",
    "inspection_date": "2018-12-24 21:00:00",
    "accepted_appraiser": {
        "id": "5b859eecc5a0c9004e38dd8f",
        "firm_name": "__Alex's Test AMC Firm",
        "accepting_jobs": true,
        "company": "5b859eebc5a0c9004e38dd8d"
    },
    "created": "2019-01-03 20:33:16.748000",
    "allocation_mode": "automatically",
    "requested_appraisers": [],
    "inspection_complete": false,
    "products": [
        {
            "id": "5b55d4c68d9472000fc432ef",
            "product_name": "Product #1",
            "amount": "10.0"
        }
    ],
    "loan_file": {
        "id": "5b55d4c68d9472000fc432ab",
        "loan_number": "ABC",
        "subject_property_address": "192 Commonwealth Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02315"
    }
}

This endpoint creates an order.

HTTP Request

POST /sandbox.reggora.io/order/create

URL Parameters

Parameter Description Required
allocation_type Must specify 'automatically'. True
loan The id of a loan file, not already associated with another order. True
priority 'Normal' or 'Rush' True
products List of product ids. True
due_date Due date of the order in TZ format. (UTC) True
additional_fees List of additional fees an order has {'description', 'amount'} False

Edit an Order

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

body = {
    'allocation_type': 'automatically',
    'loan': '5c33c716681f110034effc73',
    'priority': 'Rush',
    'products': ["5b55d4c68d9472000fc432ef"],
    'due_date': '2018-12-24 21:00:00',
    'additional_fees': [
        {
            'description': 'Large yard',
            'amount': '50'
        },
        {
            'description': 'Outside regular locations',
            'amount': '20'
        }
    ],
    'refresh': False,
}


response = requests.put('/sandbox.reggora.io/order/<order_id>', body=body, headers=headers)

The above command returns JSON structured like this:

{
    "id": "5c2e718cb61f76001adf9871",
    "status": "Inspection Scheduled",
    "priority": "Rush",
    "due_date": "2018-12-19 12:00:00",
    "inspection_date": "2018-12-24 21:00:00",
    "accepted_appraiser": {
        "id": "5b859eecc5a0c9004e38dd8f",
        "firm_name": "__Alex's Test AMC Firm",
        "accepting_jobs": true,
        "company": "5b859eebc5a0c9004e38dd8d"
    },
    "created": "2019-01-03 20:33:16.748000",
    "allocation_mode": "automatically",
    "requested_appraisers": [],
    "inspection_complete": false,
    "products": [
        {
            "id": "5b55d4c68d9472000fc432ef",
            "product_name": null,
            "amount": "10.0"
        }
    ],
    "loan_file": {
        "id": "5b55d4c68d9472000fc432ab",
        "loan_number": "ADE",
        "subject_property_address": "100 Brighton Ave",
        "subject_property_city": "Boston",
        "subject_property_state": "MA",
        "subject_property_zip": "02134"
    }
}

This endpoint edits a order.

HTTP Request

PUT /sandbox.reggora.io/order/<order_id>

URL Parameters

Parameter Description Required
order_id Id of order True
allocation_type Must specify 'automatically'. True
loan The id of a loan file, not already associated with another order. True
priority 'Normal' or 'Rush' True
products List product ids. True
due_date Due date of the order in TZ format. (UTC) True
additional_fees List of additional fees an order has {'description', 'amount'} False
refresh If an order has lender_attention_required field set to True, make an edit request with refresh set to True to run the order through assignment again. False

Submissions

Get All Submissions

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.get('/sandbox.reggora.io/order-submissions/<order_id>', headers=headers)

The above command returns JSON structured like this:

[
    {
        "version": 1,
        "pdf_report": "/sandbox.reggora.io/order-submission/5c4f16764672bb00105ea5f9/1/pdf_report",
        "xml_report": "/sandbox.reggora.io/order-submission/5c4f16764672bb00105ea5f9/1/xml_report",
        "invoice": "/sandbox.reggora.io/order-submission/5c4f16764672bb00105ea5f9/1/invoice"
    }
]

This endpoint retrieves all submissions associated with an order.

HTTP Request

GET /sandbox.reggora.io/order-submissions/<order_id>

URL Parameters

Parameter Description
order_id The ID of the order.

Get Submission

import requests

headers = {'Authorization': 'Bearer {}'.format(REGGORA_AUTH_TOKEN)}

response = requests.get('/sandbox.reggora.io/order-submission/<order_id>/<version>/<report_type>', headers=headers)

The above command returns a file object. The file sending is implemented with the flask send_file extension.

This endpoint retrieves one of the three forms that are associated with an order submission. The URL formulas are build for you using the "Get Submissions" API endpoint.

HTTP Request

GET /sandbox.reggora.io/order-submission/<order_id>/<version>/<report_type>

URL Parameters

Parameter Description
order_id The ID of the order.
version The version number of the submission object.
report_type The name of the report that you are trying to download.