@api-client/core 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/build/src/amf/AmfMixin.d.ts +1 -1
  2. package/build/src/amf/definitions/Api.d.ts +6 -6
  3. package/build/src/amf/definitions/Shapes.d.ts +2 -2
  4. package/build/src/amf/models/AmfDataNode.d.ts +1 -1
  5. package/build/src/cookies/CookieParser.d.ts +1 -1
  6. package/build/src/lib/parsers/UrlProcessor.d.ts +1 -1
  7. package/build/src/lib/transformers/PayloadSerializer.d.ts +3 -3
  8. package/build/src/mocking/LegacyInterfaces.d.ts +1 -1
  9. package/build/src/models/Authorization.d.ts +3 -3
  10. package/build/src/models/ClientCertificate.d.ts +4 -4
  11. package/build/src/models/HttpCookie.d.ts +2 -2
  12. package/build/src/models/ProjectItem.d.ts +1 -1
  13. package/build/src/models/Property.d.ts +1 -1
  14. package/build/src/models/data/DataNamespace.d.ts +1 -1
  15. package/build/src/models/data/DataProperty.d.ts +2 -2
  16. package/build/src/models/legacy/actions/Actions.d.ts +5 -5
  17. package/build/src/models/legacy/authorization/Authorization.d.ts +2 -2
  18. package/build/src/models/store/Backend.d.ts +2 -2
  19. package/build/src/models/store/Permission.d.ts +3 -3
  20. package/build/src/models/transformers/PostmanTransformer.d.ts +1 -1
  21. package/build/src/models/transformers/PostmanV21Transformer.d.ts +1 -1
  22. package/build/src/models/transformers/har.d.ts +1 -1
  23. package/build/src/runtime/http-runner/HttpFlowRunner.d.ts +1 -1
  24. package/build/src/runtime/node/ProjectParallelRunner.d.ts +1 -1
  25. package/build/src/runtime/node/ProjectRunner.d.ts +1 -1
  26. package/build/src/runtime/store/FilesSdk.d.ts +1 -1
  27. package/data/apis/APIC-483/APIC-483.raml +16 -0
  28. package/data/apis/APIC-483/example/list-of-bank-succ.json +32 -0
  29. package/data/apis/APIC-483/schema/response-retrieve-list-bank.json +68 -0
  30. package/data/apis/arc-demo-api/arc-demo-api.raml +468 -0
  31. package/data/apis/arc-demo-api/examples/e400.xml +4 -0
  32. package/data/apis/arc-demo-api/examples/e401.xml +4 -0
  33. package/data/apis/arc-demo-api/examples/e404.xml +4 -0
  34. package/data/apis/arc-demo-api/examples/image.xml +5 -0
  35. package/data/apis/arc-demo-api/examples/messages-example.json +22 -0
  36. package/data/apis/arc-demo-api/examples/messages-sent-example.json +15 -0
  37. package/data/apis/arc-demo-api/examples/person.json +14 -0
  38. package/data/apis/arc-demo-api/examples/person.url.encoded +1 -0
  39. package/data/apis/arc-demo-api/examples/person.xml +14 -0
  40. package/data/apis/arc-demo-api/examples/product.xml +9 -0
  41. package/data/apis/arc-demo-api/library.raml +36 -0
  42. package/data/apis/arc-demo-api/resourceTypes/app-person.raml +49 -0
  43. package/data/apis/arc-demo-api/resourceTypes/example-types.raml +45 -0
  44. package/data/apis/arc-demo-api/resourceTypes/image.raml +23 -0
  45. package/data/apis/arc-demo-api/resourceTypes/message-sent-type.raml +23 -0
  46. package/data/apis/arc-demo-api/resourceTypes/message-type.raml +33 -0
  47. package/data/apis/arc-demo-api/resourceTypes/product.raml +52 -0
  48. package/data/apis/arc-demo-api/resourceTypes/resource.raml +11 -0
  49. package/data/apis/arc-demo-api/schemas/error-response.xsd +11 -0
  50. package/data/apis/arc-demo-api/schemas/image.xsd +11 -0
  51. package/data/apis/arc-demo-api/schemas/person.json +104 -0
  52. package/data/apis/arc-demo-api/schemas/person.xsd +26 -0
  53. package/data/apis/arc-demo-api/schemas/product.xsd +17 -0
  54. package/data/apis/arc-demo-api/securitySchemes/basic.raml +5 -0
  55. package/data/apis/arc-demo-api/securitySchemes/oauth_2_0.raml +29 -0
  56. package/data/apis/arc-demo-api/securitySchemes/x-custom.raml +26 -0
  57. package/data/apis/arc-demo-api/traits/adminable.raml +23 -0
  58. package/data/apis/arc-demo-api/traits/pagination.raml +83 -0
  59. package/data/apis/arc-demo-api/traits/rate-limited.raml +9 -0
  60. package/data/apis/oas-3-api/oas-3-api.yaml +356 -0
  61. package/data/apis/petstore/petstore.yaml +954 -0
  62. package/data/apis/secured-api/oauth-2-custom-settings.raml +143 -0
  63. package/data/apis/secured-api/oauth2-header-delivery.raml +13 -0
  64. package/data/apis/secured-api/oauth2-no-delivery.raml +8 -0
  65. package/data/apis/secured-api/oauth2-no-grants.raml +12 -0
  66. package/data/apis/secured-api/oauth2-pkce.raml +13 -0
  67. package/data/apis/secured-api/oauth2-query-delivery.raml +13 -0
  68. package/data/apis/secured-api/oauth_1_0.raml +8 -0
  69. package/data/apis/secured-api/oauth_1_0_no-settings.raml +3 -0
  70. package/data/apis/secured-api/oauth_1_0_no-signature.raml +7 -0
  71. package/data/apis/secured-api/oauth_1_0_signature.raml +8 -0
  72. package/data/apis/secured-api/passthrough-querystring.raml +16 -0
  73. package/data/apis/secured-api/passthrough.raml +24 -0
  74. package/data/apis/secured-api/secured-api.raml +231 -0
  75. package/data/apis/secured-api/x-custom.raml +33 -0
  76. package/data/apis/secured-api/x-other.raml +29 -0
  77. package/data/apis/secured-api/x-query-string.raml +16 -0
  78. package/data/model.js +5 -0
  79. package/data/models/APIC-187.json +13 -3
  80. package/data/models/APIC-188.json +13 -3
  81. package/data/models/APIC-233.json +1 -1
  82. package/data/models/APIC-391.json +23 -2
  83. package/data/models/APIC-483.json +3088 -0
  84. package/data/models/APIC-487.json +1 -1
  85. package/data/models/APIC-655.json +21 -1
  86. package/data/models/APIC-689.json +21 -1
  87. package/data/models/APIC-690.json +5 -5
  88. package/data/models/SE-10469.json +11 -1
  89. package/data/models/SE-13092.json +35 -5
  90. package/data/models/SE-22063.json +22 -2
  91. package/data/models/amf-helper-api.json +740 -42
  92. package/data/models/arc-demo-api.json +52994 -0
  93. package/data/models/async-api.json +86 -36
  94. package/data/models/example-generator-api.json +280 -10
  95. package/data/models/expanded-api.json +1 -1
  96. package/data/models/flattened-api.json +1 -1
  97. package/data/models/multiple-servers.json +1 -1
  98. package/data/models/oas-3-api.json +10534 -0
  99. package/data/models/oas-date.json +1 -1
  100. package/data/models/oas-types.json +1 -1
  101. package/data/models/oas-unions.json +31 -1
  102. package/data/models/petstore.json +27477 -0
  103. package/data/models/raml-date.json +11 -1
  104. package/data/models/recursive.json +1 -1
  105. package/data/models/schema-api.json +84 -4
  106. package/data/models/secured-api.json +19067 -0
  107. package/data/models/tracked-to-linked.json +88 -4
  108. package/package.json +3 -3
