From 4d3ef27c5324b4bcaf1e22ae24e00d88eac774a4 Mon Sep 17 00:00:00 2001 From: August Johnson Date: Sun, 20 Oct 2024 08:18:38 -0500 Subject: [PATCH] Should be resolving some of the issues with v1/v2. --- .github/workflows/rdme-openapi.yml | 6 +- api/views.py | 19 +- openapi-schema-v1.yml | 6587 -------- openapi-schema-v2.yml => openapi-schema.yml | 14476 +++++++++++++----- 4 files changed, 10292 insertions(+), 10796 deletions(-) delete mode 100644 openapi-schema-v1.yml rename openapi-schema-v2.yml => openapi-schema.yml (64%) diff --git a/.github/workflows/rdme-openapi.yml b/.github/workflows/rdme-openapi.yml index e57d6d91..63589f7e 100644 --- a/.github/workflows/rdme-openapi.yml +++ b/.github/workflows/rdme-openapi.yml @@ -20,8 +20,4 @@ jobs: - name: Run `openapi` command for v1🚀 uses: readmeio/rdme@v8 with: - rdme: openapi openapi-schema-v1.yml --key=${{ secrets.README_API_KEY }} --id=641f6d9e0ffbcd06c0e7343c - - name: Run `openapi` command for v2🚀 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapi-schema-v2.yml --key=${{ secrets.README_API_KEY }} --id=641f6d9e0ffbcd06c0e7343c + rdme: openapi openapi-schema.yml --key=${{ secrets.README_API_KEY }} --id=641f6d9e0ffbcd06c0e7343c \ No newline at end of file diff --git a/api/views.py b/api/views.py index 32a905a2..11289a07 100644 --- a/api/views.py +++ b/api/views.py @@ -3,11 +3,12 @@ from rest_framework import viewsets from rest_framework.decorators import api_view from rest_framework.response import Response +from rest_framework.schemas.openapi import AutoSchema from api import models from api import serializers from api import filters -#from api.schema_generator import CustomSchema + class ManifestViewSet(viewsets.ReadOnlyModelViewSet): @@ -95,6 +96,7 @@ class DocumentViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of documents. retrieve: API endpoint for returning a particular document. """ + schema = AutoSchema(operation_id_base='V1Document') queryset = models.Document.objects.all().order_by("pk") serializer_class = serializers.DocumentSerializer search_fields = ['title', 'desc'] @@ -111,6 +113,7 @@ class SpellViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of spells. retrieve: API endpoint for returning a particular spell. """ + schema = AutoSchema(operation_id_base='V1Spell') queryset = models.Spell.objects.all().order_by("pk") filterset_class=filters.SpellFilter serializer_class = serializers.SpellSerializer @@ -137,6 +140,7 @@ class SpellListViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of spell lists. retrieve: API endpoint for returning a particular spell list. """ + schema = AutoSchema(operation_id_base='V1SpellList') queryset = models.SpellList.objects.all().order_by("pk") serializer_class = serializers.SpellListSerializer filterset_class = filters.SpellListFilter @@ -148,6 +152,7 @@ class MonsterViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of monsters. retrieve: API endpoint for returning a particular monster. """ + schema = AutoSchema(operation_id_base='V1Monster') queryset = models.Monster.objects.all().order_by("pk") filterset_class = filters.MonsterFilter @@ -159,6 +164,7 @@ class BackgroundViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of backgrounds. retrieve: API endpoint for returning a particular background. """ + schema = AutoSchema(operation_id_base='V1Background') queryset = models.Background.objects.all().order_by("pk") serializer_class = serializers.BackgroundSerializer ordering_fields = '__all__' @@ -172,6 +178,7 @@ class PlaneViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of planes. retrieve: API endpoint for returning a particular plane. """ + schema = AutoSchema(operation_id_base='V1Plane') queryset = models.Plane.objects.all().order_by("pk") serializer_class = serializers.PlaneSerializer filterset_class = filters.PlaneFilter @@ -183,6 +190,7 @@ class SectionViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of sections. retrieve: API endpoint for returning a particular section. """ + schema = AutoSchema(operation_id_base='V1Section') queryset = models.Section.objects.all().order_by("pk") serializer_class = serializers.SectionSerializer ordering_fields = '__all__' @@ -196,6 +204,7 @@ class FeatViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of feats. retrieve: API endpoint for returning a particular feat. """ + schema = AutoSchema(operation_id_base='V1Feat') queryset = models.Feat.objects.all().order_by("pk") serializer_class = serializers.FeatSerializer filterset_class = filters.FeatFilter @@ -207,6 +216,7 @@ class ConditionViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of conditions. retrieve: API endpoint for returning a particular condition. """ + schema = AutoSchema(operation_id_base='V1Condition') queryset = models.Condition.objects.all().order_by("pk") serializer_class = serializers.ConditionSerializer search_fields = ['name', 'desc'] @@ -218,6 +228,7 @@ class RaceViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of races. retrieve: API endpoint for returning a particular race. """ + schema = AutoSchema(operation_id_base='V1Race') queryset = models.Race.objects.all().order_by("pk") serializer_class = serializers.RaceSerializer filterset_class = filters.RaceFilter @@ -230,6 +241,7 @@ class SubraceViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint that allows viewing of Subraces. retrieve: API endpoint for returning a particular subrace. """ + schema = AutoSchema(operation_id_base='V1Subrace') queryset = models.Subrace.objects.all().order_by("pk") serializer_class = serializers.SubraceSerializer search_fields = ['name', 'desc'] @@ -244,6 +256,7 @@ class CharClassViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of classes and archetypes. retrieve: API endpoint for returning a particular class or archetype. """ + schema = AutoSchema(operation_id_base='V1Class') queryset = models.CharClass.objects.all().order_by("pk") serializer_class = serializers.CharClassSerializer filterset_class = filters.CharClassFilter @@ -256,6 +269,7 @@ class ArchetypeViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint that allows viewing of Archetypes. retrieve: API endpoint for returning a particular archetype. """ + schema = AutoSchema(operation_id_base='V1Archetype') queryset = models.Archetype.objects.all().order_by("pk") serializer_class = serializers.ArchetypeSerializer search_fields = ['name', 'desc'] @@ -270,6 +284,7 @@ class MagicItemViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of magic items. retrieve: API endpoint for returning a particular magic item. """ + schema = AutoSchema(operation_id_base='V1MagicItem') queryset = models.MagicItem.objects.all().order_by("pk") serializer_class = serializers.MagicItemSerializer filterset_class = filters.MagicItemFilter @@ -281,6 +296,7 @@ class WeaponViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of weapons. retrieve: API endpoint for returning a particular weapon. """ + schema = AutoSchema(operation_id_base='V1Weapon') queryset = models.Weapon.objects.all().order_by("pk") serializer_class = serializers.WeaponSerializer filterset_class = filters.WeaponFilter @@ -292,6 +308,7 @@ class ArmorViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of armor. retrieve: API endpoint for returning a particular armor. """ + schema = AutoSchema(operation_id_base='V1Armor') queryset = models.Armor.objects.all().order_by("pk") serializer_class = serializers.ArmorSerializer filterset_class = filters.ArmorFilter diff --git a/openapi-schema-v1.yml b/openapi-schema-v1.yml deleted file mode 100644 index 5eb3a2c9..00000000 --- a/openapi-schema-v1.yml +++ /dev/null @@ -1,6587 +0,0 @@ -openapi: 3.0.2 -info: - title: Open5e - version: '1' -paths: - /version/: - get: - operationId: listget_versions - description: API endpoint for data and api versions. - parameters: [] - responses: - '200': - content: - application/json: - schema: - type: array - items: {} - description: '' - tags: - - version - /v1/manifest/: - get: - operationId: listManifests - description: 'API endpoint for returning a list of of manifests. - - - For each data source file, there is a corresponding manifest containing an - - MD5 hash of the data inside that file. When we update our data files, the - - corresponding manifest''s hash changes. If you host a service that - - automatically downloads data from Open5e, you can periodically check - - the manifests to determine whether your data is out of date.' - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Manifest' - description: '' - tags: - - v1 - /v1/manifest/{id}/: - get: - operationId: retrieveManifest - description: 'API endpoint for returning a particular manifest. - - - For each data source file, there is a corresponding manifest containing an - - MD5 hash of the data inside that file. When we update our data files, the - - corresponding manifest''s hash changes. If you host a service that - - automatically downloads data from Open5e, you can periodically check - - the manifests to determine whether your data is out of date.' - parameters: - - name: id - in: path - required: true - description: A unique integer value identifying this manifest. - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Manifest' - description: '' - tags: - - v1 - /v1/spells/: - get: - operationId: listSpells - description: API endpoint for returning a list of spells. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: spell_level - required: false - in: query - description: spell_level - schema: - type: string - - name: spell_level__range - required: false - in: query - description: spell_level__range - schema: - type: string - - name: spell_level__gt - required: false - in: query - description: spell_level__gt - schema: - type: string - - name: spell_level__gte - required: false - in: query - description: spell_level__gte - schema: - type: string - - name: spell_level__lt - required: false - in: query - description: spell_level__lt - schema: - type: string - - name: spell_level__lte - required: false - in: query - description: spell_level__lte - schema: - type: string - - name: target_range_sort - required: false - in: query - description: target_range_sort - schema: - type: string - - name: target_range_sort__range - required: false - in: query - description: target_range_sort__range - schema: - type: string - - name: target_range_sort__gt - required: false - in: query - description: target_range_sort__gt - schema: - type: string - - name: target_range_sort__gte - required: false - in: query - description: target_range_sort__gte - schema: - type: string - - name: target_range_sort__lt - required: false - in: query - description: target_range_sort__lt - schema: - type: string - - name: target_range_sort__lte - required: false - in: query - description: target_range_sort__lte - schema: - type: string - - name: school__iexact - required: false - in: query - description: school__iexact - schema: - type: string - - name: school - required: false - in: query - description: school - schema: - type: string - - name: school__in - required: false - in: query - description: school__in - schema: - type: string - - name: duration__iexact - required: false - in: query - description: duration__iexact - schema: - type: string - - name: duration - required: false - in: query - description: duration - schema: - type: string - - name: duration__in - required: false - in: query - description: duration__in - schema: - type: string - - name: requires_concentration - required: false - in: query - description: requires_concentration - schema: - type: string - - name: requires_verbal_components - required: false - in: query - description: requires_verbal_components - schema: - type: string - - name: requires_somatic_components - required: false - in: query - description: requires_somatic_components - schema: - type: string - - name: requires_material_components - required: false - in: query - description: requires_material_components - schema: - type: string - - name: casting_time__iexact - required: false - in: query - description: casting_time__iexact - schema: - type: string - - name: casting_time - required: false - in: query - description: casting_time - schema: - type: string - - name: casting_time__in - required: false - in: query - description: casting_time__in - schema: - type: string - - name: dnd_class__iexact - required: false - in: query - description: dnd_class__iexact - schema: - type: string - - name: dnd_class - required: false - in: query - description: dnd_class - schema: - type: string - - name: dnd_class__in - required: false - in: query - description: dnd_class__in - schema: - type: string - - name: dnd_class__icontains - required: false - in: query - description: dnd_class__icontains - schema: - type: string - - name: spell_lists - required: false - in: query - description: spell_lists - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: level_int - required: false - in: query - description: level_int - schema: - type: string - - name: concentration - required: false - in: query - description: concentration - schema: - type: string - - name: components - required: false - in: query - description: components - schema: - type: string - - name: spell_lists_not - required: false - in: query - description: spell_lists_not - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Spell' - description: '' - tags: - - v1 - /v1/spells/{slug}/: - get: - operationId: retrieveSpell - description: API endpoint for returning a particular spell. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: spell_level - required: false - in: query - description: spell_level - schema: - type: string - - name: spell_level__range - required: false - in: query - description: spell_level__range - schema: - type: string - - name: spell_level__gt - required: false - in: query - description: spell_level__gt - schema: - type: string - - name: spell_level__gte - required: false - in: query - description: spell_level__gte - schema: - type: string - - name: spell_level__lt - required: false - in: query - description: spell_level__lt - schema: - type: string - - name: spell_level__lte - required: false - in: query - description: spell_level__lte - schema: - type: string - - name: target_range_sort - required: false - in: query - description: target_range_sort - schema: - type: string - - name: target_range_sort__range - required: false - in: query - description: target_range_sort__range - schema: - type: string - - name: target_range_sort__gt - required: false - in: query - description: target_range_sort__gt - schema: - type: string - - name: target_range_sort__gte - required: false - in: query - description: target_range_sort__gte - schema: - type: string - - name: target_range_sort__lt - required: false - in: query - description: target_range_sort__lt - schema: - type: string - - name: target_range_sort__lte - required: false - in: query - description: target_range_sort__lte - schema: - type: string - - name: school__iexact - required: false - in: query - description: school__iexact - schema: - type: string - - name: school - required: false - in: query - description: school - schema: - type: string - - name: school__in - required: false - in: query - description: school__in - schema: - type: string - - name: duration__iexact - required: false - in: query - description: duration__iexact - schema: - type: string - - name: duration - required: false - in: query - description: duration - schema: - type: string - - name: duration__in - required: false - in: query - description: duration__in - schema: - type: string - - name: requires_concentration - required: false - in: query - description: requires_concentration - schema: - type: string - - name: requires_verbal_components - required: false - in: query - description: requires_verbal_components - schema: - type: string - - name: requires_somatic_components - required: false - in: query - description: requires_somatic_components - schema: - type: string - - name: requires_material_components - required: false - in: query - description: requires_material_components - schema: - type: string - - name: casting_time__iexact - required: false - in: query - description: casting_time__iexact - schema: - type: string - - name: casting_time - required: false - in: query - description: casting_time - schema: - type: string - - name: casting_time__in - required: false - in: query - description: casting_time__in - schema: - type: string - - name: dnd_class__iexact - required: false - in: query - description: dnd_class__iexact - schema: - type: string - - name: dnd_class - required: false - in: query - description: dnd_class - schema: - type: string - - name: dnd_class__in - required: false - in: query - description: dnd_class__in - schema: - type: string - - name: dnd_class__icontains - required: false - in: query - description: dnd_class__icontains - schema: - type: string - - name: spell_lists - required: false - in: query - description: spell_lists - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: level_int - required: false - in: query - description: level_int - schema: - type: string - - name: concentration - required: false - in: query - description: concentration - schema: - type: string - - name: components - required: false - in: query - description: components - schema: - type: string - - name: spell_lists_not - required: false - in: query - description: spell_lists_not - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Spell' - description: '' - tags: - - v1 - /v1/spelllist/: - get: - operationId: listSpellLists - description: API endpoint for returning a list of spell lists. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/SpellList' - description: '' - tags: - - v1 - /v1/spelllist/{slug}/: - get: - operationId: retrieveSpellList - description: API endpoint for returning a particular spell list. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SpellList' - description: '' - tags: - - v1 - /v1/monsters/: - get: - operationId: listMonsters - description: API endpoint for returning a list of monsters. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: cr - required: false - in: query - description: cr - schema: - type: string - - name: cr__range - required: false - in: query - description: cr__range - schema: - type: string - - name: cr__gt - required: false - in: query - description: cr__gt - schema: - type: string - - name: cr__gte - required: false - in: query - description: cr__gte - schema: - type: string - - name: cr__lt - required: false - in: query - description: cr__lt - schema: - type: string - - name: cr__lte - required: false - in: query - description: cr__lte - schema: - type: string - - name: hit_points - required: false - in: query - description: hit_points - schema: - type: string - - name: hit_points__range - required: false - in: query - description: hit_points__range - schema: - type: string - - name: hit_points__gt - required: false - in: query - description: hit_points__gt - schema: - type: string - - name: hit_points__gte - required: false - in: query - description: hit_points__gte - schema: - type: string - - name: hit_points__lt - required: false - in: query - description: hit_points__lt - schema: - type: string - - name: hit_points__lte - required: false - in: query - description: hit_points__lte - schema: - type: string - - name: armor_class - required: false - in: query - description: armor_class - schema: - type: string - - name: armor_class__range - required: false - in: query - description: armor_class__range - schema: - type: string - - name: armor_class__gt - required: false - in: query - description: armor_class__gt - schema: - type: string - - name: armor_class__gte - required: false - in: query - description: armor_class__gte - schema: - type: string - - name: armor_class__lt - required: false - in: query - description: armor_class__lt - schema: - type: string - - name: armor_class__lte - required: false - in: query - description: armor_class__lte - schema: - type: string - - name: type__iexact - required: false - in: query - description: type__iexact - schema: - type: string - - name: type - required: false - in: query - description: type - schema: - type: string - - name: type__in - required: false - in: query - description: type__in - schema: - type: string - - name: type__icontains - required: false - in: query - description: type__icontains - schema: - type: string - - name: size__iexact - required: false - in: query - description: size__iexact - schema: - type: string - - name: size - required: false - in: query - description: size - schema: - type: string - - name: size__in - required: false - in: query - description: size__in - schema: - type: string - - name: size__icontains - required: false - in: query - description: size__icontains - schema: - type: string - - name: page_no - required: false - in: query - description: page_no - schema: - type: string - - name: page_no__range - required: false - in: query - description: page_no__range - schema: - type: string - - name: page_no__gt - required: false - in: query - description: page_no__gt - schema: - type: string - - name: page_no__gte - required: false - in: query - description: page_no__gte - schema: - type: string - - name: page_no__lt - required: false - in: query - description: page_no__lt - schema: - type: string - - name: page_no__lte - required: false - in: query - description: page_no__lte - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Monster' - description: '' - tags: - - v1 - /v1/monsters/{slug}/: - get: - operationId: retrieveMonster - description: API endpoint for returning a particular monster. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: cr - required: false - in: query - description: cr - schema: - type: string - - name: cr__range - required: false - in: query - description: cr__range - schema: - type: string - - name: cr__gt - required: false - in: query - description: cr__gt - schema: - type: string - - name: cr__gte - required: false - in: query - description: cr__gte - schema: - type: string - - name: cr__lt - required: false - in: query - description: cr__lt - schema: - type: string - - name: cr__lte - required: false - in: query - description: cr__lte - schema: - type: string - - name: hit_points - required: false - in: query - description: hit_points - schema: - type: string - - name: hit_points__range - required: false - in: query - description: hit_points__range - schema: - type: string - - name: hit_points__gt - required: false - in: query - description: hit_points__gt - schema: - type: string - - name: hit_points__gte - required: false - in: query - description: hit_points__gte - schema: - type: string - - name: hit_points__lt - required: false - in: query - description: hit_points__lt - schema: - type: string - - name: hit_points__lte - required: false - in: query - description: hit_points__lte - schema: - type: string - - name: armor_class - required: false - in: query - description: armor_class - schema: - type: string - - name: armor_class__range - required: false - in: query - description: armor_class__range - schema: - type: string - - name: armor_class__gt - required: false - in: query - description: armor_class__gt - schema: - type: string - - name: armor_class__gte - required: false - in: query - description: armor_class__gte - schema: - type: string - - name: armor_class__lt - required: false - in: query - description: armor_class__lt - schema: - type: string - - name: armor_class__lte - required: false - in: query - description: armor_class__lte - schema: - type: string - - name: type__iexact - required: false - in: query - description: type__iexact - schema: - type: string - - name: type - required: false - in: query - description: type - schema: - type: string - - name: type__in - required: false - in: query - description: type__in - schema: - type: string - - name: type__icontains - required: false - in: query - description: type__icontains - schema: - type: string - - name: size__iexact - required: false - in: query - description: size__iexact - schema: - type: string - - name: size - required: false - in: query - description: size - schema: - type: string - - name: size__in - required: false - in: query - description: size__in - schema: - type: string - - name: size__icontains - required: false - in: query - description: size__icontains - schema: - type: string - - name: page_no - required: false - in: query - description: page_no - schema: - type: string - - name: page_no__range - required: false - in: query - description: page_no__range - schema: - type: string - - name: page_no__gt - required: false - in: query - description: page_no__gt - schema: - type: string - - name: page_no__gte - required: false - in: query - description: page_no__gte - schema: - type: string - - name: page_no__lt - required: false - in: query - description: page_no__lt - schema: - type: string - - name: page_no__lte - required: false - in: query - description: page_no__lte - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Monster' - description: '' - tags: - - v1 - /v1/documents/: - get: - operationId: listDocuments - description: API endpoint for returning a list of documents. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: title - required: false - in: query - description: title - schema: - type: string - - name: organization - required: false - in: query - description: organization - schema: - type: string - - name: license - required: false - in: query - description: license - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Document' - description: '' - tags: - - v1 - /v1/documents/{id}/: - get: - operationId: retrieveDocument - description: API endpoint for returning a particular document. - parameters: - - name: id - in: path - required: true - description: A unique integer value identifying this document. - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: title - required: false - in: query - description: title - schema: - type: string - - name: organization - required: false - in: query - description: organization - schema: - type: string - - name: license - required: false - in: query - description: license - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Document' - description: '' - tags: - - v1 - /v1/backgrounds/: - get: - operationId: listBackgrounds - description: API endpoint for returning a list of backgrounds. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: skill_proficiencies__iexact - required: false - in: query - description: skill_proficiencies__iexact - schema: - type: string - - name: skill_proficiencies - required: false - in: query - description: skill_proficiencies - schema: - type: string - - name: skill_proficiencies__icontains - required: false - in: query - description: skill_proficiencies__icontains - schema: - type: string - - name: tool_proficiencies__iexact - required: false - in: query - description: tool_proficiencies__iexact - schema: - type: string - - name: tool_proficiencies - required: false - in: query - description: tool_proficiencies - schema: - type: string - - name: tool_proficiencies__icontains - required: false - in: query - description: tool_proficiencies__icontains - schema: - type: string - - name: languages__iexact - required: false - in: query - description: languages__iexact - schema: - type: string - - name: languages - required: false - in: query - description: languages - schema: - type: string - - name: languages__icontains - required: false - in: query - description: languages__icontains - schema: - type: string - - name: feature__iexact - required: false - in: query - description: feature__iexact - schema: - type: string - - name: feature - required: false - in: query - description: feature - schema: - type: string - - name: feature__icontains - required: false - in: query - description: feature__icontains - schema: - type: string - - name: feature_desc__iexact - required: false - in: query - description: feature_desc__iexact - schema: - type: string - - name: feature_desc - required: false - in: query - description: feature_desc - schema: - type: string - - name: feature_desc__icontains - required: false - in: query - description: feature_desc__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Background' - description: '' - tags: - - v1 - /v1/backgrounds/{slug}/: - get: - operationId: retrieveBackground - description: API endpoint for returning a particular background. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: skill_proficiencies__iexact - required: false - in: query - description: skill_proficiencies__iexact - schema: - type: string - - name: skill_proficiencies - required: false - in: query - description: skill_proficiencies - schema: - type: string - - name: skill_proficiencies__icontains - required: false - in: query - description: skill_proficiencies__icontains - schema: - type: string - - name: tool_proficiencies__iexact - required: false - in: query - description: tool_proficiencies__iexact - schema: - type: string - - name: tool_proficiencies - required: false - in: query - description: tool_proficiencies - schema: - type: string - - name: tool_proficiencies__icontains - required: false - in: query - description: tool_proficiencies__icontains - schema: - type: string - - name: languages__iexact - required: false - in: query - description: languages__iexact - schema: - type: string - - name: languages - required: false - in: query - description: languages - schema: - type: string - - name: languages__icontains - required: false - in: query - description: languages__icontains - schema: - type: string - - name: feature__iexact - required: false - in: query - description: feature__iexact - schema: - type: string - - name: feature - required: false - in: query - description: feature - schema: - type: string - - name: feature__icontains - required: false - in: query - description: feature__icontains - schema: - type: string - - name: feature_desc__iexact - required: false - in: query - description: feature_desc__iexact - schema: - type: string - - name: feature_desc - required: false - in: query - description: feature_desc - schema: - type: string - - name: feature_desc__icontains - required: false - in: query - description: feature_desc__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Background' - description: '' - tags: - - v1 - /v1/planes/: - get: - operationId: listPlanes - description: API endpoint for returning a list of planes. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Plane' - description: '' - tags: - - v1 - /v1/planes/{slug}/: - get: - operationId: retrievePlane - description: API endpoint for returning a particular plane. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Plane' - description: '' - tags: - - v1 - /v1/sections/: - get: - operationId: listSections - description: API endpoint for returning a list of sections. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: parent__iexact - required: false - in: query - description: parent__iexact - schema: - type: string - - name: parent - required: false - in: query - description: parent - schema: - type: string - - name: parent__in - required: false - in: query - description: parent__in - schema: - type: string - - name: parent__icontains - required: false - in: query - description: parent__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Section' - description: '' - tags: - - v1 - /v1/sections/{slug}/: - get: - operationId: retrieveSection - description: API endpoint for returning a particular section. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: parent__iexact - required: false - in: query - description: parent__iexact - schema: - type: string - - name: parent - required: false - in: query - description: parent - schema: - type: string - - name: parent__in - required: false - in: query - description: parent__in - schema: - type: string - - name: parent__icontains - required: false - in: query - description: parent__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Section' - description: '' - tags: - - v1 - /v1/feats/: - get: - operationId: listFeats - description: API endpoint for returning a list of feats. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Feat' - description: '' - tags: - - v1 - /v1/feats/{slug}/: - get: - operationId: retrieveFeat - description: API endpoint for returning a particular feat. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Feat' - description: '' - tags: - - v1 - /v1/conditions/: - get: - operationId: listConditions - description: API endpoint for returning a list of conditions. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Condition' - description: '' - tags: - - v1 - /v1/conditions/{slug}/: - get: - operationId: retrieveCondition - description: API endpoint for returning a particular condition. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Condition' - description: '' - tags: - - v1 - /v1/races/: - get: - operationId: listRaces - description: API endpoint for returning a list of races. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: asi_desc__iexact - required: false - in: query - description: asi_desc__iexact - schema: - type: string - - name: asi_desc - required: false - in: query - description: asi_desc - schema: - type: string - - name: asi_desc__icontains - required: false - in: query - description: asi_desc__icontains - schema: - type: string - - name: age__iexact - required: false - in: query - description: age__iexact - schema: - type: string - - name: age - required: false - in: query - description: age - schema: - type: string - - name: age__icontains - required: false - in: query - description: age__icontains - schema: - type: string - - name: alignment__iexact - required: false - in: query - description: alignment__iexact - schema: - type: string - - name: alignment - required: false - in: query - description: alignment - schema: - type: string - - name: alignment__icontains - required: false - in: query - description: alignment__icontains - schema: - type: string - - name: size__iexact - required: false - in: query - description: size__iexact - schema: - type: string - - name: size - required: false - in: query - description: size - schema: - type: string - - name: size__icontains - required: false - in: query - description: size__icontains - schema: - type: string - - name: speed_desc__iexact - required: false - in: query - description: speed_desc__iexact - schema: - type: string - - name: speed_desc - required: false - in: query - description: speed_desc - schema: - type: string - - name: speed_desc__icontains - required: false - in: query - description: speed_desc__icontains - schema: - type: string - - name: languages__iexact - required: false - in: query - description: languages__iexact - schema: - type: string - - name: languages - required: false - in: query - description: languages - schema: - type: string - - name: languages__icontains - required: false - in: query - description: languages__icontains - schema: - type: string - - name: vision__iexact - required: false - in: query - description: vision__iexact - schema: - type: string - - name: vision - required: false - in: query - description: vision - schema: - type: string - - name: vision__icontains - required: false - in: query - description: vision__icontains - schema: - type: string - - name: traits__iexact - required: false - in: query - description: traits__iexact - schema: - type: string - - name: traits - required: false - in: query - description: traits - schema: - type: string - - name: traits__icontains - required: false - in: query - description: traits__icontains - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Race' - description: '' - tags: - - v1 - /v1/races/{slug}/: - get: - operationId: retrieveRace - description: API endpoint for returning a particular race. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: asi_desc__iexact - required: false - in: query - description: asi_desc__iexact - schema: - type: string - - name: asi_desc - required: false - in: query - description: asi_desc - schema: - type: string - - name: asi_desc__icontains - required: false - in: query - description: asi_desc__icontains - schema: - type: string - - name: age__iexact - required: false - in: query - description: age__iexact - schema: - type: string - - name: age - required: false - in: query - description: age - schema: - type: string - - name: age__icontains - required: false - in: query - description: age__icontains - schema: - type: string - - name: alignment__iexact - required: false - in: query - description: alignment__iexact - schema: - type: string - - name: alignment - required: false - in: query - description: alignment - schema: - type: string - - name: alignment__icontains - required: false - in: query - description: alignment__icontains - schema: - type: string - - name: size__iexact - required: false - in: query - description: size__iexact - schema: - type: string - - name: size - required: false - in: query - description: size - schema: - type: string - - name: size__icontains - required: false - in: query - description: size__icontains - schema: - type: string - - name: speed_desc__iexact - required: false - in: query - description: speed_desc__iexact - schema: - type: string - - name: speed_desc - required: false - in: query - description: speed_desc - schema: - type: string - - name: speed_desc__icontains - required: false - in: query - description: speed_desc__icontains - schema: - type: string - - name: languages__iexact - required: false - in: query - description: languages__iexact - schema: - type: string - - name: languages - required: false - in: query - description: languages - schema: - type: string - - name: languages__icontains - required: false - in: query - description: languages__icontains - schema: - type: string - - name: vision__iexact - required: false - in: query - description: vision__iexact - schema: - type: string - - name: vision - required: false - in: query - description: vision - schema: - type: string - - name: vision__icontains - required: false - in: query - description: vision__icontains - schema: - type: string - - name: traits__iexact - required: false - in: query - description: traits__iexact - schema: - type: string - - name: traits - required: false - in: query - description: traits - schema: - type: string - - name: traits__icontains - required: false - in: query - description: traits__icontains - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Race' - description: '' - tags: - - v1 - /v1/classes/: - get: - operationId: listCharClasses - description: API endpoint for returning a list of classes and archetypes. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: hit_dice__iexact - required: false - in: query - description: hit_dice__iexact - schema: - type: string - - name: hit_dice - required: false - in: query - description: hit_dice - schema: - type: string - - name: hit_dice__in - required: false - in: query - description: hit_dice__in - schema: - type: string - - name: hp_at_1st_level__iexact - required: false - in: query - description: hp_at_1st_level__iexact - schema: - type: string - - name: hp_at_1st_level - required: false - in: query - description: hp_at_1st_level - schema: - type: string - - name: hp_at_1st_level__icontains - required: false - in: query - description: hp_at_1st_level__icontains - schema: - type: string - - name: hp_at_higher_levels__iexact - required: false - in: query - description: hp_at_higher_levels__iexact - schema: - type: string - - name: hp_at_higher_levels - required: false - in: query - description: hp_at_higher_levels - schema: - type: string - - name: hp_at_higher_levels__icontains - required: false - in: query - description: hp_at_higher_levels__icontains - schema: - type: string - - name: prof_armor__iexact - required: false - in: query - description: prof_armor__iexact - schema: - type: string - - name: prof_armor - required: false - in: query - description: prof_armor - schema: - type: string - - name: prof_armor__icontains - required: false - in: query - description: prof_armor__icontains - schema: - type: string - - name: prof_weapons__iexact - required: false - in: query - description: prof_weapons__iexact - schema: - type: string - - name: prof_weapons - required: false - in: query - description: prof_weapons - schema: - type: string - - name: prof_weapons__icontains - required: false - in: query - description: prof_weapons__icontains - schema: - type: string - - name: prof_tools__iexact - required: false - in: query - description: prof_tools__iexact - schema: - type: string - - name: prof_tools - required: false - in: query - description: prof_tools - schema: - type: string - - name: prof_tools__icontains - required: false - in: query - description: prof_tools__icontains - schema: - type: string - - name: prof_skills__iexact - required: false - in: query - description: prof_skills__iexact - schema: - type: string - - name: prof_skills - required: false - in: query - description: prof_skills - schema: - type: string - - name: prof_skills__icontains - required: false - in: query - description: prof_skills__icontains - schema: - type: string - - name: equipment__iexact - required: false - in: query - description: equipment__iexact - schema: - type: string - - name: equipment - required: false - in: query - description: equipment - schema: - type: string - - name: equipment__icontains - required: false - in: query - description: equipment__icontains - schema: - type: string - - name: spellcasting_ability__iexact - required: false - in: query - description: spellcasting_ability__iexact - schema: - type: string - - name: spellcasting_ability - required: false - in: query - description: spellcasting_ability - schema: - type: string - - name: spellcasting_ability__icontains - required: false - in: query - description: spellcasting_ability__icontains - schema: - type: string - - name: subtypes_name__iexact - required: false - in: query - description: subtypes_name__iexact - schema: - type: string - - name: subtypes_name - required: false - in: query - description: subtypes_name - schema: - type: string - - name: subtypes_name__icontains - required: false - in: query - description: subtypes_name__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/CharClass' - description: '' - tags: - - v1 - /v1/classes/{slug}/: - get: - operationId: retrieveCharClass - description: API endpoint for returning a particular class or archetype. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: hit_dice__iexact - required: false - in: query - description: hit_dice__iexact - schema: - type: string - - name: hit_dice - required: false - in: query - description: hit_dice - schema: - type: string - - name: hit_dice__in - required: false - in: query - description: hit_dice__in - schema: - type: string - - name: hp_at_1st_level__iexact - required: false - in: query - description: hp_at_1st_level__iexact - schema: - type: string - - name: hp_at_1st_level - required: false - in: query - description: hp_at_1st_level - schema: - type: string - - name: hp_at_1st_level__icontains - required: false - in: query - description: hp_at_1st_level__icontains - schema: - type: string - - name: hp_at_higher_levels__iexact - required: false - in: query - description: hp_at_higher_levels__iexact - schema: - type: string - - name: hp_at_higher_levels - required: false - in: query - description: hp_at_higher_levels - schema: - type: string - - name: hp_at_higher_levels__icontains - required: false - in: query - description: hp_at_higher_levels__icontains - schema: - type: string - - name: prof_armor__iexact - required: false - in: query - description: prof_armor__iexact - schema: - type: string - - name: prof_armor - required: false - in: query - description: prof_armor - schema: - type: string - - name: prof_armor__icontains - required: false - in: query - description: prof_armor__icontains - schema: - type: string - - name: prof_weapons__iexact - required: false - in: query - description: prof_weapons__iexact - schema: - type: string - - name: prof_weapons - required: false - in: query - description: prof_weapons - schema: - type: string - - name: prof_weapons__icontains - required: false - in: query - description: prof_weapons__icontains - schema: - type: string - - name: prof_tools__iexact - required: false - in: query - description: prof_tools__iexact - schema: - type: string - - name: prof_tools - required: false - in: query - description: prof_tools - schema: - type: string - - name: prof_tools__icontains - required: false - in: query - description: prof_tools__icontains - schema: - type: string - - name: prof_skills__iexact - required: false - in: query - description: prof_skills__iexact - schema: - type: string - - name: prof_skills - required: false - in: query - description: prof_skills - schema: - type: string - - name: prof_skills__icontains - required: false - in: query - description: prof_skills__icontains - schema: - type: string - - name: equipment__iexact - required: false - in: query - description: equipment__iexact - schema: - type: string - - name: equipment - required: false - in: query - description: equipment - schema: - type: string - - name: equipment__icontains - required: false - in: query - description: equipment__icontains - schema: - type: string - - name: spellcasting_ability__iexact - required: false - in: query - description: spellcasting_ability__iexact - schema: - type: string - - name: spellcasting_ability - required: false - in: query - description: spellcasting_ability - schema: - type: string - - name: spellcasting_ability__icontains - required: false - in: query - description: spellcasting_ability__icontains - schema: - type: string - - name: subtypes_name__iexact - required: false - in: query - description: subtypes_name__iexact - schema: - type: string - - name: subtypes_name - required: false - in: query - description: subtypes_name - schema: - type: string - - name: subtypes_name__icontains - required: false - in: query - description: subtypes_name__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/CharClass' - description: '' - tags: - - v1 - /v1/magicitems/: - get: - operationId: listMagicItems - description: API endpoint for returning a list of magic items. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: type__iexact - required: false - in: query - description: type__iexact - schema: - type: string - - name: type - required: false - in: query - description: type - schema: - type: string - - name: type__icontains - required: false - in: query - description: type__icontains - schema: - type: string - - name: rarity__iexact - required: false - in: query - description: rarity__iexact - schema: - type: string - - name: rarity - required: false - in: query - description: rarity - schema: - type: string - - name: rarity__icontains - required: false - in: query - description: rarity__icontains - schema: - type: string - - name: requires_attunement__iexact - required: false - in: query - description: requires_attunement__iexact - schema: - type: string - - name: requires_attunement - required: false - in: query - description: requires_attunement - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/MagicItem' - description: '' - tags: - - v1 - /v1/magicitems/{slug}/: - get: - operationId: retrieveMagicItem - description: API endpoint for returning a particular magic item. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: type__iexact - required: false - in: query - description: type__iexact - schema: - type: string - - name: type - required: false - in: query - description: type - schema: - type: string - - name: type__icontains - required: false - in: query - description: type__icontains - schema: - type: string - - name: rarity__iexact - required: false - in: query - description: rarity__iexact - schema: - type: string - - name: rarity - required: false - in: query - description: rarity - schema: - type: string - - name: rarity__icontains - required: false - in: query - description: rarity__icontains - schema: - type: string - - name: requires_attunement__iexact - required: false - in: query - description: requires_attunement__iexact - schema: - type: string - - name: requires_attunement - required: false - in: query - description: requires_attunement - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/MagicItem' - description: '' - tags: - - v1 - /v1/weapons/: - get: - operationId: listWeapons - description: API endpoint for returning a list of weapons. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: cost__iexact - required: false - in: query - description: cost__iexact - schema: - type: string - - name: cost - required: false - in: query - description: cost - schema: - type: string - - name: cost__icontains - required: false - in: query - description: cost__icontains - schema: - type: string - - name: damage_dice__iexact - required: false - in: query - description: damage_dice__iexact - schema: - type: string - - name: damage_dice - required: false - in: query - description: damage_dice - schema: - type: string - - name: damage_dice__icontains - required: false - in: query - description: damage_dice__icontains - schema: - type: string - - name: damage_type__iexact - required: false - in: query - description: damage_type__iexact - schema: - type: string - - name: damage_type - required: false - in: query - description: damage_type - schema: - type: string - - name: damage_type__icontains - required: false - in: query - description: damage_type__icontains - schema: - type: string - - name: weight__iexact - required: false - in: query - description: weight__iexact - schema: - type: string - - name: weight - required: false - in: query - description: weight - schema: - type: string - - name: weight__icontains - required: false - in: query - description: weight__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Weapon' - description: '' - tags: - - v1 - /v1/weapons/{slug}/: - get: - operationId: retrieveWeapon - description: API endpoint for returning a particular weapon. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: cost__iexact - required: false - in: query - description: cost__iexact - schema: - type: string - - name: cost - required: false - in: query - description: cost - schema: - type: string - - name: cost__icontains - required: false - in: query - description: cost__icontains - schema: - type: string - - name: damage_dice__iexact - required: false - in: query - description: damage_dice__iexact - schema: - type: string - - name: damage_dice - required: false - in: query - description: damage_dice - schema: - type: string - - name: damage_dice__icontains - required: false - in: query - description: damage_dice__icontains - schema: - type: string - - name: damage_type__iexact - required: false - in: query - description: damage_type__iexact - schema: - type: string - - name: damage_type - required: false - in: query - description: damage_type - schema: - type: string - - name: damage_type__icontains - required: false - in: query - description: damage_type__icontains - schema: - type: string - - name: weight__iexact - required: false - in: query - description: weight__iexact - schema: - type: string - - name: weight - required: false - in: query - description: weight - schema: - type: string - - name: weight__icontains - required: false - in: query - description: weight__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Weapon' - description: '' - tags: - - v1 - /v1/armor/: - get: - operationId: listArmors - description: API endpoint for returning a list of armor. - parameters: - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - name: limit - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: cost__iexact - required: false - in: query - description: cost__iexact - schema: - type: string - - name: cost - required: false - in: query - description: cost - schema: - type: string - - name: cost__icontains - required: false - in: query - description: cost__icontains - schema: - type: string - - name: weight__iexact - required: false - in: query - description: weight__iexact - schema: - type: string - - name: weight - required: false - in: query - description: weight - schema: - type: string - - name: weight__icontains - required: false - in: query - description: weight__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - type: object - required: - - count - - results - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Armor' - description: '' - tags: - - v1 - /v1/armor/{slug}/: - get: - operationId: retrieveArmor - description: API endpoint for returning a particular armor. - parameters: - - name: slug - in: path - required: true - description: Short name for the game content item. - schema: - type: string - - name: slug__in - required: false - in: query - description: slug__in - schema: - type: string - - name: slug__iexact - required: false - in: query - description: slug__iexact - schema: - type: string - - name: slug - required: false - in: query - description: slug - schema: - type: string - - name: name__iexact - required: false - in: query - description: name__iexact - schema: - type: string - - name: name - required: false - in: query - description: name - schema: - type: string - - name: name__icontains - required: false - in: query - description: name__icontains - schema: - type: string - - name: desc__iexact - required: false - in: query - description: desc__iexact - schema: - type: string - - name: desc - required: false - in: query - description: desc - schema: - type: string - - name: desc__in - required: false - in: query - description: desc__in - schema: - type: string - - name: desc__icontains - required: false - in: query - description: desc__icontains - schema: - type: string - - name: cost__iexact - required: false - in: query - description: cost__iexact - schema: - type: string - - name: cost - required: false - in: query - description: cost - schema: - type: string - - name: cost__icontains - required: false - in: query - description: cost__icontains - schema: - type: string - - name: weight__iexact - required: false - in: query - description: weight__iexact - schema: - type: string - - name: weight - required: false - in: query - description: weight - schema: - type: string - - name: weight__icontains - required: false - in: query - description: weight__icontains - schema: - type: string - - name: document__slug__iexact - required: false - in: query - description: document__slug__iexact - schema: - type: string - - name: document__slug - required: false - in: query - description: document__slug - schema: - type: string - - name: document__slug__in - required: false - in: query - description: document__slug__in - schema: - type: string - - name: document__slug__not_in - required: false - in: query - description: document__slug__not_in - schema: - type: string - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: search - required: false - in: query - description: A search term. - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Armor' - description: '' - tags: - - v1 -components: - schemas: - Manifest: - type: object - properties: - filename: - type: string - description: Input file name. - maxLength: 255 - type: - type: string - description: Type of file (maps to a model). - maxLength: 25 - hash: - type: string - description: md5 hash of the file contents. - maxLength: 255 - created_at: - type: string - format: date-time - readOnly: true - description: Date that this object was added to the database. - required: - - filename - - type - - hash - Spell: - type: object - properties: - slug: - type: string - description: Short name for the game content item. - maxLength: 255 - name: - type: string - description: Name of the game content item. - desc: - type: string - description: Description of the game content item. Markdown. - higher_level: - type: string - description: What happens if you cast this at a higher level. - page: - type: string - description: Page number reference for the document. - range: - type: string - description: Text description of the target range. - target_range_sort: - type: integer - maximum: 9223372036854775807 - format: int64 - description: Sortable distance ranking to the target. 0 for self, 1 for - touch, sight is 9999, unlimited (same plane) is 99990, unlimited any plane - is 99999. All other values in feet. - minimum: 0 - components: - type: string - requires_verbal_components: - type: boolean - description: Casting this spell requires verbal components. - requires_somatic_components: - type: boolean - description: Casting this spell requires somatic components. - requires_material_components: - type: boolean - description: Casting this spell requires material components. - material: - type: string - description: Description of the material required. - can_be_cast_as_ritual: - type: boolean - description: Whether or not the spell can be cast as a ritual. - ritual: - type: string - duration: - type: string - description: Description of the duration such as "instantaneous" or "Up - to 1 minute" - concentration: - type: string - requires_concentration: - type: boolean - description: Whether the spell requires concentration - casting_time: - type: string - description: Amount of time it takes to cast the spell, such as "1 bonus - action" or "4 hours". - level: - type: string - level_int: - type: integer - spell_level: - type: integer - maximum: 9 - description: Integer representing the level of the spell. Cantrip is 0. - minimum: 0 - school: - type: string - description: Representation of the school of magic, such as "illusion" or - "evocation". - dnd_class: - type: string - description: List of classes (comma separated) that can learn this spell. - spell_lists: - type: array - items: - type: string - archetype: - type: string - description: Archetype that can learn this spell. If empty, assume all archetypes. - circles: - type: string - description: Druid Archetypes that can learn this spell. - document__slug: - type: string - readOnly: true - document__title: - type: string - readOnly: true - document__license_url: - type: string - readOnly: true - document__url: - type: string - readOnly: true - required: - - name - - desc - - higher_level - - page - - range - - target_range_sort - - components - - material - - ritual - - duration - - concentration - - casting_time - - level - - level_int - - spell_level - - school - - dnd_class - - spell_lists - - archetype - - circles - SpellList: - type: object - properties: - slug: - type: string - description: Short name for the game content item. - maxLength: 255 - name: - type: string - description: Name of the game content item. - desc: - type: string - description: Description of the game content item. Markdown. - spells: - type: array - items: - type: string - description: The set of spells. - document__slug: - type: string - readOnly: true - document__title: - type: string - readOnly: true - document__license_url: - type: string - readOnly: true - document__url: - type: string - readOnly: true - required: - - name - - desc - - spells - Monster: - type: object - properties: - slug: - type: string - description: Short name for the game content item. - maxLength: 255 - desc: - type: string - description: Description of the game content item. Markdown. - name: - type: string - description: Name of the game content item. - size: - type: string - description: Monster size category. - type: - type: string - description: The type of the monster, such as "aberration" - subtype: - type: string - description: If applicable, the subtype of the monster, such as "shapechanger" - group: - type: string - nullable: true - description: Used to group similar creatures at different stages. "Green - Dragon" - alignment: - type: string - description: Short description of the creature alignment, such as "lawful - good" - armor_class: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - description: Integer representing the armor class. - armor_desc: - type: string - nullable: true - description: Description of the armor or armor type. - hit_points: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer of the hit points. - hit_dice: - type: string - description: Dice string representing a way to calculate hit points. - speed: - type: string - readOnly: true - strength: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the strength score. - dexterity: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer represeting the dexterity score. - constitution: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the constitution score. - intelligence: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the intelligence score. - wisdom: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the wisdom score. - charisma: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the charisma score. - strength_save: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the strength save. - dexterity_save: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the dexterity save. - constitution_save: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the constitution save. - intelligence_save: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the intelligence save - wisdom_save: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the wisdom save. - charisma_save: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the charisma save. - perception: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - description: Integer representing the passive perception score. - skills: - type: string - readOnly: true - damage_vulnerabilities: - type: string - description: Comma separated list of damage types the monster is vulnerable - to. - damage_resistances: - type: string - description: Comma separated list of damage types the monster is resistant - to. - damage_immunities: - type: string - description: Comma separated list of damage types the monster is immune - to. - condition_immunities: - type: string - description: Comma separated list of conditions the monster is immune to. - senses: - type: string - languages: - type: string - challenge_rating: - type: string - description: Monster challenge rating. - cr: - type: number - nullable: true - description: Monster challenge rating as a float. - actions: - type: string - readOnly: true - bonus_actions: - type: string - readOnly: true - reactions: - type: string - readOnly: true - legendary_desc: - type: string - nullable: true - legendary_actions: - type: string - readOnly: true - special_abilities: - type: string - readOnly: true - spell_list: - type: array - items: - type: string - readOnly: true - page_no: - type: integer - maximum: 9223372036854775807 - minimum: -9223372036854775808 - format: int64 - nullable: true - environments: - type: string - readOnly: true - img_main: - type: string - readOnly: true - document__slug: - type: string - readOnly: true - document__title: - type: string - readOnly: true - document__license_url: - type: string - readOnly: true - document__url: - type: string - readOnly: true - required: - - desc - - name - - size - - type - - subtype - - alignment - - hit_dice - - damage_vulnerabilities - - damage_resistances - - damage_immunities - - condition_immunities - - senses - - languages - - challenge_rating - Document: - type: object - properties: - title: - type: string - description: Title of the document. - slug: - type: string - maxLength: 255 - url: - type: string - format: uri - description: URL reference to get the document. - maxLength: 200 - pattern: "^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\\ - .(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\\ - ]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF0-9])?(?:\\\ - .(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?