Commit Graph

349 Commits (d1fd9de10e216ea4a55a9e3ec321561bf7520538)

Author SHA1 Message Date
Richard van der Hoff 29bd4d45ee Flatten the response to /sync
Now that we don't expect there to be duplication betwen the 'timeline' and
'state' results, there's no point in having the state map. (That does mean the
events themselves need event_id fields though).

Also:

- move the contents of the 'unsigned' dictionary into the events themselves
- replace the state list with two layers of dictionary keyed on type and
  state_key
- rename the children of the 'rooms' dict from "joined/invited/archived" to
  "join/invite/leave" to match the membership states
9 years ago
Richard van der Hoff b41d771c15 Fix typos in /sync example response 9 years ago
Richard van der Hoff 57995a815a Fix a number of untruths in the documentation about /sync.
Attempts to make the /sync documentation better represent fact as it currently
stands - in particular document the structure of the returned events.
9 years ago
Richard van der Hoff 3f0262081c Update sync API defn to reflect SPEC-254 changes
State now corresponds to the start of the timeline, not the end.
9 years ago
Daniel Wagner-Hall 061105c9dc Guest users are allowed room initialSync 9 years ago
Daniel Wagner-Hall dcf54e11b1 Specify /publicRooms world_readable and guest_access
Depends on https://github.com/matrix-org/matrix-doc/pull/154
9 years ago
Daniel Wagner-Hall d7357ef9b7 Specify /publicRooms 9 years ago
Daniel Wagner-Hall 24c2036a35 3pid invites: remove mentions of display_name 9 years ago
Daniel Wagner-Hall e72151f2c3 Specify guest room access
This was reviewed as PR #150 and merged from daniel/anonymousaccess
9 years ago
Daniel Wagner-Hall 161441fa3a Update 3pid spec based on new implementation 9 years ago
Daniel Wagner-Hall 232b10b0f6 Merge branch 'master' of github.com:matrix-org/matrix-doc 9 years ago
Mark Haines b7cc5b1018 Merge pull request #141 from matrix-org/markjh/full_http_api_docs
Include the full schema for an http API in the docs
9 years ago
Mark Haines ebc0237109 Add the missing titles to the schema 9 years ago
Mark Haines d53814097f Add example content to the tags in example tag events 9 years ago
Mark Haines e9d361841b Fix tag examples 9 years ago
Daniel Wagner-Hall 2e3a0b4e00 Specify guest accounts 9 years ago
Mark Haines 52f55e0542 Allow room tags to have asssociated content, and return that content in the m.tag events 9 years ago
Mark Haines f557e69860 Note that m.tag events can appear in v1 initialSync and /events as well as v2 sync. Only add the room_id for v1 /events since it is redundant in v1 /initialSync 9 years ago
Mark Haines ad86426e95 Add private_user_data to v1 room /initialSync 9 years ago
Mark Haines b49472e3b0 Add private_user_data to v1 /initialSync 9 years ago
Mark Haines 451801bf38 Add an example of ``prev_content`` in ``unsigned`` to v2 /sync 9 years ago
Erik Johnston fa2fe2ddd9 Add event context api swagger 9 years ago
Matthew Hodgson 6c1df04b4b typo 9 years ago
Richard van der Hoff ece42688d0 Clarify the interaction between full_state and timeout. 9 years ago
Mark Haines 65066a76b3 Add the m.tags event to a ``private_user_data`` key rather than including it under the ``ephemeral`` key 9 years ago
Mark Haines 12e33a3b09 Document a v2 api for setting tags on rooms 9 years ago
Richard van der Hoff 13eddd456f Proposal for adding full_state param to v2 sync 9 years ago
Kegsay ade0ad5ed1 Merge pull request #129 from matrix-org/erikj/search_actual
Add filter param to search API
9 years ago
Erik Johnston 36634df355 Add filter param 9 years ago
Richard van der Hoff f47a49de43 Merge pull request #126 from matrix-org/rav/send_events_api
Add the room send and state APIs to the spec
9 years ago
Richard van der Hoff 1945697456 Further tweaks to the room send and state APIs
- fix confusion re empty/absent state_keys
- move 'types of room events' section earlier in the 'Events' section
- remove some redundant anchors
9 years ago
Mark Haines 1d7cb6937f Merge pull request #123 from matrix-org/markjh/list_formatting
Fix list formatting
9 years ago
Mark Haines 637718108e Add newline before list 9 years ago
Richard van der Hoff 28ab643a4e Remove duplicated registration/login APIs
Currently the spec duplicates all of the account-management APIs. There's still
work to be done here, but the complete duplication is confusing.
9 years ago
Richard van der Hoff 587a8ba7ce Merge branch 'master' into rav/send_events_api 9 years ago
Richard van der Hoff d2bbc461e4 mark stateKey as required in room/{id}/state
Swagger insists that path params be mandatory.
9 years ago
Richard van der Hoff d18d406c41 Add the room send and state APIs to the spec 9 years ago
Mark Haines cc14620932 Add a newline before the list 9 years ago
Mark Haines e3e8026025 Fix list formatting so that we aren't including everything in blockquotes 9 years ago
Erik Johnston f0c74a9c83 Merge pull request #96 from matrix-org/erikj/search_actual
Add search API
9 years ago
Kegan Dougal f95d19cecd Merge branch 'master' into appservice-swagger
Conflicts:
	specification/application_service_api.rst
