Download OpenAPI specification:
The SkySlope Forms API is organized around REST.
Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses,
and uses standard HTTP response codes, authentication, and verbs.
NOTE: Endpoints marked with an asterisk (*) will be available to our partners in the near future.
This API uses OAuth 2.0 authorization code flow to obtain an access token that can be used to authenticate subsequent API requests.
To obtain an access token, first redirect the user to the authorization endpoint:
https://accounts.skyslope.com/oauth2/authorize?
response_type=code
&client_id={YOUR_CLIENT_ID}
&redirect_uri={YOUR_REDIRECT_URI}
&scope=forms.files
&state={RANDOM_STATE_VALUE}
&code_challenge={CODE_CHALLENGE}
&code_challenge_method=S256
After the user authorizes your application, they'll be redirected back to your redirect URI with an authorization code. Exchange this code for an access token by making a POST request to the token endpoint:
POST /oauth2/token HTTP/1.1
Host: accounts.skyslope.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id={YOUR_CLIENT_ID}
&client_secret={YOUR_CLIENT_SECRET}
&code={AUTHORIZATION_CODE}
&redirect_uri={YOUR_REDIRECT_URI}
&code_verifier={CODE_VERIFIER}
Authentication to the API is performed by including your access token in the Authorization header of your API requests with the Bearer authentication scheme:
GET /partner/api/files HTTP/1.1
Host: forms.skyslope.com
Authorization: Bearer {YOUR_ACCESS_TOKEN}
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Refresh tokens allow you to obtain new access tokens without requiring the user to re-authenticate. When you first complete the OAuth flow, you'll receive both an access token and a refresh token.
To receive a refresh token, include the offline_access scope in your initial authorization request:
https://accounts.skyslope.com/oauth2/authorize?
response_type=code
&client_id={YOUR_CLIENT_ID}
&scope=forms.files offline_access
&redirect_uri={YOUR_REDIRECT_URI}
When your access token expires, make a POST request to the token endpoint:
POST /oauth2/token HTTP/1.1
Host: accounts.skyslope.com
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&client_id={YOUR_CLIENT_ID}
&client_secret={YOUR_CLIENT_SECRET}
&refresh_token={YOUR_REFRESH_TOKEN}
This will return a new access token and refresh token pair.
Update the file details of a listing or transaction file. Supply onBehalfOf when updating a file owned by a user who has granted delegate access to the authenticated caller.
| fileId required | integer The id of the file to update. |
| name | string The name of the file. |
object File data that can be updated. | |
| onBehalfOf | string The id of the user whose file is being updated. Supply this when updating a file owned by a user who has granted delegate access to the authenticated caller, so that any records the update creates are owned by that user rather than the caller. Requires a valid delegate access grant; requests without one are rejected with a 404. |
{- "name": "string",
- "fileData": {
- "mlsNumber": "string",
- "purchasePrice": 0,
- "closingDate": "string",
- "acceptanceDate": "string",
- "premisesAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}
}, - "onBehalfOf": "string"
}{- "fileId": 477309,
- "didAddendumsChange": false
}Update the file of a listing or transaction file. Supply onBehalfOf when updating a file owned by a user who has granted delegate access to the authenticated caller; the contacts and commissions this request writes are then owned by that user.
| fileId required | integer The id of the file to update. |
| mlsNumber | string The mls number of the file. |
| purchasePrice | number The purchase price of the property. |
| closingDateTime | string or null The closing date of the file. Send a calendar date, YYYY-MM-DD (preferred). Full datetimes remain accepted and are reduced to their calendar day (an explicit UTC offset keeps the date at that offset). A value that is not a date is rejected with HTTP 400. Null or an empty string clears the date — and note this endpoint is a full replace: OMITTING the field also clears the stored date. |
| acceptanceDateTime | string or null The acceptance date of the file. Same calendar-date semantics as closingDateTime: YYYY-MM-DD preferred, datetimes reduced to their day, invalid values rejected with 400, and omission clears the stored date (full-replace endpoint). |
required | object The property that the file is associated with. |
required | Array of objects An array of the commissions for the file. |
required | Array of objects An array of contacts for the file. |
| onBehalfOf | string The id of the user whose file is being updated. Supply this when updating a file owned by a user who has granted delegate access to the authenticated caller, so that the contacts and commissions this request writes are owned by that user rather than the caller. Requires a valid delegate access grant; requests without one are rejected with a 404. |
{- "mlsNumber": "string",
- "purchasePrice": 0,
- "closingDateTime": "string",
- "acceptanceDateTime": "string",
- "property": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "commissions": [
- {
- "id": "string",
- "type": "Listing",
- "calculationType": "Flat",
- "amount": 0,
- "createdBy": "string",
- "updatedBy": "string",
- "createdOn": "string",
- "updatedOn": "string",
- "ownedBy": "string"
}
], - "contacts": [
- {
- "id": "string",
- "type": "Broker",
- "actionAttribute": "Empty",
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "companyName": "string",
- "isEntity": true,
- "isUser": true,
- "isFileOwner": true,
- "lenderLicenseNumber": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "contactInformation": { }
}
], - "onBehalfOf": "string"
}{- "fileId": 0,
- "commissions": [
- {
- "id": "string",
- "type": "Listing",
- "calculationType": "Flat",
- "amount": 0,
- "createdBy": "string",
- "updatedBy": "string",
- "createdOn": "string",
- "updatedOn": "string",
- "ownedBy": "string"
}
], - "contacts": [
- {
- "id": "string",
- "type": "Broker",
- "actionAttribute": "Empty",
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "companyName": "string",
- "isEntity": true,
- "isUser": true,
- "isFileOwner": true,
- "lenderLicenseNumber": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "contactInformation": { }
}
]
}Retrieve the details of a listing or transaction file.
| fileId required | integer >= 1 The id of the file to retrieve. |
{- "id": 1,
- "name": "File Name",
- "type": "File",
- "representationType": "Buyer",
- "templateCategory": "Landlord",
- "closingDateTime": "2023-12-31",
- "acceptanceDateTime": "2023-12-31",
- "meta": {
- "status": "pre-contract"
}, - "mlsNumber": "1589519",
- "purchasePrice": 1598000,
- "fileData": {
- "mlsNumber": "1589519"
}, - "transactionMeta": {
- "status": "pre-contract"
}, - "property": {
- "streetNumber": "9999",
- "streetName": "Main Street",
- "unitNumber": "12",
- "state": "CA",
- "county": null,
- "postalCode": "95825",
- "isCompleteAddress": true
}, - "contacts": [
- {
- "id": 1,
- "type": "Buyer",
- "actionAttribute": "NeedsToSign",
- "lastName": "Jonsey",
- "middleName": "",
- "firstName": "Jimmy",
- "suffix": "",
- "primaryPhoneNumber": "5558887777",
- "brokeragePhoneNumber": "",
- "faxPhoneNumber": "",
- "companyName": "Your Realty",
- "isEntity": false,
- "isUser": false,
- "isFileOwner": false,
- "lenderLicenseNumber": null,
- "agentLicenseNumber": null,
- "agentMLSCode": null,
- "brokerageLicenseNumber": null,
- "brokerageMLSCode": null,
- "brokerLicenseNumber": null,
- "brokerMLSCode": null,
- "primaryAddress": {
- "id": 1,
- "streetNumber": "7380",
- "streetName": "N. La What Blvd",
- "unitNumber": "",
- "city": "Tucson",
- "state": "AZ",
- "postalCode": "85555",
- "county": ""
}, - "contactInformation": {
- "lenderLicenseNumber": "2929849",
- "agentLicenseNumber": null,
- "agentMlsCode": null,
- "brokerageLicenseNumber": null,
- "brokerageMlsCode": null,
- "brokerLicenseNumber": null,
- "brokerMlsCode": null
}, - "createdBy": "iajv98j498j98vasj4h",
- "updatedBy": "iajv98j498j98vasj4h",
- "createdOn": "2023-12-26T20:51:09Z",
- "updatedOn": "2023-12-26T20:51:09Z",
- "ownedBy": "iajv98j498j98vasj4h"
}
], - "commissions": [
- {
- "id": 1,
- "type": "Listing",
- "calculationType": "Flat",
- "amount": 0,
- "createdBy": "iajv98j498j98vasj4h",
- "updatedBy": "iajv98j498j98vasj4h",
- "createdOn": "2020-01-22T23:39:10Z",
- "updatedOn": "2021-09-07T16:34:21Z",
- "ownedBy": "iajv98j498j98vasj4h"
}
], - "documentData": [
- "184629",
- "185099",
- "185100"
], - "isDeleted": false,
- "isArchived": false,
- "createdOn": "2023-12-31T12:12:12.123Z",
- "createdBy": "iajv98j498j98vasj4h",
- "updatedOn": "2023-12-31T12:12:12.123Z",
- "updatedBy": "iajv98j498j98vasj4h",
- "ownedBy": "iajv98j498j98vasj4h"
}Retrieve the files that the user has access to.
| page | integer >= 1 Default: 1 The page number to retrieve. |
| pageSize | integer [ 1 .. 500 ] Default: 10 The number of files returned per page. |
| filters | string A comma separated sieve filter to that will be applied to the results. Ex: filters=representationtype==Buyer,(createddate)>=2024-01-01,(createddate)<=2024-01-31 |
| sorts | string A sieve list of sort fields to sort the results by. |
{- "totalRecords": 1,
- "files": [
- {
- "id": 1,
- "name": "File Name",
- "address": "111 One Drive Sacramento, CA 95826",
- "contactInfo": "Contact info",
- "type": "File",
- "representationType": "Buyer",
- "templateCategory": "Landlord",
- "documentCount": 1,
- "envelopeCount": 0,
- "isArchived": false,
- "createdDate": "2023-12-31T12:12:12.123Z",
- "createdBy": "iajv98j498j98vasj4h",
- "lastUpdated": "2023-12-31T12:12:12.123Z",
- "updatedBy": "iajv98j498j98vasj4h",
- "ownedBy": "iajv98j498j98vasj4h",
- "meta": {
- "status": "pre-contract"
}, - "mlsNumber": "1589519",
- "mlsMarketName": "treb",
- "transactionMeta": {
- "status": "pre-contract"
}
}
]
}Create a listing or transaction file. Supply onBehalfOf to create it for a user who granted you delegate access; that user owns the file and you are recorded as its creator.
File creation requires forms.files. Set importMls=true to request an MLS import after creation. Import additionally requires forms.mls.import; without that scope the file is still created and mlsImport reports not_imported/missing_scope.
A supplied mlsNumber is saved as file data even when import is not requested. With the import scope, an omitted or blank number skips requested import with missing_mls_number. Without requested import the response contains only fileId.
Import searches using the file owner’s configured regions and imports only a single matching listing. The MLS number selects the listing; its address is not compared with the supplied property address.
Import runs with overwrite enabled. Available MLS values, including the address, take precedence over supplied values even when the addresses differ. Creation has no overwrite parameter. Verify the MLS number identifies the intended property before requesting import.
Creation and import are separate operations. Once creation succeeds, the response retains fileId even if import is skipped, fails, or times out. Inspect mlsImport.status rather than treating HTTP 200 as confirmation of import. importedCount measures fields or field groups, not an exact count of changed values; zero is valid and an unavailable count is omitted.
Retry import with POST /files/{fileId}/mls-import to avoid creating another file. That endpoint defaults to preserving populated values unless shouldOverride=true is supplied.
Import uses the service’s default MLS source; callers cannot select another source. Utah and Florida MLS coverage is not fully supported.
| importMls | boolean Default: false Import MLS data after creating the file. Available MLS values replace supplied values, including the address, without comparing the two addresses. Requires forms.mls.import only for the import; missing that scope does not prevent file creation. |
| mlsNumber | string The MLS number saved on the file. Does not trigger import unless importMls=true is supplied in the query. |
| name | string The name of the file. |
| representationType | string Enum: "Buyer" "Seller" "Tenant" "Landlord" The representation type of the file. |
object The property that the file is associated with. | |
| onBehalfOf | string The id of the user to create the file for. When provided, that user becomes the owner of the file ( |
{- "mlsNumber": "string",
- "name": "string",
- "representationType": "Buyer",
- "property": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "onBehalfOf": "string"
}{- "fileId": 477309
}Add a contact to a file. Supply onBehalfOf to add the contact for a user who has granted delegate access to the authenticated caller.
| fileId required | integer >= 1 The id of the file to add the contact to. |
The body of the request to add a contact to a file.
| actionAttribute | string Enum: "Empty" "NeedsToSign" "CanView" "ReceivesCopy" "NoAction" Actions for contact to participate in.
NeedsToSign: Contact will will receive an email containing a document needing to be signed ReceivesCopy: Contact to receive a copy of Signed Documents once signing is complete No Action: Contact needs not further action |
| type required | string Enum: "Broker" "Buyer" "BuyerAgent" "BuyersLawyer" "EscrowOfficer" "LoanOfficer" "Other" "Seller" "SellerAgent" "SellersLawyer" "TitleOfficer" The role that a contact has been assigned. |
| isEntity | boolean Evaluates to true if the contact is an entity. |
| isUser | boolean Evaluates to true if the contact is the also the agent (self). |
| firstName required | string The first name of the contact. |
| middleName | string The middle name of the contact. |
| lastName required | string The last name of the contact. |
| suffix | string The suffix of the contact. |
string The email of the contact. | |
| primaryPhoneNumber | string The primary phone number of the contact. |
| brokeragePhoneNumber | string The brokerage phone number of the contact. |
| faxPhoneNumber | string The fax phone number of the contact. |
object The primary address of the contact. | |
| companyName | string The company name that the contact belongs to. |
| agentLicenseNumber | string The agent license number of the contact. |
| agentMLSCode | string The agent mls code of the contact. |
| brokerLicenseNumber | string The broker license number of the contact. |
| brokerMLSCode | string The broker mls code of the contact. |
| brokerageLicenseNumber | string The brokerage license number of the contact. |
| brokerageMLSCode | string The brokerage mls code of the contact. |
| lenderLicenseNumber | string The lender license number of the contact. |
| onBehalfOf | string The id of the user to add the contact for. When provided, the contact is owned by that user while the authenticated caller is recorded as its creator. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "actionAttribute": "Empty",
- "type": "Broker",
- "isEntity": true,
- "isUser": true,
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "companyName": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "lenderLicenseNumber": "string",
- "onBehalfOf": "string"
}{- "contactId": 123456
}Update a contact in a file. Supply onBehalfOf to update the contact for a user who has granted delegate access to the authenticated caller.
| contactId required | integer >= 1 The id of the contact to update. |
The body of the request to add a contact to a file.
| actionAttribute | string Enum: "Empty" "NeedsToSign" "CanView" "ReceivesCopy" "NoAction" Actions for contact to participate in.
NeedsToSign: Contact will will receive an email containing a document needing to be signed ReceivesCopy: Contact to receive a copy of Signed Documents once signing is complete No Action: Contact needs not further action |
| type required | string Enum: "Broker" "Buyer" "BuyerAgent" "BuyersLawyer" "EscrowOfficer" "LoanOfficer" "Other" "Seller" "SellerAgent" "SellersLawyer" "TitleOfficer" The role that a contact has been assigned. |
| isEntity | boolean Evaluates to true if the contact is an entity. |
| isUser | boolean Evaluates to true if the contact is the also the agent (self). |
| firstName required | string The first name of the contact. |
| middleName | string The middle name of the contact. |
| lastName required | string The last name of the contact. |
| suffix | string The suffix of the contact. |
string The email of the contact. | |
| primaryPhoneNumber | string The primary phone number of the contact. |
| brokeragePhoneNumber | string The brokerage phone number of the contact. |
| faxPhoneNumber | string The fax phone number of the contact. |
object The primary address of the contact. | |
| companyName | string The company name that the contact belongs to. |
| agentLicenseNumber | string The agent license number of the contact. |
| agentMLSCode | string The agent mls code of the contact. |
| brokerLicenseNumber | string The broker license number of the contact. |
| brokerMLSCode | string The broker mls code of the contact. |
| brokerageLicenseNumber | string The brokerage license number of the contact. |
| brokerageMLSCode | string The brokerage mls code of the contact. |
| lenderLicenseNumber | string The lender license number of the contact. |
| onBehalfOf | string The id of the user to add the contact for. When provided, the contact is owned by that user while the authenticated caller is recorded as its creator. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "actionAttribute": "Empty",
- "type": "Broker",
- "isEntity": true,
- "isUser": true,
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "companyName": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "lenderLicenseNumber": "string",
- "onBehalfOf": "string"
}{- "contactId": 123456
}Add one or more contacts to a file. Supply onBehalfOf to add the contacts for a user who has granted delegate access to the authenticated caller.
| fileId required | integer >= 1 The id of the file to add the contacts to. |
The body of the request to add multiple contacts to a file.
Array of objects The contacts to add to the file. | |
| onBehalfOf | string The id of the user to add the contacts for. When provided, the contacts are owned by that user while the authenticated caller is recorded as their creator. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "contacts": [
- {
- "actionAttribute": "Empty",
- "type": "Broker",
- "isEntity": true,
- "isUser": true,
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "companyName": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "lenderLicenseNumber": "string"
}
], - "onBehalfOf": "string"
}{- "totalRecordsAdded": 3,
- "contacts": [
- {
- "index": 0,
- "contactId": 101,
- "type": "Seller",
- "isEntity": false,
- "firstName": "John",
- "lastName": "Smith",
- "email": "[email protected]"
}, - {
- "index": 1,
- "contactId": 102,
- "type": "Seller",
- "isEntity": false,
- "firstName": "Jane",
- "lastName": "Smith",
- "email": "[email protected]"
}, - {
- "index": 2,
- "contactId": 103,
- "type": "TitleOfficer",
- "isEntity": true,
- "companyName": "Acme Title Co"
}
]
}Delete a contact from a file.
| contactId required | integer >= 1 The id of the contact to delete. |
| fileId required | integer >= 1 The id of the file to delete the contact from. |
{- "contactId": 123456
}Retrieve the documents metadata for a file. To download documents with proper branding and data stamping, use the /files/:fileId/documents/download or /files/:fileId/documents/download/pdf endpoints.
| fileId required | integer >= 1 The id of the file to retrieve documents for. |
{- "totalRecords": 1,
- "documents": [
- {
- "id": 123456,
- "formName": "Purchase Agreement Form",
- "formId": 789,
- "formVersionId": 1011,
- "fileId": 456789,
- "pageCount": 5,
- "documentType": "Forms",
- "createdBy": "00u123456789abcdef",
- "updatedBy": "00u123456789abcdef",
- "createdOn": "2024-01-15T10:30:00Z",
- "updatedOn": "2024-01-15T10:30:00Z",
- "ownedBy": "00u123456789abcdef"
}
]
}Add one or more documents to a file. Supply onBehalfOf to add the documents for a user who has granted delegate access to the authenticated caller; the forms are then resolved against that user's libraries rather than the caller's.
| fileId required | integer >= 1 The id of the file to add the documents to. |
| formIds required | Array of integers non-empty An array of the Form Ids of the Forms to add to the file. |
| onBehalfOf | string The id of the user to add the documents for. When provided, the documents are owned by that user while the authenticated caller is recorded as their creator, and the forms are resolved against that user's libraries rather than the caller's. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "formIds": [
- 0
], - "onBehalfOf": "string"
}{- "documentIds": [
- 1,
- 2,
- 3
]
}Retrieve the signed documents for a file.
| fileId required | integer >= 1 The id of the file to retrieve signed documents for. |
{- "totalRecords": 2,
- "documents": [
- {
- "envelopeDocumentId": 1,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "asdimfao9im38-a98sdng-9",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 1,
- "externalDocumentId": "asdimfao9im38-a98sdng-9",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Addendum",
- "documentAvailable": true,
- "unavailableReason": null,
- "pageCount": 6,
- "filename": "document1.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}, - {
- "envelopeDocumentId": 2,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 2,
- "externalDocumentId": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Counter Offer",
- "documentUrl": null,
- "documentAvailable": false,
- "unavailableReason": "NotFound",
- "pageCount": 2,
- "filename": "document2.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}
]
}Retrieve the signed documents for a single envelope in a file.
| fileId required | integer >= 1 The id of the file to retrieve signed documents for. |
| formsEnvelopeId required | integer >= 1 The Forms id of the envelope to retrieve signed documents for. This is the numeric |
{- "totalRecords": 2,
- "documents": [
- {
- "envelopeDocumentId": 1,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "asdimfao9im38-a98sdng-9",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 1,
- "externalDocumentId": "asdimfao9im38-a98sdng-9",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Addendum",
- "documentAvailable": true,
- "unavailableReason": null,
- "pageCount": 6,
- "filename": "document1.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}, - {
- "envelopeDocumentId": 2,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 2,
- "externalDocumentId": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Counter Offer",
- "documentUrl": null,
- "documentAvailable": false,
- "unavailableReason": "NotFound",
- "pageCount": 2,
- "filename": "document2.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}
]
}Subscribe a file to the signed documents webhook.
| fileId required | integer >= 1 The id of the file to subscribe to the signed documents webhook. |
| webhookUrl required | string The url to send the webhook response to when documents are signed documents. |
{- "webhookUrl": "string"
}{- "subscribed": true
}Get the envelopes associated with a file.
| fileId required | integer >= 1 The id of the file to retrieve envelopes for. |
| page | integer >= 1 Default: 1 The page number to retrieve. |
| pageSize | integer [ 1 .. 500 ] Default: 10 The number of files returned per page. |
| filters | string A sieve filter to that will be applied to the results. |
| sorts | string A sieve list of sort fields to sort the results by. |
{- "totalRecords": 0,
- "envelopes": [
- {
- "id": "string",
- "name": "string",
- "status": "string",
- "isDeleted": true,
- "fileId": 0,
- "externalId": "string",
- "dateSent": "string",
- "updatedOn": "string",
- "ownedBy": "string",
- "documentIds": [
- 0
], - "signers": [
- {
- "id": "string",
- "dateSigned": "string",
- "contactId": "string",
- "envelopeId": "string",
- "externalId": "string",
- "createdBy": "string",
- "updatedBy": "string",
- "createdOn": "string",
- "updatedOn": "string",
- "ownedBy": "string"
}
]
}
]
}Create an envelope for a file. Supply onBehalfOf to create the envelope for a user who has granted delegate access to the authenticated caller; the envelope is then owned by that user and is sent from them when it goes out for signature.
| fileId required | integer >= 1 The id of the file to add the envelope to. |
| envelopeName required | string The name of the envelope to add to the file. |
| documentIds required | Array of numbers An array of the ids of the documents to add to the envelope. |
| onBehalfOf | string The id of the user to create the envelope for. When provided, the envelope is owned by that user while the authenticated caller is recorded as its creator, and the envelope is sent from that user when it goes out for signature. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "envelopeName": "string",
- "documentIds": [
- 0
], - "onBehalfOf": "string"
}{- "fileId": 539181,
- "envelope": {
- "id": 115682,
- "name": "My Envelope Name"
}
}Apply a template to a file.
| fileId required | integer >= 1 The id of the file to apply the template to. |
| templateId required | integer The id of the template to apply to the file. |
{- "templateId": 0
}{- "fileId": 667309
}Download one or more documents from a file as a combined PDF with file details stamped on the documents. If the call is successful, the response will be a PDF file containing the requested documents. If it is not successful, the response will be json containing the error.
| fileId required | integer >= 1 The id of the file to download documents from. |
| documentIds required | string Comma-separated list of document IDs to include in the PDF. Example: "123,456,789" |
{- "code": "string",
- "message": "string",
- "errors": [
- "string"
], - "traceId": "string"
}Download one or more documents from a file with file details stamped on the documents. Returns a single PDF if one document ID is provided, or a ZIP file containing multiple documents if more than one document ID is provided. The Content-Type header will reflect the appropriate file type.
| fileId required | integer >= 1 The id of the file to download documents from. |
| documentIds required | string Comma-separated list of document IDs to download. Single ID returns PDF, multiple IDs return ZIP. Example: "123,456,789" |
{- "code": "string",
- "message": "string",
- "errors": [
- "string"
], - "traceId": "string"
}Upload a PDF document to a file. Max size 25MB. Accepts multipart/form-data with fields: DocumentName (string), DocumentBody (binary PDF file), IsSignedDocument (true/false, optional), onBehalfOf (string, optional). Supply onBehalfOf to upload the document for a user who has granted delegate access to the authenticated caller; the document is then owned by that user while the caller is recorded as its creator.
| fileId required | integer >= 1 The id of the file to upload the document to. |
{- "documentId": 0
}Import MLS data into an existing Forms file using an MLS number and the file owner's configured regions. Templates are not supported and return a 400 error.
An omitted or blank MLS number skips the import without changing the saved number. A nonblank number is saved before lookup, even when it differs from the current number. It remains saved if lookup finds no match, multiple matches, or no configured regions.
Only a single listing match is imported. No match or multiple matches skip the import, and listing candidates are not returned. The listing address is not compared with the file address.
With shouldOverride=false, populated data is preserved; address and agent contact values may be handled together as groups. With shouldOverride=true, listing data can replace populated values. The supplied MLS number is saved regardless of this setting.
An imported outcome includes successful imports with a count of zero. The count measures processed fields or field groups rather than exactly how many individual values changed and is omitted when unavailable.
Inspect mlsImport.status even when the HTTP response is 200. A not_imported outcome means no listing data was imported; a supplied MLS number may still have been saved. A failed outcome reports an error during lookup or import. An unknown outcome means a write request timed out and its completion could not be confirmed. Failed or unknown outcomes do not guarantee that file data remained unchanged. Before retrying, check the file and choose shouldOverride accordingly.
For not_imported, missing_mls_number means no nonblank number was supplied; missing_regions means the file owner has no configured search regions; no_match and multiple_matches mean the search returned zero or more than one listing. For failed, provider_error means the owner profile or MLS search could not be retrieved; import_error means saving the MLS number or importing listing data failed.
Saving the MLS number and importing listing data are separate operations, not one atomic update. Send imports for the same file sequentially and avoid editing the file while an import is pending. Even with sequential requests, changing the MLS number with shouldOverride=false can retain data from a previous listing.
This endpoint searches the MLS source selected by the service; callers cannot select a source. Utah and Florida MLS coverage is not fully supported.
| fileId required | integer >= 1 The id of the existing Forms file to import MLS data into. Templates are not supported. |
| mlsNumber | string The MLS number to look up and set on the file, even when it differs from the current number. An omitted or blank value skips the import; the existing file MLS number is not used as a fallback. |
| shouldOverride | boolean Default: false Whether to replace populated file data with listing data. Must be a JSON boolean (true or false), not a string or number. Defaults to false. Address and agent contact values may be preserved or replaced together as groups. |
| onBehalfOf | string The Forms user ID to act on behalf of. When specifying another user, that user must have granted delegate access to the authenticated user. The authenticated user must also have permission to update the target file. The delegated user does not have to own the file. Omit this field to act as the authenticated user. MLS lookup always uses the file owner's configured regions, regardless of this field. |
{- "mlsNumber": "string",
- "shouldOverride": false,
- "onBehalfOf": "string"
}{- "fileId": 1,
- "mlsImport": {
- "status": "imported",
- "importedCount": 0
}
}Retrieve templates. Defaults to personal templates (type=Template). Use type=BrokerTemplate for broker templates.
| type | string Default: "Template" The type of templates to retrieve. Defaults to Template (personal templates). |
{- "totalRecords": 1,
- "files": [
- {
- "id": 1,
- "name": "Personal Template Name",
- "type": "Template",
- "representationType": "Buyer",
- "documentCount": 3,
- "createdDate": "2023-12-31T12:12:12.123Z",
- "createdBy": "iajv98j498j98vasj4h",
- "lastUpdated": "2023-12-31T12:12:12.123Z",
- "updatedBy": "iajv98j498j98vasj4h",
- "ownedBy": "iajv98j498j98vasj4h",
- "accountGroups": [ ],
- "regions": [ ]
}
]
}Add a contact to a file. Supply onBehalfOf to add the contact for a user who has granted delegate access to the authenticated caller.
| fileId required | integer >= 1 The id of the file to add the contact to. |
The body of the request to add a contact to a file.
| actionAttribute | string Enum: "Empty" "NeedsToSign" "CanView" "ReceivesCopy" "NoAction" Actions for contact to participate in.
NeedsToSign: Contact will will receive an email containing a document needing to be signed ReceivesCopy: Contact to receive a copy of Signed Documents once signing is complete No Action: Contact needs not further action |
| type required | string Enum: "Broker" "Buyer" "BuyerAgent" "BuyersLawyer" "EscrowOfficer" "LoanOfficer" "Other" "Seller" "SellerAgent" "SellersLawyer" "TitleOfficer" The role that a contact has been assigned. |
| isEntity | boolean Evaluates to true if the contact is an entity. |
| isUser | boolean Evaluates to true if the contact is the also the agent (self). |
| firstName required | string The first name of the contact. |
| middleName | string The middle name of the contact. |
| lastName required | string The last name of the contact. |
| suffix | string The suffix of the contact. |
string The email of the contact. | |
| primaryPhoneNumber | string The primary phone number of the contact. |
| brokeragePhoneNumber | string The brokerage phone number of the contact. |
| faxPhoneNumber | string The fax phone number of the contact. |
object The primary address of the contact. | |
| companyName | string The company name that the contact belongs to. |
| agentLicenseNumber | string The agent license number of the contact. |
| agentMLSCode | string The agent mls code of the contact. |
| brokerLicenseNumber | string The broker license number of the contact. |
| brokerMLSCode | string The broker mls code of the contact. |
| brokerageLicenseNumber | string The brokerage license number of the contact. |
| brokerageMLSCode | string The brokerage mls code of the contact. |
| lenderLicenseNumber | string The lender license number of the contact. |
| onBehalfOf | string The id of the user to add the contact for. When provided, the contact is owned by that user while the authenticated caller is recorded as its creator. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "actionAttribute": "Empty",
- "type": "Broker",
- "isEntity": true,
- "isUser": true,
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "companyName": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "lenderLicenseNumber": "string",
- "onBehalfOf": "string"
}{- "contactId": 123456
}Update a contact in a file. Supply onBehalfOf to update the contact for a user who has granted delegate access to the authenticated caller.
| contactId required | integer >= 1 The id of the contact to update. |
The body of the request to add a contact to a file.
| actionAttribute | string Enum: "Empty" "NeedsToSign" "CanView" "ReceivesCopy" "NoAction" Actions for contact to participate in.
NeedsToSign: Contact will will receive an email containing a document needing to be signed ReceivesCopy: Contact to receive a copy of Signed Documents once signing is complete No Action: Contact needs not further action |
| type required | string Enum: "Broker" "Buyer" "BuyerAgent" "BuyersLawyer" "EscrowOfficer" "LoanOfficer" "Other" "Seller" "SellerAgent" "SellersLawyer" "TitleOfficer" The role that a contact has been assigned. |
| isEntity | boolean Evaluates to true if the contact is an entity. |
| isUser | boolean Evaluates to true if the contact is the also the agent (self). |
| firstName required | string The first name of the contact. |
| middleName | string The middle name of the contact. |
| lastName required | string The last name of the contact. |
| suffix | string The suffix of the contact. |
string The email of the contact. | |
| primaryPhoneNumber | string The primary phone number of the contact. |
| brokeragePhoneNumber | string The brokerage phone number of the contact. |
| faxPhoneNumber | string The fax phone number of the contact. |
object The primary address of the contact. | |
| companyName | string The company name that the contact belongs to. |
| agentLicenseNumber | string The agent license number of the contact. |
| agentMLSCode | string The agent mls code of the contact. |
| brokerLicenseNumber | string The broker license number of the contact. |
| brokerMLSCode | string The broker mls code of the contact. |
| brokerageLicenseNumber | string The brokerage license number of the contact. |
| brokerageMLSCode | string The brokerage mls code of the contact. |
| lenderLicenseNumber | string The lender license number of the contact. |
| onBehalfOf | string The id of the user to add the contact for. When provided, the contact is owned by that user while the authenticated caller is recorded as its creator. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "actionAttribute": "Empty",
- "type": "Broker",
- "isEntity": true,
- "isUser": true,
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "companyName": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "lenderLicenseNumber": "string",
- "onBehalfOf": "string"
}{- "contactId": 123456
}Add one or more contacts to a file. Supply onBehalfOf to add the contacts for a user who has granted delegate access to the authenticated caller.
| fileId required | integer >= 1 The id of the file to add the contacts to. |
The body of the request to add multiple contacts to a file.
Array of objects The contacts to add to the file. | |
| onBehalfOf | string The id of the user to add the contacts for. When provided, the contacts are owned by that user while the authenticated caller is recorded as their creator. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "contacts": [
- {
- "actionAttribute": "Empty",
- "type": "Broker",
- "isEntity": true,
- "isUser": true,
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokeragePhoneNumber": "string",
- "faxPhoneNumber": "string",
- "primaryAddress": {
- "streetNumber": "string",
- "streetName": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "st",
- "postalCode": "string",
- "county": "string"
}, - "companyName": "string",
- "agentLicenseNumber": "string",
- "agentMLSCode": "string",
- "brokerLicenseNumber": "string",
- "brokerMLSCode": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "lenderLicenseNumber": "string"
}
], - "onBehalfOf": "string"
}{- "totalRecordsAdded": 3,
- "contacts": [
- {
- "index": 0,
- "contactId": 101,
- "type": "Seller",
- "isEntity": false,
- "firstName": "John",
- "lastName": "Smith",
- "email": "[email protected]"
}, - {
- "index": 1,
- "contactId": 102,
- "type": "Seller",
- "isEntity": false,
- "firstName": "Jane",
- "lastName": "Smith",
- "email": "[email protected]"
}, - {
- "index": 2,
- "contactId": 103,
- "type": "TitleOfficer",
- "isEntity": true,
- "companyName": "Acme Title Co"
}
]
}Delete a contact from a file.
| contactId required | integer >= 1 The id of the contact to delete. |
| fileId required | integer >= 1 The id of the file to delete the contact from. |
{- "contactId": 123456
}Retrieve the details and field definitions for a document by its id.
| documentId required | integer >= 1 The id of the document to retrieve. |
| page | integer >= 1 Default: 1 The page number of fields to retrieve. |
| pageSize | integer [ 1 .. 500 ] Default: 10 The number of fields returned per page. |
{- "id": 211469,
- "formName": "Purchase Agreement Form",
- "formId": null,
- "formVersionId": 28081,
- "fileId": 582186,
- "pageCount": 3,
- "documentType": "Forms",
- "createdBy": "00u1j6qlmwclWMB9O357",
- "updatedBy": null,
- "createdOn": "2024-01-15T10:30:00Z",
- "updatedOn": "2026-02-02T18:32:58Z",
- "ownedBy": "00u1j6qlmwclWMB9O357",
- "page": 1,
- "pageSize": 10,
- "totalItems": 1,
- "totalPages": 1,
- "fields": [
- {
- "id": "Text1-482.70001220703125-104.5369873046875-0",
- "name": "Text1",
- "dataRef": "Text1",
- "type": "text",
- "originalType": "textinputblock",
- "xCoordinate": 482.70001220703125,
- "yCoordinate": 104.5369873046875,
- "width": 92.16796875,
- "height": 11.880000114440918,
- "pageNumber": 0,
- "fontSize": 8,
- "isReadOnly": false,
- "isTabbable": true,
- "isFirstAggregateField": false,
- "isGlobal": false,
- "isOptional": false,
- "isDefaultToday": false,
- "digisignAllowOverrideIsOptional": true,
- "format": null,
- "order": null,
- "clientType": null,
- "position": null,
- "entityDisplayRule": null,
- "fieldDisplay": null,
- "listingFieldName": null,
- "listingTableName": null,
- "referenceListingFieldName": null,
- "group": null,
- "domainFieldMetaData": null,
- "associatedDataRefs": [ ]
}
]
}Update the field values of a document. Only the fields supplied in the request body will be updated; existing values of other fields are preserved.
| documentId required | integer >= 1 The id of the document to update. |
A JSON object containing the document field data references and their values to be updated. Only the fields supplied will be updated; existing values of other fields are preserved.
| property name* additional property | any |
{ }{- "documentId": 123456,
- "didAddendumsChange": false
}Retrieve the documents metadata for a file. To download documents with proper branding and data stamping, use the /files/:fileId/documents/download or /files/:fileId/documents/download/pdf endpoints.
| fileId required | integer >= 1 The id of the file to retrieve documents for. |
{- "totalRecords": 1,
- "documents": [
- {
- "id": 123456,
- "formName": "Purchase Agreement Form",
- "formId": 789,
- "formVersionId": 1011,
- "fileId": 456789,
- "pageCount": 5,
- "documentType": "Forms",
- "createdBy": "00u123456789abcdef",
- "updatedBy": "00u123456789abcdef",
- "createdOn": "2024-01-15T10:30:00Z",
- "updatedOn": "2024-01-15T10:30:00Z",
- "ownedBy": "00u123456789abcdef"
}
]
}Add one or more documents to a file. Supply onBehalfOf to add the documents for a user who has granted delegate access to the authenticated caller; the forms are then resolved against that user's libraries rather than the caller's.
| fileId required | integer >= 1 The id of the file to add the documents to. |
| formIds required | Array of integers non-empty An array of the Form Ids of the Forms to add to the file. |
| onBehalfOf | string The id of the user to add the documents for. When provided, the documents are owned by that user while the authenticated caller is recorded as their creator, and the forms are resolved against that user's libraries rather than the caller's. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "formIds": [
- 0
], - "onBehalfOf": "string"
}{- "documentIds": [
- 1,
- 2,
- 3
]
}Retrieve the signed documents for a file.
| fileId required | integer >= 1 The id of the file to retrieve signed documents for. |
{- "totalRecords": 2,
- "documents": [
- {
- "envelopeDocumentId": 1,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "asdimfao9im38-a98sdng-9",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 1,
- "externalDocumentId": "asdimfao9im38-a98sdng-9",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Addendum",
- "documentAvailable": true,
- "unavailableReason": null,
- "pageCount": 6,
- "filename": "document1.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}, - {
- "envelopeDocumentId": 2,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 2,
- "externalDocumentId": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Counter Offer",
- "documentUrl": null,
- "documentAvailable": false,
- "unavailableReason": "NotFound",
- "pageCount": 2,
- "filename": "document2.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}
]
}Retrieve the signed documents for a single envelope in a file.
| fileId required | integer >= 1 The id of the file to retrieve signed documents for. |
| formsEnvelopeId required | integer >= 1 The Forms id of the envelope to retrieve signed documents for. This is the numeric |
{- "totalRecords": 2,
- "documents": [
- {
- "envelopeDocumentId": 1,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "asdimfao9im38-a98sdng-9",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 1,
- "externalDocumentId": "asdimfao9im38-a98sdng-9",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Addendum",
- "documentAvailable": true,
- "unavailableReason": null,
- "pageCount": 6,
- "filename": "document1.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}, - {
- "envelopeDocumentId": 2,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 2,
- "externalDocumentId": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Counter Offer",
- "documentUrl": null,
- "documentAvailable": false,
- "unavailableReason": "NotFound",
- "pageCount": 2,
- "filename": "document2.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}
]
}Subscribe a file to the signed documents webhook.
| fileId required | integer >= 1 The id of the file to subscribe to the signed documents webhook. |
| webhookUrl required | string The url to send the webhook response to when documents are signed documents. |
{- "webhookUrl": "string"
}{- "subscribed": true
}Upload a PDF document to a file. Max size 25MB. Accepts multipart/form-data with fields: DocumentName (string), DocumentBody (binary PDF file), IsSignedDocument (true/false, optional), onBehalfOf (string, optional). Supply onBehalfOf to upload the document for a user who has granted delegate access to the authenticated caller; the document is then owned by that user while the caller is recorded as its creator.
| fileId required | integer >= 1 The id of the file to upload the document to. |
{- "documentId": 0
}Retrieve the signed documents for a single envelope in a file.
| fileId required | integer >= 1 The id of the file to retrieve signed documents for. |
| formsEnvelopeId required | integer >= 1 The Forms id of the envelope to retrieve signed documents for. This is the numeric |
{- "totalRecords": 2,
- "documents": [
- {
- "envelopeDocumentId": 1,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "asdimfao9im38-a98sdng-9",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 1,
- "externalDocumentId": "asdimfao9im38-a98sdng-9",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Addendum",
- "documentAvailable": true,
- "unavailableReason": null,
- "pageCount": 6,
- "filename": "document1.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}, - {
- "envelopeDocumentId": 2,
- "formsEnvelopeId": 678,
- "envelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "digisignDocumentGuid": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "envelopeName": "Envelope Name",
- "dateSigned": "2023-12-31T12:12:12Z",
- "fileId": 1,
- "documentId": 2,
- "externalDocumentId": "b81f2c74-5d0a-4e63-8f19-3c7a9e2d5b40",
- "externalEnvelopeId": "a4e1b0c2-7f3d-4a19-9c85-2b6f0d7e1a34",
- "externalType": "DigiSign",
- "documentAddedDate": "2024-01-02T17:51:38Z",
- "documentName": "Counter Offer",
- "documentUrl": null,
- "documentAvailable": false,
- "unavailableReason": "NotFound",
- "pageCount": 2,
- "filename": "document2.pdf",
- "ownedBy": "00u24fri71ChN970u357"
}
]
}Get the envelopes associated with a file.
| fileId required | integer >= 1 The id of the file to retrieve envelopes for. |
| page | integer >= 1 Default: 1 The page number to retrieve. |
| pageSize | integer [ 1 .. 500 ] Default: 10 The number of files returned per page. |
| filters | string A sieve filter to that will be applied to the results. |
| sorts | string A sieve list of sort fields to sort the results by. |
{- "totalRecords": 0,
- "envelopes": [
- {
- "id": "string",
- "name": "string",
- "status": "string",
- "isDeleted": true,
- "fileId": 0,
- "externalId": "string",
- "dateSent": "string",
- "updatedOn": "string",
- "ownedBy": "string",
- "documentIds": [
- 0
], - "signers": [
- {
- "id": "string",
- "dateSigned": "string",
- "contactId": "string",
- "envelopeId": "string",
- "externalId": "string",
- "createdBy": "string",
- "updatedBy": "string",
- "createdOn": "string",
- "updatedOn": "string",
- "ownedBy": "string"
}
]
}
]
}Create an envelope for a file. Supply onBehalfOf to create the envelope for a user who has granted delegate access to the authenticated caller; the envelope is then owned by that user and is sent from them when it goes out for signature.
| fileId required | integer >= 1 The id of the file to add the envelope to. |
| envelopeName required | string The name of the envelope to add to the file. |
| documentIds required | Array of numbers An array of the ids of the documents to add to the envelope. |
| onBehalfOf | string The id of the user to create the envelope for. When provided, the envelope is owned by that user while the authenticated caller is recorded as its creator, and the envelope is sent from that user when it goes out for signature. Requires that the user has granted delegate access to the authenticated caller; requests without a valid grant are rejected with a 404. |
{- "envelopeName": "string",
- "documentIds": [
- 0
], - "onBehalfOf": "string"
}{- "fileId": 539181,
- "envelope": {
- "id": 115682,
- "name": "My Envelope Name"
}
}Subscribe a file to the signed documents webhook.
| fileId required | integer >= 1 The id of the file to subscribe to the signed documents webhook. |
| webhookUrl required | string The url to send the webhook response to when documents are signed documents. |
{- "webhookUrl": "string"
}{- "subscribed": true
}Get all of the Forms that the currently authenticated user has access to.
| libraryIds | Array of integers Supply an array of library ids to filter the forms by. NOTE: If a libraryId is provided that the current user does not have access to, it will be ignored. |
| page | integer >= 1 Default: 1 The page number to retrieve. |
| pageSize | integer >= 1 Default: 10 The number of forms returned per page. |
{- "totalRecords": 2,
- "forms": [
- {
- "id": 36095,
- "name": "Agreement Notice to Short Sale Addendum (Short Sale)",
- "libraryId": 14289,
- "attributes": {
- "form-type": "BRBC"
}
}, - {
- "id": 40144,
- "name": "BRBC Buyer Representation And Broker Compensation Agreement",
- "libraryId": 14289,
- "attributes": {
- "form-type": "BRBC"
}
}
],
}Retrieve the collaborators of the currently authenticated user - everyone they share Forms access with, in either direction. Collaborators with isReceivingAccess have shared their access with the caller, and their ids are the values accepted as onBehalfOf on the file write endpoints. Collaborators with only isSharingAccess cannot be used that way.
{- "totalRecords": 2,
- "collaborators": [
- {
- "id": "00u1yty4blc3BdenQ358",
- "firstName": "Dario",
- "middleName": null,
- "lastName": "Himmat",
- "suffix": null,
- "isReceivingAccess": true,
- "isSharingAccess": false,
- "isGroupUser": false
}, - {
- "id": "00u1wvs6v6tT2GynA358",
- "firstName": "Edin",
- "middleName": null,
- "lastName": "Malique",
- "suffix": null,
- "isReceivingAccess": false,
- "isSharingAccess": true,
- "isGroupUser": true
}
]
}{- "id": "string",
- "subscriberId": "string",
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "email": "string",
- "primaryPhoneNumber": "string",
- "brokerageName": "string",
- "brokerageAddress": {
- "streetAddress": "string",
- "unitNumber": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "county": "string"
}, - "brokeragePhone": "string",
- "brokerageFax": "string",
- "regions": [
- {
- "country": "string",
- "region": "string"
}
], - "libraries": [
- 0
], - "authProfiles": [
- null
], - "isInitialized": true,
- "termAcceptanceDate": "string",
- "mlsCode": "string",
- "licenseNumber": "string",
- "brokerageLicenseNumber": "string",
- "brokerageMLSCode": "string",
- "isAutoDeletePreDraftEnvelopeAllowed": true,
- "isAutoDeleteFormAllowed": true,
- "consentedAssociations": [
- "string"
], - "userPreferences": {
- "digitalSigningPlatformPreference": "string",
- "nhdProviderPreference": "string"
}, - "location": "string",
- "createdOn": "string",
- "createdBy": "string",
- "updatedOn": "string",
- "updatedBy": "string"
}Create a new group via accounts-api.
| brokerageId | string The brokerage id for the new group. If not provided, will be auto-generated with prefix "partnerApi_". |
| brokerageName | string The name of the brokerage. |
{- "brokerageId": "string",
- "brokerageName": "string"
}{- "groupId": "string"
}Create a new child group for a parent group via accounts-api.
| groupId required | string non-empty The id of the parent group. |
| name required | string non-empty The name of the child group. |
{- "name": "string"
}{- "childGroupId": "string"
}Add group to a user.
| userId required | string non-empty The id of the user to add to the group. |
| groupId required | string non-empty The id of the group to add the user to. |
{- "code": "string",
- "message": "string",
- "errors": [
- "string"
], - "traceId": "string"
}Remove a user from a group.
| userId required | string non-empty The id of the user to remove from the group. |
| groupId required | string non-empty The id of the group to remove the user from. |
{- "code": "string",
- "message": "string",
- "errors": [
- "string"
], - "traceId": "string"
}Retrieve the form versions for a specific library.
| libraryId required | integer >= 1 The id of the library to retrieve form versions for. |
{- "totalRecords": 5,
- "formVersions": [
- {
- "id": 36094,
- "formId": 35345,
- "name": "Addendum Copy Test",
- "attributes": {
- "quickAction": "delete"
}, - "publishedVersionId": 36094,
- "thumbnailUrl": "url-here"
}, - {
- "id": 36095,
- "formId": 35931,
- "name": "BIC CAR TEST - FOO",
- "attributes": {
- "formType": "BRBC"
}, - "publishedVersionId": 36095,
- "thumbnailUrl": "url-here"
}, - {
- "id": 41054,
- "formId": 40355,
- "name": "BRBC - CRMLS testing",
- "attributes": {
- "formType": "BRBC",
- "isCarBRBC": "true",
- "quickAction": "BuyerAgreement",
- "hasStartDate": "true",
- "isCRMLSTracked": "true"
}, - "publishedVersionId": 41054,
- "thumbnailUrl": "url-here"
}, - {
- "id": 41063,
- "formId": 40362,
- "name": "BRBC - CRMLS testing - no dates",
- "attributes": {
- "formType": "BRBC",
- "isCarBRBC": "true",
- "quickAction": "BuyerAgreement",
- "hasStartDate": "true",
- "isCRMLSTracked": "true",
- "downloadWithoutAddress": "true"
}, - "publishedVersionId": 41063,
- "thumbnailUrl": "url-here"
}, - {
- "id": 41046,
- "formId": 39761,
- "name": "BRBC Buyer Representation And Broker Compensation Agreement - CAR",
- "attributes": {
- "formType": "BRBC",
- "isCarBRBC": "true",
- "quickAction": "BuyerAgreement",
- "QuickActions": "BuyerAgreement",
- "hasStartDate": "true",
- "isCRMLSTracked": "true"
}, - "publishedVersionId": 41046,
- "thumbnailUrl": "url-here"
}
]
}Retrieve the buyer agreements for a specific market.
| filters | string A sieve list of filters that will be applied to the results. |
{- "totalRecords": 1,
- "files": [
- {
- "id": 1,
- "memberName": "Member Name",
- "memberId": "Member ID",
- "executionDate": "2023-11-31T12:12:12.123Z",
- "expirationDate": "2023-12-31T12:12:12.123Z",
- "completedDate": "2023-12-21T12:12:12.123Z",
- "isCarBRBC": true
}
]
}