openapi: 3.2.0 info: title: RCAC Publications API version: 0.0.1 servers: - url: https://www.rcac.purdue.edu/api description: Production server tags: - name: Publications paths: /publications: get: description: Display a listing of entries parameters: [] requestBody: content: '*/*': schema: type: object properties: client_id: description: Client (admin = 1|site = 0) ID type: integer default: '0' search: description: A word or phrase to search for. type: string default: null limit: description: Number of result per page. type: integer default: 20 page: description: Number of where to start returning results. type: integer default: 1 order: description: Field to sort results by. type: string default: published_at order_dir: description: Direction to sort results by. type: string default: asc required: [] tags: - Publications summary: Get publications x-summary-source: derived operationId: getPublications x-operation-id-source: derived post: description: Create a new entry parameters: [] responses: '201': description: Successful entry creation content: application/json: example: id: 2 title: Praesent commodo cursus magna, vel scelerisque nisl consectetur et. type_id: 10 author: John Smith editor: null url: null series: null booktitle: null edition: null chapter: null issuetitle: null journal: null issue: null volume: null number: null pages: null publisher: null address: null institution: null organization: null school: null crossref: null isbn: null doi: null note: null state: 1 published_at: '2022-06-01 00:00:00' created_at: '2022-06-20T17:59:21.000000Z' updated_at: '2022-06-20T17:59:21.000000Z' deleted_at: null filename: '' tags: - foo - bar api: https://example.org/api/publications/2 '409': description: Invalid data requestBody: content: '*/*': schema: type: object properties: type_id: description: Type ID type: integer default: 0 title: description: Title type: string default: null author: description: Authors type: string default: null editor: description: Editors type: string default: null url: description: URL type: string default: null series: description: Series type: string default: null booktitle: description: Book title type: string default: null edition: description: Edition type: string default: null chapter: description: Chapter type: string default: null issuetitle: description: Issue title type: string default: null journal: description: Journal type: string default: null issue: description: Issue type: string default: null volume: description: Volume type: string default: null number: description: Number type: string default: null pages: description: Pages type: string default: null publisher: description: Publisher type: string default: null address: description: Address type: string default: null institution: description: Institution type: string default: null organization: description: Organization type: string default: null school: description: School type: string default: null crossref: description: Cross-ref type: string default: null isbn: description: ISBN type: string default: null doi: description: DOI type: string default: null note: description: Note type: string default: null state: description: State type: integer default: null published_at: description: Published at type: string default: null tags: description: A list of tags to apply to the entry type: array default: null required: - title tags: - Publications summary: Create publications x-summary-source: derived operationId: postPublications x-operation-id-source: derived /publications/{id}: get: description: Retrieve an entry parameters: - in: path name: id description: Entry identifier required: true schema: type: integer responses: '200': description: Successful entry read content: application/json: example: id: 2 title: Praesent commodo cursus magna, vel scelerisque nisl consectetur et. type_id: 10 author: John Smith editor: null url: null series: null booktitle: null edition: null chapter: null issuetitle: null journal: null issue: null volume: null number: null pages: null publisher: null address: null institution: null organization: null school: null crossref: null isbn: null doi: null note: null state: 1 published_at: '2022-06-01 00:00:00' created_at: '2022-06-20T17:59:21.000000Z' updated_at: '2022-06-20T17:59:21.000000Z' deleted_at: null filename: '' tags: - foo - bar api: https://example.org/api/publications/2 '404': description: Record not found tags: - Publications summary: Get publications by id x-summary-source: derived operationId: getPublicationsById x-operation-id-source: derived put: description: Update an entry parameters: [] responses: '202': description: Successful entry modification content: application/json: example: id: 2 title: Praesent commodo cursus magna, vel scelerisque nisl consectetur et. type_id: 10 author: John Smith editor: null url: null series: null booktitle: null edition: null chapter: null issuetitle: null journal: null issue: null volume: null number: null pages: null publisher: null address: null institution: null organization: null school: null crossref: null isbn: null doi: null note: null state: 1 published_at: '2022-06-01 00:00:00' created_at: '2022-06-20T17:59:21.000000Z' updated_at: '2022-06-20T17:59:21.000000Z' deleted_at: null filename: '' tags: - foo - bar api: https://example.org/api/publications/2 '404': description: Record not found '409': description: Invalid data requestBody: content: '*/*': schema: type: object properties: type_id: description: Type ID type: integer default: 0 title: description: Title type: string default: null author: description: Authors type: string default: null editor: description: Editors type: string default: null url: description: URL type: string default: null series: description: Series type: string default: null booktitle: description: Book title type: string default: null edition: description: Edition type: string default: null chapter: description: Chapter type: string default: null issuetitle: description: Issue title type: string default: null journal: description: Journal type: string default: null issue: description: Issue type: string default: null volume: description: Volume type: string default: null number: description: Number type: string default: null pages: description: Pages type: string default: null publisher: description: Publisher type: string default: null address: description: Address type: string default: null institution: description: Institution type: string default: null organization: description: Organization type: string default: null school: description: School type: string default: null crossref: description: Cross-ref type: string default: null isbn: description: ISBN type: string default: null doi: description: DOI type: string default: null note: description: Note type: string default: null state: description: State type: integer default: null published_at: description: Published at type: string default: null tags: description: A list of tags to apply to the entry type: array default: null required: - title tags: - Publications summary: Replace publications by id x-summary-source: derived operationId: putPublicationsById x-operation-id-source: derived delete: description: Delete an entry parameters: - in: path name: id description: Entry identifier required: true schema: type: integer responses: '204': description: Successful entry deletion '404': description: Record not found tags: - Publications summary: Delete publications by id x-summary-source: derived operationId: deletePublicationsById x-operation-id-source: derived /publications/types: get: description: Display a listing of entries parameters: [] requestBody: content: '*/*': schema: type: object properties: search: description: A word or phrase to search for. type: string default: null limit: description: Number of result per page. type: integer default: 20 page: description: Number of where to start returning results. type: integer default: 1 order: description: Field to sort results by. type: string default: name order_dir: description: Direction to sort results by. type: string default: asc required: [] tags: - Publications summary: Get publications types x-summary-source: derived operationId: getPublicationsTypes x-operation-id-source: derived post: description: Create a new entry parameters: [] responses: '201': description: Successful entry creation content: application/json: example: id: 9 name: Journal alias: journal api: https://example.org/api/publications/types/9 '409': description: Invalid data requestBody: content: '*/*': schema: type: object properties: name: description: Name type: string default: null alias: description: Alias type: string default: null required: - name tags: - Publications summary: Create publications types x-summary-source: derived operationId: postPublicationsTypes x-operation-id-source: derived /publications/types/{id}: get: description: Retrieve an entry parameters: - in: path name: id description: Entry identifier required: true schema: type: integer responses: '200': description: Successful entry read content: application/json: example: id: 9 name: Journal alias: journal api: https://example.org/api/publications/types/9 '404': description: Record not found tags: - Publications summary: Get publications types by id x-summary-source: derived operationId: getPublicationsTypesById x-operation-id-source: derived put: description: Update an entry parameters: - in: path name: id description: Entry identifier required: true schema: type: integer responses: '202': description: Successful entry modification content: application/json: example: id: 9 name: Journal alias: journal api: https://example.org/api/publications/types/9 '404': description: Record not found '409': description: Invalid data requestBody: content: '*/*': schema: type: object properties: name: description: Name type: string default: null alias: description: Alias type: string default: null required: [] tags: - Publications summary: Replace publications types by id x-summary-source: derived operationId: putPublicationsTypesById x-operation-id-source: derived delete: description: Delete an entry parameters: - in: path name: id description: Entry identifier required: true schema: type: integer responses: '204': description: Successful entry deletion '404': description: Record not found tags: - Publications summary: Delete publications types by id x-summary-source: derived operationId: deletePublicationsTypesById x-operation-id-source: derived components: securitySchemes: api_token: type: apiKey name: api_token in: header