openapi: 3.2.0 info: title: Tandoor Invite Link API version: 0.0.0 (2.6.13) x-logo: url: /static/assets/brand_logo.svg backgroundColor: '#FFFFFF' altText: Tandoor logo href: / description: Tandoor API Docs tags: - name: Invite Link paths: /api/invite-link/: get: operationId: apiInviteLinkList description: logs request counts to redis cache total/per user/ parameters: - in: query name: internal_note schema: type: string description: Text field to store data that gets carried over to the UserSpace created from the InviteLink - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: unused schema: type: boolean description: Only return InviteLinks that have not been used yet. - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - Invite Link security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInviteLinkList' description: '' summary: Api invite link list x-summary-source: derived post: operationId: apiInviteLinkCreate description: logs request counts to redis cache total/per user/ tags: - Invite Link requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InviteLink' multipart/form-data: schema: $ref: '#/components/schemas/InviteLink' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' summary: Api invite link create x-summary-source: derived /api/invite-link/{id}/: get: operationId: apiInviteLinkRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - Invite Link security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' summary: Api invite link retrieve x-summary-source: derived put: operationId: apiInviteLinkUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - Invite Link requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InviteLink' multipart/form-data: schema: $ref: '#/components/schemas/InviteLink' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' summary: Api invite link update x-summary-source: derived patch: operationId: apiInviteLinkPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - Invite Link requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInviteLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedInviteLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedInviteLink' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' summary: Api invite link partial update x-summary-source: derived delete: operationId: apiInviteLinkDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - Invite Link security: - ApiKeyAuth: [] responses: '204': description: No response body summary: Api invite link destroy x-summary-source: derived components: schemas: InviteLink: type: object description: Adds nested create feature properties: id: type: integer readOnly: false uuid: type: string format: uuid readOnly: true email: type: string format: email maxLength: 254 group: $ref: '#/components/schemas/Group' household: allOf: - $ref: '#/components/schemas/Household' valid_until: type: string format: date used_by: type: - integer - 'null' readOnly: true reusable: type: boolean internal_note: type: - string - 'null' created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true email_sent: type: boolean description: Return whether the invite email was successfully sent. readOnly: true required: - created_at - created_by - email_sent - group - used_by - uuid Household: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - name - updated_at Group: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string readOnly: true required: - name PatchedInviteLink: type: object description: Adds nested create feature properties: id: type: integer readOnly: false uuid: type: string format: uuid readOnly: true email: type: string format: email maxLength: 254 group: $ref: '#/components/schemas/Group' household: allOf: - $ref: '#/components/schemas/Household' valid_until: type: string format: date used_by: type: - integer - 'null' readOnly: true reusable: type: boolean internal_note: type: - string - 'null' created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true email_sent: type: boolean description: Return whether the invite email was successfully sent. readOnly: true PaginatedInviteLinkList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/InviteLink' timestamp: type: string format: date-time securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization