List search profiles, including Commercial criteria and recipients
Changed onSearch profiles support Commercial and Residential criteria. All operations are scoped to the API key's shop.
Endpoints and permissions
| Operation | Permission |
|---|---|
| GET /v2/saved_queries | v2_saved_queries#index |
| GET /v2/saved_queries/options | v2_saved_queries#index |
| GET /v2/saved_queries/:id | v2_saved_queries#show |
| POST /v2/saved_queries | v2_saved_queries#create |
| PUT /v2/saved_queries/:id | v2_saved_queries#update |
| DELETE /v2/saved_queries/:id | v2_saved_queries#destroy |
Send X-Api-Key and JSON request bodies. List responses contain data; pass with_total=true for total, and page/per for pagination. Lists can filter by client_id, broker_id, team_id and active. Individual reads and writes return the profile directly. Delete returns HTTP 204.
Create a Commercial search profile
{
"client_id": 123,
"marketing_type": "RENT",
"rs_type_categories": [["OFFICE", "OFFICE"]],
"net_floor_space": 100,
"net_floor_space_to": 500,
"industrial_area": 70,
"recipient_id": 456,
"to_client_ids": [456],
"cc_client_ids": [789],
"broker_id": 12
}
Replace example IDs with records in your shop. client_id identifies the profile owner. It is required unless is_master_template is true. A profile needs at least one criterion; Commercial area criteria count. recipient_id, to_client_ids and cc_client_ids configure recipients. Recipient arrays are returned as empty arrays after clearing. The domain removes archived recipients and deactivates profiles whose owner is archived.
Set either broker_id or team_id as the supervisor, never both. To change from a broker to a team, send both broker_id: null and the new team_id. Client, property, recipient and supervisor references must belong to the same shop; invalid assignments return HTTP 422. Access to another shop's profile returns HTTP 404. Missing API permissions return HTTP 403.
New property assignments must reference a non-deleted property. A profile with an existing link to a subsequently deleted property remains editable.
Criteria, clearing and options
GET /v2/saved_queries/options?locale=de returns the same grouped form metadata as GraphQL shop.queryFormSchema: field key, label, field type, conditions and selectable values. Types ending in _from_to have a lower-bound field and an upper-bound field with _to appended, such as net_floor_space and net_floor_space_to. Existing numeric, selection, geometry and category normalization rules apply. rs_type_categories uses nested type/category arrays; polygon uses the existing array of coordinate pairs.
PUT changes only supplied fields. Explicit null clears nullable values; [] clears recipient or multi-select arrays. Clearing all criteria is rejected. The API also exposes notes, custom fields, perfect_match_settings and expires_at. Use partial_custom_fields to merge individual custom-field values instead of replacing the complete custom_fields object.
Both custom-field payloads must be objects or null. Keys must reference the current shop's property custom fields enabled for search profiles and supported by the search-profile form. Numeric fields additionally accept <field_name>_to for the upper bound. Unknown, foreign, disabled or unsupported keys return HTTP 400 before any changes are saved; GraphQL reports the same validation as an execution error.
custom_fields: null or custom_fields: {} clears custom-field values. partial_custom_fields: null or partial_custom_fields: {} leaves them unchanged; use { "<field_name>": null } to clear one allowed field. Only submitted keys are validated, so unrelated updates and valid partial updates remain possible when stored data still contains a previously removed field.
The existing /api/v1/saved_queries contract remains available. GraphQL uses the equivalent camelCase fields on SavedQueryAttributes with createSavedQuery, updateSavedQuery, destroySavedQuery, and savedQuery(id:).
Request
- Base URLhttps://api.propstack.de/v2
- AuthAPI key in header X-Api-Key
Query parameters
Page number
Entities per page
Show the total count of entities
Response
List search profiles, including Commercial criteria and recipients
Changes
- info
added the non-success response with the status
- info
- info
endpoint added
- info