EverReal
  • Introduction
  • Authentication
    • API ClientID and ClientSecret
    • Authentication limitations
  • Rate limiting
  • Helpers
    • Errors
    • Pagination
    • Formatting
  • How to guide
    • EverReal Data Import Process
      • Connect an Integration
      • Import Mappers
      • Ideal CSV Structure
      • Debug Imports
      • FAQ
    • Data import via GraphQL
  • Endpoints
    • Account users / members
    • Owners
      • Owners Query
      • Owners Mutation
    • Property Groups
      • Property Groups Query
      • Property Group Mutation
    • Properties
      • Properties Query
      • Properties Mutation
    • Units
      • Units Query
      • Units Mutation
    • Listing
      • Listing Query
      • Listing Mutation
    • Candidates
      • Candidates Query
      • Candidate Mutation
    • Messages
    • Contact Activites
    • Tenants
      • Tenants Query
      • Tenant Mutation
    • Contract
      • Contract Query
      • Contract Mutation
    • Contacts
      • Contact Mutation
      • Contact Query
    • Document management
      • Document management
      • Simple file upload
    • Tasks
      • Tasks Query
    • Protocols
      • Protocol Query
  • Webhooks
    • Owner Events
      • OWNER_CREATED
      • OWNER_UPDATED
      • OWNER_DELETED
    • Property Events
      • PROPERTY_CREATED
      • PROPERTY_UPDATED
      • PROPERTY_DELETED
    • Unit Events
      • UNIT_CREATED
      • UNIT_UPDATED
      • UNIT_DELETED
    • Listing Events
      • LISTING_ACTIVATED
      • LISTING_ARCHIVED
      • LISTING_UPDATED
      • LISTING_DEACTIVATED
      • LISTING_CREATED
      • LISTING_PUBLISHED_TO_CHANNEL
      • LISTING_UNPUBLISHED_FROM_CHANNEL
    • Candidates Events
      • CANDIDATE_PARSED
      • LISTING_CANDIDATE_APPLIED
    • Listing Contracting Events
      • LISTING_CONTRACT_FLOW_SIGNED
      • LISTING_CONTRACT_FLOW_PARTIALLY_SIGNED
      • LISTING_CONTRACT_FLOW_WITHDRAWN
      • LISTING_CONTRACT_FLOW_STARTED
    • Listing Scheduling Events
      • LISTING_CANDIDATE_SCHEDULE_TIMESLOT_BOOKING_REMOVED_CANDIDATE
      • LISTING_CANDIDATE_SCHEDULE_TIMESLOT_BOOKING_REMOVED_ADMIN
      • LISTING_CANDIDATE_SCHEDULE_TIMESLOT_BOOKED_CANDIDATE
      • LISTING_CANDIDATE_SCHEDULE_TIMESLOT_BOOKED_ADMIN
      • LISTING_CANDIDATE_SCHEDULE_NEW_TIMESLOTS_REQUESTED
      • LISTING_CANDIDATE_SCHEDULE_INVITED_VIEWING
    • Protocol Events
      • PROTOCOL_COMPLETED
  • Change log
    • Releases
      • Introducing Mappers
      • Enhancements for GraphQL
      • Enhancements for Querying
      • Enhancements for Webhooks
    • Upcoming
      • Introduced Querying Protocol in GraphQL
Powered by GitBook
On this page
  • Mutation Types
  • Schema Definition

Was this helpful?

  1. Endpoints
  2. Property Groups

Property Group Mutation

Create or update property groups in EverReal

Mutation Types

upsertPropertyGroup: Mutation is responsible for inserting or updating a specific register, the operation insert or update is defined by externalId, in case this property was imported previously, this mutation will updated the resource, otherwise will create the property.

type Mutation {
  upsertPropertyGroup(propertyGroup: PropertyGroupInput!): PropertyGroup!
}

Here are details on the capabilities of different mutations

  • The upsertPropertyGroup the mutation is used to create or update a property group in the EverReal system and property added to the system cannot be modified by Everreal and if needs to be modified it should be done via the same endpoint itself.

Schema Definition

items with ! notation are required

input PropertyGroupInput {
  name: String
  externalPropertyGroupId: String!
  descriptions: PropertyGroupDescriptionInput
}


input PropertyGroupDescriptionInput {
  object: String
  amenities: String
  location: String
  other: String
}

externalPropertyGroupId is required field, this is the key or the id which is used by the 3d party system(data synchronize between 3rd party)

Below we are providing a full example how to create or update a property, all this information is not required, only the ones that was using ! notation previously.

mutation {
  upsertPropertyGroup(
    propertyGroup: {
        name: "Ray - PG1"
        externalPropertyGroupId: "RPG-1"
        descriptions:{
            object: "Sample - Object"
            amenities: "Sample - Amenities"
            location: "Sample - Location"
            other: "Sample - Other"
        }
    }
  ) { id }
}
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer ....");
myHeaders.append("Content-Type", "application/json");

var graphql = JSON.stringify({
  query: "mutation {\n  upsertPropertyGroup(\n    propertyGroup: {\n        name: \"Ray - PG1\"\n        externalPropertyGroupId: \"RPG-1\"\n        descriptions:{\n            object: \"Sample - Object\"\n            amenities: \"Sample - Amenities\"\n            location: \"Sample - Location\"\n            other: \"Sample - Other\"\n        }\n    }\n  ) { id }\n}",
  variables: {}
})
var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: graphql,
  redirect: 'follow'
};

fetch("https://acme-qa.everreal-dev.co/api/reporting/graphql", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
PreviousProperty Groups QueryNextProperties

Last updated 2 years ago

Was this helpful?