{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Whether a slug can be used for a new instance. Customers only. An invalid or reserved slug is answered without asking the provisioner.",
"errors": [
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "The caller is not a HappyProto customer, or the provisioner refused them.",
"name": "Forbidden"
},
{
"description": "slug is missing.",
"name": "InvalidRequest"
},
{
"description": "Passed through from the provisioner.",
"name": "NotFound"
},
{
"description": "Passed through from the provisioner.",
"name": "InvalidSlug"
},
{
"description": "Passed through from the provisioner.",
"name": "SlugTaken"
},
{
"description": "Passed through from the provisioner.",
"name": "NotEntitled"
},
{
"description": "Passed through from the provisioner.",
"name": "InstanceLimit"
},
{
"description": "Passed through from the provisioner.",
"name": "NoCapacity"
},
{
"description": "Passed through from the provisioner.",
"name": "OperationInProgress"
},
{
"description": "The provisioner is unreachable, not configured, or answered with an error it does not explain to callers.",
"name": "Upstream"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"available": {
"type": "boolean"
},
"reason": {
"description": "Why not, when it is not available.",
"knownValues": [
"invalid",
"reserved",
"taken"
],
"type": "string"
}
},
"required": [
"available"
],
"type": "object"
}
},
"parameters": {
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"type": "params"
},
"type": "query"
}
},
"id": "at.happyproto.server.checkSlug",
"lexicon": 1
}