openapi: 3.0.4
servers:
  - url: https://{environment}.pigello.io
    variables:
      environment:
        default: dev.api
        enum:
          - dev.api
          - api
security:
  - customer_id: []
    application_id: []
    service_id: []
    service_version_id: []
    client_ct: []
    client_object_id: []
    client_secret: []
paths:
  /integrations/answeredintegrationpersonalinformationaccess/list/:
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Answeredintegrationpersonalinformationaccess
      summary: Bulk write 'Answeredintegrationpersonalinformationaccess'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: >-
                  #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: answer
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: answered_by_organization_user
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: answered_by_sub_tenant
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: answered_by_tenant
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: integration
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
      tags:
        - Answeredintegrationpersonalinformationaccess
      summary: List 'Answeredintegrationpersonalinformationaccess'
  /integrations/answeredintegrationpersonalinformationaccess/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Answeredintegrationpersonalinformationaccess
      summary: Create 'Answeredintegrationpersonalinformationaccess'
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
  /integrations/answeredintegrationpersonalinformationaccess/{pk}/:
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Answeredintegrationpersonalinformationaccess
      summary: Get 'Answeredintegrationpersonalinformationaccess'
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Answeredintegrationpersonalinformationaccess
      summary: Update 'Answeredintegrationpersonalinformationaccess'
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/integrations.answeredintegrationpersonalinformationaccess
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Answeredintegrationpersonalinformationaccess
      summary: Delete 'Answeredintegrationpersonalinformationaccess'
  /integrations/integrationserviceidconnection/list/:
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/integrations.integrationserviceidconnection
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Integrationserviceidconnection
      summary: Bulk write 'Integrationserviceidconnection'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: >-
                  #/components/schemas/integrations.integrationserviceidconnection
  /integrations/integrationserviceidconnection/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/integrations.integrationserviceidconnection
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Integrationserviceidconnection
      summary: Create 'Integrationserviceidconnection'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/integrations.integrationserviceidconnection'
  /integrations/integrationserviceidconnection/{pk}/:
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/integrations.integrationserviceidconnection
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Integrationserviceidconnection
      summary: Update 'Integrationserviceidconnection'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/integrations.integrationserviceidconnection'
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/integrations.integrationserviceidconnection
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Integrationserviceidconnection
      summary: Get 'Integrationserviceidconnection'
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Integrationserviceidconnection
      summary: Delete 'Integrationserviceidconnection'
components:
  securitySchemes:
    customer_id:
      type: apiKey
      in: header
      name: X-PIGELLO-CUSTOMER-ID
    application_id:
      type: apiKey
      in: header
      name: X-PIGELLO-APPLICATION-ID
    service_id:
      type: apiKey
      in: header
      name: X-PIGELLO-SERVICE-ID
    service_version_id:
      type: apiKey
      in: header
      name: X-PIGELLO-SERVICE-VERSION-ID
    client_ct:
      type: apiKey
      in: header
      name: X-PIGELLO-CLIENT-CT
    client_object_id:
      type: apiKey
      in: header
      name: X-PIGELLO-CLIENT-ENTITY
    client_secret:
      type: apiKey
      in: header
      name: X-PIGELLO-CLIENT-SECRET
  responses:
    not_found:
      description: Resource not found
    bad_query:
      description: Bad query/selection
    invalid_object_payload:
      description: Invalid payload
      content:
        application/json:
          schema: {}
    invalid_list_payload:
      description: Invalid payload
      content:
        application/json:
          schema:
            type: array
            items: {}
    invalid_object_state:
      description: Invalid state of object
      content:
        application/json:
          schema: {}
    permission_denied:
      description: Permission Denied
    unauthorized:
      description: Unauthorized
    rate_limit_exceeded:
      description: Rate limit exceeded
  schemas:
    integrations.answeredintegrationpersonalinformationaccess:
      properties:
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        answer:
          type: boolean
          nullable: false
        answered_by_organization_user:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organizationuser
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `answered_by_tenant`, `answered_by_sub_tenant`


            This field, or at least one of the following fields must be set:
            `answered_by_tenant`, `answered_by_sub_tenant`
        answered_by_tenant:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Tenant
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `answered_by_organization_user`, `answered_by_sub_tenant`


            This field, or at least one of the following fields must be set:
            `answered_by_organization_user`, `answered_by_sub_tenant`
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        integration:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: false
          title: Integrationuseragent
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        answered_by_sub_tenant:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Subtenant
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `answered_by_tenant`, `answered_by_organization_user`


            This field, or at least one of the following fields must be set:
            `answered_by_tenant`, `answered_by_organization_user`
      type: object
      required:
        - id
        - answer
        - integration
      description: >-
        Content Type:
        `integrations.answeredintegrationpersonalinformationaccess`
    integrations.integrationserviceidconnection:
      properties:
        content_type:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: false
          title: Contenttype
        application_id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        hidden:
          type: boolean
          nullable: false
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        object_id:
          type: string
          format: uuid
          nullable: false
        external_id:
          type: string
          nullable: false
        custom_id:
          type: string
          maxLength: 128
          nullable: true
      type: object
      required:
        - content_type
        - application_id
        - id
        - object_id
        - external_id
      description: 'Content Type: `integrations.integrationserviceidconnection`'
x-tagGroups: []
info:
  title: Integrations
  version: 2.0.0
  description: The 'Integrations' application of the Core API
