com.getorbyt.getServiceInfo

getorbyt.com

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "config": {
      "description": "Client settings decided by the service. Every value is optional for the client: it keeps a built-in default for each key it reads and ignores keys it does not know.",
      "properties": {
        "values": {
          "description": "Already filtered to the requesting platform and version.",
          "items": {
            "ref": "#configValue",
            "type": "ref"
          },
          "maxLength": 64,
          "type": "array"
        }
      },
      "required": [
        "values"
      ],
      "type": "object"
    },
    "configValue": {
      "description": "One setting. Values are strings so new keys need no schema change; the client parses each key it reads and falls back to its default when the value does not parse.",
      "properties": {
        "key": {
          "maxLength": 64,
          "type": "string"
        },
        "value": {
          "maxLength": 256,
          "type": "string"
        }
      },
      "required": [
        "key",
        "value"
      ],
      "type": "object"
    },
    "main": {
      "description": "What this deployment of the Orbyt service can currently do, for clients that cannot be upgraded in step with it. Clients feature-detect against `capabilities` rather than comparing version numbers: only one version of this service is ever live, while many client builds run for months. Every field is optional and the whole call is optional — a client that cannot reach it, or reads an older service that does not serve it, must behave exactly as it did before. Unauthenticated.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "capabilities": {
              "description": "Behaviours this deployment supports, as opaque identifiers a client tests for membership of. Deliberately not `knownValues`: the whole point is that a client meets identifiers it has never heard of and ignores them. Removing one is how a feature is turned off in already-installed clients.",
              "items": {
                "maxLength": 64,
                "type": "string"
              },
              "maxLength": 128,
              "type": "array"
            },
            "config": {
              "description": "Values the client reads instead of building them in, so they can change without a release. Absent from an older service; a client that finds it absent, or a key missing from it, keeps its built-in default.",
              "ref": "#config",
              "type": "ref"
            },
            "minimumClient": {
              "description": "The oldest client version this service still answers correctly for the requested platform, as a semantic version. Advisory: this service does not refuse older clients, it tells them. A client below it should prompt for an update.",
              "maxLength": 32,
              "type": "string"
            },
            "notices": {
              "description": "Messages for the viewer, such as a degraded subsystem or a scheduled maintenance window.",
              "items": {
                "ref": "#notice",
                "type": "ref"
              },
              "maxLength": 8,
              "type": "array"
            },
            "providers": {
              "description": "Which external services this deployment is attached to, so a client can aim `atproto-proxy` at them without a release. Absent from an older service; a client that finds it absent keeps its built-in defaults.",
              "ref": "#providers",
              "type": "ref"
            },
            "recommendedClient": {
              "description": "The newest released client version for the requested platform, so a client can offer a soft update prompt without a separate service.",
              "maxLength": 32,
              "type": "string"
            },
            "releaseNotes": {
              "description": "What is new in the asking client's own version, for the sheet a client shows once on its first launch after an update. Present only when the request names a platform and a readable version this service has notes for. Absent from an older service; a client that finds it absent shows nothing.",
              "ref": "#releaseNotes",
              "type": "ref"
            }
          },
          "required": [
            "capabilities"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "platform": {
            "description": "Which client is asking, so version advice can be answered for it. An unknown or absent platform is answered without version advice rather than refused.",
            "knownValues": [
              "ios",
              "web"
            ],
            "type": "string"
          },
          "version": {
            "description": "The asking client's own version, as a semantic version. Lets the service aim `config` values at particular builds, for example to turn something off only in the builds that have a bug. Absent or unreadable is answered as if no build were targeted.",
            "maxLength": 32,
            "type": "string"
          }
        },
        "type": "params"
      },
      "type": "query"
    },
    "notice": {
      "description": "One operator message. `id` is stable so a client can remember that this viewer has already dismissed it.",
      "properties": {
        "id": {
          "maxLength": 64,
          "type": "string"
        },
        "message": {
          "maxLength": 1000,
          "type": "string"
        },
        "severity": {
          "description": "Absent means info. A severity this client does not recognise must be presented as info rather than dropped or treated as blocking.",
          "knownValues": [
            "info",
            "warning",
            "blocking"
          ],
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "id",
        "message"
      ],
      "type": "object"
    },
    "providers": {
      "description": "Service identities only, never operational endpoints. Each service field is absent when this deployment has none; for `appView` that means standard social reads are unavailable and the client should not attempt them.",
      "properties": {
        "appView": {
          "description": "Service DID with fragment answering `app.bsky.*` reads, e.g. `did:web:api.bsky.app#bsky_appview`.",
          "maxLength": 256,
          "type": "string"
        },
        "chat": {
          "description": "Service DID with fragment for chat.",
          "maxLength": 256,
          "type": "string"
        },
        "discoveryFeed": {
          "description": "The feed generator behind Your Mix.",
          "format": "at-uri",
          "type": "string"
        },
        "discoveryFeedService": {
          "description": "Service DID with fragment for `discoveryFeed`.",
          "maxLength": 256,
          "type": "string"
        },
        "network": {
          "description": "A stable label for the connected network, such as `bluesky`.",
          "maxLength": 32,
          "type": "string"
        }
      },
      "required": [
        "network"
      ],
      "type": "object"
    },
    "releaseNote": {
      "description": "One new thing: a short name and a sentence or two about it.",
      "properties": {
        "detail": {
          "maxLength": 500,
          "type": "string"
        },
        "title": {
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [
        "title"
      ],
      "type": "object"
    },
    "releaseNotes": {
      "description": "Notes for one released client version. Written by people for people, in the service so they can be written or corrected without a release.",
      "properties": {
        "items": {
          "description": "What is new, most important first.",
          "items": {
            "ref": "#releaseNote",
            "type": "ref"
          },
          "maxLength": 8,
          "minLength": 1,
          "type": "array"
        },
        "version": {
          "description": "The version these notes describe, as a semantic version. A client shows them only when it is its own version.",
          "maxLength": 32,
          "type": "string"
        }
      },
      "required": [
        "version",
        "items"
      ],
      "type": "object"
    }
  },
  "id": "com.getorbyt.getServiceInfo",
  "lexicon": 1
}

Validate Record

Validate a record against com.getorbyt.getServiceInfo

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2xrqztnmzlckb3xfuuukupso
CID
bafyreibzhtg4fewppxj5ssze2zzxj75wrbe436epaiimotec23fpliulqa
Indexed At
2026-10-10 20:16 UTC
AT-URI
at://did:plc:2xrqztnmzlckb3xfuuukupso/com.atproto.lexicon.schema/com.getorbyt.getServiceInfo

Version History (4 versions)

Lexicon Garden

@