openapi: 3.1.0
info:
  version: v1beta1
  title: HPE GreenLake for Locations APIs
  description: >-
    The HPE GreenLake for Locations APIs help you manage location information on
    the HPE GreenLake platform.
  contact: {}
  license:
    name: HPE License
    url: https://www.hpe.com/us/en/software/licensing.html
servers:
  - url: https://global.api.greenlake.hpe.com
security:
  - Bearer: []
paths:
  /locations/v1beta1/locations:
    get:
      tags:
        - Locations
      summary: Lists all locations
      operationId: listAllLocations
      description: Retrieve location information for all locations.
      parameters:
        - name: offset
          in: query
          description: The zero-based resource offset to start the response from.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The maximum number of results to be returned.
          required: true
          schema:
            type: integer
            minimum: 1
            maximum: 2000
            default: 100
        - name: filter
          in: query
          description: >
            Limit the resources operated on by an endpoint or when used with a
            multiple-GET endpoint, return only the subset of resources that
            match the filter. The filter grammar is a subset of OData 4.0.
            <br><br>This API can be filtered by `name`. <br><br>**NOTE:** The
            filter query parameter must use [URL
            encoding](https://en.wikipedia.org/wiki/URL_encoding). Most clients
            do this automatically with inputs provided to them specifically as
            query parameters. Encoding must be done manually for any query
            parameters provided as part of the URL. The reserved characters `!`
            `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:` `;` `=` `?` `@` `[` `]`
            must be encoded with percent encoded equivalents. <br><br>
          schema:
            type: string
          examples:
            contains:
              summary: Filter by location name.
              description: >-
                Return locations that contain a name that matches the one
                provided.
              value: contains(name, 'test')
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/server.ListLocationNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content: {}
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
      x-codegen-request-body-name: location
    post:
      tags:
        - Locations
      summary: Create a Location
      operationId: CreateLocation
      description: Create a location and store its associated information.
      requestBody:
        description: Location Information
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/server.CreateLocationNBRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - type
                $ref: '#/components/schemas/server.UpdateLocationNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
      x-codegen-request-body-name: location
  /locations/v1beta1/locations/{id}:
    get:
      tags:
        - Locations
      summary: Retrieve a location
      operationId: getLocationBy
      description: Return information for a location specified by a location ID.
      parameters:
        - name: id
          in: path
          description: >-
            The unique indentifier of the location. For example,
            `945e70ec-b043-4cad-9ed0-069c06fdb8af`.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/server.GetLocationNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
    delete:
      tags:
        - Locations
      summary: Delete a location
      operationId: deleteLocation
      description: Delete a location by providing a specific location ID.
      parameters:
        - name: id
          in: path
          description: >-
            The unique identifier for the location. For example,
            `945e70ec-b043-4cad-9ed0-069c06fdb8af`.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully deleted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
    patch:
      tags:
        - Locations
      summary: Update a location
      operationId: UpdateLocation
      description: Update a location's information by specifying its location ID.
      parameters:
        - name: id
          in: path
          description: The unique identifier for the location.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Updated Location Information
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/server.UpdateLocationNBRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - type
                $ref: '#/components/schemas/server.UpdateLocationNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
      x-codegen-request-body-name: location
  /locations/v1beta1/locations/update/{id}:
    patch:
      tags:
        - Locations
      summary: Manage a location
      operationId: manageLocation
      description: >-
        Manage the location information for a location specified by its location
        ID. Provide information in the request body schema to create, update, or
        delete the location's address, contact, or location details.
      parameters:
        - name: id
          in: path
          description: >-
            The unique identifier for the location. For example,
            `945e70ec-b043-4cad-9ed0-069c06fdb8af`.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/server.UpdateLocationPatchRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - type
                $ref: '#/components/schemas/server.UpdateLocationNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
  /locations/v1beta1/locations/tags:
    get:
      tags:
        - Locations
      summary: Get tags for a workspace
      operationId: listAllTags
      description: Retrieve tag information for your workspace.
      parameters:
        - name: offset
          in: query
          description: The zero-based resource offset to start the response from.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The maximum number of results to be returned.
          required: true
          schema:
            type: integer
            minimum: 1
            maximum: 2000
            default: 100
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/server.ListLocationTagsNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content: {}
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
    patch:
      tags:
        - Locations
      summary: Create or delete a tag
      operationId: UpdateTags
      description: >
        Use this API to create or delete a tag. In the request body, provide:
        <ul><li>The tag name and tag value in the appropriate array to create
        (`createTags`) or delete (`deleteTags`) tags as needed.</li><li>The
        location ID.</li></ul> 
      requestBody:
        description: Update tags for a location
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/server.UpdateLocationTagsNBRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - type
                $ref: '#/components/schemas/server.UpdateLocationTagsNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
  /locations/v1beta1/locations/tags/{id}:
    get:
      tags:
        - Locations
      summary: Retrieves tags for given a location
      operationId: listTagsById
      description: >-
        Return a listing of all tag names and tag values for a given location.
        If a location has no tags, only the location ID and location name are
        returned.
      parameters:
        - name: id
          in: path
          description: >-
            The unique identifier of the location. For example,
            `945e70ec-b043-4cad-9ed0-069c06fdb8af`.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/server.GetLocationTagsNBResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
components:
  securitySchemes:
    Bearer:
      description: Personal access token issued by the HPE GreenLake platform.
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    db.AddressType:
      type: string
      enum:
        - street
        - shipping_receiving
      x-enum-varnames:
        - AddressTypeStreet
        - AddressTypeShippingReceiving
    db.ContactType:
      type: string
      enum:
        - primary
        - shipping_receiving
        - security
        - operations
      x-enum-varnames:
        - ContactTypePrimary
        - ContactTypeShippingReceiving
        - ContactTypeSecurity
        - ContactTypeOperations
    db.LocationType:
      type: string
      enum:
        - building
      x-enum-varnames:
        - LocationTypeBuilding
    db.ValidationCycle:
      type: string
      enum:
        - ''
        - '6'
        - '12'
        - '18'
      x-enum-varnames:
        - ValidationCycleValue0
        - ValidationCycle6
        - ValidationCycle12
        - ValidationCycle18
    server.CreateAddressNBRequest:
      required:
        - city
        - country
        - postalCode
        - state
        - streetAddress
        - type
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the address.
        city:
          maxLength: 60
          type: string
          description: The location's city.
        country:
          maxLength: 100
          type: string
          description: The location's country.
        locationId:
          type: string
          description: The unique identifier of the location.
        postalCode:
          maxLength: 20
          type: string
          description: The location's postal code.
        state:
          maxLength: 60
          type: string
          description: The location's state or region.
        streetAddress:
          maxLength: 100
          type: string
          description: The location's street address.
        streetAddress2:
          type: string
          description: The location's street address.
        type:
          type: object
          allOf:
            - $ref: '#/components/schemas/db.AddressType'
    server.CreateContactsNBRequest:
      required:
        - email
        - name
        - type
      type: object
      properties:
        email:
          maxLength: 100
          type: string
          description: The email address associated with the contact.
        id:
          type: string
          format: uuid
          description: The unique identifier of the contact.
        locationId:
          type: string
          description: The unique identifier of the location.
        name:
          maxLength: 100
          type: string
          description: The name of the contact.
        phoneNumber:
          type: string
          description: The phone number associated with the contact.
        type:
          $ref: '#/components/schemas/db.ContactType'
          description: The type of contact.
    server.CreateLocationNBRequest:
      required:
        - addresses
        - contacts
        - name
      type: object
      properties:
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/server.CreateAddressNBRequest'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/server.CreateContactsNBRequest'
            description: >-
              Locations must have one primary contact but can have more than one
              of the other contact types.
        description:
          type: string
          description: A long description of the location.
        expiredAt:
          type: string
          description: The date the location expired.
        name:
          maxLength: 100
          type: string
          description: Provide a descriptive name for the location.
        locationType:
          $ref: '#/components/schemas/db.LocationType'
          description: The type of the location.
          value: building
        validated:
          type: boolean
          default: true
          description: Boolean confirming whether the location has been validated or not.
        validatedAt:
          type: string
          description: The date the location was validated in the format mm-dd-yyyy.
        validatedByEmail:
          type: string
          description: Email address of the workspace user that validated the location.
        validatedByName:
          type: string
          description: The name of the workspace user that validated the location.
        validationCycle:
          $ref: '#/components/schemas/db.ValidationCycle'
          description: >-
            An integer that defines how long, in months, the location remains
            validated.
        validationExpired:
          type: boolean
          description: >-
            A boolean confirming whether the location validation has expired or
            not.
          default: false
    server.GetAddressNBResponse:
      type: object
      properties:
        city:
          type: string
          description: The location's city.
        country:
          type: string
          description: The location's country.
        id:
          type: string
          format: uuid
          description: A unique identifier for the address.
        postalCode:
          type: string
          description: The locations postal code.
        state:
          type: string
          description: The location's state or region.
        streetAddress:
          type: string
          description: The location's address.
        streetAddress2:
          type: string
          description: The location's address.
        type:
          $ref: '#/components/schemas/db.AddressType'
          description: The type of address.
    server.GetContactNBResponse:
      type: object
      properties:
        email:
          type: string
          description: The email address of the contact.
        id:
          type: string
          format: uuid
          description: The unique identifer of the contact.
        name:
          type: string
          description: The name of the contact.
        phoneNumber:
          type: string
          description: The phone number associated with the contact.
        type:
          $ref: '#/components/schemas/db.ContactType'
    server.LocationWithNBAddress:
      type: object
      required:
        - id
        - type
      properties:
        city:
          type: string
          description: The location's city.
        country:
          type: string
          description: The location's country.
        expiredAt:
          type: string
          description: The date the location expired.
        id:
          type: string
          format: uuid
          description: The unique identifier of the location.
        name:
          type: string
          description: The name of the location.
        validated:
          type: boolean
          default: true
          description: Boolean confirming whether the location has been validated or not.
        validatedAt:
          type: string
          description: The date the location was validated in the format mm-dd-yyyy.
        validatedByEmail:
          type: string
          description: Email address of the workspace user that validated the location.
        validatedByName:
          type: string
          description: The name of the workspace user that validated the location.
        validationCycle:
          $ref: '#/components/schemas/db.ValidationCycle'
          description: >-
            An integer that defines how long, in months, the location remains
            validated.
        validationExpired:
          type: boolean
          description: >-
            A boolean confirming whether the location validation has expired or
            not.
          default: false
    server.UpdateAddressNBRequest:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the address.
        city:
          maxLength: 60
          type: string
          description: The city the location is in.
        country:
          maxLength: 100
          type: string
          description: The country the location is in.
        locationId:
          type: string
          description: The unique identifier of the location.
        postalCode:
          maxLength: 20
          type: string
          description: The location's postal code.
        state:
          maxLength: 60
          type: string
          description: The location's state.
        streetAddress:
          maxLength: 100
          type: string
          description: The location's address.
        streetAddress2:
          type: string
          description: The location's address.
        type:
          type: object
          allOf:
            - $ref: '#/components/schemas/db.AddressType'
    server.UpdateContactsNBRequest:
      required:
        - type
      type: object
      properties:
        email:
          maxLength: 100
          type: string
          description: The email address of the contact.
        id:
          type: string
          format: uuid
          description: The unique identifier of the contact.
        locationId:
          type: string
          description: The location ID related to the contact.
        name:
          maxLength: 100
          type: string
          description: The name of the contact.
        phoneNumber:
          type: string
          description: The phone number associated with the contact.
        type:
          $ref: '#/components/schemas/db.ContactType'
    server.UpdateLocationNBRequest:
      type: object
      properties:
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/server.UpdateAddressNBRequest'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/server.UpdateContactsNBRequest'
        description:
          type: string
          description: A long description of the location.
        expiredAt:
          type: string
          description: The date the location expired.
        name:
          maxLength: 100
          description: The name of location.
          type: string
        locationType:
          $ref: '#/components/schemas/db.LocationType'
          description: Type of location.
          value: building
        validated:
          type: boolean
          default: true
          description: Boolean confirming whether the location has been validated or not.
        validatedAt:
          type: string
          description: The date the location was validated in the format mm-dd-yyyy.
        validatedByEmail:
          type: string
          description: Email address of the workspace user that validated the location.
        validatedByName:
          type: string
          description: The name of the workspace user that validated the location.
        validationCycle:
          $ref: '#/components/schemas/db.ValidationCycle'
          description: >-
            An integer that defines, in months, how long the location remains
            validated.
        validationExpired:
          type: boolean
          description: >-
            A boolean confirming whether the location validation has expired or
            not.
          default: false
    server.UpdateLocationNBResponse:
      type: object
      required:
        - id
        - type
        - createdAt
        - updatedAt
        - generation
      properties:
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/server.GetAddressNBResponse'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/server.GetContactNBResponse'
            description: >-
              Locations must have one primary contact but can have more than one
              of the other contact types.
        id:
          type: string
          format: uuid
          description: The unique identifier of the location.
        name:
          type: string
          description: The name of the location.
        locationType:
          $ref: '#/components/schemas/db.LocationType'
          description: Type of location.
          value: building
        createdAt:
          type: string
          description: The date and time the location was created.
        description:
          type: string
          description: A long descriptions of the location.
        expiredAt:
          type: string
          description: The date and time the location expired.
        generation:
          type: integer
          description: Monotonically increasing update counter.
        type:
          type: string
          description: The type of the resource.
          const: locations/external-service
        updatedAt:
          type: string
          description: Time of the last update to the location.
        validated:
          type: boolean
          default: true
          description: Boolean confirming whether the location has been validated or not.
        validatedAt:
          type: string
          description: >-
            The date and time the location was validated in the format
            mm-dd-yyyy.
        validatedByEmail:
          type: string
          description: Email address of the workspace user that validated the location.
        validatedByName:
          type: string
          description: The name of the workspace user that validated the location.
        validationCycle:
          $ref: '#/components/schemas/db.ValidationCycle'
          description: >-
            An integer that defines, in months, how long the location remains
            validated.
        validationExpired:
          type: boolean
          description: >-
            A boolean confirming whether the location validation has expired or
            not.
          default: false
    server.ListLocationNBResponse:
      type: object
      required:
        - items
        - count
        - offset
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/server.LocationWithNBAddress'
        count:
          type: integer
          description: Number of items returned
        offset:
          type: integer
          description: Zero-based resource offset
        total:
          type: integer
          description: >-
            Total number of items in the collection that match the filter query,
            if one was provided in the request.
    server.GetLocationNBResponse:
      type: object
      required:
        - id
        - type
      properties:
        addresses:
          type: array
          $ref: '#/components/schemas/server.GetAddressNBResponse'
        contacts:
          type: array
          $ref: '#/components/schemas/server.GetContactNBResponse'
        description:
          type: string
          description: A long description of the location.
        expiredAt:
          type: string
          description: The date the location expired.
        id:
          type: string
          format: uuid
          description: The unique identifier for the location.
        name:
          type: string
          description: The name of the location.
        locationType:
          $ref: '#/components/schemas/db.LocationType'
          description: Type of location.
          value: building
        validated:
          type: boolean
          default: true
          description: Boolean confirming whether the location has been validated or not.
        validatedAt:
          type: string
          description: The date the location was validated in the format mm-dd-yyyy.
        validatedByEmail:
          type: string
          description: Email address of the workspace user that validated the location.
        validatedByName:
          type: string
          description: The name of the workspace user that validated the location.
        validationCycle:
          $ref: '#/components/schemas/db.ValidationCycle'
          description: >-
            An integer in months that defines how long the location remains
            validated.
        validationExpired:
          type: boolean
          description: >-
            A boolean confirming whether the location validation has expired or
            not.
          default: false
    server.GetLocationTagsNBResponse:
      type: object
      required:
        - locationId
        - locationName
      properties:
        tags:
          type: array
          description: >-
            An arrary of tag names and values. The array is empty if the
            location has no associated tags.
          $ref: '#/components/schemas/server.GetTags'
        locationId:
          type: string
          format: uuid
          description: The unique identifier for the location.
        locationName:
          type: string
          description: The name of the location.
    server.GetTags:
      type: object
      properties:
        name:
          type: string
          description: The tag name.
        value:
          type: string
          description: The tag value.
    server.ListLocationTagsNBResponse:
      type: object
      required:
        - items
        - count
        - offset
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/server.LocationTags'
        count:
          type: integer
          description: The number of items returned.
        offset:
          type: integer
          description: Zero-based resource offset
        total:
          type: integer
          description: >-
            The total number of items in the collection that match the filter
            query, if one was provided in the request.
    server.LocationTags:
      type: object
      required:
        - name
        - value
        - createdAt
      properties:
        name:
          type: string
          description: The tag name.
        value:
          type: string
          description: The tag value.
        createdAt:
          type: string
          description: The date the location was created.
    server.UpdateLocationTagsNBRequest:
      type: object
      properties:
        createTags:
          type: array
          description: An arrary of key-value pairs to create new tags.
          items:
            $ref: '#/components/schemas/server.GetTags'
            description: Location tags to be created
        deleteTags:
          type: array
          description: An array of key-value pairs to delete existing tags.
          items:
            $ref: '#/components/schemas/server.GetTags'
            description: Location tags to be deleted
        locationId:
          type: string
          format: uuid
          description: The unique identifier of the location.
    server.UpdateLocationTagsNBResponse:
      type: object
      required:
        - id
        - type
        - createdAt
        - updatedAt
        - generation
      properties:
        createTags:
          type: array
          items:
            $ref: '#/components/schemas/server.GetTags'
            description: Location Tags to be created
        deleteTags:
          type: array
          items:
            $ref: '#/components/schemas/server.GetTags'
            description: Location Tags to be deleted
        id:
          type: string
          format: uuid
          description: The unique identifier of the tag.
        type:
          type: string
          description: The type of the resource.
          const: locations/external-service
        generation:
          type: integer
          description: Monotonically increasing update counter.
        createdAt:
          type: string
          description: The date and time the tag was created.
        updatedAt:
          type: string
          description: Date and time of the last update to the tag.
    server.UpdateLocationPatchRequest:
      type: object
      properties:
        addresses:
          $ref: '#/components/schemas/server.UpdateAddressesPatchRequest'
        contacts:
          $ref: '#/components/schemas/server.UpdateContactsPatchRequest'
        locationDetails:
          $ref: '#/components/schemas/server.LocationDetails'
    server.UpdateAddressesPatchRequest:
      type: object
      properties:
        add:
          type: array
          description: Add new location address information.
          items:
            $ref: '#/components/schemas/server.CreateAddressNBRequest'
        delete:
          type: array
          description: Delete location address information.
          items:
            type: string
        update:
          type: array
          description: Update location address information.
          items:
            $ref: '#/components/schemas/server.UpdateAddressNBRequest'
    server.UpdateContactsPatchRequest:
      type: object
      properties:
        add:
          type: array
          description: Add location contact information.
          items:
            $ref: '#/components/schemas/server.CreateContactsNBRequest'
        delete:
          type: array
          description: Delete location contact information.
          items:
            type: string
    server.LocationDetails:
      type: object
      properties:
        description:
          type: string
          description: A description of the location.
        expiredAt:
          type: string
          description: The date and time the location expired.
        locationType:
          $ref: '#/components/schemas/db.LocationType'
        name:
          maxLength: 100
          type: string
          description: The name of the location.
        validated:
          type: boolean
          description: A boolean confirming whether the location has been validated or not.
        validatedAt:
          type: string
          description: The date the location was validated in the format mm-dd-yyyy.
        validatedByEmail:
          type: string
          description: The email address of the workspace user that validated the location.
        validatedByName:
          type: string
          description: The name of the workspace user that validated the location.
        validationCycle:
          $ref: '#/components/schemas/db.ValidationCycle'
        validationExpired:
          type: boolean
          description: A boolean declaring if the location validation has expired or not.
    apiError:
      type: object
      required:
        - errorCode
        - message
        - debugId
        - httpStatusCode
      properties:
        httpStatusCode:
          type: integer
          description: The HTTP equivalent status code.
        message:
          type: string
          description: A user-friendly error message.
        debugId:
          type: string
          description: A unique identifier for the instance of this error.
        errorCode:
          type: string
          description: >-
            A unique machine-friendly, but human-readable identifier for the
            error.
