Back to top

API Documentation

SkySlope

Overview

SkySlope is a real estate transaction management software used by real estate agents and brokers. It helps users manage documents, streamline compliance workflows, and track transactions from start to finish

In order to do this, Rechat connects to a third party service called SkySlope.

We want to integrate Deal section with Skyslope to give our members ability to do this workflow in Skyslope and have all signed documents in Rechat deals.

Therefore, in order for Rechat to be able to do anything in this section, the user would have to authenticate with his Skyslope credentials.

Authentication

The process of authenticating a user is as follows:

  1. User’s browser will be opened to /brands/:brand/skyslope/auth

  2. User’s browser will be redirected to skyslope

  3. User logs in and authorizes Rechat

  4. User’s browser will be redirected back to Rechat

  5. Control is given back to client (either using Browser’s postMessage mechanism or redirecting him to rechat:// on phones)

  6. Client tries again the initial action

Start admin authentication & ss group creation

Start admin authentication & ss group creation
GET/brands/:brand/skyslope/admin/auth

If another user in this brand had connected his ss account before this api return error.

Example URI

GET /brands/:brand/skyslope/admin/auth
URI Parameters
HideShow
brand
string (required) Example: bb0c6752-516d-49c5-805b-76f3186da3ee
Response  302

Get Admin Of brand

Get Admin Of brand
GET/brands/:brand/skyslope/admin

Example URI

GET /brands/:brand/skyslope/admin
URI Parameters
HideShow
brand
string (required) Example: bb0c6752-516d-49c5-805b-76f3186da3ee
Response  200
HideShow
Body
{
  "code": "OK",
  "data": {
    "id": "74967300-0d7b-4843-a43a-2d6bbf8f86a7",
    "brand": "bb0c6752-516d-49c5-805b-76f3186da3ee",
    "created_at": "2026-08-27T00:56:32.374Z",
    "admin_credential": "c34215bf-a31d-427b-944e-498a3bd5efc0",
    "updated_at": "2026-08-27T00:56:32.374Z",
    "deleted_at": null,
    "skyslope_group": "e7fb0de4-3f9b-43be-a255-c043fcf6ffd8",
    "admin_id": "skyslopeId",
    "skyslope_group_id": "123456",
    "user": "084d046d-c6b7-4931-8f3a-398c0d391fd2",
    "skyslope_email": "[email protected]",
    "type": "skyslope_brand"
  }
}

Start authentication

Start authentication
GET/brands/:brand/skyslope/auth

Example URI

GET /brands/:brand/skyslope/auth
URI Parameters
HideShow
brand
string (required) Example: 1ef09851-0bba-42bc-b988-1d6474256d18
Response  302

Disconnect Skyslope

Disconnect Skyslope
DELETE/users/self/skyslope

Example URI

DELETE /users/self/skyslope
Response  204

Get Skyslope forms

Get Skyslope forms
GET/users/self/skyslope/forms

start (number) number of rows to skip before starting to return rows limit (number) limited number of records libraryIds (text[]) library id

You encounter a 428 error. if skyslope is not connected

Example URI

GET /users/self/skyslope/forms
Response  200
HideShow
Body
{
  "code": "OK",
  "data": [
    {
      "id": 36095,
      "name": "Agreement Notice to Short Sale Addendum (Short Sale)",
      "libraryId": 14289,
      "attributes": {
        "form-type": "BRBC"
      },
      "source": "Amador County Local Documents - CA",
      "type": "skyslope_form"
    },
    {
      "id": 40144,
      "name": "BRBC Buyer Representation And Broker Compensation Agreement",
      "libraryId": 14289,
      "attributes": {
        "form-type": "BRBC"
      },
      "source": "Amador County Local Documents - CA",
      "type": "skyslope_form"
    }
  ],
  "info": {
    "count": 2,
    "total": 2
  }
}

Get Skyslope libraries

Get Skyslope libraries
GET/users/self/skyslope/libraries

You encounter a 428 error. if skyslope is not connected

Example URI

GET /users/self/skyslope/libraries
Response  200
HideShow
Body
{
          "code": "OK",
          "data": [
            {
              "id": 14289,
              "name": "Amador County Local Documents - CA",
              "regionCodes": [
                "US-CA"
              ]
            }
          ],
          "info": {
            "count": 1,
            "total": 1
          }
        }

if skyslope is not connected, this api return `428`
Response  428
HideShow
Body
{
  "message": "SkySlope needs your permission before Rechat can access your forms and account details. You'll be redirected to SkySlope to review and approve the connection."
}

Create skyslope envelope for a checklist

Create skyslope envelope for a checklist
POST/deals/:id/checklists/:cid/skyslope/envelope

auto_notify (bool) attachments List of attachments to include in the envelope. Each attachment must reference either a task or both task and file. You encounter a 428 error. if skyslope is not connected

if skyslope is not connected, this api return 428 tasks (string[]) array of taskId

Example URI

POST /deals/:id/checklists/:cid/skyslope/envelope
URI Parameters
HideShow
id
string (required) Example: 13261dae-4f67-47f6-a165-4f619420ad05
cid
string (required) Example: 0b2ef509-5e5c-47c4-8b7a-5b9d46127450
Request
HideShow
Body
{
  "attachments": [
    {
      "task": "cee5ed02-48d3-418f-adb5-e1cc2c79ca95"
    }
  ],
  "auto_notify": true
}
Response  200
HideShow
Body
{
  "code": "OK",
  "data": {
    "success": true,
    "envelope_id": "envelopeId",
    "type": "SKYSLOPE_ENVELOPE",
    "taskSyncErrors": {},
    "contactSyncErrors": {}
  }
}

Update ss envelopes within the deal

Update ss envelopes within the deal
POST/deals/:id/skyslope/envelopes/sync

once sync is done, this event is emitted by socket ‘Deal’ with action and deal in data

Example URI

POST /deals/:id/skyslope/envelopes/sync
URI Parameters
HideShow
id
string (required) Example: 13261dae-4f67-47f6-a165-4f619420ad05
Response  200

Sync Rechat deal from skyslope file

Sync Rechat deal from skyslope file
POST/deals/:id/checklists/:cid/skyslope/sync

once sync is done, this event is emitted by socket ‘Deal’ with action and deal in data

Example URI

POST /deals/:id/checklists/:cid/skyslope/sync
URI Parameters
HideShow
id
string (required) Example: 13261dae-4f67-47f6-a165-4f619420ad05
cid
string (required) Example: 0b2ef509-5e5c-47c4-8b7a-5b9d46127450
Response  200

Generated by aglio on 27 Aug 2026