dex/schema/workerschema/v1.json
2015-08-18 11:26:57 -07:00

252 lines
5.3 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"
}
}
},
"Client": {
"id": "Client",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"redirectURIs": {
"required": true,
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ClientWithSecret": {
"id": "Client",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"secret": {
"type": "string"
},
"redirectURIs": {
"required": true,
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ClientPage": {
"id": "ClientPage",
"type": "object",
"properties": {
"clients": {
"type": "array",
"items": {
"$ref": "Client"
}
},
"nextPageToken": {
"type": "string"
}
}
},
"User": {
"id": "User",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
},
"displayName": {
"type": "string"
},
"emailVerified": {
"type": "boolean"
},
"admin": {
"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"
}
}
}
},
"resources": {
"Clients": {
"methods": {
"List": {
"id": "dex.Client.List",
"description": "Retrieve a page of Client objects.",
"httpMethod": "GET",
"path": "clients",
"parameters": {
"nextPageToken": {
"type": "string",
"location": "query"
}
},
"response": {
"$ref": "ClientPage"
}
},
"Create": {
"id": "dex.Client.Create",
"description": "Register a new Client.",
"httpMethod": "POST",
"path": "clients",
"request": {
"$ref": "Client"
},
"response": {
"$ref": "ClientWithSecret"
}
}
}
},
"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 use object.",
"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"
}
}
}
}
}
}