openapi: 3.0.0
servers:
  - url: https://firefox.settings.services.mozilla.com/v1
info:
  title: Remote Settings PROD
  version: "1.22"
  x-apisguru-categories:
    - cloud
  x-logo:
    backgroundColor: "#FFFFFF"
    url: https://cloud.githubusercontent.com/assets/21603/24036792/23286ed2-0af3-11e7-9353-7a772636dee1.png
  x-origin:
    - format: openapi
      url: https://firefox.settings.services.mozilla.com/v1/__api__
      version: "3.0"
  x-providerName: mozilla.com
  x-serviceName: kinto
tags:
  - name: Collection-changeset
  - name: Changess
  - name: Attachment
  - name: Batch
  - name: Utilities
  - name: Buckets
  - name: Collections
  - name: Groups
  - name: Records
paths:
  /:
    get:
      operationId: server_info
      responses:
        "200":
          content:
            application/json:
              schema:
                additionalProperties: {}
                title: SchemaNode
                type: object
          description: Return information about the running Instance.
      security: []
      tags:
        - Utilities
  /__api__:
    get:
      operationId: get_openapi_spec
      responses:
        "200":
          content:
            application/json:
              schema:
                additionalProperties: {}
                title: SchemaNode
                type: object
          description: Return an OpenAPI description of the running instance.
      security: []
      tags:
        - Utilities
  /__heartbeat__:
    get:
      operationId: __heartbeat__
      responses:
        "200":
          content:
            application/json:
              schema:
                additionalProperties: {}
                title: SchemaNode
                type: object
          description: Server is working properly.
        "503":
          content:
            application/json:
              schema:
                additionalProperties: {}
                title: SchemaNode
                type: object
          description: One or more subsystems failing.
      security: []
      tags:
        - Utilities
  /__lbheartbeat__:
    get:
      operationId: __lbheartbeat__
      responses:
        "200":
          content:
            application/json:
              schema:
                title: SchemaNode
                type: object
          description: Returned if server is reachable.
      security: []
      tags:
        - Utilities
  /__user_data__: {}
  "/__user_data__/{principal}":
    parameters:
      - in: path
        name: principal
        required: true
        schema:
          type: string
  /__version__:
    get:
      operationId: __version__
      responses:
        "200":
          content:
            application/json:
              schema:
                additionalProperties: {}
                title: SchemaNode
                type: object
          description: Return the running Instance version information.
      security: []
      tags:
        - Utilities
  /batch:
    post:
      operationId: batch
      requestBody:
        content:
          application/json:
            schema:
              properties:
                defaults:
                  properties:
                    body:
                      additionalProperties: {}
                      title: Body
                      type: object
                    headers:
                      additionalProperties: {}
                      title: Headers
                      type: object
                    method:
                      enum:
                        - GET
                        - HEAD
                        - DELETE
                        - TRACE
                        - POST
                        - PUT
                        - PATCH
                      title: Method
                      type: string
                    path:
                      pattern: ^/
                      title: Path
                      type: string
                  title: Defaults
                  type: object
                requests:
                  items:
                    properties:
                      body:
                        additionalProperties: {}
                        title: Body
                        type: object
                      headers:
                        additionalProperties: {}
                        title: Headers
                        type: object
                      method:
                        enum:
                          - GET
                          - HEAD
                          - DELETE
                          - TRACE
                          - POST
                          - PUT
                          - PATCH
                        title: Method
                        type: string
                      path:
                        pattern: ^/
                        title: Path
                        type: string
                    required:
                      - path
                    type: object
                  title: Requests
                  type: array
              required:
                - requests
              title: BatchPayloadSchema
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  responses:
                    items:
                      properties:
                        body:
                          additionalProperties: {}
                          title: Body
                          type: object
                        headers:
                          additionalProperties: {}
                          title: Headers
                          type: object
                        path:
                          title: Path
                          type: string
                        status:
                          title: Status
                          type: integer
                      required:
                        - status
                        - path
                      type: object
                    title: Responses
                    type: array
                required:
                  - responses
                title: BatchResponseBodySchema
                type: object
          description: Return a list of operation responses.
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request was badly formatted.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: an unknown error occurred.
      security: []
      tags:
        - Batch
  /buckets:
    get:
      operationId: get_buckets
      parameters:
        - in: query
          name: _limit
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _sort
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: _token
          required: false
          schema:
            type: string
        - in: query
          name: _since
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _to
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _before
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: id
          required: false
          schema:
            type: string
        - in: query
          name: last_modified
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    default: []
                    items:
                      additionalProperties: {}
                      properties:
                        collection:schema:
                          additionalProperties: {}
                          type: object
                        group:schema:
                          additionalProperties: {}
                          type: object
                        record:schema:
                          additionalProperties: {}
                          type: object
                      title: Data
                      type: object
                    type: array
                title: Schema
                type: object
          description: Return a list of matching objects.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Buckets
  /buckets/monitor/collections/changes/records:
    get:
      operationId: get_changess
      parameters:
        - in: query
          name: _limit
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _sort
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: _token
          required: false
          schema:
            type: string
        - in: query
          name: _since
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _to
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _before
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: id
          required: false
          schema:
            type: string
        - in: query
          name: last_modified
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    default: []
                    items:
                      properties:
                        bucket:
                          title: Bucket
                          type: string
                        collection:
                          title: Collection
                          type: string
                        host:
                          title: Host
                          type: string
                      required:
                        - host
                        - bucket
                        - collection
                      title: Data
                      type: object
                    type: array
                title: Schema
                type: object
          description: Return a list of matching objects.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Changess
  "/buckets/{bid}/collections/{cid}/changeset":
    get:
      operationId: get_collection-changeset
      parameters:
        - in: query
          name: _since
          required: false
          schema:
            pattern: ^"([0-9]+?)"$
            type: string
        - in: query
          name: _expected
          required: true
          schema:
            type: string
        - in: query
          name: _limit
          required: false
          schema:
            type: integer
        - in: query
          name: bucket
          required: false
          schema:
            type: string
        - in: query
          name: collection
          required: false
          schema:
            type: string
      responses:
        default:
          description: UNDOCUMENTED RESPONSE
      security: []
      tags:
        - Collection-changeset
    parameters:
      - in: path
        name: bid
        required: true
        schema:
          type: string
      - in: path
        name: cid
        required: true
        schema:
          type: string
  "/buckets/{bucket_id}/collections":
    get:
      operationId: get_collections
      parameters:
        - in: query
          name: _limit
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _sort
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: _token
          required: false
          schema:
            type: string
        - in: query
          name: _since
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _to
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _before
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: id
          required: false
          schema:
            type: string
        - in: query
          name: last_modified
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    default: []
                    items:
                      additionalProperties: {}
                      properties:
                        cache_expires:
                          title: Cache Expires
                          type: integer
                        schema:
                          additionalProperties: {}
                          title: Schema
                          type: object
                      title: Data
                      type: object
                    type: array
                title: Schema
                type: object
          description: Return a list of matching objects.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Collections
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
  "/buckets/{bucket_id}/collections/{collection_id}/records":
    get:
      operationId: get_records
      parameters:
        - in: query
          name: _limit
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _sort
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: _token
          required: false
          schema:
            type: string
        - in: query
          name: _since
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _to
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _before
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: id
          required: false
          schema:
            type: string
        - in: query
          name: last_modified
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    default: []
                    items:
                      additionalProperties: {}
                      title: Data
                      type: object
                    type: array
                title: Schema
                type: object
          description: Return a list of matching objects.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Records
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
      - in: path
        name: collection_id
        required: true
        schema:
          type: string
  "/buckets/{bucket_id}/collections/{collection_id}/records/{id}":
    get:
      operationId: get_record
      parameters:
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    additionalProperties: {}
                    title: Data
                    type: object
                  permissions:
                    properties:
                      read:
                        items:
                          type: string
                        title: Read
                        type: array
                      write:
                        items:
                          type: string
                        title: Write
                        type: array
                    title: Permissions
                    type: object
                title: ObjectSchema
                type: object
          description: Return the target object.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "404":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The object does not exist or was deleted.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Records
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
      - in: path
        name: collection_id
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
  "/buckets/{bucket_id}/collections/{collection_id}/records/{id}/attachment":
    delete:
      operationId: delete_attachment
      responses:
        default:
          description: UNDOCUMENTED RESPONSE
      security: []
      tags:
        - Attachment
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
      - in: path
        name: collection_id
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
    post:
      operationId: create_attachment
      responses:
        default:
          description: UNDOCUMENTED RESPONSE
      security: []
      tags:
        - Attachment
  "/buckets/{bucket_id}/collections/{id}":
    get:
      operationId: get_collection
      parameters:
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    additionalProperties: {}
                    properties:
                      cache_expires:
                        title: Cache Expires
                        type: integer
                      schema:
                        additionalProperties: {}
                        title: Schema
                        type: object
                    title: Data
                    type: object
                  permissions:
                    properties:
                      read:
                        items:
                          type: string
                        title: Read
                        type: array
                      record:create:
                        items:
                          type: string
                        title: Record:Create
                        type: array
                      write:
                        items:
                          type: string
                        title: Write
                        type: array
                    title: Permissions
                    type: object
                title: ObjectSchema
                type: object
          description: Return the target object.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "404":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The object does not exist or was deleted.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Collections
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
  "/buckets/{bucket_id}/groups":
    get:
      operationId: get_groups
      parameters:
        - in: query
          name: _limit
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _sort
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: _token
          required: false
          schema:
            type: string
        - in: query
          name: _since
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _to
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: _before
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - in: query
          name: id
          required: false
          schema:
            type: string
        - in: query
          name: last_modified
          required: false
          schema:
            maximum: 9223372036854776000
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    default: []
                    items:
                      additionalProperties: {}
                      properties:
                        members:
                          default: []
                          items:
                            type: string
                          title: Members
                          type: array
                      title: Data
                      type: object
                    type: array
                title: Schema
                type: object
          description: Return a list of matching objects.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Groups
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
  "/buckets/{bucket_id}/groups/{id}":
    get:
      operationId: get_group
      parameters:
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    additionalProperties: {}
                    properties:
                      members:
                        default: []
                        items:
                          type: string
                        title: Members
                        type: array
                    title: Data
                    type: object
                  permissions:
                    properties:
                      read:
                        items:
                          type: string
                        title: Read
                        type: array
                      write:
                        items:
                          type: string
                        title: Write
                        type: array
                    title: Permissions
                    type: object
                title: ObjectSchema
                type: object
          description: Return the target object.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "404":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The object does not exist or was deleted.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Groups
    parameters:
      - in: path
        name: bucket_id
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
  "/buckets/{id}":
    get:
      operationId: get_bucket
      parameters:
        - explode: false
          in: query
          name: _fields
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - in: header
          name: If-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
        - in: header
          name: If-None-Match
          required: false
          schema:
            pattern: ^"([0-9]+?)"$|\*
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    additionalProperties: {}
                    properties:
                      collection:schema:
                        additionalProperties: {}
                        type: object
                      group:schema:
                        additionalProperties: {}
                        type: object
                      record:schema:
                        additionalProperties: {}
                        type: object
                    title: Data
                    type: object
                  permissions:
                    properties:
                      collection:create:
                        items:
                          type: string
                        title: Collection:Create
                        type: array
                      group:create:
                        items:
                          type: string
                        title: Group:Create
                        type: array
                      read:
                        items:
                          type: string
                        title: Read
                        type: array
                      write:
                        items:
                          type: string
                        title: Write
                        type: array
                    title: Permissions
                    type: object
                title: ObjectSchema
                type: object
          description: Return the target object.
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "304":
          description: Reponse has not changed since value in If-None-Match header
          headers:
            Etag:
              schema:
                pattern: ^"([0-9]+?)"$|\*
                type: string
            Last-Modified:
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is invalid.
        "401":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The request is missing authentication headers.
        "403":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The user is not allowed to perform the operation, or the resource is not accessible.
        "404":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The object does not exist or was deleted.
        "406":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: The client doesn't accept supported responses Content-Type.
        "412":
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Object was changed or deleted since value in `If-Match` header.
        default:
          content:
            application/json:
              schema:
                properties:
                  code:
                    title: Code
                    type: integer
                  details: {}
                  errno:
                    title: Errno
                    type: integer
                  error:
                    title: Error
                    type: string
                  info:
                    title: Info
                    type: string
                  message:
                    title: Message
                    type: string
                required:
                  - code
                  - errno
                  - error
                title: ErrorSchema
                type: object
          description: Unexpected error.
      security: []
      tags:
        - Buckets
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /contribute.json:
    get:
      operationId: contribute
      responses:
        "200":
          content:
            application/json:
              schema:
                additionalProperties: {}
                title: SchemaNode
                type: object
          description: Return open source contributing information.
      security: []
      tags:
        - Utilities
