Developer Platform
  • Home
  • Getting Started
    • General Information
    • Features Overview
    • Security
  • APPs
    • Public Apps
      • Shopify
      • Salesforce
      • Zendesk
      • Google Analytics
    • Build your App
      • Getting started
      • My Apps
      • App information
      • App Parameters
      • App Plugins
      • Add Webhooks
      • Submit your Apps
      • App security
      • Developer Policy
  • Use Cases
    • Copilots
      • Product Catalog sync through API
      • FAQ sync through API
    • Visitor experience
      • Integrating custom buttons into your site
      • Check availability before escalating to iAdvize
      • Authenticated Messaging
        • Introduction
        • Web client-side implementation
          • Authenticated Messaging overview
          • Brief timeline of the integration process
          • How to enable authenticated mode in the administration portal?
          • How to implement the customer authentication backend (token provider)?
          • How to authenticate with iAdvize in client's website?
          • How to deal with activation success or failure?
          • How to logout?
          • Compatibility with Mobile SDK
          • FAQ
        • Web backend implementation
          • Important information and recommendations
          • Signature and Encryption Detailed Process
          • Technical backend implementation
          • FAQ
      • Cross-domain Conversation Continuity
      • Customize replies with Markdown
    • Agent workspace
      • Custom App example and step-by-step tutorial
        • Get Started
        • Work with the Desk
        • Intent / Trigger
        • JWT
        • References
    • Administration
      • Users
        • SAML SSO Authentication - Implementation Guide
        • Create, update and delete users via API
        • Manage the availability of your users with the iAdvize API
        • Integrate the iAdvize conversation panel into an existing tool
    • Data & Analytics
      • Anonymize a conversation or visitor data
      • Create a custom dashboard
      • Find contact data using GraphQL
      • Retrieve conversations data
      • Retrieve messages exchanged within a conversation
  • Technologies
    • GraphQL API
      • Terminology
      • Reference
      • Authentication
      • Schema lifecycle
      • Error Management
      • Pagination
    • REST API (deprecated)
      • Statistic (deprecated)
      • Group (deprecated)
      • Call meeting (deprecated)
      • Operator (deprecated)
      • Skill (deprecated)
      • Transaction (deprecated)
      • Visitor (deprecated)
    • Webhooks
      • Reference
      • Guides
    • Desk events
      • Reference
    • Web & Mobile SDK
      • Javascript Web SDK
        • Reference
      • Javascript Callbacks
        • Reference
        • Guides
      • Mobile SDK
        • Fourme (latest)
        • Epoisses
        • Dauphin
        • Cantal
        • 🤝Support Policy
        • 🤔Frequently Asked Questions
    • Custom App
    • External Bot
      • Implementation
        • Configuration flow
        • Conversation flow
        • Conversation objects
      • Configuration
      • FAQ
      • Best practices
Powered by GitBook
On this page
  • Preview
  • General Availability
  • Deprecation
  • Removal (Breaking releases)

Was this helpful?

  1. Technologies
  2. GraphQL API

Schema lifecycle

How are fields created and deleted from our graphQL API

PreviousAuthenticationNextError Management

Last updated 1 year ago

Was this helpful?

Note In this section, fields, queries and mutations will all be called “field” as queries and mutations are special cases of fields.

In the context of our GraphQL API, a field has the following lifecycle:

  1. The field is (optionally) created under a preview

  2. The field is made generally available

  3. The field is deprecated

  4. The field is removed from the API

Preview

Similarly to how our product has some features in beta (during which we correct and improve the feature), our GraphQL API has some fields under preview. This allows the consumers of our API to benefit from the feature as early as possible, while we gather feedback in order to fix or improve the feature.

While under preview, a field is susceptible to change in behaviour to accommodate for the development of the feature and best cater to your needs. A field that was created under preview will stay under preview for 6 months.

In order to access fields that are under previews, the Accept header of the GraphQL HTTP request must contain application/vnd.iadvize.<preview-name>-preview+json where preview-name is replaced by the name of the feature, as given to you by your iAdvize contact.

This is a equivalent to what .

In order to monitor the usage of previews, we don't list previews available in the Graphql API. If your project requires specific capabilities, your iAdvize contact may give you field names and their respective preview names.

General Availability

Once a field is considered stable, it is made generally available. This is the default state of a field, where it is visible in the public documentation. A generally available field is expected to remain stable: no breaking change are expected to be introduced.

Deprecation

Our product is in constant evolution, and although we strive to achieve stability, sometimes it is essential to reconsider the usefulness of some of the fields exposed through our API. In such cases we'll mark a field as being deprecated. The deprecation process is the following:

  1. We mark the field as being deprecated

  2. A minimum of 1 year of maintenance of the feature is guaranteed from that point on

  3. The field will then be deleted in the next "breaking release"

Removal (Breaking releases)

In order to limit the amount of adaptations a client might have to implement in a given year, we batch every modification susceptible to introduce a break in backward compatibility into "breaking releases".

We have two such releases per year: the first Monday of October, and the first Monday of April.

Shortly after these dates we'll release new versions or our API that will remove the fields that have been deprecated for more than a year.

Github has developed with their own API