summaryrefslogtreecommitdiffstats
path: root/golang/fatcat-openapi2.yml
diff options
context:
space:
mode:
Diffstat (limited to 'golang/fatcat-openapi2.yml')
-rw-r--r--golang/fatcat-openapi2.yml271
1 files changed, 0 insertions, 271 deletions
diff --git a/golang/fatcat-openapi2.yml b/golang/fatcat-openapi2.yml
deleted file mode 100644
index 6075940b..00000000
--- a/golang/fatcat-openapi2.yml
+++ /dev/null
@@ -1,271 +0,0 @@
----
-swagger: "2.0"
-info:
- title: fatcat
- description: A scalable, versioned, API-oriented catalog of bibliographic entities
- and file metadata
- version: 0.1.0
-schemes: [http]
-basePath: /v0
-host: api.fatcat.wiki
-consumes:
- - application/json
-produces:
- - application/json
-
-# Common properties across entities
-x-entity-props: &ENTITYPROPS
- state:
- type: string
- enum: ["wip", "active", "redirect", "deleted"]
- ident:
- type: string
- #format: uuid
- revision:
- type: integer
- redirect:
- type: string
- #format: uuid
-x-entity-edit-props: &ENTITYEDITPROPS
- id:
- type: integer
- ident:
- type: string
- revision:
- type: integer
- editgroup_id:
- type: integer
-
-definitions:
- error:
- type: object
- required:
- - message
- properties:
- message:
- type: string
- success:
- type: object
- required:
- - message
- properties:
- message:
- type: string
- release_entity:
- type: object
- required:
- - ident
- - state
- properties:
- <<: *ENTITYPROPS
- name:
- type: string
- orcid:
- type: string
- #format: custom
- creator_entity:
- type: object
- properties:
- <<: *ENTITYPROPS
- name:
- type: string
- orcid:
- type: string
- #format: custom
- entity_edit:
- type: object
- properties:
- <<: *ENTITYEDITPROPS
- editor:
- type: object
- required:
- - username
- properties:
- username:
- type: string
- editgroup:
- type: object
- required:
- - id
- - editor_id
- properties:
- id:
- type: integer
- editor_id:
- type: integer
- changelogentry:
- type: object
- required:
- - index
- properties:
- index:
- type: integer
- editgroup_id:
- type: integer
- timestamp:
- type: string
- format: date-time
-
-paths:
- /creator:
- post:
- parameters:
- - name: body
- in: body
- schema:
- $ref: "#/definitions/creator_entity"
- #- name: editgroup
- # in: body
- # type: string
- responses:
- 201:
- description: created
- schema:
- $ref: "#/definitions/entity_edit"
- 400:
- description: bad request
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /creator/{id}:
- parameters:
- - name: id
- in: path
- type: string
- required: true
- get:
- responses:
- 200:
- description: fetch a single creator by id
- schema:
- $ref: "#/definitions/creator_entity"
- 404:
- description: no such creator
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /creator/lookup:
- get:
- parameters:
- - name: orcid
- in: query
- type: string
- required: true
- responses:
- 200:
- description: find a single creator by external identifer
- schema:
- $ref: "#/definitions/creator_entity"
- 404:
- description: no such creator
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /editor/{username}:
- parameters:
- - name: username
- in: path
- type: string
- required: true
- get:
- responses:
- 200:
- description: fetch generic information about an editor
- schema:
- $ref: "#/definitions/editor"
- 404:
- description: username not found
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /editor/{username}/changelog:
- parameters:
- - name: username
- in: path
- type: string
- required: true
- get:
- responses:
- 200:
- description: find changes (editgroups) by this editor which have been merged
- schema:
- $ref: "#/definitions/changelogentry"
- 404:
- description: username not found
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /editgroup:
- post:
- responses:
- 201:
- description: successfully created
- schema:
- $ref: "#/definitions/editgroup"
- 400:
- description: invalid request parameters
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /editgroup/{id}:
- parameters:
- - name: id
- in: path
- type: integer
- required: true
- get:
- responses:
- 200:
- description: fetch editgroup by identifier
- schema:
- $ref: "#/definitions/editgroup"
- 404:
- description: no such editgroup
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"
- /editgroup/{id}/accept:
- parameters:
- - name: id
- in: path
- type: integer
- required: true
- post:
- responses:
- 200:
- description: merged editgroup successfully ("live")
- schema:
- $ref: "#/definitions/success"
- 400:
- description: editgroup is in an unmergable state
- schema:
- $ref: "#/definitions/error"
- 404:
- description: no such editgroup
- schema:
- $ref: "#/definitions/error"
- default:
- description: generic error response
- schema:
- $ref: "#/definitions/error"