+

+ Authentication +

- Tokens + + Tokens /oauth/token

-

-
-
-

+
+
+
POST /oauth/token - Get an Access Token -
+ + Get an Access Token +

-
- - - - - - +

Performs the login. Takes in an plain text email and password, matching the owner's login information for https://my.teslamotors.com/user/login.

Returns a access_token which is passed along as a header with all future requests to authenticate the user.

@@ -119,49 +74,58 @@

The current client ID and secret are available here

-
-
-

+
+
Request - -
+ data-target="#request-coll-cf811e997ac476342de0a3f3f363dfb5">Request + +

-
Example URI
+ class="collapse show request-card card-body" + id="request-coll-cf811e997ac476342de0a3f3f363dfb5" + data-anchor-id="request-coll-cf811e997ac476342de0a3f3f363dfb5"> + + + +
Example URI
https://owner-api.teslamotors.com/oauth/token
Request object
-
grant_typestring

The type of oAuth grant. Always "password"

+ +
grant_typestring

The type of oAuth grant. Always "password"

password
client_idstring

The oAuth client ID

abc
client_secretstring

The oAuth client secret

123
emailstring

The email for my.teslamotors.com

elon@teslamotors.com
passwordstring

The password for my.teslamotors.com

-
edisonsux
+edisonsux

-
-
-

+
+
Response 204 No Content - -
+ +

+ class="card-body collapse show response-card" + id="request-coll--authentication-tokens-get-an-access-token-204" + data-anchor-id="request-coll--authentication-tokens-get-an-access-token-204">
Headers
  • @@ -174,37 +138,47 @@
    Headers
-

Data structures

-
-
-

- Org -

+

Data structures

+
+
+
+ Org +
-
+
-
namestring -Apiary
+ +
namestring +Apiary
-
-
-

- User -

+
+
+
+ User +
-
+
-
usernamestring +

User of the application

+
usernamestring pavan
idnumber

Id of the user

5
addressobject

The address of the user

-
{ }
arrayarray

array description

-
  • string
  • string
  • string
inline arrayarray

desc

-
  • string
  • string
  • string
multilined descriptionstring

some dummy text

+
+
streetstring

The street of the user

+
Heregracht 266
citystring

The city of the user

+
Amsterdam
zipcodeobject

zip description

+
+
numbersnumber

zip numbers

+
1234
lettersstring

zip letters

+
AB
variablestring +trololo
arrayarray

array description

+
  • string - 3
  • string - 4
  • string - 5
inline arrayarray

desc

+
  • string - 1
  • string - 2
  • string - 3
multilined descriptionstring

some dummy text

and it continue there and will end there

-
+
@@ -218,14 +192,12 @@

data-placement="top" data-html="true" data-content="

EXTRA_HOSTS: https://test.owner-api.teslamotors.com

SOMETHING: INFO

host: https://owner-api.teslamotors.com

