dex/schema/workerschema/v1.json
Bobby Rullo 104c9761c6 schema: remove clients API
The only thing using this AFAIK is dexctl in api_driver mode, which
no-one uses - it's a sort of weird API which requires a client to create
other clients, and gives all clients the ability to list all other
clients. So we are removing it.
2016-06-15 11:42:50 -07:00

335 lines
7.7 KiB
JSON

{
"kind": "discovery#restDescription",
"discoveryVersion": "v1",
"id": "dex:v1",
"name": "workerschema",
"version": "v1",
"title": "Dex API",
"description": "The Dex REST API",
"documentationLink": "http://github.com/coreos/dex",
"protocol": "rest",
"icons": {
"x16": "",
"x32": ""
},
"labels": [],
"baseUrl": "$ENDPOINT/api/v1/",
"basePath": "/api/v1/",
"rootUrl": "$ENDPOINT/",
"servicePath": "api/v1/",
"batchPath": "batch",
"parameters": {},
"auth": {},
"schemas": {
"Error": {
"id": "Error",
"type": "object",
"properties": {
"error": {
"type": "string"
},
"error_description": {
"type": "string"
}
}
},
"RefreshClient": {
"id": "Client",
"type": "object",
"description": "A client with associated public metadata.",
"properties": {
"clientID": {
"type": "string"
},
"clientName": {
"type": "string"
},
"logoURI": {
"type": "string"
},
"clientURI": {
"type": "string"
}
}
},
"RefreshClientList": {
"id": "RefreshClientList",
"type": "object",
"properties": {
"clients": {
"type": "array",
"items": {
"$ref": "RefreshClient"
}
}
}
},
"User": {
"id": "User",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
},
"displayName": {
"type": "string"
},
"emailVerified": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"UserResponse": {
"id": "UserResponse",
"type": "object",
"properties": {
"user": {
"$ref": "User"
}
}
},
"UsersResponse": {
"id": "UsersResponse",
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"$ref": "User"
}
},
"nextPageToken": {
"type": "string"
}
}
},
"UserCreateRequest": {
"id": "UserCreateRequest",
"type": "object",
"properties": {
"user": {
"$ref": "User"
},
"redirectURL": {
"type": "string",
"format": "url"
}
}
},
"UserCreateResponse": {
"id": "UserCreateResponse",
"type": "object",
"properties": {
"user": {
"type": "object",
"$ref": "User"
},
"resetPasswordLink": {
"type": "string"
},
"emailSent": {
"type": "boolean"
}
}
},
"UserDisableRequest": {
"id": "UserDisableRequest",
"type": "object",
"properties": {
"disable": {
"type": "boolean",
"description": "If true, disable this user, if false, enable them. No error is signaled if the user state doesn't change."
}
}
},
"UserDisableResponse": {
"id": "UserDisableResponse",
"type": "object",
"properties": {
"ok": {
"type": "boolean"
}
}
},
"ResendEmailInvitationRequest": {
"id": "UserDisableRequest",
"type": "object",
"properties": {
"redirectURL": {
"type": "string",
"format": "url"
}
}
},
"ResendEmailInvitationResponse": {
"id": "UserDisableResponse",
"type": "object",
"properties": {
"resetPasswordLink": {
"type": "string"
},
"emailSent": {
"type": "boolean"
}
}
}
},
"resources": {
"Users": {
"methods": {
"List": {
"id": "dex.User.List",
"description": "Retrieve a page of User objects.",
"httpMethod": "GET",
"path": "users",
"parameters": {
"nextPageToken": {
"type": "string",
"location": "query"
},
"maxResults": {
"type": "integer",
"location": "query"
}
},
"response": {
"$ref": "UsersResponse"
}
},
"Get": {
"id": "dex.User.Get",
"description": "Get a single User object by id.",
"httpMethod": "GET",
"path": "users/{id}",
"parameters": {
"id": {
"type": "string",
"required": true,
"location": "path"
}
},
"parameterOrder": [
"id"
],
"response": {
"$ref": "UserResponse"
}
},
"Create": {
"id": "dex.User.Create",
"description": "Create a new User.",
"httpMethod": "POST",
"path": "users",
"request": {
"$ref": "UserCreateRequest"
},
"response": {
"$ref": "UserCreateResponse"
}
},
"Disable": {
"id": "dex.User.Disable",
"description": "Enable or disable a user.",
"httpMethod": "POST",
"path": "users/{id}/disable",
"parameters": {
"id": {
"type": "string",
"required": true,
"location": "path"
}
},
"parameterOrder": [
"id"
],
"request": {
"$ref": "UserDisableRequest"
},
"response": {
"$ref": "UserDisableResponse"
}
},
"ResendEmailInvitation": {
"id": "dex.User.ResendEmailInvitation",
"description": "Resend invitation email to an existing user with unverified email.",
"httpMethod": "POST",
"path": "users/{id}/resend-invitation",
"parameters": {
"id": {
"type": "string",
"required": true,
"location": "path"
}
},
"parameterOrder": [
"id"
],
"request": {
"$ref": "ResendEmailInvitationRequest"
},
"response": {
"$ref": "ResendEmailInvitationResponse"
}
}
}
},
"RefreshClient": {
"methods": {
"List": {
"id": "dex.RefreshClient.List",
"description": "List all clients that hold refresh tokens for the specified user.",
"httpMethod": "GET",
"path": "account/{userid}/refresh",
"parameters": {
"userid": {
"type": "string",
"required": true,
"location": "path"
}
},
"parameterOrder": [
"userid"
],
"response": {
"$ref": "RefreshClientList"
}
},
"Revoke": {
"id": "dex.RefreshClient.Revoke",
"description": "Revoke all refresh tokens issues to the client for the specified user.",
"httpMethod": "DELETE",
"path": "account/{userid}/refresh/{clientid}",
"parameterOrder": [
"userid",
"clientid"
],
"parameters": {
"clientid": {
"type": "string",
"required": true,
"location": "path"
},
"userid": {
"type": "string",
"required": true,
"location": "path"
}
}
}
}
}
}
}