Toggle navigation

DOMIDOCS API Documentation

Version 1.0.0

Welcome to DOMIDOCS.
Here you’ll find comprehensive information for integrating with our API endpoints. We’ve tried to make this documentation user-friendly and example-filled, but if you have any questions, please contact-us. If you’re planning to use our API in Production, take a look at our Privacy Policy. The fastest way to get your integration up and running is to use our Quickstart guide, which walks through your entire DomiDocs integration step-by-step.

DOMIDOCS is a web based platform built for homeowners to store, track and retrieve any and all home documents, receipts, photos and videos of their properties in one convenient place. Customers are able to track expenses and home improvements over time thus increasing the True Value of their property. To learn more, visit domidocs.com

To help you get oriented with DomiDocs’s API and what it can help you do, we’ll start by defining the basics.

2.1 API Keys

To gain access to the DomiDocs API, please contact sales.
Once you’ve completed the signup process and acknowledged our terms, we will provide your organization with access to our Sandbox API with:

  • client_id
  • secret
  • public_key

2.2 API Protocol

The DOMIDOCS API uses POST requests to communicate and HTTP response codes to indicate status and errors. All responses come in standard JSON. The DomiDocs API is served over HTTPS TLS v1.1+ to ensure data privacy; HTTP and HTTPS with TLS versions below 1.1 are not supported. All requests must include a Content-Type of application/JSON and the body must be valid JSON.

Every request will be authenticated by the presence of Authorization header that will contain the Bearer Token and by the presence of client_id and secret fields that are needed to be inserted as form data or to be part of the JSON sent in the request body.

 

2.3 API Hosts

Sandbox – Testing:  sandbox.domidocs.com 

    • Stateful sandbox environment; use credentials to build out and test your integration.
    • The Sandbox environment supports up to 20 account creations and 10 Items to be added into the created accounts.
    • All testing should be done in the Sandbox environment.

Production – Live:  production.domidocs.com 

    • The Production environment supports unlimited account creations and unlimited Items to be added into the created accounts.
    • You will need to request access before you can access our production environment.
    • All activity in the Production environment will be billed.

The DOMIDOCS API Provides the following Endpoints:

Endpoint: create-customer
Endpoint: create-property
Endpoint: upload-document
Endpoint: update-document
Endpoint: retrieve-all-customers
Endpoint: retrieve-all-properties
Endpoint: retrieve-all-documents

 

 

3.1 Create Customer

Endpoint: create-customer

Example: create-customer Request 

{
   "email": "[email protected]",
   "first_name": "example",
   "last_name": "example",
   "mobile": "1235678901",
   "phone": "12345678901",
   "password": "example1!qQ",
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}

Example Response: create-customer Success 

{
   "message": "User created.",
   "user_id": 169,
   "code": 1000
}

Example Response: create-customer Error 

{
   "message": "Invalid Parameters.",
   "errors": {
        "file": [
            "The file parameter is missing."
] },
   "code": 1003
}

3.2 Create Property

Endpoint: create-property

Example: create-property Request

{
   "name": "vila gara",
   "address": "vila gara",
   "additional_address": "mcdonalds",
   "city": "iasi",
   "state": "Moldova",
   "zip_code": "1234",
   "country": "United States of America",
   "user_id": 169,
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}

Example Response: create-property Success 

{
"message": "Property created.",
"property_id": 467,
"code": 1000
}

Example Response: create-property Error 

{
   "message": "Invalid Parameters.",
   "errors": {
        "user_id": [
            "The user id parameter is missing."
] },
   "code": 1003
}

3.3 Upload Document

Endpoint: upload-document

Example: upload-document Request

{
   "file": FILE,
   "property_id": "467",
   "user_id": 169,
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}

Example Response: upload-document Success 

{
   "message": "Document uploaded.",
   "document_id": 14450,
   "code": 1000
}

Example Response: upload-document Error 

{
   "message": "Invalid Parameters.",
   "errors": {
        "file": [
            "The file parameter is missing."
] },
   "code": 1003
}

3.4 Update Document

Endpoint: update-document

Example: update-document Request

{
   "file": FILE,
   "document_id": "14450",
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}

Example Response: update-document Success 

{
   "message": "Document updated.",
   "document_id": 14450,
   "code": 1000
}

Example Response: update-document Error 

{
   "message": "Invalid Parameters.",
   "errors": {
        "file": [
            "The file parameter is missing."
] },
   "code": 1003
}

3.5 Get All Created Customers

Endpoint: retrieve-all-customers

Example: retrieve-all-customers Request

{
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}

Example Response: retrieve-all-customers Success 

{
   "message": "Success.",
   "customers": [
        {
            "first_name": "example",
            "last_name": "example",
            "email": "[email protected]",
            "mobile": "1235678901",
            "phone": "12345678901"
} ],
   "code": 1000
}

Example Response: retrieve-all-customers Error 

{
   "message": "Invalid Parameters.",
   "errors": {
        "file": [
            "The file parameter is missing."
] },
   "code": 1003
}

3.6 Get All Created Properties

Endpoint: retrieve-all-properties

Example: retrieve-all-properties Request

{
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}

Example Response: retrieve-all-properties Success 

{
   "message": "Success.",
   "properties": [
        {
            "property_name": "vila gara",
            "address": "vila gara",
            "city": "iasi",
            "state": "Moldova",
            "zip_code": "1234",
            "country": "United States of America",
            "additional_address": "mcdonalds"
} ],
   "code": 1000
}