9 years ago
Kegan Dougal 4c3e1b9ed3 Find replace fail 9 years ago
Kegan Dougal bd539c72b4 More review comments 9 years ago
Erik Johnston 1d01f69c3c Merge remote-tracking branch 'origin/master' into erikj/search_actual 9 years ago
Kegan Dougal 26f27d95fb Merge branch 'master' into registration-swagger
Conflicts:
	specification/client_server_api.rst
9 years ago
Kegan Dougal f450fc1db6 Typo 9 years ago
Kegan Dougal 4bb042daeb Review comments round II 9 years ago
Kegan Dougal e0fe3c42c8 Review comments 9 years ago
Kegan Dougal 6770d6b2d6 Review comments 9 years ago
Erik Johnston 716c5b7a8b Add 400 and 429 response codes 9 years ago
Kegan Dougal eca98af896 Swaggerify /register endpoint
Need to move registration/login/auth sections around once #94 lands.
9 years ago
Erik Johnston cfca4a6c09 s/creteria/criteria/ 9 years ago
Kegan Dougal f20faa80e5 Swagger validation 9 years ago
Kegan Dougal 55cc5c5bb5 Swaggerify application services 9 years ago
Kegan Dougal 5de63b4f45 Merge branch 'master' into proofing
Conflicts:
	specification/0-intro.rst
9 years ago
Kegan Dougal 1f2f14dc08 YAML tweaks 9 years ago
Kegan Dougal 84af5776d7 Newlines 9 years ago
Erik Johnston 2b9484cf48 Spell things correctly 9 years ago
Erik Johnston 392a1c5ad8 Another title 9 years ago
Erik Johnston ca9e44baac Moar titles 9 years ago
Erik Johnston a7a5cb088b Add titles 9 years ago
Erik Johnston e42c8b5b63 Add search API 9 years ago
Richard van der Hoff 4a9db39277 Clean up some untruths in the login api doc
add "type", and "username" -> "user"
9 years ago
Kegan Dougal 6f6861a11d Swaggerify the createRoom API 9 years ago
Kegan Dougal 41fb0645a9 Add message pagination API 9 years ago
Kegan Dougal 7bdb71b1c9 Tweak the syncing section
Bring together disparate sections to make it more cohesive.
9 years ago
Daniel Wagner-Hall 2502ca7ac6 Merge branch 'master' into daniel/threepidinvites-2
Conflicts:
	specification/targets.yaml
