mirror of
https://github.com/directus/directus.git
synced 2026-02-08 07:35:03 -05:00
298 lines
8.9 KiB
YAML
298 lines
8.9 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: Directus API
|
|
description: Template for generating any kind of SDK.
|
|
contact:
|
|
email: contact@directus.io
|
|
license:
|
|
name: GPL-3.0
|
|
url: "https://www.gnu.org/licenses/gpl-3.0.html"
|
|
version: 9.0.0
|
|
externalDocs:
|
|
description: Directus Docs
|
|
url: "https://docs.directus.io"
|
|
tags:
|
|
- name: Activity
|
|
description: All events that happen within Directus are tracked and stored in the activities collection. This gives you full accountability over everything that happens.
|
|
x-collection: directus_activity
|
|
- name: Assets
|
|
description: Image typed files can be dynamically resized and transformed to fit any need.
|
|
- name: Authentication
|
|
description: All events that happen within Directus are tracked and stored in the activities collection. This gives you full accountability over everything that happens.
|
|
- name: Presets
|
|
description: Presets hold the preferences of individual users of the platform. This allows Directus to show and maintain custom item listings for users of the app.
|
|
x-collection: directus_presets
|
|
- name: Collections
|
|
description: Collections are the individual collections of items, similar to tables in a database. Changes to collections will alter the schema of the database.
|
|
x-collection: directus_collections
|
|
- name: Extensions
|
|
description: Directus can easily be extended through the addition of several types of extensions, including layouts, interfaces, and modules.
|
|
- name: Fields
|
|
description: Fields are individual pieces of content within an item. They are mapped to columns in the database.
|
|
x-collection: directus_fields
|
|
- name: Files
|
|
description: Files can be saved in any given location. Directus has a powerful assets endpoint that can be used to generate thumbnails for images on the fly.
|
|
x-collection: directus_files
|
|
- name: Folders
|
|
description: Group files by virtual folders.
|
|
x-collection: directus_folders
|
|
- name: Items
|
|
description: Items are individual pieces of data in your database. They can be anything, from articles, to IoT status checks.
|
|
- name: Permissions
|
|
description: Permissions control who has access to what and when.
|
|
x-collection: directus_permissions
|
|
- name: Relations
|
|
description: What data is linked to what other data. Allows you to assign authors to articles, products to sales, and whatever other structures you can think of.
|
|
x-collection: directus_relations
|
|
- name: Revisions
|
|
description: Revisions are individual changes to items made. Directus keeps track of changes made, so you're able to revert to a previous state at will.
|
|
x-collection: directus_revisions
|
|
- name: Roles
|
|
description: Roles are groups of users that share permissions.
|
|
x-collection: directus_roles
|
|
- name: Server
|
|
description: Access to where Directus runs. Allows you to make sure your server has everything needed to run the platform, and check what kind of latency we're dealing with.
|
|
- name: Settings
|
|
description: Settings control the way the platform works and acts.
|
|
x-collection: directus_settings
|
|
- name: Users
|
|
description: Users are what gives you access to the data.
|
|
x-collection: directus_users
|
|
- name: Utilities
|
|
description: Directus comes with various utility endpoints you can use to simplify your development flow.
|
|
- name: Webhooks
|
|
description: Webhooks.
|
|
x-collection: directus_webhooks
|
|
paths:
|
|
# Activity
|
|
/activity:
|
|
$ref: "./paths/activity/activities.yaml"
|
|
/activity/comment:
|
|
$ref: "./paths/activity/activity-comments.yaml"
|
|
/activity/{id}:
|
|
$ref: "./paths/activity/activity.yaml"
|
|
/activity/comment/{id}:
|
|
$ref: "./paths/activity/activity-comment.yaml"
|
|
|
|
# Assets
|
|
/assets/{id}:
|
|
$ref: "./paths/assets/assets.yaml"
|
|
|
|
# Authentication
|
|
/auth/login:
|
|
$ref: "./paths/auth/login.yaml"
|
|
/auth/refresh:
|
|
$ref: "./paths/auth/refresh.yaml"
|
|
/auth/logout:
|
|
$ref: "./paths/auth/logout.yaml"
|
|
/auth/password/request:
|
|
$ref: "./paths/auth/password-request.yaml"
|
|
/auth/password/reset:
|
|
$ref: "./paths/auth/password-reset.yaml"
|
|
/auth/sso:
|
|
$ref: "./paths/auth/sso.yaml"
|
|
/auth/sso/{provider}:
|
|
$ref: "./paths/auth/sso-provider.yaml"
|
|
|
|
# Items
|
|
/items/{collection}:
|
|
$ref: "./paths/items/items.yaml"
|
|
/items/{collection}/{id}:
|
|
$ref: "./paths/items/item.yaml"
|
|
|
|
# Presets
|
|
/presets:
|
|
$ref: "./paths/presets/presets.yaml"
|
|
/presets/{id}:
|
|
$ref: "./paths/presets/preset.yaml"
|
|
|
|
# Collections
|
|
/collections:
|
|
$ref: "./paths/collections/collections.yaml"
|
|
/collections/{id}:
|
|
$ref: "./paths/collections/collection.yaml"
|
|
|
|
# Extensions
|
|
/extensions/interfaces:
|
|
$ref: "./paths/extensions/interfaces.yaml"
|
|
/extensions/layouts:
|
|
$ref: "./paths/extensions/layouts.yaml"
|
|
/extensions/displays:
|
|
$ref: "./paths/extensions/displays.yaml"
|
|
/extensions/modules:
|
|
$ref: "./paths/extensions/modules.yaml"
|
|
|
|
# Fields
|
|
/fields:
|
|
$ref: "./paths/fields/fields.yaml"
|
|
/fields/{collection}:
|
|
$ref: "./paths/fields/collection-fields.yaml"
|
|
/fields/{collection}/{id}:
|
|
$ref: "./paths/fields/collection-field.yaml"
|
|
|
|
# Files
|
|
/files:
|
|
$ref: "./paths/files/files.yaml"
|
|
/files/{id}:
|
|
$ref: "./paths/files/file.yaml"
|
|
/files/{id}/revisions:
|
|
$ref: "./paths/files/revisions.yaml"
|
|
/files/{id}/revisions/{offset}:
|
|
$ref: "./paths/files/revision.yaml"
|
|
|
|
# Folders
|
|
/folders:
|
|
$ref: "./paths/folders/folders.yaml"
|
|
/folders/{id}:
|
|
$ref: "./paths/folders/folder.yaml"
|
|
|
|
# Permissions
|
|
/permissions:
|
|
$ref: "./paths/permissions/permissions.yaml"
|
|
/permissions/me:
|
|
$ref: "./paths/permissions/permissions-me.yaml"
|
|
/permissions/{id}:
|
|
$ref: "./paths/permissions/permission.yaml"
|
|
|
|
# Relations
|
|
/relations:
|
|
$ref: "./paths/relations/relations.yaml"
|
|
/relations/{id}:
|
|
$ref: "./paths/relations/relation.yaml"
|
|
|
|
# Revisions
|
|
/revisions:
|
|
$ref: "./paths/revisions/revisions.yaml"
|
|
/revisions/{id}:
|
|
$ref: "./paths/revisions/revision.yaml"
|
|
|
|
# Roles
|
|
/roles:
|
|
$ref: "./paths/roles/roles.yaml"
|
|
/roles/{id}:
|
|
$ref: "./paths/roles/role.yaml"
|
|
|
|
# Server
|
|
/server/info:
|
|
$ref: "./paths/server/info.yaml"
|
|
/server/ping:
|
|
$ref: "./paths/server/ping.yaml"
|
|
|
|
# Settings
|
|
/settings:
|
|
$ref: "./paths/settings/settings.yaml"
|
|
|
|
# Users
|
|
/users:
|
|
$ref: "./paths/users/users.yaml"
|
|
/users/{id}:
|
|
$ref: "./paths/users/user.yaml"
|
|
/users/{id}/track/page:
|
|
$ref: "./paths/users/user-tracking.yaml"
|
|
/users/invite:
|
|
$ref: "./paths/users/user-invite.yaml"
|
|
/users/invite/accept:
|
|
$ref: "./paths/users/user-invite-accept.yaml"
|
|
/users/me:
|
|
$ref: "./paths/users/me.yaml"
|
|
/users/me/track/page:
|
|
$ref: "./paths/users/me-tracking.yaml"
|
|
/users/me/tfa/enable:
|
|
$ref: "./paths/users/me-tfa-enable.yaml"
|
|
/users/me/tfa/disable:
|
|
$ref: "./paths/users/me-tfa-disable.yaml"
|
|
|
|
# Utilities
|
|
/utils/hash:
|
|
$ref: "./paths/utils/hash.yaml"
|
|
/utils/hash/verify:
|
|
$ref: "./paths/utils/hash-match.yaml"
|
|
/utils/random/string:
|
|
$ref: "./paths/utils/random.yaml"
|
|
/utils/sort/{collection}:
|
|
$ref: "./paths/utils/sort.yaml"
|
|
|
|
# Webhooks
|
|
/webhooks:
|
|
$ref: "./paths/webhooks/webhooks.yaml"
|
|
/webhooks/{id}:
|
|
$ref: "./paths/webhooks/webhook.yaml"
|
|
|
|
components:
|
|
schemas:
|
|
Activity:
|
|
$ref: "./components/activity.yaml"
|
|
Presets:
|
|
$ref: "./components/preset.yaml"
|
|
Collections:
|
|
$ref: "./components/collection.yaml"
|
|
Fields:
|
|
$ref: "./components/field.yaml"
|
|
Files:
|
|
$ref: "./components/file.yaml"
|
|
Folders:
|
|
$ref: "./components/folder.yaml"
|
|
Items:
|
|
$ref: "./components/item.yaml"
|
|
Permissions:
|
|
$ref: "./components/permissions.yaml"
|
|
Relations:
|
|
$ref: "./components/relation.yaml"
|
|
Revisions:
|
|
$ref: "./components/revision.yaml"
|
|
Roles:
|
|
$ref: "./components/role.yaml"
|
|
Settings:
|
|
$ref: "./components/setting.yaml"
|
|
Users:
|
|
$ref: "./components/user.yaml"
|
|
Webhooks:
|
|
$ref: "./components/webhook.yaml"
|
|
parameters:
|
|
# All path parameters
|
|
Id:
|
|
$ref: "./parameters/id.yaml"
|
|
UUId:
|
|
$ref: "./parameters/uuid.yaml"
|
|
Collection:
|
|
$ref: "./parameters/collection.yaml"
|
|
|
|
# All query parameters
|
|
Search:
|
|
$ref: "./parameters/search.yaml"
|
|
Page:
|
|
$ref: "./parameters/page.yaml"
|
|
Offset:
|
|
$ref: "./parameters/offset.yaml"
|
|
Single:
|
|
$ref: "./parameters/single.yaml"
|
|
Sort:
|
|
$ref: "./parameters/sort.yaml"
|
|
Meta:
|
|
$ref: "./parameters/meta.yaml"
|
|
Limit:
|
|
$ref: "./parameters/limit.yaml"
|
|
Filter:
|
|
$ref: "./parameters/filter.yaml"
|
|
Fields:
|
|
$ref: "./parameters/fields.yaml"
|
|
Mode:
|
|
$ref: "./parameters/mode.yaml"
|
|
responses:
|
|
NotFoundError:
|
|
$ref: "./responses/notFoundError.yaml"
|
|
UnauthorizedError:
|
|
$ref: "./responses/unauthorizedError.yaml"
|
|
securitySchemes:
|
|
KeyAuth:
|
|
type: apiKey
|
|
in: query
|
|
name: access_token
|
|
Auth:
|
|
type: apiKey
|
|
in: header
|
|
name: "Authorization"
|
|
security:
|
|
- Auth: []
|
|
- KeyAuth: []
|