Files
IDHAN/docs/api/index.yaml

120 lines
3.2 KiB
YAML

openapi: 3.0.0
servers:
- url: /
info:
description: Standard API for IDHAN
version: "0.1.0"
title: IDHAN API
contact:
url: https://github.com/KJNeko/IDHAN
tags:
- name: public
description: Publicly accessible endpoints that don't require authentication
- name: records
description: |
File record operations including creation, retrieval, tagging, and metadata management.
Records represent individual files recorded in IDHAN's system
- name: tag domains
description: |
Tag domain management for organizing tags into logical groups
- name: tags
description: |
Tag management operations including creation, search, and relationships
- name: clusters
description: |
File cluster operations for managing groups of related files.
- name: search
description: Global search functionality across records
- name: parents
description: Tag parent operations
security:
- KeyAuth: [ ]
paths:
/version:
$ref: './paths/version.yaml'
# Tags
/tags/create:
$ref: './paths/tags/create.yaml'
/tags/search:
$ref: './paths/tags/search.yaml'
/tags/{tag_id}/info:
$ref: './paths/tags/info.yaml'
/tags/autocomplete:
$ref: './paths/tags/autocomplete.yaml'
# Tag domains
/tags/domain/create:
$ref: './paths/tags/domains/create.yaml'
/tags/domain/list:
$ref: './paths/tags/domains/list.yaml'
/tags/domain/{domain_id}/info:
$ref: './paths/tags/domains/info.yaml'
/tags/domain/{domain_id}/delete:
$ref: './paths/tags/domains/delete.yaml'
# Tag Relationships
/tags/parents/create:
$ref: './paths/tags/relationships/parent/create.yaml'
# Records
/records/create:
$ref: './paths/records/create.yaml'
/records/tags/add:
$ref: './paths/records/tags/addgroup.yaml'
/records/{record_id}/tags/add:
$ref: './paths/records/tags/add.yaml'
/records/{record_id}/tags/remove:
$ref: './paths/records/tags/remove.yaml'
/records/{record_id}/tags:
$ref: './paths/records/tags/info.yaml'
/records/{record_id}/info:
$ref: './paths/records/info.yaml'
/records/{record_id}:
$ref: './paths/records/file.yaml'
/records/{record_id}/file:
$ref: './paths/records/file.yaml'
/records/{record_id}/thumbnail:
$ref: './paths/records/thumbnail.yaml'
/records/search:
$ref: './paths/records/search.yaml'
/search:
$ref: './paths/search/search.yaml'
/file/import:
$ref: './paths/file/import.yaml'
/clusters/add:
$ref: './paths/clusters/add.yaml'
/clusters/list:
$ref: './paths/clusters/list.yaml'
/clusters/{cluster_id}/info:
$ref: './paths/clusters/info.yaml'
/clusters/{cluster_id}/modify:
$ref: './paths/clusters/modify.yaml'
/clusters/{cluster_id}/remove:
$ref: './paths/clusters/remove.yaml'
/clusters/{cluster_id}/scan:
$ref: './paths/clusters/scan.yaml'
components:
schemas:
TagInfo:
$ref: './schemas/TagInfo.yaml'
Version:
$ref: './schemas/Version.yaml'
VersionInfo:
$ref: './schemas/VersionInfo.yaml'
TagColor:
$ref: './schemas/TagColor.yaml'
TagSet:
$ref: './schemas/TagSet.yaml'
TagInput:
$ref: './schemas/TagInput.yaml'
securitySchemes:
KeyAuth:
$ref: './securitySchemes/KeyAuth.yaml'