VTS

VTS Approvals API

The Approvals API from VTS — 3 operation(s) for approvals.

OpenAPI Specification

vts-approvals-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: VTS Lease Account Admin Approvals API
  version: v1
  description: VTS Lease REST API — the commercial real estate leasing, asset management, and portfolio data surface of the VTS platform. Resources include assets, spaces, leases, deals, deal terms, lease terms, financials, budgets, tenants, buildings, listings, and the Leasing Availability API. Harvested verbatim from the VTS developer portal (readme.vts.com) per-operation OpenAPI fragments.
  contact:
    name: VTS API Support
    url: https://readme.vts.com/
  termsOfService: https://www.vts.com/services-terms
servers:
- url: https://api.vts.com
- url: https://sandbox.vts.com
  description: Sandbox
security:
- basic_auth: []
tags:
- name: Approvals
paths:
  /api/v1/deal_approvals:
    get:
      summary: Fetches approvals
      tags:
      - Approvals
      security:
      - basic_auth: []
      parameters:
      - name: page[size]
        in: query
        required: false
        description: 'The number of items returned for any one page (default: 10, max: 100)'
        schema:
          type: integer
      - name: page[before]
        in: query
        required: false
        description: Show records before the given page indicator
        schema:
          type: string
      - name: page[after]
        in: query
        required: false
        description: Show records after the given page indicator
        schema:
          type: string
      - name: filter[latest]
        in: query
        required: false
        description: Only show Approvals for the latest Proposal
        schema:
          type: boolean
      - name: filter[updated_since]
        in: query
        schema:
          type: string
          format: date-time
        required: false
        description: Only display records that have been modified after the given date/timestamp. Should be in `YYYY-MM-DD HH:MM:SS` (ISO8601) format. (Hours, minutes, and seconds are optional.)
        example: '2021-03-15'
      responses:
        '200':
          description: Returns list of Approvals
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          example: approvals
                        id:
                          type: string
                          example: '1'
                          description: The ID of the approval
                        attributes:
                          description: Attributes for the approval
                          type: object
                          properties:
                            requester_comment:
                              type: string
                              example: This is a comment
                              description: Any comments made by the approval requester
                            requested_at:
                              type: string
                              format: date-time
                              description: The date-time the approval was requested at
                            active:
                              type: boolean
                            created_at:
                              type: string
                              format: date-time
                              description: The timestamp when this approval was created
                            updated_at:
                              type: string
                              format: date-time
                              description: The timestamp when this approval was last updated
                            recommendation:
                              type: string
                              nullable: true
                              description: Any suggestions for handling the approval request
                            approvers:
                              description: Information about the specific approval step requested
                              type: array
                              items:
                                description: Information for an approval step
                                type: object
                                properties:
                                  step_number:
                                    type: integer
                                    example: 0
                                    description: The number of the approval step
                                  description:
                                    type: string
                                    example: A description for the approval step
                                  status:
                                    type: string
                                    enum:
                                    - pending
                                    - approved
                                    - rejected
                                    - revision_requested
                                    description: 'The status of the approval step. Possible values: pending, approved, rejected, revision_requested'
                                  reviewed_at:
                                    type: string
                                    format: date-time
                                    nullable: true
                                    description: The date-time the approval step was reviewed at - null if not reviewed yet
                                  comment:
                                    type: string
                                    example: This is a comment
                                    description: Any comments associated with the approval step
                                  approver_user_id:
                                    type: integer
                                    example: 1
                                    description: The user id of the user assigned to approve the approval step
                        relationships:
                          description: The objects linked to an approval step
                          type: object
                          properties:
                            deal:
                              type: object
                              properties:
                                data:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - deals
                                      example: deals
                            requester:
                              type: object
                              properties:
                                data:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - users
                                      example: users
                                links:
                                  type: object
                                  properties:
                                    related:
                                      type: string
                                      format: uri
                            proposal:
                              type: object
                              properties:
                                data:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - proposals
                                      example: proposals
                            approvers:
                              type: object
                              properties:
                                data:
                                  type: array
                                  items:
                                    type: object
                                    nullable: true
                                    properties:
                                      id:
                                        type: string
                                        example: '12345'
                                      type:
                                        type: string
                                        enum:
                                        - users
                                        example: users
                  included:
                    type: array
                    items:
                      type: object
                      description: User information for the proposal approvers
                      properties:
                        type:
                          type: string
                          example: users
                        id:
                          type: string
                          example: '1'
                          description: The ID of the user
                        attributes:
                          description: User attributes for a specific approver
                          type: object
                          properties:
                            first_name:
                              type: string
                              example: John
                              description: Approver's first name
                            last_name:
                              type: string
                              example: Doe
                              description: Approver's last name
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        example: https://api.vts.com/api/v1/deals/123/approvals?page%5Bafter%5D=MzE2NTE%253D
                        description: The current URL
                      prev:
                        type: string
                        example: https://api.vts.com/api/v1/deals/123/approvals?page%5Bbefore%5D=MzE2NTI%253D
                        description: URL for the previous page of Approvals
                      next:
                        type: string
                        example: https://api.vts.com/api/v1/deals/123/approvals?page%5Bbefore%5D=MzE2NTI%253D
                        description: URL for the next page of Approvals
                    required:
                    - self
        '403':
          description: API not authorized for use
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors_object'
      operationId: get_api-v1-deal-approvals
  /api/v1/deal_approvals/{id}:
    get:
      summary: Retrieves specific approvals
      tags:
      - Approvals
      security:
      - basic_auth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns requested approval if it exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      type:
                        type: string
                        example: approvals
                      id:
                        type: string
                        example: '1'
                        description: The ID of the approval
                      attributes:
                        description: Attributes for the approval
                        type: object
                        properties:
                          requester_comment:
                            type: string
                            example: This is a comment
                            description: Any comments made by the approval requester
                          requested_at:
                            type: string
                            format: date-time
                            description: The date-time the approval was requested at
                          active:
                            type: boolean
                          created_at:
                            type: string
                            format: date-time
                            description: The timestamp when this approval was created
                          updated_at:
                            type: string
                            format: date-time
                            description: The timestamp when this approval was last updated
                          recommendation:
                            type: string
                            nullable: true
                            description: Any suggestions for handling the approval request
                          approvers:
                            description: Information about the specific approval step requested
                            type: array
                            items:
                              description: Information for an approval step
                              type: object
                              properties:
                                step_number:
                                  type: integer
                                  example: 0
                                  description: The number of the approval step
                                description:
                                  type: string
                                  example: A description for the approval step
                                status:
                                  type: string
                                  enum:
                                  - pending
                                  - approved
                                  - rejected
                                  - revision_requested
                                  description: 'The status of the approval step. Possible values: pending, approved, rejected, revision_requested'
                                reviewed_at:
                                  type: string
                                  format: date-time
                                  nullable: true
                                  description: The date-time the approval step was reviewed at - null if not reviewed yet
                                comment:
                                  type: string
                                  example: This is a comment
                                  description: Any comments associated with the approval step
                                approver_user_id:
                                  type: integer
                                  example: 1
                                  description: The user id of the user assigned to approve the approval step
                      relationships:
                        description: The objects linked to an approval step
                        type: object
                        properties:
                          deal:
                            type: object
                            properties:
                              data:
                                type: object
                                nullable: true
                                properties:
                                  id:
                                    type: string
                                    example: '12345'
                                  type:
                                    type: string
                                    enum:
                                    - deals
                                    example: deals
                          requester:
                            type: object
                            properties:
                              data:
                                type: object
                                nullable: true
                                properties:
                                  id:
                                    type: string
                                    example: '12345'
                                  type:
                                    type: string
                                    enum:
                                    - users
                                    example: users
                              links:
                                type: object
                                properties:
                                  related:
                                    type: string
                                    format: uri
                          proposal:
                            type: object
                            properties:
                              data:
                                type: object
                                nullable: true
                                properties:
                                  id:
                                    type: string
                                    example: '12345'
                                  type:
                                    type: string
                                    enum:
                                    - proposals
                                    example: proposals
                          approvers:
                            type: object
                            properties:
                              data:
                                type: array
                                items:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - users
                                      example: users
        '403':
          description: API not authorized for use
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors_object'
        '404':
          description: Requested approval does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors_object'
      operationId: get_api-v1-deal-approvals-id
  /api/v1/deals/{deal_id}/approvals:
    get:
      summary: Fetches deal approvals
      tags:
      - Approvals
      security:
      - basic_auth: []
      parameters:
      - name: deal_id
        in: path
        required: true
        description: ID of the deal containing the approval
        schema:
          type: string
      - name: page[size]
        in: query
        required: false
        description: 'The number of items returned for any one page (default: 10, max: 100)'
        schema:
          type: integer
      - name: page[before]
        in: query
        required: false
        description: Show records before the given page indicator
        schema:
          type: string
      - name: page[after]
        in: query
        required: false
        description: Show records after the given page indicator
        schema:
          type: string
      - name: filter[latest]
        in: query
        required: false
        description: Only show Approvals for the latest Proposal
        schema:
          type: boolean
      - name: filter[updated_since]
        in: query
        schema:
          type: string
          format: date-time
        required: false
        description: Only display records that have been modified after the given date/timestamp. Should be in `YYYY-MM-DD HH:MM:SS` (ISO8601) format. (Hours, minutes, and seconds are optional.)
        example: '2021-03-15'
      responses:
        '200':
          description: Returns list of Deal Approvals
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          example: approvals
                        id:
                          type: string
                          example: '1'
                          description: The ID of the approval
                        attributes:
                          description: Attributes for the approval
                          type: object
                          properties:
                            requester_comment:
                              type: string
                              example: This is a comment
                              description: Any comments made by the approval requester
                            requested_at:
                              type: string
                              format: date-time
                              description: The date-time the approval was requested at
                            active:
                              type: boolean
                            created_at:
                              type: string
                              format: date-time
                              description: The timestamp when this approval was created
                            updated_at:
                              type: string
                              format: date-time
                              description: The timestamp when this approval was last updated
                            approvers:
                              description: Information about the specific approval step requested
                              type: array
                              items:
                                description: Information for an approval step
                                type: object
                                properties:
                                  step_number:
                                    type: integer
                                    example: 0
                                    description: The number of the approval step
                                  description:
                                    type: string
                                    example: A description for the approval step
                                  status:
                                    type: string
                                    enum:
                                    - pending
                                    - approved
                                    - rejected
                                    - revision_requested
                                    description: 'The status of the approval step. Possible values: pending, approved, rejected, revision_requested'
                                  reviewed_at:
                                    type: string
                                    format: date-time
                                    nullable: true
                                    description: The date-time the approval step was reviewed at - null if not reviewed yet
                                  comment:
                                    type: string
                                    example: This is a comment
                                    description: Any comments associated with the approval step
                                  approver_user_id:
                                    type: integer
                                    example: 1
                                    description: The user id of the user assigned to approve the approval step
                        relationships:
                          description: The objects linked to an approval step
                          type: object
                          properties:
                            deal:
                              type: object
                              properties:
                                data:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - deals
                                      example: deals
                            requester:
                              type: object
                              properties:
                                data:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - users
                                      example: users
                                links:
                                  type: object
                                  properties:
                                    related:
                                      type: string
                                      format: uri
                            proposal:
                              type: object
                              properties:
                                data:
                                  type: object
                                  nullable: true
                                  properties:
                                    id:
                                      type: string
                                      example: '12345'
                                    type:
                                      type: string
                                      enum:
                                      - proposals
                                      example: proposals
                            approvers:
                              type: object
                              properties:
                                data:
                                  type: array
                                  items:
                                    type: object
                                    nullable: true
                                    properties:
                                      id:
                                        type: string
                                        example: '12345'
                                      type:
                                        type: string
                                        enum:
                                        - users
                                        example: users
                  included:
                    type: array
                    items:
                      type: object
                      description: User information for the proposal approvers
                      properties:
                        type:
                          type: string
                          example: users
                        id:
                          type: string
                          example: '1'
                          description: The ID of the user
                        attributes:
                          description: User attributes for a specific approver
                          type: object
                          properties:
                            first_name:
                              type: string
                              example: John
                              description: Approver's first name
                            last_name:
                              type: string
                              example: Doe
                              description: Approver's last name
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        example: https://api.vts.com/api/v1/deals/123/approvals?page%5Bafter%5D=MzE2NTE%253D
                        description: The current URL
                      prev:
                        type: string
                        example: https://api.vts.com/api/v1/deals/123/approvals?page%5Bbefore%5D=MzE2NTI%253D
                        description: URL for the previous page of Approvals
                      next:
                        type: string
                        example: https://api.vts.com/api/v1/deals/123/approvals?page%5Bbefore%5D=MzE2NTI%253D
                        description: URL for the next page of Approvals
                    required:
                    - self
        '403':
          description: API not authorized for use
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors_object'
      operationId: get_api-v1-deals-deal-id-approvals
components:
  schemas:
    errors_object:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
                nullable: true
  securitySchemes:
    basic_auth:
      type: http
      scheme: basic
    oauth2:
      type: oauth2
      description: OAuth 2.0 Authorization Code flow with PKCE (VTS Activate / OIDC).
      flows:
        authorizationCode:
          authorizationUrl: https://sandbox.vts.com/oauth/authorize
          tokenUrl: https://sandbox.vts.com/oauth/token
          refreshUrl: https://sandbox.vts.com/oauth/token
          scopes:
            read_write: Read and write access
            openid: OpenID Connect
            profile: Profile claims
            email: Email claim
x-apis-json:
  generated: '2026-07-21'
  method: searched
  source: https://readme.vts.com/reference (per-operation OpenAPI fragments, harvested & merged)