openapi: 3.0.1 info: title: Particle Space Address Search Listings API description: 'Particle Space is proptech infrastructure for real-estate and property data. The API is organized around REST, has resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. Requests are authenticated with an API key; the key determines whether the request runs in live mode or test mode. This specification models the documented Particle Space data-platform product areas - property records, address/property search, valuations (AVM), comparables, and listings (for sale, rent, and off-market). The exact request paths, query parameters, and response schemas should be reconciled against the live API reference at https://docs.particlespace.com/docs/intro/. Resource paths and field names below are illustrative of the documented product areas and are marked unreconciled until verified.' termsOfService: https://particlespace.com/ contact: name: Particle Space url: https://docs.particlespace.com/docs/intro/ version: '1.0' servers: - url: https://api.particlespace.com description: Conventional API host for Particle Space. Confirm the exact base URL in the live API reference before use. security: - SecretKeyAuth: [] tags: - name: Listings description: For-sale, for-rent, and off-market property listings. paths: /listings: get: operationId: listListings tags: - Listings summary: List for-sale, for-rent, and off-market listings. parameters: - name: status in: query required: false schema: type: string enum: - for_sale - for_rent - off_market description: Listing status filter. - name: address in: query required: false schema: type: string description: Address or area to match listings. - name: limit in: query required: false schema: type: integer description: Maximum number of listings to return. responses: '200': description: A list of listings. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Listing' '401': $ref: '#/components/responses/Unauthorized' /listings/{id}: get: operationId: getListing tags: - Listings summary: Retrieve a single listing. parameters: - name: id in: path required: true schema: type: string description: Listing identifier. responses: '200': description: A listing. content: application/json: schema: $ref: '#/components/schemas/Listing' '401': $ref: '#/components/responses/Unauthorized' '404': description: Listing not found. components: schemas: Property: type: object description: A property record. Field set to be reconciled against the live API reference. properties: id: type: string address: $ref: '#/components/schemas/Address' propertyType: type: string bedrooms: type: number bathrooms: type: number squareFootage: type: number yearBuilt: type: integer Error: type: object properties: error: type: object properties: type: type: string message: type: string Listing: type: object description: A for-sale, for-rent, or off-market listing. properties: id: type: string status: type: string enum: - for_sale - for_rent - off_market price: type: number address: $ref: '#/components/schemas/Address' property: $ref: '#/components/schemas/Property' Address: type: object properties: line1: type: string city: type: string state: type: string postalCode: type: string latitude: type: number longitude: type: number responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: SecretKeyAuth: type: http scheme: bearer description: Authenticate with a Particle Space secret API key (PS_SECRET_KEY) as a bearer token. The key determines live versus test mode. Confirm the exact authentication scheme and header in the live API reference.