# System API

## GET /country

> Retrieve all enabled countries.

```json
{"openapi":"3.0.3","info":{"title":"gospace system API","version":"2.0"},"servers":[{"url":"https://api.gospace.app/gospace/v1"}],"paths":{"/country":{"get":{"operationId":"getAllCountries","description":"Retrieve all enabled countries.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Country"}}},"required":["success","data"]}}}},"500":{"description":"Internal Server Error"}}}}},"components":{"schemas":{"Country":{"type":"object","properties":{"_id":{"type":"string"},"country_id":{"type":"string"},"name":{"type":"string"},"iso2":{"type":"string"},"iso3":{"type":"string"},"currency":{"type":"string"},"calling_code":{"type":"string"},"timezones":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}}}}
```

## GET /upload

> Retrieve uploads by status, upload ID, or process.

```json
{"openapi":"3.0.3","info":{"title":"gospace system API","version":"2.0"},"servers":[{"url":"https://api.gospace.app/gospace/v1"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"UploadStatus":{"type":"string","enum":["PENDING","PROCESSING","COMPLETE","FAILED","CANCELED","EXPIRED"]},"UploadProcess":{"type":"string","enum":["floorplan","profile-image","location-image","layer-image","room-image","space-image","teams-data","teams-settings-data","people-data","people-settings-data","occupancy-data"]}}},"paths":{"/upload":{"get":{"operationId":"getUploads","description":"Retrieve uploads by status, upload ID, or process.","parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/UploadStatus"}},{"name":"upload_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"upload_process","in":"query","required":false,"schema":{"$ref":"#/components/schemas/UploadProcess"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","additionalProperties":true},"identifier":{"type":"string"}},"required":["success","data","identifier"]}}}},"400":{"description":"Bad Request"},"500":{"description":"Internal Server Error"}}}}}}
```

## POST /upload

> Create an upload session for a file.

```json
{"openapi":"3.0.3","info":{"title":"gospace system API","version":"2.0"},"servers":[{"url":"https://api.gospace.app/gospace/v1"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"FileType":{"type":"string","enum":["image/png","image/jpg","image/jpeg","text/csv","text/dxf","text/pdf","application/json","application/geo+json","application/dxf","application/acad"]},"UploadProcess":{"type":"string","enum":["floorplan","profile-image","location-image","layer-image","room-image","space-image","teams-data","teams-settings-data","people-data","people-settings-data","occupancy-data"]}}},"paths":{"/upload":{"post":{"operationId":"uploadFile","description":"Create an upload session for a file.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["file_type","upload_process","binding_id"],"properties":{"file_type":{"$ref":"#/components/schemas/FileType"},"upload_process":{"$ref":"#/components/schemas/UploadProcess"},"binding_id":{"type":"string"},"meta":{"type":"object","additionalProperties":true}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","additionalProperties":true},"identifier":{"type":"string"}},"required":["success","data","identifier"]}}}},"400":{"description":"Bad Request"},"500":{"description":"Internal Server Error"}}}}}}
```
