diff --git a/.github/workflows/rdme-openapi.yml b/.github/workflows/rdme-openapi.yml index 51dc7a08..89f52f16 100644 --- a/.github/workflows/rdme-openapi.yml +++ b/.github/workflows/rdme-openapi.yml @@ -20,4 +20,5 @@ jobs: - name: Run `openapi` command 🚀 uses: readmeio/rdme@v8 with: - rdme: openapi openapi-schema.yml --key=${{ secrets.README_API_KEY }} --id=641f6d9e0ffbcd06c0e7343c + rdme: openapi openapi-schema-v1.yml --key=${{ secrets.README_API_KEY }} --id=641f6d9e0ffbcd06c0e7343c + rdme: openapi openapi-schema-v2.yml --key=${{ secrets.README_API_KEY }} --id=641f6d9e0ffbcd06c0e7343c diff --git a/api/schema_generator.py b/api/schema_generator.py index 384529d8..f88961a0 100644 --- a/api/schema_generator.py +++ b/api/schema_generator.py @@ -1,4 +1,4 @@ -from rest_framework.schemas.openapi import SchemaGenerator +'''from rest_framework.schemas.openapi import SchemaGenerator from rest_framework.schemas.openapi import AutoSchema # Adds additional metadata onto an OAS operation. Attach this to your view and provide the necessary constructor args. @@ -21,6 +21,7 @@ def get_operation(self, path, method): oldOperation = super().get_operation(path, method) # I can't find a version of DRF that support summaries + if path.startswith('/v1/'): return oldOperation oldOperation['summary'] = self.extra_info['summary'][path] # Future versions of DRF support tags @@ -61,3 +62,4 @@ def get_schema(self, *args, **kwargs): # This isn't a real endpoint, so we remove it from the schema schema['paths'].pop('/search/{id}/') return schema +''' \ No newline at end of file diff --git a/api/serializers.py b/api/serializers.py index edb21148..50e09e90 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -18,14 +18,15 @@ def __init__(self, *args, **kwargs): # The request doesn't exist when generating an OAS file, so we have to check that first if 'request' in self.context: - fields = self.context['request'].query_params.get('fields') - if fields: - fields = fields.split(',') - # Drop any fields that are not specified in the `fields` argument. - allowed = set(fields) - existing = set(self.fields.keys()) - for field_name in existing - allowed: - self.fields.pop(field_name) + if self.context['request'] is not None: + fields = self.context['request'].query_params.get('fields') + if fields: + fields = fields.split(',') + # Drop any fields that are not specified in the `fields` argument. + allowed = set(fields) + existing = set(self.fields.keys()) + for field_name in existing - allowed: + self.fields.pop(field_name) class DynamicFieldsHyperlinkedModelSerializer( DynamicFieldsModelSerializer, serializers.HyperlinkedModelSerializer diff --git a/api/urls.py b/api/urls.py new file mode 100644 index 00000000..28de6484 --- /dev/null +++ b/api/urls.py @@ -0,0 +1,28 @@ +from rest_framework import routers +from django.conf.urls import include +from django.urls import path + +from api import views + +router = routers.DefaultRouter() +router.register(r'manifest', views.ManifestViewSet) +router.register(r'spells', views.SpellViewSet) +router.register(r'spelllist',views.SpellListViewSet) +router.register(r'monsters', views.MonsterViewSet) +router.register(r'documents', views.DocumentViewSet) +router.register(r'backgrounds', views.BackgroundViewSet) +router.register(r'planes', views.PlaneViewSet) +router.register(r'sections', views.SectionViewSet) +router.register(r'feats', views.FeatViewSet) +router.register(r'conditions', views.ConditionViewSet) +router.register(r'races',views.RaceViewSet) +router.register(r'classes',views.CharClassViewSet) +router.register(r'magicitems',views.MagicItemViewSet) +router.register(r'weapons',views.WeaponViewSet) +router.register(r'armor',views.ArmorViewSet) + +urlpatterns = [ + path('', include(router.urls)), #Consider removing this after a while. + path('version/', views.get_version, name="version"), + path('v1/', include(router.urls)) + ] \ No newline at end of file diff --git a/api/views.py b/api/views.py index 3df3a695..32a905a2 100644 --- a/api/views.py +++ b/api/views.py @@ -7,7 +7,7 @@ from api import models from api import serializers from api import filters -from api.schema_generator import CustomSchema +#from api.schema_generator import CustomSchema class ManifestViewSet(viewsets.ReadOnlyModelViewSet): @@ -28,13 +28,6 @@ class ManifestViewSet(viewsets.ReadOnlyModelViewSet): automatically downloads data from Open5e, you can periodically check the manifests to determine whether your data is out of date. """ - schema = CustomSchema( - summary={ - '/manifest/': 'List Manifests', - '/manifest/{id}/': 'Retrieve Manifest', - }, - tags=['Manifests'], - ) queryset = models.Manifest.objects.all().order_by("pk") serializer_class = serializers.ManifestSerializer @@ -102,18 +95,6 @@ class DocumentViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of documents. retrieve: API endpoint for returning a particular document. """ - schema = CustomSchema( - summary={ - '/documents/': 'List Documents', - '/documents/{id}/': 'Retrieve Document', - }, - tags=['Documents'], - query={ - 'slug': 'A short, human readable string uniquely identifying this document', - 'title': 'A short descriptive title of this document', - 'organization': 'The organization that published the document', - 'license': 'The license under which the document is published', - }) queryset = models.Document.objects.all().order_by("pk") serializer_class = serializers.DocumentSerializer search_fields = ['title', 'desc'] @@ -130,13 +111,6 @@ class SpellViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of spells. retrieve: API endpoint for returning a particular spell. """ - schema = CustomSchema( - summary={ - '/spells/': 'List Spells', - '/spells/{slug}/': 'Retrieve Spell', - }, - tags=['Spells'] - ) queryset = models.Spell.objects.all().order_by("pk") filterset_class=filters.SpellFilter serializer_class = serializers.SpellSerializer @@ -163,13 +137,6 @@ class SpellListViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of spell lists. retrieve: API endpoint for returning a particular spell list. """ - schema = CustomSchema( - summary={ - '/spelllist/': 'List Spell Lists', - '/spelllist/{slug}/': 'Retrieve Spell List', - }, - tags=['SpellList'] - ) queryset = models.SpellList.objects.all().order_by("pk") serializer_class = serializers.SpellListSerializer filterset_class = filters.SpellListFilter @@ -181,13 +148,6 @@ class MonsterViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of monsters. retrieve: API endpoint for returning a particular monster. """ - schema = CustomSchema( - summary={ - '/monsters/': 'List Monsters', - '/monsters/{slug}/': 'Retrieve Monster', - }, - tags=['Monsters'] - ) queryset = models.Monster.objects.all().order_by("pk") filterset_class = filters.MonsterFilter @@ -199,13 +159,6 @@ class BackgroundViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of backgrounds. retrieve: API endpoint for returning a particular background. """ - schema = CustomSchema( - summary={ - '/backgrounds/': 'List Backgrounds', - '/backgrounds/{slug}/': 'Retrieve Background', - }, - tags=['Backgrounds'] - ) queryset = models.Background.objects.all().order_by("pk") serializer_class = serializers.BackgroundSerializer ordering_fields = '__all__' @@ -219,13 +172,6 @@ class PlaneViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of planes. retrieve: API endpoint for returning a particular plane. """ - schema = CustomSchema( - summary={ - '/planes/': 'List Planes', - '/planes/{slug}/': 'Retrieve Plane', - }, - tags=['Planes'] - ) queryset = models.Plane.objects.all().order_by("pk") serializer_class = serializers.PlaneSerializer filterset_class = filters.PlaneFilter @@ -237,13 +183,6 @@ class SectionViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of sections. retrieve: API endpoint for returning a particular section. """ - schema = CustomSchema( - summary={ - '/sections/': 'List Sections', - '/sections/{slug}/': 'Retrieve Section', - }, - tags=['Sections'] - ) queryset = models.Section.objects.all().order_by("pk") serializer_class = serializers.SectionSerializer ordering_fields = '__all__' @@ -257,13 +196,6 @@ class FeatViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of feats. retrieve: API endpoint for returning a particular feat. """ - schema = CustomSchema( - summary={ - '/feats/': 'List Feats', - '/feats/{slug}/': 'Retrieve Feat', - }, - tags=['Feats'] - ) queryset = models.Feat.objects.all().order_by("pk") serializer_class = serializers.FeatSerializer filterset_class = filters.FeatFilter @@ -275,13 +207,6 @@ class ConditionViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of conditions. retrieve: API endpoint for returning a particular condition. """ - schema = CustomSchema( - summary={ - '/conditions/': 'List Conditions', - '/conditions/{slug}/': 'Retrieve Condition', - }, - tags=['Conditions'] - ) queryset = models.Condition.objects.all().order_by("pk") serializer_class = serializers.ConditionSerializer search_fields = ['name', 'desc'] @@ -293,13 +218,6 @@ class RaceViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of races. retrieve: API endpoint for returning a particular race. """ - schema = CustomSchema( - summary={ - '/races/': 'List Races', - '/races/{slug}/': 'Retrieve Race', - }, - tags=['Races'] - ) queryset = models.Race.objects.all().order_by("pk") serializer_class = serializers.RaceSerializer filterset_class = filters.RaceFilter @@ -312,13 +230,6 @@ class SubraceViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint that allows viewing of Subraces. retrieve: API endpoint for returning a particular subrace. """ - schema = CustomSchema( - summary={ - '/subraces/': 'List Subraces', - '/subraces/{slug}/': 'Retrieve Subrace', - }, - tags=['Subraces'] - ) queryset = models.Subrace.objects.all().order_by("pk") serializer_class = serializers.SubraceSerializer search_fields = ['name', 'desc'] @@ -333,13 +244,6 @@ 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 = CustomSchema( - summary={ - '/classes/': 'List Classes', - '/classes/{slug}/': 'Retrieve Class', - }, - tags=['Classes'] - ) queryset = models.CharClass.objects.all().order_by("pk") serializer_class = serializers.CharClassSerializer filterset_class = filters.CharClassFilter @@ -352,13 +256,6 @@ class ArchetypeViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint that allows viewing of Archetypes. retrieve: API endpoint for returning a particular archetype. """ - schema = CustomSchema( - summary={ - '/archetypes/': 'List Archetypes', - '/archetypes/{slug}/': 'Retrieve Archetype', - }, - tags=['Archetypes'] - ) queryset = models.Archetype.objects.all().order_by("pk") serializer_class = serializers.ArchetypeSerializer search_fields = ['name', 'desc'] @@ -373,13 +270,6 @@ class MagicItemViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of magic items. retrieve: API endpoint for returning a particular magic item. """ - schema = CustomSchema( - summary={ - '/magicitems/': 'List Magic Items', - '/magicitems/{slug}/': 'Retrieve Magic Item', - }, - tags=['Magic Items'] - ) queryset = models.MagicItem.objects.all().order_by("pk") serializer_class = serializers.MagicItemSerializer filterset_class = filters.MagicItemFilter @@ -391,13 +281,6 @@ class WeaponViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of weapons. retrieve: API endpoint for returning a particular weapon. """ - schema = CustomSchema( - summary={ - '/weapons/': 'List Weapons', - '/weapons/{slug}/': 'Retrieve Weapon', - }, - tags=['Weapons'] - ) queryset = models.Weapon.objects.all().order_by("pk") serializer_class = serializers.WeaponSerializer filterset_class = filters.WeaponFilter @@ -409,13 +292,6 @@ class ArmorViewSet(viewsets.ReadOnlyModelViewSet): list: API endpoint for returning a list of armor. retrieve: API endpoint for returning a particular armor. """ - schema = CustomSchema( - summary={ - '/armor/': 'List Armor', - '/armor/{slug}/': 'Retrieve Armor', - }, - tags=['Armor'] - ) queryset = models.Armor.objects.all().order_by("pk") serializer_class = serializers.ArmorSerializer filterset_class = filters.ArmorFilter diff --git a/api_v2/urls.py b/api_v2/urls.py new file mode 100644 index 00000000..249bad31 --- /dev/null +++ b/api_v2/urls.py @@ -0,0 +1,44 @@ +from django.conf.urls import include +from django.urls import path +from rest_framework import routers + +from api_v2 import views + +router = routers.DefaultRouter() +router.register(r'items',views.ItemViewSet) +router.register(r'itemsets',views.ItemSetViewSet) +router.register(r'itemcategories',views.ItemCategoryViewSet) +router.register(r'documents',views.DocumentViewSet) +router.register(r'licenses',views.LicenseViewSet) +router.register(r'publishers',views.PublisherViewSet) +router.register(r'weapons',views.WeaponViewSet) +router.register(r'armor',views.ArmorViewSet) +router.register(r'gamesystems',views.GameSystemViewSet) +router.register(r'backgrounds',views.BackgroundViewSet) +router.register(r'feats',views.FeatViewSet) +router.register(r'races',views.RaceViewSet) +router.register(r'creatures',views.CreatureViewSet) +router.register(r'creaturetypes',views.CreatureTypeViewSet) +router.register(r'creaturesets',views.CreatureSetViewSet) +router.register(r'damagetypes',views.DamageTypeViewSet) +router.register(r'languages',views.LanguageViewSet) +router.register(r'alignments',views.AlignmentViewSet) +router.register(r'conditions',views.ConditionViewSet) +router.register(r'spells',views.SpellViewSet) +router.register(r'classes',views.CharacterClassViewSet) +router.register(r'sizes',views.SizeViewSet) +router.register(r'itemrarities',views.ItemRarityViewSet) +router.register(r'environments',views.EnvironmentViewSet) +router.register(r'abilities',views.AbilityViewSet) +router.register(r'skills',views.SkillViewSet) +router.register(r'rules', views.RuleViewSet) +router.register(r'rulesets', views.RuleSetViewSet) + +search_router = routers.DefaultRouter() +search_router.register('',views.SearchResultViewSet, basename='search') + +urlpatterns = [ + path('v2/', include(router.urls)), + path('v2/search/', include(search_router.urls)), + path('v2/enums/', views.get_enums, name="enums") +] diff --git a/openapi-schema-v1.yml b/openapi-schema-v1.yml new file mode 100644 index 00000000..aa9301de --- /dev/null +++ b/openapi-schema-v1.yml @@ -0,0 +1,12138 @@ +openapi: 3.0.2 +info: + title: Open5e + version: '1' +paths: + /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: + - manifest + /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: + - manifest + /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: + - spells + /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: + - spells + /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: + - spelllist + /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: + - spelllist + /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: + - monsters + /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: + - monsters + /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: + - documents + /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: + - documents + /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: + - backgrounds + /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: + - backgrounds + /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: + - planes + /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: + - planes + /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: + - sections + /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: + - sections + /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: + - feats + /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: + - feats + /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: + - conditions + /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: + - conditions + /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: + - races + /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: + - races + /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: + - classes + /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: + - classes + /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: + - magicitems + /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: + - magicitems + /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: + - weapons + /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: + - weapons + /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: + - armor + /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: + - armor + /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}(?