@@ -0,0 +1,45 @@
1
+ #%RAML 1.0 Library
2
+
3
+ types:
4
+ Org:
5
+ description: Represents an organization unit.
6
+ type: object
7
+ properties:
8
+ onCall: Alertable # inherits all properties from type `Alertable`
9
+ Head: Manager # inherits all properties from type `Manager`
10
+ Person:
11
+ type: object
12
+ properties:
13
+ firstname: string
14
+ lastname: string
15
+ title?: string
16
+ kind: string # may be used to differenciate between classes that extend from `Person`
17
+ example:
18
+ firstname: Pawel
19
+ lastname: Psztyc
20
+ title: Mr.
21
+ kind: Manager
22
+ Phone:
23
+ type: string
24
+ pattern: "^[0-9|-]+$" # defines pattern for the content of type `Phone`
25
+ Manager:
26
+ type: Person # inherits all properties from type `Person`
27
+ properties:
28
+ reports: Person[] # inherits all properties from type `Person`; array type where `[]` is a shortcut
29
+ phone: Phone
30
+ kind:
31
+ type: string
32
+ enum: [AcmeManager]
33
+ Admin:
34
+ type: Person # inherits all properties from type `Person`
35
+ properties:
36
+ kind:
37
+ type: string
38
+ enum: [AcmeAdmin]
39
+ clearanceLevel:
40
+ enum: [ low, high ]
41
+ AlertableAdmin:
42
+ type: Admin # inherits all properties from type `Admin`
43
+ properties:
44
+ phone: Phone # inherits all properties from type `Phone`; uses shortcut syntax
45
+ Alertable: Manager | AlertableAdmin # union type; either a `Manager` or `AlertableAdmin`
@@ -0,0 +1,23 @@
1
+ #%RAML 1.0 DataType
2
+
3
+ description: |
4
+ An image object representing an image object strored in the file store.
5
+ The image can be only included in the response. It has no effect if the Image appear in the
6
+ request. Endpoint handles image creation on it's own and clients can't process images
7
+ except of sending image data.
8
+
9
+ type: object
10
+ properties:
11
+ url:
12
+ type: string
13
+ description: |
14
+ The URL of the image.
15
+ To resize the image and crop it to a square, append the query string **?sz=x**, where x is the dimension in pixels of each side.
16
+ thumb:
17
+ type: string
18
+ displayName: Thumbnail
19
+ description: |
20
+ An URL to the thumbnail of the image. Thumbnails are 60x60px cropped images of the original image.
21
+ example:
22
+ url: https://domain.com/profile/pawel.psztyc/image
23
+ thumb: https://domain.com/profile/pawel.psztyc/image/thumb
@@ -0,0 +1,23 @@
1
+ #%RAML 1.0 DataType
2
+
3
+ type: object
4
+ description: |
5
+ Message sent by a user object. This represents a message in user's sent folder.
6
+ properties:
7
+ email:
8
+ type: string
9
+ description: Receiver email address. It's a virtual email address assigned to this user. Messages sent to this address will be rerouted to user's original address.
10
+ message:
11
+ type: string
12
+ description: Message body
13
+ timestamp:
14
+ type: integer
15
+ description: Message sent timestamp as a Uxin timestamp.
16
+ attachements:
17
+ type: string[]
18
+ description: List of URLs to the attachments
19
+ required: false
20
+ important:
21
+ type: boolean
22
+ description: True if the message should be marked as an important.
23
+ required: false
@@ -0,0 +1,33 @@
1
+ #%RAML 1.0 DataType
2
+
3
+ type: object
4
+ description: An user message object.
5
+ properties:
6
+ from:
7
+ type: object
8
+ description: Object representing sender of the message.
9
+ required: false
10
+ properties:
11
+ uid:
12
+ type: string
13
+ description: User ID.
14
+ name:
15
+ type: string
16
+ description: User full name
17
+ email:
18
+ type: string
19
+ description: User emaill address to be used to return the message. It's a virtual email address assigned to this user. Messages sent to this address will be rerouted to user's original address.
20
+ message:
21
+ type: string
22
+ description: Message body
23
+ timestamp:
24
+ type: integer
25
+ description: Message sent timestamp as a Uxin timestamp.
26
+ attachements:
27
+ type: string[]
28
+ description: List of URLs to the attachments
29
+ required: false
30
+ important:
31
+ type: boolean
32
+ description: True if the message should be marked as an important.
33
+ required: false
@@ -0,0 +1,52 @@
1
+ #%RAML 1.0 DataType
2
+
3
+ displayName: A product resource
4
+ description: A single product representing an item in the store.
5
+ type: !include resource.raml
6
+ properties:
7
+ id:
8
+ description: |
9
+ Product id. It is a UUID of the database record.
10
+ __This property will be ignored when creating an object.__
11
+ It will be available when the product is stored in the datastore.
12
+ pattern: "[0-9a-zA-Z-]+"
13
+ name:
14
+ type: string
15
+ description: Product name
16
+ example: Acme product - mentol flavor, 500 ml.
17
+ required: true
18
+ quantity:
19
+ type: number
20
+ description: |
21
+ The quantity of the product in the one unit of measurement.
22
+ See `unit` property for more information.
23
+ example: 500
24
+ required: true
25
+ unit:
26
+ type: string
27
+ description: The unit of measuremet for the quantity property.
28
+ example: ml
29
+ required: true
30
+ upc:
31
+ type: string
32
+ pattern: "[0-9]{12,12}"
33
+ description: |
34
+ The Universal Produc Code. It consists of 12 numerical digits. However, because of the
35
+ integer precision limitation in JavaScript it is represented as a string.
36
+ example: "042100005264"
37
+ required: true
38
+ available:
39
+ type: boolean
40
+ description: |
41
+ Product current availability in the store.
42
+ Product may be not available but the users still can order it with later delivery date.
43
+ required: true
44
+ example: true
45
+ example:
46
+ id: we2322-4f4f4f-f4f4ff-f4f4ff4
47
+ name: Acme Product
48
+ quantity: 200
49
+ unit: ml
50
+ upc: "123456789101"
51
+ available: true
52
+ etag: "Wsd3deef3rgrgf4r"
@@ -0,0 +1,11 @@
1
+ #%RAML 1.0 DataType
2
+
3
+ description: |
4
+ Common properties for all resources returned by the API.
5
+ type: object
6
+ properties:
7
+ etag:
8
+ type: string
9
+ description: |
10
+ ETag of this resource for caching purposes.
11
+ __This property will be ignored when creating an object.__
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:element name="resource">
4
+ <xs:complexType>
5
+ <xs:sequence>
6
+ <xs:element name="message" type="xs:string"></xs:element>
7
+ </xs:sequence>
8
+ <xs:attribute name="error" type="xs:boolean" use="required"/>
9
+ </xs:complexType>
10
+ </xs:element>
11
+ </xs:schema>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:element name="image">
4
+ <xs:complexType>
5
+ <xs:sequence>
6
+ <xs:element name="url" type="xs:string"></xs:element>
7
+ <xs:element name="thumb" type="xs:string"></xs:element>
8
+ </xs:sequence>
9
+ </xs:complexType>
10
+ </xs:element>
11
+ </xs:schema>
@@ -0,0 +1,104 @@
1
+ {
2
+ "$id": "http://example.com/example.json",
3
+ "type": "object",
4
+ "definitions": {},
5
+ "$schema": "http://json-schema.org/draft-07/schema#",
6
+ "properties": {
7
+ "id": {
8
+ "$id": "/properties/id",
9
+ "type": "string",
10
+ "title": "The Id Schema ",
11
+ "default": "",
12
+ "examples": [
13
+ "R34fg663H9KW9MMSKISI"
14
+ ]
15
+ },
16
+ "name": {
17
+ "$id": "/properties/name",
18
+ "type": "string",
19
+ "title": "The Name Schema ",
20
+ "default": "",
21
+ "examples": [
22
+ "Pawel Psztyc"
23
+ ]
24
+ },
25
+ "birthday": {
26
+ "$id": "/properties/birthday",
27
+ "type": "string",
28
+ "title": "The Birthday Schema ",
29
+ "default": "",
30
+ "examples": [
31
+ "1983-10-20"
32
+ ]
33
+ },
34
+ "gender": {
35
+ "$id": "/properties/gender",
36
+ "type": "string",
37
+ "title": "The Gender Schema ",
38
+ "default": "",
39
+ "examples": [
40
+ "male"
41
+ ]
42
+ },
43
+ "url": {
44
+ "$id": "/properties/url",
45
+ "type": "string",
46
+ "title": "The Url Schema ",
47
+ "default": "",
48
+ "examples": [
49
+ "https://domain.com/profile/pawel.psztyc"
50
+ ]
51
+ },
52
+ "image": {
53
+ "$id": "/properties/image",
54
+ "type": "object",
55
+ "properties": {
56
+ "url": {
57
+ "$id": "/properties/image/properties/url",
58
+ "type": "string",
59
+ "title": "The Url Schema ",
60
+ "default": "",
61
+ "examples": [
62
+ "https://domain.com/profile/pawel.psztyc/image"
63
+ ]
64
+ },
65
+ "thumb": {
66
+ "$id": "/properties/image/properties/thumb",
67
+ "type": "string",
68
+ "title": "The Thumb Schema ",
69
+ "default": "",
70
+ "examples": [
71
+ "https://domain.com/profile/pawel.psztyc/image/thumb"
72
+ ]
73
+ }
74
+ }
75
+ },
76
+ "tagline": {
77
+ "$id": "/properties/tagline",
78
+ "type": "string",
79
+ "title": "The Tagline Schema ",
80
+ "default": "",
81
+ "examples": [
82
+ "Some text about me."
83
+ ]
84
+ },
85
+ "language": {
86
+ "$id": "/properties/language",
87
+ "type": "string",
88
+ "title": "The Language Schema ",
89
+ "default": "",
90
+ "examples": [
91
+ "en_GB"
92
+ ]
93
+ },
94
+ "etag": {
95
+ "$id": "/properties/etag",
96
+ "type": "string",
97
+ "title": "The Etag Schema ",
98
+ "default": "",
99
+ "examples": [
100
+ "W\\244m4n5kj3gbn2nj4k4n4"
101
+ ]
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:element name="resource">
4
+ <xs:complexType>
5
+ <xs:sequence>
6
+ <xs:element name="id" type="xs:string"></xs:element>
7
+ <xs:element name="name" type="xs:string"></xs:element>
8
+ <xs:element name="birthday" type="xs:date"></xs:element>
9
+ <xs:element name="gender" type="xs:string"></xs:element>
10
+ <xs:element name="url" type="xs:string"></xs:element>
11
+ <xs:element name="image">
12
+ <xs:complexType>
13
+ <xs:sequence>
14
+ <xs:element name="url" type="xs:string"></xs:element>
15
+ <xs:element name="thumb" type="xs:string"></xs:element>
16
+ </xs:sequence>
17
+ </xs:complexType>
18
+ </xs:element>
19
+ <xs:element name="tagline" type="xs:string"></xs:element>
20
+ <xs:element name="language" type="xs:string"></xs:element>
21
+ </xs:sequence>
22
+ <xs:attribute name="error" type="xs:boolean" use="required"></xs:attribute>
23
+ <xs:attribute name="type" type="xs:string" use="required"></xs:attribute>
24
+ </xs:complexType>
25
+ </xs:element>
26
+ </xs:schema>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:element name="resource">
4
+ <xs:complexType>
5
+ <xs:sequence>
6
+ <xs:element name="id" type="xs:string"></xs:element>
7
+ <xs:element name="name" type="xs:string"></xs:element>
8
+ <xs:element name="quantity" type="xs:double"></xs:element>
9
+ <xs:element name="unit" type="xs:string"></xs:element>
10
+ <xs:element name="upc" type="xs:string"></xs:element>
11
+ <xs:element name="available" type="xs:string"></xs:element>
12
+ </xs:sequence>
13
+ <xs:attribute name="error" type="xs:string"></xs:attribute>
14
+ <xs:attribute name="type" type="xs:string"></xs:attribute>
15
+ </xs:complexType>
16
+ </xs:element>
17
+ </xs:schema>
@@ -0,0 +1,5 @@
1
+ #%RAML 1.0 SecurityScheme
2
+
3
+ description: |
4
+ This API supports Basic Authentication for staging environment.
5
+ type: Basic Authentication
@@ -0,0 +1,29 @@
1
+ #%RAML 1.0 SecurityScheme
2
+ type: OAuth 2.0
3
+ description: This API supports OAuth 2.0 for authenticating all API requests.
4
+ describedBy:
5
+ queryParameters:
6
+ access_token:
7
+ type: string
8
+ description: Used to send a valid OAuth 2 access token. Do not use with the "Authorization" header.
9
+ required: false
10
+ headers:
11
+ authorization:
12
+ type: string
13
+ example: ya.2453vfDb3cJHisdf.*&H
14
+ description: Used to send a valid OAuth 2 access token. Do not use with the "access_token" query string parameter.
15
+ required: false
16
+ responses:
17
+ 401:
18
+ description: Bad or expired token. This can happen if the user or Dropbox revoked or expired an access token. To fix, re-authenticate the user.
19
+ body:
20
+ application/json:
21
+ 403:
22
+ description: Bad OAuth request (wrong consumer key, bad nonce, expired timestamp...). Unfortunately, re-authenticating the user won't help here.
23
+ body:
24
+ application/json:
25
+ settings:
26
+ accessTokenUri: http://api.domain.com/oauth2/token
27
+ authorizationUri: http://api.domain.com/oauth2/auth
28
+ authorizationGrants: ["authorization_code", "implicit"]
29
+ scopes: ["profile", "email"]
@@ -0,0 +1,26 @@
1
+ #%RAML 1.0 SecurityScheme
2
+
3
+ description: |
4
+ A custom security scheme for authenticating requests.
5
+ type: x-custom
6
+ describedBy:
7
+ headers:
8
+ SpecialToken:
9
+ description: |
10
+ Used to send a custom token.
11
+ type: string
12
+ queryParameters:
13
+ debugToken:
14
+ description: Select one of available values to run the request in the debug mode with selected level.
15
+ enum: [Info, Log, Warning, Error, Critical]
16
+ type: string
17
+ required: false
18
+ booleanToken:
19
+ description: Just to test boolean values.
20
+ type: boolean
21
+ default: true
22
+ responses:
23
+ 401:
24
+ description: |
25
+ Bad token.
26
+ 403:
@@ -0,0 +1,23 @@
1
+ #%RAML 1.0 Trait
2
+
3
+ #displayName: Adminable
4
+ description: Use this to mark a resource that can be changed only by users with admin level.
5
+
6
+ usage: |
7
+ Some resources can be changed only by users with Admin clerance level. This resources will be
8
+ marked with the header `X-Admin-Resource` when requesting it. It means that every attemp to
9
+ update the resource by non-admin user will result with 401 response.
10
+
11
+ responses:
12
+ 200:
13
+ headers:
14
+ X-Amin-Resource:
15
+ displayName: Admin resource mark header
16
+ type: boolean
17
+ default: false
18
+ description: This header is not set if the resource can be changed by non-admin users.
19
+ 401:
20
+ description: |
21
+ The 401 response will be returned when trying to update the resource with
22
+ non-admin clerance level. Resources that requires admin privileges are marked with
23
+ `X-Admin-Resource` header when getting the resource.
@@ -0,0 +1,83 @@
1
+ #%RAML 1.0 Trait
2
+
3
+ # displayName: Paginated
4
+ description: The collection of <<resourcePathName>>.
5
+ usage: |
6
+ This trait is to be used when the resource is paginated that is the edpoint producses
7
+ a list of resources in the response.
8
+ Every paginated response contains a `nextPageToken` property that should be used in pagination
9
+ to request for next page of the results and `items` which is a list of resources.
10
+ The `items` property is always defined, even if the response is empty. Therefore the `404`
11
+ response in this case is not possible. Clients need to handle empty responses by their own.
12
+ It is crutial that the subsequent requests contain the same set of parameters (like `limit`
13
+ or `start`) because if this values will change then the `nextPageToken` will be revalidated
14
+ and pagination will start from the first page.
15
+ queryParameters:
16
+ limit:
17
+ type: number
18
+ description: Limit in the response list
19
+ maximum: 300
20
+ minimum: 1
21
+ example: 100
22
+ default: 25
23
+ required: false
24
+ start:
25
+ type: number
26
+ description: The start entry of the list
27
+ minimum: 0
28
+ example: 25
29
+ default: 0
30
+ required: false
31
+ nextPageToken:
32
+ type: string
33
+ example: CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA
34
+ description: |
35
+ The `nextPageToken` is a web safe encoded cursor to the next entry in the database.
36
+ It can be obtained by requesting paginated resource and used in next request to get
37
+ next results page.
38
+ pattern: "[a-zA-Z0-9]+"
39
+ required: false
40
+ responses:
41
+ 200:
42
+ description: |
43
+ Paginated response containing a single page of the result.
44
+ By default one page of the results contains 25 items. You can extend it by setting a
45
+ `limit` query parameter in your request.
46
+ When changing parameters while using the `nextPageToken` the `nextPageToken` will be ignored
47
+ and new query will be performed. Queries with `nextPageToken` should contain the same set
48
+ of parameters as the first request.
49
+ body:
50
+ application/json:
51
+ type: object
52
+ properties:
53
+ items:
54
+ type: array
55
+ required: true
56
+ description: Contains a list of objects for this method.
57
+ items: <<resourceType>>
58
+ nextPageToken:
59
+ type: string
60
+ required: true
61
+ example: CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA
62
+ description: |
63
+ The next page token is a web safe encoded cursor to the next entry in the database.
64
+ Use it in the next request to obtain next page of the results.
65
+ 400:
66
+ description: |
67
+ The error response when one of the parameters is invalid and can't be parsed.
68
+ Nothing can be done at this time except correcting the request to send valid data.
69
+ body:
70
+ application/json:
71
+ displayName: Invalid
72
+ type: object
73
+ properties:
74
+ error:
75
+ type: boolean
76
+ required: true
77
+ example: true
78
+ description: Indicate that the response is errored.
79
+ message:
80
+ type: string
81
+ description: The error message associated with the error.
82
+ example: The `limit` parameter is invalid. Please, provide a number between 1 and 300.
83
+ required: true
@@ -0,0 +1,9 @@
1
+ #%RAML 1.0 Trait
2
+
3
+ displayName: RateLimited
4
+ usage: TO be used when the API has a rate limit on the API gateway.
5
+ headers:
6
+ x-rate-client-id:
7
+ description: he client ID to use for the rate limit.
8
+ example: 5757gh76
9
+ required: true