---
title: "Services"
method: GET
path: "/services"
tags: ["services"]
---

# Services

`GET /services`

List of registered services

## Response `200`

Successful operation

- Service[]
  - `id` string, required — Fully qualified service name, used as the path segment in `/services/{serviceID}`.
  - `package` string, required — Proto package the service is declared in.
  - `name` string, required — Service name without the package prefix.
  - `methods` Method[], required — Methods the service exposes.
    - `id` string, required — Method name, used as the path segment in `/methods/{methodID}`.
    - `name` string, required — Method name as declared in the proto file.
    - `methodType` 'unary' | 'client_streaming' | 'server_streaming' | 'bidi_streaming', required — gRPC method interaction type
    - `requestType` string — Fully-qualified protobuf request message type
    - `responseType` string — Fully-qualified protobuf response message type
    - `requestSchema` ProtoMessageSchema — Shape of a proto message, as GripMock resolved it from the descriptor.
      - `typeName` string, required — Fully-qualified protobuf message type name
      - `recursiveRef` boolean — True when schema expansion stopped due to recursive reference
      - `fields` ProtoFieldSchema[], required — Fields declared on the message.
        - `name` string, required — Field name as declared in the proto file (snake_case).
        - `jsonName` string, required — Field name in protojson output (camelCase).
        - `number` integer, required — Field number from the proto definition.
        - `kind` string, required — Proto kind, for example `string`, `int32`, `message`, `enum`.
        - `cardinality` 'optional' | 'required' | 'repeated', required — Whether the field is optional, required or repeated.
        - `typeName` string — Referenced protobuf type for message/enum fields
        - `oneof` string — Oneof group name if field belongs to oneof
        - `enumValues` string[] — Allowed value names when `kind` is `enum`.
        - `map` boolean — True when the field is a proto map.
        - `mapKeyKind` string — Kind of the map key, when `map` is true.
        - `mapValueKind` string — Kind of the map value, when `map` is true.
        - `mapValueTypeName` string — Fully qualified type name of the map value, when it is a message or enum.
        - `message` ProtoMessageSchema — recursive
        - `mapValueMessage` ProtoMessageSchema — recursive
    - `responseSchema` ProtoMessageSchema — Shape of a proto message, as GripMock resolved it from the descriptor.
      - `typeName` string, required — Fully-qualified protobuf message type name
      - `recursiveRef` boolean — True when schema expansion stopped due to recursive reference
      - `fields` ProtoFieldSchema[], required — Fields declared on the message.
        - `name` string, required — Field name as declared in the proto file (snake_case).
        - `jsonName` string, required — Field name in protojson output (camelCase).
        - `number` integer, required — Field number from the proto definition.
        - `kind` string, required — Proto kind, for example `string`, `int32`, `message`, `enum`.
        - `cardinality` 'optional' | 'required' | 'repeated', required — Whether the field is optional, required or repeated.
        - `typeName` string — Referenced protobuf type for message/enum fields
        - `oneof` string — Oneof group name if field belongs to oneof
        - `enumValues` string[] — Allowed value names when `kind` is `enum`.
        - `map` boolean — True when the field is a proto map.
        - `mapKeyKind` string — Kind of the map key, when `map` is true.
        - `mapValueKind` string — Kind of the map value, when `map` is true.
        - `mapValueTypeName` string — Fully qualified type name of the map value, when it is a message or enum.
        - `message` ProtoMessageSchema — recursive
        - `mapValueMessage` ProtoMessageSchema — recursive
    - `clientStreaming` boolean — Indicates client-side streaming method
    - `serverStreaming` boolean — Indicates server-side streaming method

## Other responses

- `404` — No services found
- `500` — Internal Server Error

---

[API](https://skmtc.net/bavix/apis/gripmock-api-schema.md) · [All operations](https://skmtc.net/bavix/apis/gripmock-api-schema/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bavix/gripmock-api-schema/revisions/38f761f66622/schema)
