> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vmarea.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a service

> Fetch a single service by id. Requires the `vms:read` scope.



## OpenAPI

````yaml https://api.vmarea.com/api/public/v1/openapi.json get /api/public/v1/services/{id}
openapi: 3.1.0
info:
  title: VMArea Public API
  version: 1.0.0
  description: >-
    The VMArea Public API lets you provision and manage VMs, firewalls, SSH
    keys, backups, and webhooks programmatically. Authenticate every request
    with an API token (`x-api-key` header). API access is in early access:
    tokens are not yet self-service in every account; contact hello@vmarea.com
    to request access. Tokens carry coarse scopes (e.g. `vms:write`); endpoints
    reject calls that lack the scope they require.
  contact:
    name: VMArea Support
    url: https://vmarea.com/support
servers:
  - url: https://api.vmarea.com
    description: Production
security:
  - ApiKey: []
paths:
  /api/public/v1/services/{id}:
    get:
      tags:
        - Services
      summary: Get a service
      description: Fetch a single service by id. Requires the `vms:read` scope.
      operationId: getService
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 64
          in: path
          name: id
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                        enum:
                          - VM
                          - DEDICATED
                          - HOSTING
                          - STORAGE_BOX
                          - OBJECT_STORAGE
                      displayName:
                        type: string
                      status:
                        type: string
                        enum:
                          - PENDING
                          - PROVISIONING
                          - ACTIVE
                          - SUSPENDED
                          - COOLDOWN
                          - TERMINATED
                          - ERROR
                      statusChangedAt:
                        type: string
                        format: date-time
                      productId:
                        type: string
                      planId:
                        type: string
                        nullable: true
                      locationId:
                        type: string
                        nullable: true
                      capabilities:
                        type: array
                        items:
                          type: string
                      createdAt:
                        type: string
                        format: date-time
                      activatedAt:
                        type: string
                        format: date-time
                        nullable: true
                      terminatedAt:
                        type: string
                        format: date-time
                        nullable: true
                      billing:
                        type: object
                        properties:
                          status:
                            type: string
                          priceMonthly:
                            type: string
                          currency:
                            type: string
                          cycleDays:
                            type: integer
                          nextRenewalAt:
                            type: string
                            format: date-time
                        required:
                          - status
                          - priceMonthly
                          - currency
                          - cycleDays
                          - nextRenewalAt
                        additionalProperties: false
                        nullable: true
                      vm:
                        type: object
                        properties:
                          hostname:
                            type: string
                          status:
                            type: string
                          ip:
                            type: string
                            nullable: true
                        required:
                          - hostname
                          - status
                          - ip
                        additionalProperties: false
                        nullable: true
                      lifecycle:
                        type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - ACTIVE
                              - ENDING
                              - SUSPENDED
                              - RECENTLY_DELETED
                              - GONE
                          reason:
                            type: string
                            nullable: true
                          nextStep:
                            type: string
                            enum:
                              - POWER_OFF
                              - FINAL_WARNING
                              - DELETE
                              - PURGE
                              - PERIOD_END
                            nullable: true
                          nextStepAt:
                            type: string
                            format: date-time
                            nullable: true
                          suspendAt:
                            type: string
                            format: date-time
                            nullable: true
                          finalWarningAt:
                            type: string
                            format: date-time
                            nullable: true
                          deleteAt:
                            type: string
                            format: date-time
                            nullable: true
                          restorableUntil:
                            type: string
                            format: date-time
                            nullable: true
                          paused:
                            type: boolean
                          paidUntil:
                            type: string
                            format: date-time
                            nullable: true
                          restorableDays:
                            type: integer
                            nullable: true
                          restorable:
                            type: boolean
                        required:
                          - state
                          - reason
                          - nextStep
                          - nextStepAt
                          - suspendAt
                          - finalWarningAt
                          - deleteAt
                          - restorableUntil
                          - paused
                          - paidUntil
                          - restorableDays
                          - restorable
                        additionalProperties: false
                        nullable: true
                    required:
                      - id
                      - type
                      - displayName
                      - status
                      - statusChangedAt
                      - productId
                      - planId
                      - locationId
                      - capabilities
                      - createdAt
                      - activatedAt
                      - terminatedAt
                      - billing
                      - vm
                    additionalProperties: false
                required:
                  - success
                  - data
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - success
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - success
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - success
                  - error
                additionalProperties: false
      security:
        - ApiKey: []
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        Long-lived API token (early access; contact hello@vmarea.com). Tokens
        are scope-restricted; this spec lists the scope each endpoint requires.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.