Example Response: retrieve-all-properties Error 

{
   "message": "Missing Parameters.",
   "code": 1001
}

3.7 Get All Uploaded Documents

Endpoint: retrieve-all-documents

Example: retrieve-all-documents Request

{
   "client_id": 2,
   "secret": "g6sXfpmjfsBAlHJ2B4SOh5VypaOafKWy2X7uqCsW"
}


Example: retrieve-all-documents Success

{
   "message": "Success.",
   "documents": [
        {
            "document_id": "14450",
            "property_id": "467",
            "file_name": "document1.pdf",
            "extension": "pdf",
            "size": 610454,
            "uploaded_by": "[email protected]"
}, 
{
            "document_id": "14451",
            "property_id": "467",
            "file_name": "document2.pdf",
            "extension": "pdf",
            "size": 489299,            
             "uploaded_by": "[email protected]"
        }
],
   "code": 1000
}

Example Response: retrieve-all-documents Error 

{
   "message": "Missing Parameters.",
   "code": 1001
}

The DOMIDOCS API uses POST requests to communicate and HTTP response codes to indicate status and errors. All responses come in standard JSON. The DomiDocs API is served over HTTPS TLS v1.1+ to ensure data privacy; HTTP and HTTPS with TLS versions below 1.1 are not supported. All requests must include a Content-Type of application/JSON and the body must be valid JSON.

Every request will be authenticated by the presence of Authorization header that will contain the Bearer Token and by the presence of client_id and secret fields that are needed to be inserted as form data or to be part of the JSON sent in the request body.

 

 

Code Message Description HTTP Status
1000 Success API call done with no errors 200
1001 Missing Parameters Some JSON parameters or credentials parameters(client_id, secret, token) are missing 401
1002 Request Forbidden Wrong credential (client_id, secret, token) or wrong IP address 401
1003 Invalid Parameters Some JSON parameters have invalid format, or invalid values 400
1004 Exceed limit of API accounts creations call Exceed limit of API accounts creations 401
1005 Exceed limit of API items creations calls Exceed limit of API items creations 401
2001 Document upload failed Document upload failed 400 / 500
2002 Document update failed Document update failed 400 / 500
2003 Document format not supported Wrong document format is not included on the accepted file extensions:

(‘jpeg’, ‘bmp’, ‘png’, ‘pdf’, ‘doc’, ‘docx’, ‘xls’, ‘xlsx’, ‘ppt’, ‘pptx’, ‘jpg’, ‘gif’, ‘txt’, ‘mpg’, ‘mov’, ‘mpeg’, ‘mp4’, ‘avi’, ‘mkv’, ‘zip’, ‘docm’, ‘xlsm’, ‘pptm’’)

400
3001 Customer creation failed Customer creation failed 400 / 500
3002 Email already exists A user with the same email address already exists on the database 400
4001 A property with this address already exists A property with the same address already exists on the database 400
4002 Property creation failed Property creation failed 400 / 500
5000 System Error Internal system error at API provider. Example: Program
bug or database connection failed.
500

Below are the types of documents to upload for customers.

  Cover Page
  Warranty Deed
  First Payment Letter
  Servicing Notification
  Florida Insurance Premium Disclosure & Settlement
  Survey Acknowledgement
  Compliance Agreement and Affidavit
  Clarification of Title Vesting
  Borrower’s Affidavit
  Closing Disclosure
  Note
  Mortgage
  Planned Unit Development Rider
  Uniform Residential Loan Application
  Demographic Information Addendum
  Signature/Name Affidavit
  Initial Escrow Account Disclosure Statement
  Affidavit of Occupancy
  Amortization Schedule
  Hazard Insurance Endorsement Letter
  Mailing Address Certification
  Notice of Furnishing Negative Information
  Florida Radon Gas Disclosure Statement
  Florida Title Insurance Notice
  Authorization for SSA to Release SSN Verification
  Request for Transcript of Tax Return
  IRS Form W-9 (Request for Taxpayer ID + Certification)
  Hazard Insurance Authorization, Requirements and Disc.
  Compliance Agreement and Affidavit
  Flood Hazard Determination
  Notice of Servicing Transfer
  Private Mortgage Insurance Cancellation/Termination Data Sheet
  Borrower’s Certification & Authorization
  Private Mortgage Insurance Disclosure/Fixed Rate Mortgage
  Equal Credit Opportunity Act Notice
  Borrower Consent to the use of Tax Return Information
  Tax Bill Authorization
  Occupancy Certificate
  Appraisal Valuation Acknowledgement
  Amortization Schedule (2)
  IRS Form 4506-T – Request for Transcript of Tax Return

To gain access to the DomiDocs API & Admin Portal, please contact sales. Once you’ve completed the signup process, acknowledged our terms, and provided an email we’ll email your username/password. With these credentials you can log in into the Admin Portal.

7.1 API Account/Profile

The credentials you provide to us, along with other contact information, can be changed from the Profile page:

7.2 API Stats

In addition to pulling stats via the API, on the Admin Portal sidebar you can check the status of your API 1) Customers Created, 2) Properties Created, 3) Documents Uploaded:

7.3 API Call Logs

On the API Call Logs page, you can see all your API calls that you made for all API endpoints.