swagger: '2.0' info: title: Snippets API description: Test description termsOfService: https://www.google.com/policies/terms/ contact: email: contact@snippets.local license: name: BSD License version: v1 host: test.local:8002 schemes: - http basePath: / paths: /articles/: get: operationId: articles_list description: ArticleViewSet class docstring parameters: - name: title in: query description: '' required: false type: string - name: ordering in: query description: Which field to use when ordering the results. required: false type: string - name: limit in: query description: Number of results to return per page. required: false type: integer - name: offset in: query description: The initial index from which to return the results. required: false type: integer responses: '200': description: '' schema: required: - count - results type: object properties: count: type: integer next: type: string format: uri previous: type: string format: uri results: type: array items: $ref: '#/definitions/Article' consumes: - application/json tags: - articles post: operationId: articles_create description: ArticleViewSet class docstring parameters: - name: data in: body required: true schema: $ref: '#/definitions/Article' responses: '201': description: '' schema: $ref: '#/definitions/Article' consumes: - application/json tags: - articles parameters: [] /articles/today/: get: operationId: articles_today description: ArticleViewSet class docstring parameters: - name: title in: query description: '' required: false type: string - name: ordering in: query description: Which field to use when ordering the results. required: false type: string responses: '200': description: '' schema: type: array items: $ref: '#/definitions/Article' consumes: - application/json tags: - articles parameters: [] /articles/{slug}/: get: operationId: articles_read description: retrieve class docstring parameters: [] responses: '200': description: '' schema: $ref: '#/definitions/Article' consumes: - application/json tags: - articles put: operationId: articles_update description: update method docstring parameters: - name: data in: body required: true schema: $ref: '#/definitions/Article' responses: '200': description: '' schema: $ref: '#/definitions/Article' consumes: - application/json tags: - articles patch: operationId: articles_partial_update description: partial_update description override parameters: - name: data in: body required: true schema: $ref: '#/definitions/Article' responses: '200': description: '' schema: $ref: '#/definitions/Article' '404': description: slug not found consumes: - application/json tags: - articles delete: operationId: articles_delete description: destroy method docstring parameters: [] responses: '204': description: '' consumes: - application/json tags: - articles parameters: - name: slug in: path description: slug model help_text required: true type: string pattern: '[a-z0-9]+(?:-[a-z0-9]+)' /articles/{slug}/image/: get: operationId: articles_image_read description: image GET description override parameters: [] responses: '200': description: '' consumes: - multipart/form-data tags: - articles post: operationId: articles_image_create description: image method docstring parameters: - name: what_am_i_doing in: formData description: test required: true type: string pattern: ^69$ - name: image_styles in: formData description: Parameter with Items required: true type: array items: type: string enum: - wide - tall - thumb - social - name: upload in: formData description: image serializer help_text required: true type: file responses: '201': description: '' consumes: - multipart/form-data tags: - articles parameters: - name: slug in: path description: slug model help_text required: true type: string pattern: '[a-z0-9]+(?:-[a-z0-9]+)' /plain/: get: operationId: plain_list description: '' parameters: [] responses: '200': description: '' consumes: - application/json tags: - plain parameters: [] /snippets/: get: operationId: snippets_list description: SnippetList classdoc parameters: [] responses: '200': description: '' schema: type: array items: $ref: '#/definitions/Snippet' consumes: - application/json tags: - snippets post: operationId: snippets_create description: post method docstring parameters: - name: data in: body required: true schema: $ref: '#/definitions/Snippet' responses: '201': description: '' schema: $ref: '#/definitions/Snippet' consumes: - application/json tags: - snippets parameters: [] /snippets/{id}/: get: operationId: snippets_read description: SnippetDetail classdoc parameters: [] responses: '200': description: '' schema: $ref: '#/definitions/Snippet' consumes: - application/json tags: - snippets put: operationId: snippets_update description: put class docstring parameters: - name: data in: body required: true schema: $ref: '#/definitions/Snippet' responses: '200': description: '' schema: $ref: '#/definitions/Snippet' consumes: - application/json tags: - snippets patch: operationId: snippets_partial_update description: patch method docstring parameters: - name: data in: body required: true schema: $ref: '#/definitions/Snippet' responses: '200': description: '' schema: $ref: '#/definitions/Snippet' consumes: - application/json tags: - snippets delete: operationId: snippets_delete description: delete method docstring parameters: [] responses: '204': description: '' consumes: - application/json tags: - snippets parameters: - name: id in: path description: A unique integer value identifying this snippet. required: true type: integer /users/: get: operationId: users_list description: UserList cbv classdoc parameters: - name: username in: query description: this field is generated from a query_serializer required: true type: string - name: is_staff in: query description: this one too! required: true type: boolean responses: '200': description: '' schema: type: array items: $ref: '#/definitions/UserSerializerrr' consumes: - application/json tags: - users post: operationId: users_create description: apiview post description override parameters: - name: data in: body required: true schema: required: - username type: object properties: username: type: string responses: '201': description: '' schema: required: - username type: object properties: username: type: string consumes: - application/json tags: - users patch: operationId: users_partial_update description: dummy operation parameters: [] responses: '200': description: '' consumes: - application/json tags: - users parameters: [] /users/{id}/: get: operationId: users_read description: user_detail fbv docstring parameters: - name: test in: query description: test manual param type: boolean responses: '200': description: response description schema: $ref: '#/definitions/UserSerializerrr' consumes: - application/json tags: - users put: operationId: users_update description: user_detail fbv docstring parameters: - name: data in: body required: true schema: $ref: '#/definitions/UserSerializerrr' responses: '200': description: '' schema: $ref: '#/definitions/UserSerializerrr' consumes: - application/json tags: - users parameters: - name: id in: path required: true type: string definitions: Article: required: - title - body - references - uuid type: object properties: title: description: title model help_text type: string body: description: body serializer help_text type: string slug: description: slug model help_text type: string format: slug pattern: ^[-a-zA-Z0-9_]+$ date_created: type: string format: date-time readOnly: true date_modified: type: string format: date-time readOnly: true references: description: this is a really bad example type: object additionalProperties: description: but i needed to test these 2 fields somehow type: string format: uri uuid: description: should articles have UUIDs? type: string format: uuid cover: type: string format: uri readOnly: true cover_name: type: string readOnly: true Project: required: - project_name - github_repo type: object properties: project_name: description: Name of the project type: string github_repo: description: Github repository of the project type: string Snippet: required: - code - language - example_projects - difficulty_factor type: object properties: id: description: id serializer help text type: integer readOnly: true owner: type: string readOnly: true title: type: string code: type: string linenos: type: boolean language: description: Sample help text for language type: object properties: name: description: The name of the programming language type: string enum: - abap - abnf - ada - adl - agda - aheui - ahk - alloy - ampl - antlr - antlr-as - antlr-cpp - antlr-csharp - antlr-java - antlr-objc - antlr-perl - antlr-python - antlr-ruby - apacheconf - apl - applescript - arduino - as - as3 - aspectj - aspx-cs - aspx-vb - asy - at - autoit - awk - basemake - bash - bat - bbcode - bc - befunge - bib - blitzbasic - blitzmax - bnf - boo - boogie - brainfuck - bro - bst - bugs - c - c-objdump - ca65 - cadl - camkes - capdl - capnp - cbmbas - ceylon - cfc - cfengine3 - cfm - cfs - chai - chapel - cheetah - cirru - clay - clean - clojure - clojurescript - cmake - cobol - cobolfree - coffee-script - common-lisp - componentpascal - console - control - coq - cpp - cpp-objdump - cpsa - cr - crmsh - croc - cryptol - csharp - csound - csound-document - csound-score - css - css+django - css+erb - css+genshitext - css+lasso - css+mako - css+mozpreproc - css+myghty - css+php - css+smarty - cucumber - cuda - cypher - cython - d - d-objdump - dart - delphi - dg - diff - django - docker - doscon - dpatch - dtd - duel - dylan - dylan-console - dylan-lid - earl-grey - easytrieve - ebnf - ec - ecl - eiffel - elixir - elm - emacs - erb - erl - erlang - evoque - extempore - ezhil - factor - fan - fancy - felix - fish - flatline - forth - fortran - fortranfixed - foxpro - fsharp - gap - gas - genshi - genshitext - glsl - gnuplot - go - golo - gooddata-cl - gosu - groff - groovy - gst - haml - handlebars - haskell - haxeml - hexdump - hsail - html - html+cheetah - html+django - html+evoque - html+genshi - html+handlebars - html+lasso - html+mako - html+myghty - html+ng2 - html+php - html+smarty - html+twig - html+velocity - http - hx - hybris - hylang - i6t - idl - idris - iex - igor - inform6 - inform7 - ini - io - ioke - irc - isabelle - j - jags - jasmin - java - javascript+mozpreproc - jcl - jlcon - js - js+cheetah - js+django - js+erb - js+genshitext - js+lasso - js+mako - js+myghty - js+php - js+smarty - jsgf - json - json-object - jsonld - jsp - julia - juttle - kal - kconfig - koka - kotlin - lagda - lasso - lcry - lean - less - lhs - lidr - lighty - limbo - liquid - live-script - llvm - logos - logtalk - lsl - lua - make - mako - maql - mask - mason - mathematica - matlab - matlabsession - md - minid - modelica - modula2 - monkey - monte - moocode - moon - mozhashpreproc - mozpercentpreproc - mql - mscgen - mupad - mxml - myghty - mysql - nasm - ncl - nemerle - nesc - newlisp - newspeak - ng2 - nginx - nim - nit - nixos - nsis - numpy - nusmv - objdump - objdump-nasm - objective-c - objective-c++ - objective-j - ocaml - octave - odin - ooc - opa - openedge - pacmanconf - pan - parasail - pawn - perl - perl6 - php - pig - pike - pkgconfig - plpgsql - postgresql - postscript - pot - pov - powershell - praat - prolog - properties - protobuf - ps1con - psql - pug - puppet - py3tb - pycon - pypylog - pytb - python - python3 - qbasic - qml - qvto - racket - ragel - ragel-c - ragel-cpp - ragel-d - ragel-em - ragel-java - ragel-objc - ragel-ruby - raw - rb - rbcon - rconsole - rd - rebol - red - redcode - registry - resource - rexx - rhtml - rnc - roboconf-graph - roboconf-instances - robotframework - rql - rsl - rst - rts - rust - sas - sass - sc - scala - scaml - scheme - scilab - scss - shen - silver - slim - smali - smalltalk - smarty - sml - snobol - snowball - sourceslist - sp - sparql - spec - splus - sql - sqlite3 - squidconf - ssp - stan - stata - swift - swig - systemverilog - tads3 - tap - tasm - tcl - tcsh - tcshcon - tea - termcap - terminfo - terraform - tex - text - thrift - todotxt - trac-wiki - treetop - ts - tsql - turtle - twig - typoscript - typoscriptcssdata - typoscripthtmldata - urbiscript - vala - vb.net - vcl - vclsnippets - vctreestatus - velocity - verilog - vgl - vhdl - vim - wdiff - whiley - x10 - xml - xml+cheetah - xml+django - xml+erb - xml+evoque - xml+lasso - xml+mako - xml+myghty - xml+php - xml+smarty - xml+velocity - xquery - xslt - xtend - xul+mozpreproc - yaml - yaml+jinja - zephir default: python styles: type: array items: type: string enum: - abap - algol - algol_nu - arduino - autumn - borland - bw - colorful - default - emacs - friendly - fruity - igor - lovelace - manni - monokai - murphy - native - paraiso-dark - paraiso-light - pastie - perldoc - rainbow_dash - rrt - tango - trac - vim - vs - xcode default: - friendly lines: type: array items: type: integer example_projects: type: array items: $ref: '#/definitions/Project' difficulty_factor: description: this is here just to test FloatField type: number UserSerializerrr: required: - username - snippets type: object properties: id: type: integer readOnly: true username: description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. type: string email: type: string format: email snippets: type: array items: type: string uniqueItems: true last_connected_ip: description: i'm out of ideas type: string format: ipv4 readOnly: true last_connected_at: description: really? type: string format: date readOnly: true securityDefinitions: basic: type: basic