"> - + - - - + + + + + \ No newline at end of file diff --git a/tests/statics/drafter/json/inheritance.json b/tests/statics/drafter/json/inheritance.json index 3ea2b646..1ee5cc28 100644 --- a/tests/statics/drafter/json/inheritance.json +++ b/tests/statics/drafter/json/inheritance.json @@ -4,86 +4,122 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Tesla Model S JSON API" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Tesla Model S JSON API" + } }, "attributes": { - "meta": [ - { - "element": "member", - "meta": { - "classes": [ - "user" - ] - }, - "content": { - "key": { - "element": "string", - "content": "FORMAT" + "metadata": { + "element": "array", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "user" + } + ] + } }, - "value": { - "element": "string", - "content": "1A" + "content": { + "key": { + "element": "string", + "content": "FORMAT" + }, + "value": { + "element": "string", + "content": "1A" + } } - } - }, - { - "element": "member", - "meta": { - "classes": [ - "user" - ] }, - "content": { - "key": { - "element": "string", - "content": "HOST" + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "user" + } + ] + } }, - "value": { - "element": "string", - "content": "https://owner-api.teslamotors.com" + "content": { + "key": { + "element": "string", + "content": "HOST" + }, + "value": { + "element": "string", + "content": "https://owner-api.teslamotors.com" + } } - } - }, - { - "element": "member", - "meta": { - "classes": [ - "user" - ] }, - "content": { - "key": { - "element": "string", - "content": "EXTRA_HOSTS" + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "user" + } + ] + } }, - "value": { - "element": "string", - "content": "https://test.owner-api.teslamotors.com" + "content": { + "key": { + "element": "string", + "content": "EXTRA_HOSTS" + }, + "value": { + "element": "string", + "content": "https://test.owner-api.teslamotors.com" + } } - } - }, - { - "element": "member", - "meta": { - "classes": [ - "user" - ] }, - "content": { - "key": { - "element": "string", - "content": "SOMETHING" + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "user" + } + ] + } }, - "value": { - "element": "string", - "content": "INFO" + "content": { + "key": { + "element": "string", + "content": "SOMETHING" + }, + "value": { + "element": "string", + "content": "INFO" + } } } - } - ] + ] + } }, "content": [ { @@ -93,116 +129,147 @@ { "element": "category", "meta": { - "classes": [ - "resourceGroup" - ], - "title": "Authentication" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "resourceGroup" + } + ] + }, + "title": { + "element": "string", + "content": "Authentication" + } }, "content": [ { "element": "resource", "meta": { - "title": "Tokens" + "title": { + "element": "string", + "content": "Tokens" + } }, "attributes": { - "href": "/oauth/token" + "href": { + "element": "string", + "content": "/oauth/token" + } }, "content": [ { "element": "transition", "meta": { - "title": "Get an Access Token" + "title": { + "element": "string", + "content": "Get an Access Token" + } }, "attributes": { "data": { "element": "dataStructure", - "content": [ - { - "element": "object", - "content": [ - { - "element": "member", - "meta": { - "description": "The type of oAuth grant. Always \"password\"" + "content": { + "element": "object", + "content": [ + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The type of oAuth grant. Always \"password\"" + } + }, + "content": { + "key": { + "element": "string", + "content": "grant_type" }, - "content": { - "key": { - "element": "string", - "content": "grant_type" - }, - "value": { - "element": "string", - "content": "password" - } + "value": { + "element": "string", + "content": "password" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The oAuth client ID" } }, - { - "element": "member", - "meta": { - "description": "The oAuth client ID" + "content": { + "key": { + "element": "string", + "content": "client_id" }, - "content": { - "key": { - "element": "string", - "content": "client_id" - }, - "value": { - "element": "string", - "content": "abc" - } + "value": { + "element": "string", + "content": "abc" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The oAuth client secret" } }, - { - "element": "member", - "meta": { - "description": "The oAuth client secret" + "content": { + "key": { + "element": "string", + "content": "client_secret" }, - "content": { - "key": { - "element": "string", - "content": "client_secret" - }, - "value": { - "element": "string", - "content": "123" - } + "value": { + "element": "string", + "content": "123" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The email for my.teslamotors.com" } }, - { - "element": "member", - "meta": { - "description": "The email for my.teslamotors.com" + "content": { + "key": { + "element": "string", + "content": "email" }, - "content": { - "key": { - "element": "string", - "content": "email" - }, - "value": { - "element": "string", - "content": "elon@teslamotors.com" - } + "value": { + "element": "string", + "content": "elon@teslamotors.com" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The password for my.teslamotors.com" } }, - { - "element": "member", - "meta": { - "description": "The password for my.teslamotors.com" + "content": { + "key": { + "element": "string", + "content": "password" }, - "content": { - "key": { - "element": "string", - "content": "password" - }, - "value": { - "element": "string", - "content": "edisonsux" - } + "value": { + "element": "string", + "content": "edisonsux" } } - ] - } - ] + } + ] + } } }, "content": [ @@ -216,14 +283,20 @@ { "element": "httpRequest", "attributes": { - "method": "POST" + "method": { + "element": "string", + "content": "POST" + } }, "content": [] }, { "element": "httpResponse", "attributes": { - "statusCode": "204", + "statusCode": { + "element": "string", + "content": "204" + }, "headers": { "element": "httpHeaders", "content": [ @@ -256,266 +329,310 @@ { "element": "category", "meta": { - "classes": [ - "dataStructures" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "dataStructures" + } + ] + } }, "content": [ { "element": "dataStructure", - "content": [ - { - "element": "object", - "meta": { - "id": "Org" - }, - "content": [ - { - "element": "member", - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { - "element": "string", - "content": "Apiary" - } + "content": { + "element": "object", + "meta": { + "id": { + "element": "string", + "content": "Org" + } + }, + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "Apiary" } } - ] - } - ] + } + ] + } }, { "element": "dataStructure", - "content": [ - { - "element": "object", - "meta": { - "id": "User", - "description": "User of the application" + "content": { + "element": "object", + "meta": { + "id": { + "element": "string", + "content": "User" }, - "content": [ - { - "element": "member", - "content": { - "key": { - "element": "string", - "content": "username" - }, - "value": { - "element": "string", - "content": "pavan" - } + "description": { + "element": "string", + "content": "User of the application" + } + }, + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "username" + }, + "value": { + "element": "string", + "content": "pavan" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "Id of the user" } }, - { - "element": "member", - "meta": { - "description": "Id of the user" + "content": { + "key": { + "element": "string", + "content": "id" }, - "content": { - "key": { - "element": "string", - "content": "id" - }, - "value": { - "element": "number", - "content": 5 - } + "value": { + "element": "number", + "content": 5 + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The address of the user" } }, - { - "element": "member", - "meta": { - "description": "The address of the user" + "content": { + "key": { + "element": "string", + "content": "address" }, - "content": { - "key": { - "element": "string", - "content": "address" - }, - "value": { - "element": "object", - "content": [ - { - "element": "member", - "meta": { - "description": "The street of the user" + "value": { + "element": "object", + "content": [ + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The street of the user" + } + }, + "content": { + "key": { + "element": "string", + "content": "street" }, - "content": { - "key": { - "element": "string", - "content": "street" - }, - "value": { - "element": "string", - "content": "Heregracht 266" - } + "value": { + "element": "string", + "content": "Heregracht 266" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "The city of the user" } }, - { - "element": "member", - "meta": { - "description": "The city of the user" + "content": { + "key": { + "element": "string", + "content": "city" }, - "content": { - "key": { - "element": "string", - "content": "city" - }, - "value": { - "element": "string", - "content": "Amsterdam" - } + "value": { + "element": "string", + "content": "Amsterdam" + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "zip description" } }, - { - "element": "member", - "meta": { - "description": "zip description" + "content": { + "key": { + "element": "string", + "content": "zipcode" }, - "content": { - "key": { - "element": "string", - "content": "zipcode" - }, - "value": { - "element": "object", - "content": [ - { - "element": "member", - "meta": { - "description": "zip numbers" + "value": { + "element": "object", + "content": [ + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "zip numbers" + } + }, + "content": { + "key": { + "element": "string", + "content": "numbers" }, - "content": { - "key": { - "element": "string", - "content": "numbers" - }, - "value": { - "element": "number", - "content": 1234 - } + "value": { + "element": "number", + "content": 1234 + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "zip letters" } }, - { - "element": "member", - "meta": { - "description": "zip letters" + "content": { + "key": { + "element": "string", + "content": "letters" }, - "content": { - "key": { - "element": "string", - "content": "letters" - }, - "value": { - "element": "string", - "content": "AB" - } + "value": { + "element": "string", + "content": "AB" } } - ] - } + } + ] + } + } + }, + { + "element": "member", + "attributes": { + "variable": { + "element": "boolean", + "content": true } }, - { - "element": "member", - "content": { - "key": { - "element": "string", - "attributes": { - "variable": true - }, - "content": "variable" - }, - "value": { - "element": "string", - "content": "trololo" - } + "content": { + "key": { + "element": "string", + "content": "variable" + }, + "value": { + "element": "string", + "content": "trololo" } } - ] - } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "array description" } }, - { - "element": "member", - "meta": { - "description": "array description" + "content": { + "key": { + "element": "string", + "content": "array" }, - "content": { - "key": { - "element": "string", - "content": "array" - }, - "value": { - "element": "array", - "content": [ - { - "element": "string", - "content": "3" - }, - { - "element": "string", - "content": "4" - }, - { - "element": "string", - "content": "5" - } - ] - } + "value": { + "element": "array", + "content": [ + { + "element": "string", + "content": "3" + }, + { + "element": "string", + "content": "4" + }, + { + "element": "string", + "content": "5" + } + ] + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "desc" } }, - { - "element": "member", - "meta": { - "description": "desc" + "content": { + "key": { + "element": "string", + "content": "inline array" }, - "content": { - "key": { - "element": "string", - "content": "inline array" - }, - "value": { - "element": "array", - "content": [ - { - "element": "string", - "content": "1" - }, - { - "element": "string", - "content": "2" - }, - { - "element": "string", - "content": "3" - } - ] - } + "value": { + "element": "array", + "content": [ + { + "element": "string", + "content": "1" + }, + { + "element": "string", + "content": "2" + }, + { + "element": "string", + "content": "3" + } + ] + } + } + }, + { + "element": "member", + "meta": { + "description": { + "element": "string", + "content": "some dummy text\n\nand it continue there\nand will end there" } }, - { - "element": "member", - "meta": { - "description": "some dummy text\n\nand it continue there\nand will end there" + "content": { + "key": { + "element": "string", + "content": "multilined description" }, - "content": { - "key": { - "element": "string", - "content": "multilined description" - }, - "value": { - "element": "string" - } + "value": { + "element": "string" } } - ] - } - ] + } + ] + } } ] } @@ -523,4 +640,3 @@ } ] } -