Oper Contact API

The Contact API from Oper — 1 operation(s) for contact.

OpenAPI Specification

oper-contact-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Oper Agent Documents Contact API
  version: ''
tags:
- name: Contact
paths:
  /api/contact/:
    get:
      operationId: api_contact_retrieve
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactDetail'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Contact
components:
  schemas:
    StreetType:
      description: Can be managed at /resources/street-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    PhoneCountryCode:
      description: Can be managed at /resources/phone-country-code
      properties:
        country:
          readOnly: true
          type: string
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - country
      - definition
      - id
      - order
      type: object
    UserRole:
      description: Can be managed at /resources/user-role
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    ReducedBroker:
      description: "Baseclass for Reduced serializers.\n\nWill validate whether the objects exists, and returns the instance in to_internal_value\nSubclasses must implement Meta with at least the model and field attributes\n\nRaises\n------\n    Validations errors if the object doesn't exist\n    OperBadConfigurationException if the model isn't set"
      properties:
        account_manager:
          allOf:
          - $ref: '#/components/schemas/ReducedBaseUser'
          nullable: true
          readOnly: true
        bank_account:
          readOnly: true
          type: string
        company_type:
          allOf:
          - $ref: '#/components/schemas/CompanyType'
          nullable: true
          readOnly: true
        fsma_reference:
          nullable: true
          readOnly: true
          type: string
        id:
          type: integer
        name:
          readOnly: true
          type: string
        outstanding_debt:
          format: double
          readOnly: true
          type: number
        vat_number:
          readOnly: true
          type: string
      required:
      - account_manager
      - bank_account
      - company_type
      - fsma_reference
      - id
      - name
      - outstanding_debt
      - vat_number
      type: object
    Country:
      description: Can be managed at /resources/country
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    CompanyType:
      description: Can be managed at /resources/company-types
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    Phone:
      properties:
        country_code:
          $ref: '#/components/schemas/PhoneCountryCode'
        id:
          readOnly: true
          type: integer
        value:
          maxLength: 32
          type: string
      required:
      - country_code
      - id
      - value
      type: object
    Email:
      description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\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\nExample of usage:\n```\nclass Child(models.Model):\n    field = models.CharField(unique=True)\nclass Parent(models.Model):\n    child = models.ForeignKey('Child')\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n    class Meta:\n        model = Child\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n    child = ChildSerializer()\n    class Meta:\n        model = Parent\n```\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead."
      properties:
        id:
          readOnly: true
          type: integer
        value:
          format: email
          maxLength: 254
          type: string
      required:
      - id
      - value
      type: object
    Address:
      properties:
        box:
          maxLength: 64
          type: string
        building:
          type: string
        city:
          maxLength: 64
          type: string
        country:
          $ref: '#/components/schemas/Country'
        floor:
          maxLength: 64
          type: string
        heading:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        house_number:
          maxLength: 64
          type: string
        id:
          readOnly: true
          type: integer
        latitude:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        longitude:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        pitch:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        staircase:
          type: string
        street:
          maxLength: 64
          type: string
        street_type:
          allOf:
          - $ref: '#/components/schemas/StreetType'
          nullable: true
        zip_code:
          maxLength: 8
          type: string
        zoom:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
      required:
      - box
      - city
      - country
      - floor
      - house_number
      - id
      - street
      - zip_code
      type: object
    ReducedBaseUser:
      description: User reduced representation
      properties:
        first_name:
          default: ''
          readOnly: true
          type: string
        id:
          type: integer
        last_name:
          default: ''
          readOnly: true
          type: string
        role:
          allOf:
          - $ref: '#/components/schemas/UserRole'
          readOnly: true
        verified:
          readOnly: true
          type: boolean
      required:
      - first_name
      - id
      - last_name
      - role
      - verified
      type: object
    ContactDetail:
      properties:
        broker:
          allOf:
          - $ref: '#/components/schemas/ReducedBroker'
          readOnly: true
        office_address:
          allOf:
          - $ref: '#/components/schemas/Address'
          readOnly: true
        office_email:
          allOf:
          - $ref: '#/components/schemas/Email'
          readOnly: true
        office_name:
          readOnly: true
          type: string
        office_opening_hours:
          readOnly: true
          type: string
        office_phone:
          allOf:
          - $ref: '#/components/schemas/Phone'
          readOnly: true
        tenant:
          readOnly: true
          type: string
      required:
      - broker
      - office_address
      - office_email
      - office_name
      - office_opening_hours
      - office_phone
      - tenant
      type: object
  securitySchemes:
    jwtAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http