9 years ago
Kegsay 616f3990aa Merge pull request #87 from matrix-org/module-push
Push Module
9 years ago
Kegan Dougal 8f5c796884 Linkify 'pushers' 9 years ago
Mark Haines d42c3195e6 Use 'true' rather than '1' for archived flag 9 years ago
Mark Haines 241096dc81 Add a flag to initial sync to indicate we want rooms that the user has left 9 years ago
Kegan Dougal f2a6950cc3 Minor tweaks; allow objects without props/parents if a title is set
This allows us to do things like {Tweaks} where Tweaks is defined somewhere
else.
9 years ago
Daniel Wagner-Hall dc3c02aff5 Review comments 9 years ago
Daniel Wagner-Hall 21a40b317d Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Kegan Dougal 9c95ee5c1f Modify wording and formatting 9 years ago
Kegan Dougal befa23624e It's dangerous to go alone, take this. 9 years ago
Kegan Dougal 65504db7bb Display nested keys on arrays of objects. Make it valid swagger. 9 years ago
Kegan Dougal 31ae4b3859 Swaggerify push notification API
Edit units.py to support nested JSON request keys
9 years ago
Kegan Dougal a9618a981b Swaggerify the /enabled endpoint 9 years ago
Kegan Dougal 56ce432399 Get profile tag keys displaying correctly. 9 years ago
Kegan Dougal f6da9d7760 Give valid swagger. Split out rule/ruleset to separate definitions. 9 years ago
Kegan Dougal db25276856 Start adding in push definitions
This is going to be painful to represent due to how the push API allows
mixed types (strings or objects) and mixed top-level keys ("content" rule kind
allowing "pattern" as a top-level key). We may wish to re-visit the design
of this API for v2.
9 years ago
Kegan Dougal 9540069acd Use valid JSON 9 years ago
Kegan Dougal c5edc60c4c Add push YAML for pushers endpoint.
Also display "required" text on required JSON body request params. Also
increase the size of the request param column to support longer param names
present in the pushers API.
9 years ago
Mark Haines 034241eb20 Missing symlink for the v2 swagger APIs 9 years ago
Mark Haines 509d178d58 Fix the receipts API to be valid swagger 9 years ago
Mark Haines 4f606cf3a7 Add the fields required by the templating system to v2 sync 9 years ago
Mark Haines 5a5a6565ff Merge pull request #68 from matrix-org/markjh/v2_sync_api
Swagger documentation for the v2 sync API
9 years ago
Mark Haines 0ce533d153 Split the room_map into separate sections based on whether they are
"joined/invited/archived".

Rename the room_map to rooms and remove the grouping indirection. When we
want groups then we can add them under a separate key, either at the
top-level or as part of the events themselves.
9 years ago
Mark Haines 0e5b00feaa Fix event type in v2 sync example 9 years ago
Mark Haines bbb5fa9398 Fix the state_key in the example v2 response, include the "sender" key in the list of keys included with invite_state events 9 years ago
Mark Haines a7b808c5cd Add a invite_state key for holding the state that is bundled with an
invite. This is kept separate from the actual state for the room as
it may be derived from an incomplete, unverified copy of the state
that was bundled with an invite event received over federation.
9 years ago
Mark Haines ed0f6d3ff3 Typo 9 years ago
Mark Haines 97cdd8106c s|client/api/v2_alpha|/client/v2_alpha| 9 years ago
Mark Haines 047419f2ad Remove the room_id since it is redundent. Remove text about invite event handling till we've thought about it some more. 9 years ago
Mark Haines bde003fe86 Split the rooms out into a separate top level key.
Divide the rooms into separate groups in preparation for adding tag
support.

Further subdivide the rooms into "joined/invited/archived" based the
membership of the user in the room because that membership affects what
events the user can view from the room. E.g only users that are joined
to a room may see the ephemeral events for the room.
9 years ago
Kegsay ead79614ff Merge pull request #78 from matrix-org/module-typing2
Typing module
9 years ago
Mark Haines a73cc50aa9 s|client/api/v2_alpha|client/v2_alpha| 9 years ago
Kegan Dougal 09ac367847 Merge branch 'master' into module-content-repo
Conflicts:
	templating/matrix_templates/units.py
