Measurabl Spaces API

The Spaces API from Measurabl — 2 operation(s) for spaces.

Operations 5

POST /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces Creates space for a specified building
GET /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces Returns a list of spaces for a specified building
DELETE /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces/{space_id} Deletes a specific space for a specified building
GET /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces/{space_id} Returns details of a specific space for a specified building
PATCH /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces/{space_id} Updates a specific space for a specified building

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/measurabl-spaces-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

measurabl-spaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Measurabl Core Spaces API
  version: v0
  description: '## Quick Start Guide


    1. Authorize using your client credentials (key and secret).

    2. Make a `GET /core/v0/portfolios` request (under the Portfolios section) to get a list of available portfolios.

    3. Obtain the proper portfolio_id (id) in which you need to get/create data for.

    4. This `portfolio_id` will be required for all other reoccurring requests.


    * [Authentication](https://support.measurabl.com/hc/en-us/articles/15889532915085-How-do-I-authenticate-with-Measurabl-s-Core-API-)

    * [Release Notes](https://api.measurabl.com/release_notes)

    * [Usage/Rate Limits](https://support.measurabl.com/hc/en-us/articles/15889355100429-Core-API-Usage-Rate-Limits)

    * [Pagination & Filtering](https://support.measurabl.com/hc/en-us/articles/15889550313101-Core-API-Pagination-Filtering-Requests)

    * [Code Examples](https://github.com/Measurabl/measurabl_api_code_samples)


    ### Response Format


    Each endpoint response complies with the [JSON-API Specification](https://jsonapi.org/) which has many available [client libraries](https://jsonapi.org/implementations/#client-libraries).

    '
servers:
- url: https://api.measurabl.com/core/v0
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Spaces
paths:
  /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces:
    post:
      summary: Creates space for a specified building
      tags:
      - Spaces
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: 'Example: a5b8cf61-c294-4e59-b1fa-b4732511ef57'
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: 1a9e7262-8f03-46e2-96de-e384ef56175f'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio/Building specific space
          content:
            application/vnd.api+json:
              example:
                data:
                  id: 8a698998-ec63-419b-8123-b85238facd48
                  type: spaces
                  attributes:
                    propertyType: Financial Office
                    name: Office Space
                    common: true
                    floorAreaSqFt: 8639
                    allocation: 62
                    estarSpaceId: 17829744
                    customized: false
                  relationships:
                    building:
                      data:
                        id: 9eb479f9-2d84-4049-bd00-41c618822908
                        type: buildings
                      links:
                        self: /portfolios/9ce9e831-df37-4def-8332-d949c3bce210/buildings/9eb479f9-2d84-4049-bd00-41c618822908
                  links:
                    self: /portfolios/9ce9e831-df37-4def-8332-d949c3bce210/buildings/9eb479f9-2d84-4049-bd00-41c618822908/spaces/8a698998-ec63-419b-8123-b85238facd48
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find building ed29233f-1f93-4423-bc6e-34099beda236 in portfolio 8e9abf2c-80cc-4deb-9a5d-4428eac3ea3a
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        name:
                          type: string
                        propertyType:
                          type: string
                        common:
                          type: boolean
                        floorAreaSqFt:
                          type: number
                      required:
                      - name
                      - propertyType
                      - common
                      - floorAreaSqFt
              example:
                data:
                  type: spaces
                  attributes:
                    name: New Space
                    propertyType: Financial Office
                    common: false
                    floorAreaSqFt: 4108
        required: true
        description: Request body used to create a space associated with a building
    get:
      summary: Returns a list of spaces for a specified building
      tags:
      - Spaces
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: "UUID of either the parent portfolio or fund<br>\n                              Example: <em>ad838cbe-650a-4e93-8d84-58e8abd3f272</em>"
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: ecc01f7d-2732-4ddf-900a-c4cc40959727'
        required: true
        schema:
          type: string
      - name: page
        in: query
        default: 1
        schema:
          type: integer
      - name: size
        in: query
        description: The max page size is limited to 200 returned results
        default: 25
        schema:
          type: integer
      responses:
        '200':
          description: Portfolio/Building specific space
          content:
            application/vnd.api+json:
              example:
                data:
                - id: f4b41ff0-c657-45c7-9c9c-4650d34fcb6e
                  type: spaces
                  attributes:
                    propertyType: Financial Office
                    name: Our Office Space
                    common: true
                    floorAreaSqFt: 6765
                    allocation: 50
                    estarSpaceId: 1905762
                    customized: false
                  relationships:
                    building:
                      data:
                        id: 9fea95f2-3b8b-4b0b-99e7-627e612506a6
                        type: buildings
                      links:
                        self: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6
                  links:
                    self: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6/spaces/f4b41ff0-c657-45c7-9c9c-4650d34fcb6e
                - id: 5786ebf4-bc31-4c91-b3b6-7ca5db0fe51e
                  type: spaces
                  attributes:
                    propertyType: Office
                    name: Another Office Building
                    common: false
                    floorAreaSqFt: 920
                    allocation: 78
                    estarSpaceId: 29901759
                    customized: true
                  relationships:
                    building:
                      data:
                        id: 9fea95f2-3b8b-4b0b-99e7-627e612506a6
                        type: buildings
                      links:
                        self: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6
                  links:
                    self: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6/spaces/5786ebf4-bc31-4c91-b3b6-7ca5db0fe51e
                links:
                  self: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6/spaces/?size=2&page=1
                  first: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6/spaces/?size=2&page=1
                  last: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6/spaces/?size=2&page=2
                  next: /portfolios/06e3edd1-cbad-44f2-8d8e-16b016844def/buildings/9fea95f2-3b8b-4b0b-99e7-627e612506a6/spaces/?size=2&page=2
                meta:
                  page:
                    number: 1
                    size: 2
                    totalPages: 2
                    totalElements: 3
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find building e17dbb60-5400-4789-ac7e-10ed885ce4f5 in portfolio f986a801-1d04-4a71-b9d7-4b23ff865bec
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
  /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/spaces/{space_id}:
    delete:
      summary: Deletes a specific space for a specified building
      tags:
      - Spaces
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: "UUID for the parent portfolio<br>\n                              Example: <em>3e6c2f1a-20f5-4b95-bafe-2d771b1d8b60</em>"
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: bbd04c49-64a6-45f1-9b97-0b05f90d4914'
        required: true
        schema:
          type: string
      - name: space_id
        in: path
        description: 'Example: 8356a90d-bce3-447d-bb50-4eb2c70ddf7f'
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Space Deleted Successfully
          content:
            application/vnd.api+json:
              example: ''
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find space 04109d30-5910-4262-9787-3ceb5e29a112 in building 47f404e1-5751-459e-9389-c75a54bb3a49 in portfolio 7fcbad76-f1c7-42ea-aecc-fa060731aee2
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
    get:
      summary: Returns details of a specific space for a specified building
      tags:
      - Spaces
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: "UUID of either the parent portfolio or fund<br>\n                              Example: <em>b3488eca-a284-4c56-bdcf-a94709a49717</em>"
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: 1c00f770-1600-42a9-a335-881b5b48772e'
        required: true
        schema:
          type: string
      - name: space_id
        in: path
        description: 'Example: 3e57bf30-caad-4f51-ae39-ea9a448c38ae'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio or Fund / Building specific space
          content:
            application/vnd.api+json:
              example:
                data:
                  id: 127af6c6-c3ee-4957-aab0-85a20394e1a8
                  type: spaces
                  attributes:
                    propertyType: Financial Office
                    name: Office Space
                    common: false
                    floorAreaSqFt: 3795
                    allocation: 63
                    estarSpaceId: 44844188
                    customized: true
                  relationships:
                    building:
                      data:
                        id: 79059bb2-6fb7-4f39-b5e2-c02f941918aa
                        type: buildings
                      links:
                        self: /portfolios/fafa1342-6ecc-4a4a-a9fe-7199513b9f12/buildings/79059bb2-6fb7-4f39-b5e2-c02f941918aa
                  links:
                    self: /portfolios/fafa1342-6ecc-4a4a-a9fe-7199513b9f12/buildings/79059bb2-6fb7-4f39-b5e2-c02f941918aa/spaces/127af6c6-c3ee-4957-aab0-85a20394e1a8
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find space 54397974-809d-4b0d-bbfc-425562857be8 in building abf30b41-8877-4249-b163-ef303b5d324e in portfolio 4782f3cd-3f21-46e4-82d4-5be44f4ae0ac
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
    patch:
      summary: Updates a specific space for a specified building
      tags:
      - Spaces
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: "UUID for the parent portfolio<br>\n                              Example: <em>02cbb0a6-ce94-42ba-919d-6cdb26f90482</em>"
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: fc170ca8-d19a-4f36-b92d-7deab59a074e'
        required: true
        schema:
          type: string
      - name: space_id
        in: path
        description: 'Example: 6aef4b6d-d054-4979-a9ff-e7f80519e648'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio / Building Specific Space Updated
          content:
            application/vnd.api+json:
              example:
                data:
                  id: d526fa46-f3ef-4b81-acd1-6fe7f603f1a1
                  type: spaces
                  attributes:
                    propertyType: Financial Office
                    name: Office Space
                    common: true
                    floorAreaSqFt: 6191
                    allocation: 15
                    estarSpaceId: 32647979
                    customized: false
                  relationships:
                    building:
                      data:
                        id: 9903057f-e608-4a14-b67b-da92a918f0d8
                        type: buildings
                      links:
                        self: /portfolios/0871952b-6f18-4243-8396-1dbd7edd204f/buildings/9903057f-e608-4a14-b67b-da92a918f0d8
                  links:
                    self: /portfolios/0871952b-6f18-4243-8396-1dbd7edd204f/buildings/9903057f-e608-4a14-b67b-da92a918f0d8/spaces/d526fa46-f3ef-4b81-acd1-6fe7f603f1a1
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find space 50bc0cb5-fc13-40d0-b205-74ffb88aa709 for building b4a307db-abf7-408d-b92a-8e5cef727a58 in portfolio 18cbe890-7d32-42af-a1f6-ac8240156c13
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      id:
                        type: string
                      type: object
                      properties:
                        name:
                          type: string
                        propertyType:
                          type: string
                        floorAreaSqFt:
                          type: number
                      required:
                      - name
                      - propertyType
                      - common
                      - floorAreaSqFt
              example:
                data:
                  id: 3066bcef-b5ac-4027-9e38-f35baea768b7
                  type: spaces
                  attributes:
                    propertyType: Financial Office
                    name: New Space
                    floorAreaSqFt: 9840
        required: true
        description: Request body used to create a space associated with a building
components:
  schemas:
    success:
      type: object
      required:
      - data
      properties:
        data:
          $ref: '#/components/schemas/data'
        included:
          description: To reduce the number of HTTP requests, servers **MAY** allow responses that include related resources along with the requested primary resources. Such responses are called 'compound documents'.
          type: array
          items:
            $ref: '#/components/schemas/resource'
          uniqueItems: true
        meta:
          $ref: '#/components/schemas/meta'
        links:
          description: Link membe

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/measurabl/refs/heads/main/openapi/measurabl-spaces-api-openapi.yml