curl --request GET \
--url https://api.myabode.ca/v1/deals \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.myabode.ca/v1/deals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.myabode.ca/v1/deals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"object": "list",
"data": [
{
"object": "deal",
"id": "<string>",
"brokerage": "<string>",
"office": "<string>",
"status": "SUBMITTED",
"deal_type": "<string>",
"title": "<string>",
"mls_number": "<string>",
"jurisdiction_code": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"province": "<string>",
"postal_code": "<string>"
},
"list_price": "<string>",
"accepted_price": "<string>",
"sale_price": "<string>",
"monthly_rent": "<string>",
"lease_term_months": 0,
"offer_date": "2023-12-25",
"accepted_date": "2023-12-25",
"firm_date": "2023-12-25",
"close_date": "2023-12-25",
"lease_start_date": "2023-12-25",
"listing_expiry_date": "2023-12-25",
"is_exclusive_listing": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"url": "<string>",
"agents": [
{
"user": {
"type": "user",
"id": "<string>",
"name": "<string>"
},
"role": "PRIMARY",
"side": "LISTING",
"is_primary": true
}
]
}
],
"has_more": true,
"next_cursor": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}List deals
Returns the deals the member the key belongs to can read, most recently updated first, in the standard list envelope. Every filter narrows within that fence and ANDs with the others; id returns the readable deals among up to 100 ids, and a brokerage the key cannot read matches nothing. Page by passing next_cursor back as cursor. Requires the deals:read scope.
curl --request GET \
--url https://api.myabode.ca/v1/deals \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.myabode.ca/v1/deals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.myabode.ca/v1/deals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"object": "list",
"data": [
{
"object": "deal",
"id": "<string>",
"brokerage": "<string>",
"office": "<string>",
"status": "SUBMITTED",
"deal_type": "<string>",
"title": "<string>",
"mls_number": "<string>",
"jurisdiction_code": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"province": "<string>",
"postal_code": "<string>"
},
"list_price": "<string>",
"accepted_price": "<string>",
"sale_price": "<string>",
"monthly_rent": "<string>",
"lease_term_months": 0,
"offer_date": "2023-12-25",
"accepted_date": "2023-12-25",
"firm_date": "2023-12-25",
"close_date": "2023-12-25",
"lease_start_date": "2023-12-25",
"listing_expiry_date": "2023-12-25",
"is_exclusive_listing": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"url": "<string>",
"agents": [
{
"user": {
"type": "user",
"id": "<string>",
"name": "<string>"
},
"role": "PRIMARY",
"side": "LISTING",
"is_primary": true
}
]
}
],
"has_more": true,
"next_cursor": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "<string>",
"request_id": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"detail": "<string>",
"resource": "<string>"
}
]
}Authorizations
An API key of the form mya_…, sent as Authorization: Bearer mya_…. The secret is shown once, when the key is created.
Query Parameters
100110012 - 2001 - 50100Deal status. New values may be added; this is not a breaking change. Handle unknown values.
SUBMITTED, IN_PROGRESS, READY_FOR_PAYOUT, PAID_OUT, COMPLETED, FELL_THROUGH Opaque: send back a next_cursor unchanged.
11 <= x <= 100Response
OK
The /v1 list envelope. data holds this page in updated_at descending order; has_more says whether another page exists, and when it does next_cursor is the opaque token to send back as cursor to fetch it. There is no total — count what you page through.