9 years ago
Kegan Dougal 3d9dbe42e6 Bump to swagger-parser 3.2.1 - remove x- keys on headers
Removed x- keys due to https://github.com/BigstickCarpet/swagger-parser/issues/23
9 years ago
Daniel Wagner-Hall af7d2ca9fc Update 3pid invite spec
This takes into account:
 1) That finding the existing servers of a room is hard
 2) Federation
9 years ago
Daniel Wagner-Hall d2c56fb7a3 Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Kegan Dougal 8c4d7f5051 Do not try to parse non-json request examples as json 9 years ago
Kegan Dougal 87b6dd845e Flesh out content repo; modify templating to support headers
Edit content-repo.yaml to include examples and headers.
Restructure content module to conform to the module template.
Adjust the HTTP API template to give 1 more char to the response
param to fit "Content-Disposition" correctly.
Edit the templating system to support displaying enums for
swagger APIs (before it was just JSON schema). Also add support
for introspecting headers from swagger. Finally, replace - with
_ when forming the {{ template_var }} else things whine.
9 years ago
Kegsay 8aad238cda Merge pull request #80 from matrix-org/module-receipts
Receipts module
9 years ago
Kegan Dougal da2be7eae4 Merge branch 'master' into module-voip
Conflicts:
	specification/modules/voip_events.rst
9 years ago
Kegan Dougal 1520f3647f Merge branch 'master' into module-typing2
Conflicts:
	specification/modules/typing_notifications.rst
9 years ago
Kegan Dougal c972dad8b3 Flesh out receipts module. Add receipts swagger
Add templating support for v2 apis.
9 years ago
Kegan Dougal e82661413e Add /turnServer endpoint 9 years ago
Erik Johnston abe5d08ac6 Merge pull request #64 from matrix-org/erikj/invite_state
Bundle some state into invites
9 years ago
Kegan Dougal 2b7e02c080 Add sections for typing. Add swagger, JSON schema and example m.typing event 9 years ago
Mark Haines 931057accf Add a top level presence key for the presence events and remove the public_user_data/private_user_data for now 9 years ago
Mark Haines 4cb3f78d2b Wrap the "rooms" list inside an object so that we can add keys for pagination later 9 years ago
Mark Haines 218cf94ead Replace the events array with events_map inside the room objects.
Only use indirection for the state and timeline events.
Use event_ids to reference the state and timeline events.
9 years ago
Erik Johnston 50e1b4c3a7 Fix up rst 9 years ago
Mark Haines 6ad6c40147 List the allowed values for the 'event_format' as an enum 9 years ago
Mark Haines 9dd3b07394 Allow '.' characters in event field names to be escaped with '\' so that
fields including a '.' can be included in a filter.

I considered replacing '.' with '/'. Since '/' was less likely to appear
in event field names. However if we used '\' to escape a literal '/' we
risk confusing it with the JSON escape '\/'.
9 years ago
Mark Haines 14b42a41d6 Document wildcard's in filters 9 years ago
Mark Haines c115b4c2f4 Document the valid values for the "set_presence" parameter 9 years ago
Mark Haines 940e22940d Document how the "not_foo" keys interact with the "foo" keys 9 years ago
Mark Haines 41bc09ea22 Split the event_filter into a event_filter and a room_event_filter that
extends it.

