Vehicles.dev Control API

The Control API from Vehicles.dev — 23 operation(s) for control.

OpenAPI Specification

vehicles-dev-api-control-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Vehicle identity and intelligence data — VIN decode, market value, listings, depreciation, reports, listing history, photos, specifications, recalls, and ownership costs — plus the account, API-key, and billing control plane. Data endpoints authenticate with a product API key (`Authorization: Bearer <key>`); control-plane endpoints use a dashboard session token. Errors are RFC 9457 application/problem+json, and every response carries an x-request-id header.'
  title: Vehicles.dev Control API
  version: 0.0.0
servers:
- description: Vehicles.dev API
  url: https://api.vehicles.dev
tags:
- name: Control
paths:
  /v1/control/bootstrap:
    post:
      operationId: provisionControlIdentity
      tags:
      - Control
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - accountName
              properties:
                accountName:
                  type: string
                  maxLength: 120
                  minLength: 1
              additionalProperties: false
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - accountProductId
                - principalId
                - product
                - role
                properties:
                  accountProductId:
                    type: string
                    format: uuid
                  principalId:
                    type: string
                    format: uuid
                  product:
                    anyOf:
                    - type: string
                      enum:
                      - employment
                    - type: string
                      enum:
                      - vehicles
                  role:
                    anyOf:
                    - type: string
                      enum:
                      - owner
                    - type: string
                      enum:
                      - admin
                    - type: string
                      enum:
                      - developer
                    - type: string
                      enum:
                      - billing
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
  /v1/control/account:
    get:
      operationId: getControlAccount
      tags:
      - Control
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - id
                - name
                - product
                - status
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                  product:
                    anyOf:
                    - type: string
                      enum:
                      - employment
                    - type: string
                      enum:
                      - vehicles
                  status:
                    anyOf:
                    - type: string
                      enum:
                      - active
                    - type: string
                      enum:
                      - suspended
                    - type: string
                      enum:
                      - deleted
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
    patch:
      operationId: updateControlAccount
      tags:
      - Control
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  maxLength: 120
                  minLength: 1
              additionalProperties: false
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - id
                - name
                - product
                - status
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                  product:
                    anyOf:
                    - type: string
                      enum:
                      - employment
                    - type: string
                      enum:
                      - vehicles
                  status:
                    anyOf:
                    - type: string
                      enum:
                      - active
                    - type: string
                      enum:
                      - suspended
                    - type: string
                      enum:
                      - deleted
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
    delete:
      operationId: deleteControlAccount
      tags:
      - Control
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - confirmation
              properties:
                confirmation:
                  type: string
                  enum:
                  - delete
              additionalProperties: false
      security:
      - workosBearer: []
      responses:
        '204':
          description: Default Response
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
  /v1/control/dashboard/actions:
    get:
      operationId: getControlDashboardActions
      tags:
      - Control
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - byMetric
                - catalogVersion
                - planId
                properties:
                  byMetric:
                    type: array
                    items:
                      type: object
                      required:
                      - calls
                      - metricId
                      properties:
                        calls:
                          type: integer
                          minimum: 0
                        metricId:
                          type: string
                      additionalProperties: false
                  catalogVersion:
                    type: string
                  planId:
                    anyOf:
                    - type: string
                      enum:
                      - starter
                    - type: string
                      enum:
                      - pro
                    - type: string
                      enum:
                      - scale
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
  /v1/control/billing/catalog:
    get:
      operationId: getControlBillingCatalog
      tags:
      - Control
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - currency
                - metrics
                - plans
                - product
                - version
                properties:
                  currency:
                    type: string
                    enum:
                    - USD
                  metrics:
                    type: array
                    items:
                      type: object
                      required:
                      - description
                      - freeEntitlementEligible
                      - id
                      - name
                      - pricesMicros
                      - successOnly
                      - unit
                      properties:
                        description:
                          type: string
                        freeEntitlementEligible:
                          type: boolean
                        id:
                          type: string
                        name:
                          type: string
                        pricesMicros:
                          type: object
                          required:
                          - pro
                          - scale
                          - starter
                          properties:
                            pro:
                              anyOf:
                              - type: 'null'
                              - type: integer
                                minimum: 0
                            scale:
                              anyOf:
                              - type: 'null'
                              - type: integer
                                minimum: 0
                            starter:
                              anyOf:
                              - type: 'null'
                              - type: integer
                                minimum: 0
                          additionalProperties: false
                        successOnly:
                          type: boolean
                        unit:
                          type: string
                      additionalProperties: false
                  plans:
                    type: array
                    items:
                      type: object
                      required:
                      - annualFeeMicros
                      - description
                      - featured
                      - features
                      - id
                      - includedMonthlyCalls
                      - monthlyFeeMicros
                      - name
                      - overagePolicy
                      - rateLimitRps
                      - support
                      - trialDays
                      properties:
                        annualFeeMicros:
                          type: integer
                          minimum: 0
                        description:
                          type: string
                        featured:
                          type: boolean
                        features:
                          type: array
                          items:
                            type: string
                        id:
                          anyOf:
                          - type: string
                            enum:
                            - starter
                          - type: string
                            enum:
                            - pro
                          - type: string
                            enum:
                            - scale
                        includedMonthlyCalls:
                          anyOf:
                          - type: 'null'
                          - type: integer
                            minimum: 0
                        monthlyFeeMicros:
                          type: integer
                          minimum: 0
                        name:
                          type: string
                        overagePolicy:
                          type: string
                          enum:
                          - metered
                        rateLimitRps:
                          type: integer
                          minimum: 1
                        support:
                          type: string
                        trialDays:
                          type: integer
                          minimum: 0
                      additionalProperties: false
                  product:
                    anyOf:
                    - type: string
                      enum:
                      - employment
                    - type: string
                      enum:
                      - vehicles
                  version:
                    type: string
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
  /v1/control/billing/summary:
    get:
      operationId: getControlBillingSummary
      tags:
      - Control
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - catalogVersion
                - credits
                - entitlement
                - product
                - subscription
                - usage
                properties:
                  catalogVersion:
                    type: string
                  credits:
                    type: object
                    required:
                    - balanceMicros
                    properties:
                      balanceMicros:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  entitlement:
                    type: object
                    required:
                    - granted
                    - key
                    - remaining
                    - used
                    properties:
                      granted:
                        type: integer
                        minimum: 0
                      key:
                        type: string
                        enum:
                        - eligible_api_calls
                      remaining:
                        type: integer
                        minimum: 0
                      used:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  product:
                    anyOf:
                    - type: string
                      enum:
                      - employment
                    - type: string
                      enum:
                      - vehicles
                  subscription:
                    type: object
                    required:
                    - billingInterval
                    - cancelAtPeriodEnd
                    - currentPeriodEnd
                    - currentPeriodStart
                    - pastDueGraceEndsAt
                    - planId
                    - renewsAt
                    - status
                    - trialConsumed
                    - trialEndsAt
                    properties:
                      billingInterval:
                        anyOf:
                        - type: string
                          enum:
                          - monthly
                        - type: string
                          enum:
                          - annual
                      cancelAtPeriodEnd:
                        type: boolean
                      currentPeriodEnd:
                        type: string
                        format: date-time
                      currentPeriodStart:
                        type: string
                        format: date-time
                      pastDueGraceEndsAt:
                        anyOf:
                        - type: 'null'
                        - type: string
                          format: date-time
                      planId:
                        anyOf:
                        - type: string
                          enum:
                          - starter
                        - type: string
                          enum:
                          - pro
                        - type: string
                          enum:
                          - scale
                      renewsAt:
                        anyOf:
                        - type: 'null'
                        - type: string
                          format: date-time
                      status:
                        anyOf:
                        - type: string
                          enum:
                          - active
                        - type: string
                          enum:
                          - trialing
                        - type: string
                          enum:
                          - past_due
                        - type: string
                          enum:
                          - canceled
                      trialConsumed:
                        type: boolean
                      trialEndsAt:
                        anyOf:
                        - type: 'null'
                        - type: string
                          format: date-time
                    additionalProperties: false
                  usage:
                    type: object
                    required:
                    - creditsAppliedMicros
                    - grossAmountMicros
                    - netAmountMicros
                    - successfulEvents
                    properties:
                      creditsAppliedMicros:
                        type: integer
                        minimum: 0
                      grossAmountMicros:
                        type: integer
                        minimum: 0
                      netAmountMicros:
                        type: integer
                        minimum: 0
                      successfulEvents:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '503':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
  /v1/control/billing/usage:
    get:
      operationId: getControlBillingUsage
      tags:
      - Control
      security:
      - workosBearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - byMetric
                - items
                - period
                properties:
                  byMetric:
                    type: array
                    items:
                      type: object
                      required:
                      - calls
                      - creditsAppliedMicros
                      - grossAmountMicros
                      - metricId
                      - netAmountMicros
                      - quantity
                      properties:
                        calls:
                          type: integer
                          minimum: 0
                        creditsAppliedMicros:
                          type: integer
                          minimum: 0
                        grossAmountMicros:
                          type: integer
                          minimum: 0
                        metricId:
                          type: string
                        netAmountMicros:
                          type: integer
                          minimum: 0
                        quantity:
                          type: integer
                          minimum: 0
                      additionalProperties: false
                  items:
                    type: array
                    items:
                      type: object
                      required:
                      - creditsAppliedMicros
                      - grossAmountMicros
                      - metricId
                      - netAmountMicros
                      - occurredAt
                      - quantity
                      properties:
                        creditsAppliedMicros:
                          type: integer
                          minimum: 0
                        grossAmountMicros:
                          type: integer
                          minimum: 0
                        metricId:
                          type: string
                        netAmountMicros:
                          type: integer
                          minimum: 0
                        occurredAt:
                          type: string
                          format: date-time
                        quantity:
                          type: integer
                          minimum: 0
                      additionalProperties: false
                  period:
                    type: object
                    required:
                    - end
                    - start
                    properties:
                      end:
                        type: string
                        format: date-time
                      start:
                        type: string
                        format: date-time
                    additionalProperties: false
                additionalProperties: false
        '400':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '403':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: RFC 9457 problem details.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/def-0'
        '429':
          descri

# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vehicles-dev-api/refs/heads/main/openapi/vehicles-dev-api-control-api-openapi.yml