{"openapi":"3.1.0","info":{"title":"SDEP - Statistics Authority (STA) API","description":"Read-only endpoints for the statistics authority to view all registered activity data, platforms, competent authorities and areas. Status: stable. Superseded by STA v2 (alpha).","contact":{"name":"Nationaal Coordinator SDEP","url":"https://minvro.nl/","email":"nationaalcoordinatorsdep@minbzk.nl"},"version":"1.10.0"},"paths":{"/activities":{"get":{"tags":["sta"],"summary":"Get all activities across all competent authorities and platforms","description":"Get all current activities across all competent authorities and platforms, for statistical analysis. Returns at most 1000 activities per request (the default and maximum `limit`), including current records whose lifecycle `status` is `cancelled`. Use the `offset` and `limit` pagination parameters to page through results. Optional filters use AND semantics: every provided filter narrows the result set. The `createdAtFrom` and `createdAtTo` form an inclusive `createdAt` range; `platformId`, `areaId` and `competentAuthorityId` are exact-match filters.\n\n**Each activity contains:**\n- `activityId`: Functional ID identifying this activity\n- `activityName`: Display name (optional) of the activity\n- `status`: Lifecycle status of the activity: `finished` or `cancelled`\n- `areaId`: Functional ID referencing the area where the activity took place\n- `areaName`: Display name (optional) of the area where the activity took place\n- `competentAuthorityId`: Functional ID referencing the competent authority that owns the area\n- `competentAuthorityName`: Display name (optional) of the competent authority\n- `url`: URL of the originating listing/advertisement\n- `address`: Address composite (`thoroughfare`, `locatorDesignatorNumber` (optional), `locatorDesignatorLetter` (optional), `locatorDesignatorAddition` (optional), `postCode`, `postName`, `fullAddress`)\n- `registrationNumber`: Registration number of the address\n- `numberOfGuests`: Number of guests (1-1024)\n- `countryOfGuests`: Array of country codes of guests (each element is ISO 3166-1 alpha-3 or `N/A`; array length equals `numberOfGuests`)\n- `temporal`: Temporal composite (`startDatetime`, `endDatetime`)\n- `platformId`: Functional ID referencing the platform that owns the activity\n- `platformName`: Display name (optional) of the platform\n- `createdAt`: Timestamp when this activity version was created (UTC)","operationId":"getAllActivities","security":[{"BearerAuth":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip (default: 0)","default":0,"title":"Offset"},"description":"Number of records to skip (default: 0)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return (default: 1000, max: 1000)","default":1000,"title":"Limit"},"description":"Maximum number of records to return (default: 1000, max: 1000)"},{"name":"createdAtFrom","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter activities whose createdAt timestamp is greater than or equal to this UTC value","examples":["2025-06-01T00:00:00Z"],"title":"Createdatfrom"},"description":"Filter activities whose createdAt timestamp is greater than or equal to this UTC value"},{"name":"createdAtTo","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter activities whose createdAt timestamp is less than or equal to this UTC value","examples":["2025-06-30T23:59:59Z"],"title":"Createdatto"},"description":"Filter activities whose createdAt timestamp is less than or equal to this UTC value"},{"name":"platformId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9-]+$"},{"type":"null"}],"description":"Filter by platform functional ID","examples":["sdep-str01"],"title":"Platformid"},"description":"Filter by platform functional ID"},{"name":"areaId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9-]+$"},{"type":"null"}],"description":"Filter by area functional ID","examples":["959a7439-7cad-4009-96ec-353b44723db9"],"title":"Areaid"},"description":"Filter by area functional ID"},{"name":"competentAuthorityId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9-]+$"},{"type":"null"}],"description":"Filter by competent authority functional ID","examples":["c4ac8ccf-a281-5789-bad7-28dfac20ca7f"],"title":"Competentauthorityid"},"description":"Filter by competent authority functional ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListResponse"},"example":{"activities":[{"activityId":"550e8400-e29b-41d4-a716-446655440000","activityName":"Amsterdam Summer Rental","status":"finished","areaId":"58ff0814-3aa1-5019-9afb-3cd9f398602c","areaName":"Amsterdam","competentAuthorityId":"c4ac8ccf-a281-5789-bad7-28dfac20ca7f","competentAuthorityName":"Gemeente Amsterdam","url":"http://example.com/amsterdam-myhouse-1","address":{"thoroughfare":"Prinsengracht","locatorDesignatorNumber":263,"postCode":"1016GV","postName":"Amsterdam","fullAddress":"Prinsengracht 263, 1016GV Amsterdam"},"registrationNumber":"REG0001","numberOfGuests":4,"countryOfGuests":["NLD","DEU","BEL","N/A"],"temporal":{"startDatetime":"2025-06-01T14:00:00Z","endDatetime":"2025-06-07T11:00:00Z"},"platformId":"8e70f1e2-4c61-477b-89b8-0dbf25ab8b21","platformName":"Test STR 01 (interactive usage, persistent)","createdAt":"2025-06-01T12:00:00Z"}]}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"400":{"description":"Bad request - invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}}}},"/activities/count":{"get":{"tags":["sta"],"summary":"Get the count of all activities across all competent authorities and platforms (optional, to support pagination)","description":"Get the count of all current activities across all competent authorities and platforms (optional, to support pagination). Counts all current activity records, including those whose lifecycle `status` is `cancelled`. Optional filters use AND semantics: every provided filter narrows the count. The `createdAtFrom` and `createdAtTo` form an inclusive `createdAt` range; `platformId`, `areaId` and `competentAuthorityId` are exact-match filters.","operationId":"countAllActivities","security":[{"BearerAuth":[]}],"parameters":[{"name":"createdAtFrom","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter activities whose createdAt timestamp is greater than or equal to this UTC value","examples":["2025-06-01T00:00:00Z"],"title":"Createdatfrom"},"description":"Filter activities whose createdAt timestamp is greater than or equal to this UTC value"},{"name":"createdAtTo","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter activities whose createdAt timestamp is less than or equal to this UTC value","examples":["2025-06-30T23:59:59Z"],"title":"Createdatto"},"description":"Filter activities whose createdAt timestamp is less than or equal to this UTC value"},{"name":"platformId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9-]+$"},{"type":"null"}],"description":"Filter by platform functional ID","examples":["sdep-str01"],"title":"Platformid"},"description":"Filter by platform functional ID"},{"name":"areaId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9-]+$"},{"type":"null"}],"description":"Filter by area functional ID","examples":["959a7439-7cad-4009-96ec-353b44723db9"],"title":"Areaid"},"description":"Filter by area functional ID"},{"name":"competentAuthorityId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9-]+$"},{"type":"null"}],"description":"Filter by competent authority functional ID","examples":["c4ac8ccf-a281-5789-bad7-28dfac20ca7f"],"title":"Competentauthorityid"},"description":"Filter by competent authority functional ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityCountResponse"}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}}}},"/platforms":{"get":{"tags":["sta"],"summary":"Get all platforms","description":"Get all current platforms. Returns at most 1000 records per request (the default and maximum `limit`). Use the `offset` and `limit` pagination parameters to page through results, and the `/count` endpoint for the total. Use `platformId` as the `platformId` filter of the activity and listing reads.\n\n**Each platform contains:**\n- `platformId`: Functional ID identifying this platform\n- `platformName`: Display name (optional) of the platform\n- `createdAt`: Timestamp when this platform version was created (UTC)","operationId":"getPlatforms","security":[{"BearerAuth":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip (default: 0)","default":0,"title":"Offset"},"description":"Number of records to skip (default: 0)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return (default: 1000, max: 1000)","default":1000,"title":"Limit"},"description":"Maximum number of records to return (default: 1000, max: 1000)"}],"responses":{"200":{"description":"List of platforms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformListResponse"},"example":{"platforms":[{"platformId":"8e70f1e2-4c61-477b-89b8-0dbf25ab8b21","platformName":"Test STR 01","createdAt":"2025-01-01T00:00:00Z"}]}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"400":{"description":"Bad request - invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}}}},"/platforms/count":{"get":{"tags":["sta"],"summary":"Get platforms count (optional, to support pagination)","description":"Get platforms count (optional, to support pagination)","operationId":"countPlatforms","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformCountResponse"}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}},"security":[{"BearerAuth":[]}]}},"/competent-authorities":{"get":{"tags":["sta"],"summary":"Get all competent authorities","description":"Get all current competent authorities. Returns at most 1000 records per request (the default and maximum `limit`). Use the `offset` and `limit` pagination parameters to page through results, and the `/count` endpoint for the total. Use `competentAuthorityId` as the `competentAuthorityId` filter of the activity and listing reads.\n\n**Each competent authority contains:**\n- `competentAuthorityId`: Functional ID identifying this competent authority\n- `competentAuthorityName`: Display name (optional) of the competent authority\n- `createdAt`: Timestamp when this competent authority version was created (UTC)","operationId":"getCompetentAuthorities","security":[{"BearerAuth":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip (default: 0)","default":0,"title":"Offset"},"description":"Number of records to skip (default: 0)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return (default: 1000, max: 1000)","default":1000,"title":"Limit"},"description":"Maximum number of records to return (default: 1000, max: 1000)"}],"responses":{"200":{"description":"List of competent authorities","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetentAuthorityListResponse"},"example":{"competentAuthorities":[{"competentAuthorityId":"c4ac8ccf-a281-5789-bad7-28dfac20ca7f","competentAuthorityName":"Amsterdam (inclusief Weesp)","createdAt":"2025-01-01T00:00:00Z"}]}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"400":{"description":"Bad request - invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}}}},"/competent-authorities/count":{"get":{"tags":["sta"],"summary":"Get competent authorities count (optional, to support pagination)","description":"Get competent authorities count (optional, to support pagination)","operationId":"countCompetentAuthorities","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetentAuthorityCountResponse"}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}},"security":[{"BearerAuth":[]}]}},"/areas":{"get":{"tags":["sta"],"summary":"Get all areas","description":"Get all areas, maximum 1000 per page. `limit` defaults to 1000 (the maximum); use `offset` and `limit` to page through the result set, and `GET /areas/count` for the total.\n\n**Each area contains:**\n- `areaId`: Functional ID identifying this area\n- `areaName`: Display name (optional) of the area\n- `regulation`: Regulation type of the area - 'listing', 'activity', or 'all'\n- `filename`: Name of the area shapefile (e.g., 'area.zip')\n- `competentAuthorityId`: Functional ID referencing the competent authority that owns the area\n- `competentAuthorityName`: Display name (optional) of the competent authority\n- `createdAt`: Timestamp when this area version was created (UTC)","operationId":"getAreas","security":[{"BearerAuth":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip (default: 0)","default":0,"title":"Offset"},"description":"Number of records to skip (default: 0)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return (default: 1000, max: 1000)","default":1000,"title":"Limit"},"description":"Maximum number of records to return (default: 1000, max: 1000)"}],"responses":{"200":{"description":"List of areas","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaListResponse"},"example":{"areas":[{"areaId":"58ff0814-3aa1-5019-9afb-3cd9f398602c","areaName":"Amsterdam","regulation":"all","filename":"Amsterdam.zip","competentAuthorityId":"c4ac8ccf-a281-5789-bad7-28dfac20ca7f","competentAuthorityName":"Amsterdam (inclusief Weesp)","createdAt":"2025-01-01T00:00:00Z"},{"areaId":"974e2c23-b666-5044-a05c-9479a4c293a1","areaName":"Rotterdam","regulation":"all","filename":"Rotterdam.zip","competentAuthorityId":"a30df3a7-7e38-534c-b9c0-7666bad077d2","competentAuthorityName":"Rotterdam","createdAt":"2025-01-01T00:00:00Z"}]}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"400":{"description":"Bad request - invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}}}},"/areas/count":{"get":{"tags":["sta"],"summary":"Get areas count (optional, to support pagination)","description":"Get areas count (optional, to support pagination).","operationId":"countAreas","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaCountResponse"}}}},"500":{"description":"Internal Server Error - an unexpected issue occurred that prevented the request from being completed"},"503":{"description":"Service Unavailable - temporarily unable to process requests due to overload, maintenance, or dependency issues (database/authorization server)"},"401":{"description":"Unauthorized - missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - insufficient permissions"}},"security":[{"BearerAuth":[]}]}}},"components":{"schemas":{"ActivityCountResponse":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"Count","description":"Total number of activity records","examples":[42]}},"type":"object","required":["count"],"title":"Activity.CountResponse","description":"Count of activities response schema."},"ActivityListResponse":{"properties":{"activities":{"items":{"$ref":"#/components/schemas/ActivityResponse"},"type":"array","title":"Activities","description":"List of activities"}},"type":"object","required":["activities"],"title":"Activity.ListResponse","description":"List of activities for GET responses."},"ActivityResponse":{"properties":{"activityId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Activityid","description":"Functional ID identifying this activity","examples":["550e8400-e29b-41d4-a716-446655440000"]},"activityName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Activityname","description":"Display name (optional) of the activity"},"status":{"$ref":"#/components/schemas/ActivityStatus","description":"Lifecycle status of the activity: `finished` or `cancelled`.","examples":["finished","cancelled"]},"areaId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Areaid","description":"Functional ID referencing the area where this activity took place (case-sensitive)","examples":["58ff0814-3aa1-5019-9afb-3cd9f398602c","58FF0814-3AA1-5019-9AFB-3CD9F398602C"]},"areaName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Areaname","description":"Display name (optional) of the area where this activity took place"},"competentAuthorityId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Competentauthorityid","description":"Functional ID referencing the competent authority that owns the area","examples":["c4ac8ccf-a281-5789-bad7-28dfac20ca7f","a30df3a7-7e38-534c-b9c0-7666bad077d2"]},"competentAuthorityName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Competentauthorityname","description":"Display name (optional) of the competent authority"},"url":{"type":"string","maxLength":2048,"title":"Url","description":"URL of the originating listing/advertisement (max 2048 chars)"},"address":{"$ref":"#/components/schemas/CommonAddressResponse","description":"Address composite (`thoroughfare`, `locatorDesignatorNumber` (optional), `locatorDesignatorLetter` (optional), `locatorDesignatorAddition` (optional), `postCode`, `postName`, `fullAddress`)"},"registrationNumber":{"type":"string","maxLength":128,"title":"Registrationnumber","description":"Registration number of the address (max 128 chars)"},"numberOfGuests":{"type":"integer","maximum":1024.0,"minimum":1.0,"title":"Numberofguests","description":"Number of guests (1-1024)"},"countryOfGuests":{"items":{"type":"string"},"type":"array","maxItems":1024,"minItems":1,"title":"Countryofguests","description":"Array of country codes of guests (1-1024; each element is ISO 3166-1 alpha-3 or 'N/A'); array length equals numberOfGuests."},"temporal":{"$ref":"#/components/schemas/CommonTemporalResponse","description":"Temporal composite (`startDatetime`, `endDatetime`)"},"platformId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Platformid","description":"Functional ID referencing the platform that owns the activity","examples":["8e70f1e2-4c61-477b-89b8-0dbf25ab8b21","227e07d4-37c4-4ceb-aa16-80346d258f6b"]},"platformName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Platformname","description":"Display name (optional) of the platform"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Timestamp when this activity version was created (UTC)"}},"type":"object","required":["activityId","status","areaId","competentAuthorityId","url","address","registrationNumber","numberOfGuests","countryOfGuests","temporal","platformId","createdAt"],"title":"Activity.Response","description":"Activity response schema."},"ActivityStatus":{"type":"string","enum":["finished","cancelled"],"title":"Activity.Status","description":"Lifecycle status for an activity record."},"AreaCountResponse":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"Count","description":"Total number of areas in context of the current SDEP/member state","examples":[42]}},"type":"object","required":["count"],"title":"Area.CountResponse","description":"Count of areas response schema."},"AreaListResponse":{"properties":{"areas":{"items":{"$ref":"#/components/schemas/AreaResponse"},"type":"array","title":"Areas","description":"List of areas in context of the current SDEP/member state"}},"type":"object","required":["areas"],"title":"Area.ListResponse","description":"List of areas response schema."},"AreaResponse":{"properties":{"areaId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Areaid","description":"Functional ID identifying this area","examples":["58ff0814-3aa1-5019-9afb-3cd9f398602c"]},"areaName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Areaname","description":"Display name (optional) of the area","examples":["Amsterdam"]},"regulation":{"$ref":"#/components/schemas/Regulation","description":"Regulation type of the area - 'listing', 'activity', or 'all'","default":"all","examples":["all"]},"filename":{"type":"string","maxLength":64,"title":"Filename","description":"Name of the area shapefile (e.g., 'area.zip')","examples":["Amsterdam.zip"]},"competentAuthorityId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Competentauthorityid","description":"Functional ID of the competent authority that owns the area","examples":["c4ac8ccf-a281-5789-bad7-28dfac20ca7f"]},"competentAuthorityName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Competentauthorityname","description":"Display name (optional) of the competent authority","examples":["Amsterdam (inclusief Weesp)"]},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Timestamp when this area version was created (UTC)","examples":["2025-01-01T00:00:00Z"]}},"type":"object","required":["areaId","filename","competentAuthorityId","createdAt"],"title":"Area.Response","description":"Area response schema."},"CommonAddressResponse":{"properties":{"thoroughfare":{"type":"string","maxLength":80,"title":"Thoroughfare","description":"Street / public space name (max 80 chars)"},"locatorDesignatorNumber":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Locatordesignatornumber","description":"Numeric house number component (optional, >= 0 when provided)"},"locatorDesignatorLetter":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Locatordesignatorletter","description":"Letter/character suffix (optional, max 10 chars)"},"locatorDesignatorAddition":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Locatordesignatoraddition","description":"Additional qualifier (optional, max 128 chars)"},"postCode":{"type":"string","maxLength":10,"title":"Postcode","description":"Postal code (max 10 chars)"},"postName":{"type":"string","maxLength":80,"title":"Postname","description":"City / town / village (max 80 chars)"},"fullAddress":{"type":"string","maxLength":328,"title":"Fulladdress","description":"Full address as a single string (max 328 chars)"}},"type":"object","required":["thoroughfare","postCode","postName","fullAddress"],"title":"Common.AddressResponse","description":"Address composite schema for activity responses (INSPIRE/STR-AP field names)."},"Regulation":{"type":"string","enum":["listing","activity","all"],"title":"Common.Regulation","description":"Regulation type for an area: 'listing', 'activity', or 'all' (covers both)."},"CommonTemporalResponse":{"properties":{"startDatetime":{"type":"string","format":"date-time","title":"Startdatetime","description":"Start date and time of the rental activity"},"endDatetime":{"type":"string","format":"date-time","title":"Enddatetime","description":"End date and time of the rental activity"}},"type":"object","required":["startDatetime","endDatetime"],"title":"Common.TemporalResponse","description":"Temporal composite schema for activity responses."},"CompetentAuthorityCountResponse":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"Count","description":"Total number of competent authorities in context of the current SDEP/member state","examples":[42]}},"type":"object","required":["count"],"title":"CompetentAuthority.CountResponse","description":"Count of competent authorities response schema."},"CompetentAuthorityListResponse":{"properties":{"competentAuthorities":{"items":{"$ref":"#/components/schemas/CompetentAuthorityResponse"},"type":"array","title":"Competentauthorities","description":"List of competent authorities in context of the current SDEP/member state"}},"type":"object","required":["competentAuthorities"],"title":"CompetentAuthority.ListResponse","description":"List of competent authorities response schema."},"CompetentAuthorityResponse":{"properties":{"competentAuthorityId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Competentauthorityid","description":"Functional ID identifying this competent authority","examples":["c4ac8ccf-a281-5789-bad7-28dfac20ca7f"]},"competentAuthorityName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Competentauthorityname","description":"Display name (optional) of the competent authority","examples":["Amsterdam (inclusief Weesp)"]},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Timestamp when this competent authority version was created (UTC)","examples":["2025-01-01T00:00:00Z"]}},"type":"object","required":["competentAuthorityId","createdAt"],"title":"CompetentAuthority.Response","description":"Competent authority response schema. The private client_id is never exposed."},"ErrorDetail":{"properties":{"msg":{"type":"string","title":"Msg","description":"Human-readable error message"},"type":{"type":"string","title":"Type","description":"Error type identifier"},"loc":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array"},{"type":"null"}],"title":"Loc","description":"Location of the error (e.g. ['body', 'fieldName'])"}},"type":"object","required":["msg","type"],"title":"Error.Detail","description":"Detail of a single error."},"ErrorResponse":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ErrorDetail"},"type":"array","title":"Detail","description":"List of error details"}},"type":"object","required":["detail"],"title":"Error.Response","description":"Standardized error response format."},"PlatformCountResponse":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"Count","description":"Total number of platforms in context of the current SDEP/member state","examples":[12]}},"type":"object","required":["count"],"title":"Platform.CountResponse","description":"Count of platforms response schema."},"PlatformListResponse":{"properties":{"platforms":{"items":{"$ref":"#/components/schemas/PlatformResponse"},"type":"array","title":"Platforms","description":"List of platforms in context of the current SDEP/member state"}},"type":"object","required":["platforms"],"title":"Platform.ListResponse","description":"List of platforms response schema."},"PlatformResponse":{"properties":{"platformId":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9-]+$","title":"Platformid","description":"Functional ID identifying this platform","examples":["8e70f1e2-4c61-477b-89b8-0dbf25ab8b21"]},"platformName":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Platformname","description":"Display name (optional) of the platform","examples":["Example.com"]},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Timestamp when this platform version was created (UTC)","examples":["2025-01-01T00:00:00Z"]}},"type":"object","required":["platformId","createdAt"],"title":"Platform.Response","description":"Platform response schema. The private client_id is never exposed."}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"servers":[{"url":"/api/sta/v1"}]}