RESTful API of Photo Sessions bounded context
Headers
As this API is working with JSON every request must add the following headers:
Accept: application/json
And for requests with body:
Content-Type: application/json
Home Checkers ¶
Home Checkers ¶
View all Home CheckersGET/home-checkers{?ids,cityId,email,enabled,level,page,itemsPerPage}
Example URI
- ids
array[string](optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36ddCriteria by ids.
- cityId
string(optional) Example: madridstring(optional) Example: someemail@spotahome.com- enabled
boolean(optional) Example: true- level
string(optional)-
A
-
B
-
C
-
D
-
- page
number(optional) Example: 1- itemsPerPage
number(optional) Example: 100
Headers
Content-Type: application/json
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
{
"count": 2,
"total": 2,
"_links": {
"self": {
"href": "/home-checkers?page=1"
},
"first": {
"href": "/home-checkers?page=1"
},
"last": {
"href": "/home-checkers?page=2"
},
"next": {
"href": "/home-checkers?page=1"
},
"previous": {
"href": "/home-checkers?page=2"
}
},
"_embedded": {
"sah:home-checkers": [
{
"id": "aaaaa-bbbb-cccc",
"firstName": "Homer",
"lastName": "Jay Simpson",
"email": "homer@springfield.com",
"profilePicture": "https://pbs.twimg.com/profile_images/725013638411489280/4wx8EcIA.jpg",
"cityId": "springfield",
"enabled": true,
"phone": "+34666999666",
"notes": "notes",
"level": "A"
}
]
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"count": {
"type": "number"
},
"total": {
"type": "number"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"first": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"last": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"next": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"previous": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
}
},
"required": [
"self",
"first",
"last"
]
},
"_embedded": {
"type": "object",
"properties": {
"sah:home-checkers": {
"type": "array"
}
}
}
},
"required": [
"count",
"total",
"_links"
]
}400Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be understood by the server due to malformed syntax",
"status": 400,
"title": "Bad Request",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Home checker ¶
View a home checkerGET/home-checkers/{id}
Example URI
- id
string(required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Headers
Content-Type: application/json
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
{
"id": "aaaaa-bbbb-cccc",
"firstName": "Homer",
"lastName": "Jay Simpson",
"email": "homer@springfield.com",
"profilePicture": "https://pbs.twimg.com/profile_images/725013638411489280/4wx8EcIA.jpg",
"cityId": "springfield",
"enabled": true,
"phone": "+34666999666",
"notes": "notes",
"level": "A"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"email": {
"type": "string"
},
"profilePicture": {
"type": "string"
},
"cityId": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"phone": {
"type": "string"
},
"notes": {
"type": "string"
},
"level": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D"
]
}
},
"required": [
"id",
"firstName",
"email",
"enabled"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Update details from a Home checkerPUT/home-checkers/{id}
Example URI
- id
string(required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Headers
Content-Type: application/json
Authorization: aa.bb.ccBody
{
"cityId": "madrid",
"phone": "+34900202122",
"notes": "text to include in notes",
"level": "A"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"cityId": {
"type": "string",
"enum": [
"madrid",
"barcelona",
"bilbao",
"valencia",
"seville",
"brussels",
"dublin",
"london",
"rome",
"milan",
"paris",
"lyon",
"dubai",
"vienna",
"istanbul",
"turin",
"bologna",
"florence"
]
},
"phone": {
"type": [
"string",
"null"
]
},
"notes": {
"type": [
"string",
"null"
]
},
"level": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D"
]
}
},
"required": [
"cityId",
"level"
]
}204Headers
Content-Type: application/json401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Home ¶
View cancellation actorsGET/home-checkers/levels
Example URI
Headers
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
[
"A",
"B",
"C",
"D"
]401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Sessions ¶
Photo Sessions ¶
Create an Outbound Photo SessionPOST/photo-sessions
Example URI
Headers
Content-Type: application/json
Authorization: aa.bb.ccBody
{
"homeCheckerId": "fb459921-ab2b-406c-9f7b-9b9cefc9f889",
"type": "verified",
"propertyId": "123456",
"date": "2018-09-11T22:34:56+00:00",
"notes": "{\\\"notes\\\": \\\"QA test\\\"}",
"mode": "physical",
"requester": "spotahome",
"checker": "homechecker"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"homeCheckerId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"verified",
"unverified",
"additionalVerified",
"additionalUnverified",
"convert"
]
},
"propertyId": {
"type": "string"
},
"date": {
"type": "string"
},
"notes": {
"type": [
"string",
"null"
],
"description": "JSON Format"
},
"mode": {
"type": "string",
"enum": [
"physical",
"virtual"
]
},
"requester": {
"type": "string",
"enum": [
"spotahome",
"landlord",
"tenant"
]
},
"checker": {
"type": "string",
"enum": [
"homechecker",
"tenant"
]
}
},
"required": [
"homeCheckerId",
"type",
"propertyId",
"date"
]
}201Headers
Content-Type: application/json
Location: /photo-session/{new-id}400Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be understood by the server due to malformed syntax",
"status": 400,
"title": "Bad Request",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}422Headers
Content-Type: application/jsonBody
{
"detail": "The request was well formed but was unable to be followed due to semantic errors",
"status": 422,
"title": "Unprocessable Entity",
"type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
"validationMessages": {
"field": {
"stringLength": "The input is less than 6 characters long"
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string",
"description": "sec10.html (string, required)"
},
"validationMessages": {
"type": "object",
"properties": {
"field": {
"type": "object",
"properties": {
"stringLength": {
"type": "string"
}
},
"required": [
"stringLength"
]
}
},
"description": "Contains a property for each field that failed validation."
}
},
"required": [
"detail",
"status",
"title"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}View all Photo SessionsGET/photo-sessions{?id,accountId,homeCheckerId,type,dateFrom,dateTo,stage,stages,source,sources,propertyId,ownerId,cities,mode,requester,checker,page,itemsPerPage,sort}
Example URI
- page
number(optional) Example: 1- itemsPerPage
number(optional) Example: 100- id
string(optional) Example: aaaaa-bbbbb-ccccc- accountId
string(optional) Example: aaaaa-bbbbb-ccccc- homeCheckerId
string(optional) Example: aaaaa-bbbbb-ccccc- type
string(optional)-
verified
-
unverified
-
additionalVerified
-
additionalUnverified
-
convert
-
- types
array[enum[string]](optional)Criteria by multiple types.
-
verified
-
unverified
-
additionalVerified
-
additionalUnverified
-
convert
-
- dateFrom
string(optional) Example: 2016-12-29- dateTo
string(optional) Example: 2016-12-29- stage
string(optional)-
pre
-
confirmed
-
cancelled
-
stopped
-
- stages
array[enum[string]](optional)Criteria by multiple stages.
-
pre
-
confirmed
-
cancelled
-
stopped
-
- ownerId
string(optional) Example: fb459921-ab2b-406c-9f7b-9b9cefc9f889- propertyId
string(optional) Example: 200110- cities
array[string](optional) Example: MadridCriteria by cities.
- mode
string(optional)-
physical
-
virtual
-
- requester
string(optional)-
spotahome
-
landlord
-
tenant
-
- checker
string(optional)-
homechecker
-
tenant
-
- sort
string(optional) Example: accountId,homeCheckerId,type,date,_id,stageWithout symbol
date(ascending), with negative symbol-date(descending)- source
string(optional)-
selfService
-
landlordPanel
-
outbound
-
- sources
array[enum[string]](optional)Criteria by multiple sources.
-
selfService
-
landlordPanel
-
outbound
-
Headers
Content-Type: application/json200Headers
Content-Type: application/jsonBody
{
"count": 2,
"total": 2,
"_links": {
"self": {
"href": "/photo-sessions?page=1"
},
"first": {
"href": "/photo-sessions?page=1"
},
"last": {
"href": "/photo-sessions?page=2"
},
"next": {
"href": "/photo-sessions?page=1"
},
"previous": {
"href": "/photo-sessions?page=2"
}
},
"_embedded": {
"photo_sessions": [
{
"id": "aaaaa-bbbbb-ccccc",
"homeCheckerId": "aaaaa-bbbbb-ccccc",
"type": "verified",
"date": "2017-02-01T12:00:00+00:00",
"stage": "pre",
"ownerId": "fb459921-ab2b-406c-9f7b-9b9cefc9f889",
"propertyId": "200123",
"location": {
"addressLine1": "Avenida de la Palmera, 60",
"addressLine2": "1º Izquierda",
"city": "Sevilla",
"cityId": "seville",
"neighbourhoodId": "26dcfa67-f027-4633-8edc-f0847aa086ce",
"postalCode": "41013",
"country": "spain",
"latitude": 37.356508,
"longitude": -5.983941
},
"notes": "Additional notation",
"source": "selfService",
"mode": "virtual",
"requester": "tenant",
"checker": "homechecker"
}
]
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"count": {
"type": "number"
},
"total": {
"type": "number"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"first": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"last": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"next": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
},
"previous": {
"type": "object",
"properties": {
"href": {
"type": "string"
}
},
"required": [
"href"
]
}
},
"required": [
"self",
"first",
"last"
]
},
"_embedded": {
"type": "object",
"properties": {
"photo_sessions": {
"type": "array"
}
}
}
},
"required": [
"count",
"total",
"_links"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Single Photo Session ¶
View single Photo SessionGET/photo-sessions/{id}
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Content-Type: application/json200Headers
Content-Type: application/jsonBody
{
"id": "aaaaa-bbbbb-ccccc",
"homeCheckerId": "aaaaa-bbbbb-ccccc",
"type": "verified",
"date": "2017-02-01T12:00:00+00:00",
"stage": "pre",
"ownerId": "fb459921-ab2b-406c-9f7b-9b9cefc9f889",
"propertyId": "200123",
"location": {
"addressLine1": "Avenida de la Palmera, 60",
"addressLine2": "1º Izquierda",
"city": "Sevilla",
"cityId": "seville",
"neighbourhoodId": "26dcfa67-f027-4633-8edc-f0847aa086ce",
"postalCode": "41013",
"country": "spain",
"latitude": 37.356508,
"longitude": -5.983941
},
"notes": "Additional notation",
"source": "selfService",
"mode": "virtual",
"requester": "tenant",
"checker": "homechecker"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"homeCheckerId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"verified",
"unverified",
"additionalVerified",
"additionalUnverified",
"convert"
]
},
"date": {
"type": "string"
},
"stage": {
"type": "string",
"enum": [
"pre",
"confirmed",
"cancelled",
"stopped"
]
},
"ownerId": {
"type": "string"
},
"propertyId": {
"type": "string"
},
"location": {
"type": [
"object",
"null"
],
"properties": {
"addressLine1": {
"type": "string"
},
"addressLine2": {
"type": "string"
},
"city": {
"type": "string"
},
"cityId": {
"type": "string",
"enum": [
"seville",
"madrid",
"barcelona",
"bilbao",
"valencia",
"granada",
"brussels",
"dublin",
"london",
"rome",
"milan",
"paris",
"lyon",
"dubai",
"berlin",
"vienna",
"istanbul",
"turin",
"bologna",
"florence"
]
},
"neighbourhoodId": {
"type": [
"string",
"null"
]
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
},
"latitude": {
"type": "number",
"description": "Between -90 and 90"
},
"longitude": {
"type": "number",
"description": "Between -180 and 180"
}
},
"required": [
"addressLine1",
"city",
"cityId",
"neighbourhoodId",
"postalCode",
"country",
"latitude",
"longitude"
]
},
"notes": {
"type": "string"
},
"source": {
"type": [
"string",
"null"
],
"enum": [
"selfService",
"landlordPanel",
"outbound",
null
]
},
"mode": {
"type": "string",
"enum": [
"virtual",
"physical"
]
},
"requester": {
"type": "string",
"enum": [
"tenant",
"landlord",
"spotahome"
]
},
"checker": {
"type": "string",
"enum": [
"homechecker",
"tenant"
]
}
},
"required": [
"id",
"homeCheckerId",
"type",
"date",
"stage",
"ownerId",
"propertyId",
"location",
"mode",
"requester",
"checker"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Reschedule a Photo SessionPUT/photo-sessions/{id}
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.ccBody
{
"date": "2017-11-05T00:00:00+00:00",
"homeCheckerId": "aaaaa-bbbbb-ccccc"
}Schema
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"homeCheckerId": {
"type": [
"string",
"null"
]
}
},
"required": [
"date",
"homeCheckerId"
],
"$schema": "http://json-schema.org/draft-04/schema#"
}204401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}409Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}422Headers
Content-Type: application/jsonBody
{
"detail": "The request was well formed but was unable to be followed due to semantic errors",
"status": 422,
"title": "Unprocessable Entity",
"type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
"validationMessages": {
"field": {
"stringLength": "The input is less than 6 characters long"
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string",
"description": "sec10.html (string, required)"
},
"validationMessages": {
"type": "object",
"properties": {
"field": {
"type": "object",
"properties": {
"stringLength": {
"type": "string"
}
},
"required": [
"stringLength"
]
}
},
"description": "Contains a property for each field that failed validation."
}
},
"required": [
"detail",
"status",
"title"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Finish a Photo SessionDELETE/photo-sessions/{id}
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.cc204401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}409Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Confirmation ¶
Confirm a Photo SessionPUT/photo-sessions/{id}/confirmation
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.cc204Headers
Content-Type: application/json401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}409Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Cancellation ¶
Cancel a Photo SessionPUT/photo-sessions/{id}/cancellation
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.ccBody
{
"cancelledBy": "byLandlord",
"cancellationReason": "Because the landlord is going to sell the flat"
}Schema
{
"type": "object",
"properties": {
"cancelledBy": {
"enum": [
"byLandlord",
"byHomeChecker"
]
},
"cancellationReason": {
"type": "string"
}
},
"required": [
"cancellationReason"
],
"$schema": "http://json-schema.org/draft-04/schema#"
}204401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}409Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Owner ¶
Change owner of a Photo SessionPUT/photo-sessions/{id}/owner
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.ccBody
{
"ownerId": "dddddd-gggggg.pppppp"
}Schema
{
"type": "object",
"properties": {
"ownerId": {
"type": "string"
}
},
"required": [
"ownerId"
],
"$schema": "http://json-schema.org/draft-04/schema#"
}204401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}409Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Notes ¶
Update the home checker notes on a Photo SessionPUT/photo-sessions/{id}/notes
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.ccBody
{
"notes": "{\\\"notes\\\": \\\"New note\\\"}"
}Schema
{
"type": "object",
"properties": {
"notes": {
"type": "string",
"description": "JSON Format"
}
},
"required": [
"notes"
],
"$schema": "http://json-schema.org/draft-04/schema#"
}204Headers
Content-Type: application/json400Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be understood by the server due to malformed syntax",
"status": 400,
"title": "Bad Request",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Information ¶
Update the information for a Photo SessionPUT/photo-sessions/{id}/information
Example URI
- id
string(required) Example: aaaaa-bbbbb-ccccc
Headers
Authorization: aa.bb.ccBody
{
"mode": "physical",
"requester": "spotahome",
"checker": "homechecker"
}Schema
{
"type": "object",
"properties": {
"mode": {
"enum": [
"physical",
"virtual"
]
},
"requester": {
"enum": [
"spotahome",
"landlord",
"tenant"
]
},
"checker": {
"enum": [
"homechecker",
"tenant"
]
}
},
"required": [
"mode",
"requester",
"checker"
],
"$schema": "http://json-schema.org/draft-04/schema#"
}204Headers
Content-Type: application/json400Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be understood by the server due to malformed syntax",
"status": 400,
"title": "Bad Request",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}403Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}404Headers
Content-Type: application/jsonBody
{
"detail": "The resource was not found",
"status": 404,
"title": "Not Found",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Cancellation reasons ¶
View cancellation actorsGET/photo-sessions/cancellation-reasons
Example URI
Headers
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
[
"byHomeChecker",
"byLandlord"
]401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Landlord cancellation reasons ¶
View all landlord cancellation reasonsGET/photo-sessions/landlord-cancellation-reasons
Example URI
Headers
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
[
"flatNotReady",
"propertyAlreadyRented",
"notInterestedAnymore"
]401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Home checker cancellation reasons ¶
View all home checker cancellation reasonsGET/photo-sessions/home-checker-cancellation-reasons
Example URI
Headers
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
[
"unfurnishedProperty",
"wrongKeysProvided",
"propertyManagerWithoutKeys",
"propertyAlreadyRented",
"landlordCannotDoEntireVisit",
"badConditions"
]401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Stages ¶
View all Photo Session StagesGET/photo-sessions/stages
Example URI
Headers
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
[
"pre",
"confirmed",
"cancelled",
"stopped"
]401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Photo Session Types ¶
View all Photo Session TypesGET/photo-sessions/types
Example URI
Headers
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
[
"verified",
"unverified",
"additionalVerified",
"additionalUnverified",
"convert"
]401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Inbound Photo Sessions ¶
Request an inbound photo sessionPOST/photo-sessions/automatic-scheduling
Example URI
Headers
Content-Type: application/json
Authorization: aa.bb.ccBody
{
"date": "2018-09-11T22:34:56+00:00",
"propertyId": "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"notes": "{\\\"notes\\\": \\\"New note\\\"}",
"source": "selfService"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"date": {
"type": "string"
},
"propertyId": {
"type": "string"
},
"notes": {
"type": [
"string",
"null"
],
"description": "JSON Format"
},
"source": {
"type": [
"string",
"null"
],
"enum": [
"selfService",
"landlordPanel",
"outbound",
null
]
}
},
"required": [
"date",
"propertyId"
]
}201Headers
Location: /photo-sessions/aaaa-bbbb-cccc-dddd400Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}409Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}422Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be completed due to a conflict with the current state of the resource",
"status": 409,
"title": "Conflict",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}City Calendar Free Slots ¶
Obtain free slots from city calendarGET/photo-sessions/free-slots{?cityId,dateFrom}
Example URI
- cityId
string(required) Example: madrid- dateFrom
string(required) Example: 2018-09-11
Headers
Content-Type: application/json
Authorization: aa.bb.cc200Headers
Content-Type: application/jsonBody
{
"date1[YYYY": "Hello, world!",
"date2[YYYY": "Hello, world!"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"date1[YYYY": {
"type": "string",
"description": "MM-DD] (array[FreeSlot])"
},
"date2[YYYY": {
"type": "string",
"description": "MM-DD] (array[FreeSlot])"
}
}
}400Headers
Content-Type: application/jsonBody
{
"detail": "The request could not be understood by the server due to malformed syntax",
"status": 400,
"title": "Bad Request",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}401Headers
Content-Type: application/jsonBody
{
"detail": "Unauthorized user",
"status": 401,
"title": "Unauthorized",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}500Headers
Content-Type: application/jsonBody
{
"detail": "Internal Server Error",
"status": 500,
"title": "Internal Server Error",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "number"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"detail",
"status",
"title",
"type"
]
}Domain Events ¶
Photo Sessions BC domain events
HomeCheckerWasRegistered
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"email": "ash@kanto.com",
"firstName": "Ash",
"lastName": "Ketchum",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
email (string, required)
-
firstName (string, required)
-
lastName (string, required, nullable)
-
occurredOn (string, required)
HomeCheckerWasEnabled
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
occurredOn (string, required)
HomeCheckerWasDisabled
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
occurredOn (string, required)
HomeCheckerProfilePictureWasAssigned
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"profilePicture": "220426b9-32df-4c89-94eb-651df073b1fd.jpg",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
profilePicture (string, required)
-
occurredOn (string, required)
HomeCheckerCityWasAssigned
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"city": "madrid",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
city (string, required)
-
occurredOn (string, required)
HomeCheckerPhoneWasUpdated
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"phone": "+34666999666",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
phone (string, required)
-
occurredOn (string, required)
HomeCheckerInfoWasUpdated
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"cityId": "madrid",
"phone": "+34666666666",
"notes": "notes notes",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
cityId (string, required)
-
phone (string,required, nullable)
-
notes (string, required, nullable)
-
occurredOn (string, required)
HomeCheckerNotesWereUpdated
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"notes": "notes notes",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
notes (string, required, nullable)
-
occurredOn (string, required)
HomeCheckerWasMarkedAsVirtual
{
"id": "220426b9-32df-4c89-94eb-651df073b1fd",
"occurredOn": "2017-11-20T15:14:12+00:00"
}
-
id (string, required)
-
occurredOn (string, required)
PhotoSessionWasScheduled
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"homeCheckerId" : "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"type" : "verified",
"date" : "2017-09-01T13:30:00+0000",
"ownerId" : "79b3d33b-6632-4e60-9auy-4c32342a0b1b",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"propertyId" : "14ed349-3a3e-4dca-ae5e-48c6370aaaaa",
"occurredOn": "2017-07-25T14:26:17+00:00",
"notes": "additional notation",
"source": "inbound",
"mode": "physical",
"requester": "spotahome",
"checker": "homechecker",
}
-
id (string, required)
-
homeCheckerId (string, required)
-
type (string, required)
-
time (string, required)
-
user (string, required)
-
propertyId (string, required)
-
notes (string, required, nullable)
-
source (enum[string], required)
- Members
- inbound
- outbound
- Members
-
mode (string, required, nullable)
-
requester (string, required, nullable)
-
checker (string, required, nullable)
-
occurredOn (string, required)
PhotoSessionWasConfirmed
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"homeCheckerId" : "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"type" : "verified",
"date" : "2017-09-01T13:30:00+0000",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00"
}
-
id (string, required)
-
homeCheckerId (string, required)
-
type (string, required)
-
time (string, required)
-
user (string, required)
-
occurredOn (string, required)
PhotoSessionWasRescheduled
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"homeCheckerId" : "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"stage" : "confirmed",
"date": "2017-07-25T14:26:17+00:00"
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00"
}
-
id (string, required)
-
homeCheckerId (string, required)
-
stage (string, required)
-
date (string, required)
-
user (string, required)
-
occurredOn (string, required)
PhotoSessionWasCancelled
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"cancelledBy" : "byLandlord",
"cancellationReason" : "badConditions",
"cancellationNotes" : "this is a note",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00"
}
-
id (string, required)
-
cancelledBy (string, required)
-
cancellationReason (string, required)
-
cancellationNotes (string, required, nullable)
-
user (string, required)
-
occurredOn (string, required)
PhotoSessionWasFinished
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00"
}
-
id (string, required)
-
user (string, required)
-
occurredOn (string, required)
PhotoSessionNotesWasChanged
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"notes" : "new note",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00"
}
-
id (string, required)
-
notes (string, required)
-
user (string, required)
-
occurredOn (string, required)
PhotoSessionCalendarEventIdWasAssigned
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"calendarEventId" : "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"occurredOn": "2017-07-25T14:26:17+00:00"
}
-
id (string, required)
-
calendarEventId (string, required)
-
occurredOn (string, required)
PhotoSessionWasMigrated
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"homeCheckerId" : "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"type" : "verified",
"date" : "2017-09-01T13:30:00+0000",
"stage" : "pre",
"propertyId" : "14ed349-3a3e-4dca-ae5e-48c6370aaaaa",
"calendarEventId" : "123456789abcde",
"ownerId" : "79b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00",
}
-
id (string, required)
-
homeCheckerId (string, required, nullable)
-
type (string, required)
-
date (string, required, nullable)
-
stage (string, required)
-
propertyId (string, required)
-
ownerId (string, required)
-
calendarEventId (string, required, nullable)
-
occurredOn (string, required)
PhotoSessionOwnerWasChanged
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"ownerId" : "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00",
}
-
id (string, required)
-
ownerId (string, required)
-
user (string, required)
-
occurredOn (string, required)
PhotoSessionInformationWasUpdated
{
"id" : "17e51329-300e-4dca-ae5e-48c6370ba509",
"mode" : "physical",
"requester" : "spotahome",
"checker" : "homechecker",
"user" : "80b3d33b-6632-4e60-9auy-4c32342a0b1b",
"occurredOn": "2017-07-25T14:26:17+00:00",
}
-
id (string, required)
-
mode (enum[string], required)
- physical
- virtual
-
requester (enum[string], required)
- spotahome
- landlord
- tenant
-
checker (enum[string], required)
- homechecker
- tenant
-
user (string, required)
-
occurredOn (string, required)