So that we don't include "rooms" and "not_rooms" keys for the public_user_data
and private_user_data filters.
9 years ago
Mark Haines 00fd4aac26 s/publically/publicly/ 9 years ago
Mark Haines 3204c2f2b6 Fix spelling 9 years ago
Mark Haines f50e6d4c0a Add x-example fields for v2 /sync 9 years ago
Mark Haines 1aa916d690 s/indicies/indices/ 9 years ago
Mark Haines 393d283139 Add a "limit" to the timeline key in the example filter 9 years ago
Erik Johnston 8c22b715ca Add title 9 years ago
Mark Haines c3b3b2df63 Add "set_presence" in the sync parameters 9 years ago
Mark Haines de07586ab7 Rename 'events' to 'timeline' in the sync filter 9 years ago
Mark Haines a0068e1ada Draft documention for the v2 sync api 9 years ago
Mark Haines e1f73f5233 Add a limit to filters 9 years ago
Erik Johnston 37ccddb308 Typo 9 years ago
Erik Johnston d7d9f406a6 Bundle some state into invites 9 years ago
Daniel Wagner-Hall cd6f15f627 Remove obsolete comment 9 years ago
Daniel Wagner-Hall 0c1eb50ef4 Merge pull request #26 from matrix-org/macaroons
Spec macaroons and token refresh
9 years ago
Daniel Wagner-Hall 6c1491b3ba Respond to some review comments 9 years ago
Daniel Wagner-Hall 5c4398c181 Remove superfluous comma 9 years ago
Daniel Wagner-Hall fc87f4cdb0 Remove unused keys 9 years ago
Daniel Wagner-Hall 6c89e6ea67 Wrap refresh_token in `s 9 years ago
Mark Haines f34722485f Check the request example JSON matches the schema 9 years ago
Mark Haines a31a446661 Fix the POST example for the v2 filter API 9 years ago
Mark Haines 69298b9612 Check "v2_alpha" in jenkins 9 years ago
Mark Haines 883105eae6 Document the v2 filter GET API 9 years ago
Mark Haines 2f039a1142 Add swagger docs for the v2 filter POST API 9 years ago
Mark Haines 385b6c4759 Only validate a file if it ends with ".yaml".
Otherwise we try to validate vim .swp files.
9 years ago
Mark Haines 98d91d0c2b Make the example room id more "random" so that people are less likely to think that it is supposed to be human readable 9 years ago
Mark Haines f60190086a Describe the behaviour of /rooms/{roomId}/member when the user has left the room 9 years ago
Mark Haines ba6c7d267c SPEC-216: Document the behaviour of the room getters when the user has left the room 9 years ago
Mark Haines 615a9575cb SPEC-216: Clarify when the room getters will return 403 9 years ago
Mark Haines cb41adee70 Fix the swagger host to be "localhost:8008" so that it can be used in a "Try it now" setup against localhost 9 years ago
Mark Haines 6a2c4d27fc Update the docs for room v1 api 9 years ago
Mark Haines f33c0846c3 Merge remote-tracking branch 'origin/master' into markjh/document_v1_rooms_api 9 years ago
Mark Haines f827765ba1 Make to code to skip checking swagger responses which don't have an
application/json example clearer.
9 years ago
Mark Haines 9896f98e2b Search for yaml swagger files if check_examples.py is run without
arguments.
9 years ago
Mark Haines 299a4356d4 Add script to check that the example responses in the swagger matches
the examples.
9 years ago
Mark Haines 63f08bace6 Fix the examples in the swagger API documentation to be valid JSON 9 years ago
Mark Haines 7f81501762 Allow relative references to schema to work in python and node.
Rename "schema/v1/core" to "schema/v1/core-event-schema".
Add self-referential symlinks to schema/v1/core-event-schema

The python json schema libraries expect that relative references are
relative to the file they are in. The node json schema libraries
expect that relateive references are relative to the first file loaded.

To support both kinds we reference the core event schema using
"core-event-schema/event.json". We then symlink the core-event-schema
directory to both the location of the file refering to "event.json" so
that it will work in python and to the location of the top level file
so that it will work in node.
9 years ago
Mark Haines 46d29e9eea fix the room api swagger to be valid swagger 9 years ago
Mark Haines 315f97e36b Merge branch 'master' into markjh/document_v1_rooms_api 9 years ago
Mark Haines c49338006a replace definitions/*event.yaml with symlinks to /event-schemas/ 9 years ago
Daniel Wagner-Hall a19e18a4da Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Daniel Wagner-Hall 2e9d3d283a Swagger refresh tokens 9 years ago
Mark Haines 7eb8b4fde2 Add new-style docs for the APIs for getting events for a room 9 years ago
Daniel Wagner-Hall 59a4e84361 s/registration/login/ 9 years ago
Daniel Wagner-Hall b916823d0f Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Daniel Wagner-Hall f483340033 Clarify digest computation 9 years ago
Daniel Wagner-Hall b8e2ac5c1b Swaggerify /login 9 years ago
Kegsay da7c2e7fa8 Merge pull request #40 from matrix-org/markjh/history_for_rooms_that_have_been_left
SPEC-216: Add rooms that have been left to initial sync
9 years ago
Daniel Wagner-Hall 306f91edb3 Specify third party room invitations
SYN-458
9 years ago
Daniel Wagner-Hall 5b722160dd Merge branch 'master' into daniel/threepidinvites 9 years ago
Daniel Wagner-Hall 6596802ed7 Merge branch 'newlines' into daniel/threepidinvites-2 9 years ago
Daniel Wagner-Hall 6a56c8a965 Add trailing newline 9 years ago
Daniel Wagner-Hall a548148563 Invite doesn't accept room aliases 9 years ago
Daniel Wagner-Hall 2797fac3aa Swagger /room/{roomId}/invite
This is a transcription of the current spec, with nothing new or
controversial in it.
9 years ago
Daniel Wagner-Hall 1b591a023e Monospace room_id 9 years ago
Daniel Wagner-Hall 04b2b2588f Fix up formatting and typos 9 years ago
Daniel Wagner-Hall 1feb9565e4 Use other-way-around alias format 9 years ago
Daniel Wagner-Hall d53943c8c2 Spec /room/{roomId}/join
This is just replacing the existing spec with a swagger version.

Subsequent pull requests will add 3pid join to this, as well as specing
the invite, leave, ban, and kick endpoints.
9 years ago
Mark Haines c74c1ab098 SPEC-216: Add rooms that have been left to initial sync 9 years ago
Kegan Dougal e10859a887 Replace presence API with new template. 9 years ago
Kegan Dougal 334e10468d Add presence swagger and template. 9 years ago
Kegan Dougal 876a3d2bbc Add package.json 9 years ago
Kegan Dougal 3d70404b94 Update swagger validator to support directories.
This will be used with Jenkins.
9 years ago
Kegan Dougal 0275c2ffa0 Add sync API yaml. Add template for sync_http_api. 9 years ago
Kegan Dougal 8a676a2b9d Add sortFn for profile HTTP API. Add combined profile HTTP API. 9 years ago
Kegan Dougal f6c98f41e9 Use table subsections for param locations instead of an extra column. 9 years ago
Kegan Dougal ba6ce16509 Modify how descriptions are shown. Add profile API descriptions. 9 years ago
Kegan Dougal 862f5a3a53 Add structure for adding examples to HTTP APIs.
Use 'x-example' to add examples to parameters which are not in 'body' (swagger
doesn't define that currently). Add profile API examples. Add necessary glue
and templates to make it all work.
9 years ago
Kegan Dougal 5795e1ceda Add profile API examples and extract examples for template usage. 9 years ago
Kegan Dougal fe7ffafc15 Factor out json schema object processing since swagger uses it too. Hook swagger up. 9 years ago
Kegan Dougal d090389d01 Start pre-processing swagger APIs before passing to sections. 9 years ago
Kegan Dougal 99dfe64d5c Add rate-limiting on APIs which rate limit. More descriptions. 9 years ago
Kegan Dougal f72319e256 Add profile API. Add error definition to definitions folder.
The tool used for validating swagger 2.0 schemata does not currently
support deep-nested definitions from other files. Until it does, keep
the definitions in a separate file each in a definitions folder. This
will be replaced with a definitions.yaml in the future.
9 years ago
Kegan Dougal aeaa43811c Add security definitions for directory API. 9 years ago
Kegan Dougal 870d1b8944 Add Swagger 2 directory API. 9 years ago
Kegan Dougal caa84c1dc1 Add Swagger 2 docs for content repo. Add Swagger 2 CLI validator. 9 years ago
Kegan Dougal 838af288c9 Test swagger commit 9 years ago
Kegsay 5cb656fba7 Minor swagger HTML tweaks 9 years ago
Kegan Dougal c4056bec1b Shuffle around structure of matrix-doc and add a README. 9 years ago