Sharehouse Finder
Sharehouse Finder · GPT アクション
Sharehouse API
API for finding housemates on Sharehouse
GET /ai/housematesGet housemate listings by stateFetches housemate listings filtered by Australian state with pagination support.
GET /ai/roomsRetrieves a list of room listings filtered by state.
元の API スキーマ
{
"openapi": "3.0.0",
"info": {
"title": "Sharehouse API",
"description": "API for finding housemates on Sharehouse",
"version": "1.0.0"
},
"servers": [
{
"url": "https://sharehouse.app/api"
}
],
"paths": {
"/ai/housemates": {
"get": {
"operationId": "getHousematesByState",
"summary": "Get housemate listings by state",
"description": "Fetches housemate listings filtered by Australian state with pagination support.",
"parameters": [
{
"in": "query",
"name": "state",
"required": true,
"schema": {
"type": "string",
"enum": [
"NSW",
"VIC",
"QLD",
"WA",
"SA",
"TAS",
"ACT",
"NT"
]
},
"description": "State abbreviation to filter listings."
}
],
"responses": {
"200": {
"description": "A list of housemate listings",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HouseMateListing"
}
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ai/rooms": {
"get": {
"operationId": "getRoomsByState",
"summary": "Retrieves a list of room listings filtered by state.",
"parameters": [
{
"in": "query",
"name": "state",
"required": true,
"schema": {
"type": "string",
"enum": [
"NSW",
"VIC",
"QLD",
"WA",
"SA",
"TAS",
"ACT",
"NT"
]
},
"description": "State filter for room listings."
}
],
"responses": {
"200": {
"description": "A list of room listings.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 50
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoomListing"
}
}
}
}
}
}
},
"500": {
"description": "Internal server error.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"HouseMateListing": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"userId": {
"type": "string",
"nullable": true
},
"adj": {
"type": "number"
},
"longBio": {
"type": "string",
"nullable": true
},
"budget": {
"type": "number",
"nullable": true
},
"startDate": {
"type": "string",
"format": "date"
},
"imageUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"preferredLengthOfStay": {
"type": "string",
"nullable": true
},
"preferredLocations": {
"type": "array",
"items": {
"type": "integer"
}
},
"hidden": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
}
},
"RoomListing": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "room123"
},
"userId": {
"type": "string",
"example": "user456"
},
"firstName": {
"type": "string",
"example": "Jane"
},
"budget": {
"type": "number",
"example": 500
},
"startDate": {
"type": "string",
"format": "date",
"example": "2023-01-01"
},
"imageUrls": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"http://example.com/image1.jpg"
]
},
"preferredLengthOfStay": {
"type": "string",
"example": "6 months"
},
"preferredLocations": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
2000,
2100
]
},
"hidden": {
"type": "boolean",
"example": false
},
"createdAt": {
"type": "string",
"format": "date-time",
"example": "2023-01-01T12:00:00Z"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"example": "2023-01-02T12:00:00Z"
},
"ErrorResponse": {
"type": "object",
"properties": {
"statusCode": {
"type": "integer"
},
"message": {
"type": "string"
}
}
}
}
}
}
}