Microsoft Azure Spell Check Client

Microsoft Azure Spell Check Client is a powerful tool that helps users detect and correct spelling errors in their text. With advanced algorithms and machine learning capabilities, this client is able to accurately detect misspelled words and suggest corrections in real-time. Users can easily integrate this spell check client into their applications and services, ensuring that their content is free of embarrassing typos and mistakes.

OpenAPI Specification

spell-check-client-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure Spell Check Client
  description: >-
    The Spell Check API - V7 lets you check a text string for spelling and
    grammar errors.
  version: '1.0'
parameters:
  x-bingapis-sdk:
    name: X-BingApis-SDK
    description: Activate swagger compliance
    x-ms-parameter-location: method
    required: true
    type: string
    in: header
    x-ms-enum:
      name: XBingApisSDK
      modelAsString: true
    enum:
      - 'true'
x-ms-parameterized-host:
  hostTemplate: '{Endpoint}'
  useSchemePrefix: false
  parameters:
    - $ref: ../../../Common/Parameters.json#/parameters/GlobalEndpoint
host: api.cognitive.microsoft.com
basePath: /bing/v7.0
schemes:
  - https
produces:
  - application/json
securityDefinitions:
  apiKeyHeader:
    name: Ocp-Apim-Subscription-Key
    type: apiKey
    in: header
security:
  - apiKeyHeader: []
paths:
  /spellcheck:
    post:
      summary: >-
        Microsoft Azure The Bing Spell Check Api Lets You Perform Contextual Grammar And Spell Checking Bing Has Developed A Web Based Spell Checker That Leverages Machine Learning And Statistical Machine Translation To Dynamically Train A Constantly Evolving And Highly Contextual Algorithm The Spell Checker Is Based On A Massive Corpus Of Web Searches And Documents
      operationId: microsoftAzureSpellchecker
      tags:
        - SpellCheck
      consumes:
        - application/x-www-form-urlencoded
      parameters:
        - $ref: '#/parameters/x-bingapis-sdk'
        - name: Accept
          in: header
          description: >-
            The default media type is application/json. To specify that the
            response use [JSON-LD](http://json-ld.org/), set the Accept header
            to application/ld+json.
          required: false
          type: string
        - name: Accept-Language
          x-ms-client-name: AcceptLanguage
          in: header
          description: >-
            A comma-delimited list of one or more languages to use for user
            interface strings. The list is in decreasing order of preference.
            For additional information, including expected format, see
            [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
            This header and the setLang query parameter are mutually exclusive;
            do not specify both. If you set this header, you must also specify
            the cc query parameter. Bing will use the first supported language
            it finds from the list, and combine that language with the cc
            parameter value to determine the market to return results for. If
            the list does not include a supported language, Bing will find the
            closest language and market that supports the request, and may use
            an aggregated or default market for the results instead of a
            specified one. You should use this header and the cc query parameter
            only if you specify multiple languages; otherwise, you should use
            the mkt and setLang query parameters. A user interface string is a
            string that's used as a label in a user interface. There are very
            few user interface strings in the JSON response objects. Any links
            in the response objects to Bing.com properties will apply the
            specified language.
          required: false
          type: string
        - name: Pragma
          in: header
          description: >-
            By default, Bing returns cached content, if available. To prevent
            Bing from returning cached content, set the Pragma header to
            no-cache (for example, Pragma: no-cache).
          required: false
          type: string
        - name: User-Agent
          x-ms-client-name: UserAgent
          in: header
          description: >-
            The user agent originating the request. Bing uses the user agent to
            provide mobile users with an optimized experience. Although
            optional, you are strongly encouraged to always specify this header.
            The user-agent should be the same string that any commonly used
            browser would send. For information about user agents, see [RFC
            2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
          required: false
          type: string
        - name: X-MSEdge-ClientID
          x-ms-client-name: ClientId
          in: header
          description: >-
            Bing uses this header to provide users with consistent behavior
            across Bing API calls. Bing often flights new features and
            improvements, and it uses the client ID as a key for assigning
            traffic on different flights. If you do not use the same client ID
            for a user across multiple requests, then Bing may assign the user
            to multiple conflicting flights. Being assigned to multiple
            conflicting flights can lead to an inconsistent user experience. For
            example, if the second request has a different flight assignment
            than the first, the experience may be unexpected. Also, Bing can use
            the client ID to tailor web results to that client ID’s search
            history, providing a richer experience for the user. Bing also uses
            this header to help improve result rankings by analyzing the
            activity generated by a client ID. The relevance improvements help
            with better quality of results delivered by Bing APIs and in turn
            enables higher click-through rates for the API consumer. IMPORTANT:
            Although optional, you should consider this header required.
            Persisting the client ID across multiple requests for the same end
            user and device combination enables 1) the API consumer to receive a
            consistent user experience, and 2) higher click-through rates via
            better quality of results from the Bing APIs. Each user that uses
            your application on the device must have a unique, Bing generated
            client ID. If you do not include this header in the request, Bing
            generates an ID and returns it in the X-MSEdge-ClientID response
            header. The only time that you should NOT include this header in a
            request is the first time the user uses your app on that device. Use
            the client ID for each Bing API request that your app makes for this
            user on the device. Persist the client ID. To persist the ID in a
            browser app, use a persistent HTTP cookie to ensure the ID is used
            across all sessions. Do not use a session cookie. For other apps
            such as mobile apps, use the device's persistent storage to persist
            the ID. The next time the user uses your app on that device, get the
            client ID that you persisted. Bing responses may or may not include
            this header. If the response includes this header, capture the
            client ID and use it for all subsequent Bing requests for the user
            on that device. If you include the X-MSEdge-ClientID, you must not
            include cookies in the request.
          required: false
          type: string
        - name: X-MSEdge-ClientIP
          x-ms-client-name: ClientIp
          in: header
          description: >-
            The IPv4 or IPv6 address of the client device. The IP address is
            used to discover the user's location. Bing uses the location
            information to determine safe search behavior. Although optional,
            you are encouraged to always specify this header and the
            X-Search-Location header. Do not obfuscate the address (for example,
            by changing the last octet to 0). Obfuscating the address results in
            the location not being anywhere near the device's actual location,
            which may result in Bing serving erroneous results.
          required: false
          type: string
        - name: X-Search-Location
          x-ms-client-name: Location
          in: header
          description: >-
            A semicolon-delimited list of key/value pairs that describe the
            client's geographical location. Bing uses the location information
            to determine safe search behavior and to return relevant local
            content. Specify the key/value pair as <key>:<value>. The following
            are the keys that you use to specify the user's location. lat
            (required): The latitude of the client's location, in degrees. The
            latitude must be greater than or equal to -90.0 and less than or
            equal to +90.0. Negative values indicate southern latitudes and
            positive values indicate northern latitudes. long (required): The
            longitude of the client's location, in degrees. The longitude must
            be greater than or equal to -180.0 and less than or equal to +180.0.
            Negative values indicate western longitudes and positive values
            indicate eastern longitudes. re (required): The radius, in meters,
            which specifies the horizontal accuracy of the coordinates. Pass the
            value returned by the device's location service. Typical values
            might be 22m for GPS/Wi-Fi, 380m for cell tower triangulation, and
            18,000m for reverse IP lookup. ts (optional): The UTC UNIX timestamp
            of when the client was at the location. (The UNIX timestamp is the
            number of seconds since January 1, 1970.) head (optional): The
            client's relative heading or direction of travel. Specify the
            direction of travel as degrees from 0 through 360, counting
            clockwise relative to true north. Specify this key only if the sp
            key is nonzero. sp (optional): The horizontal velocity (speed), in
            meters per second, that the client device is traveling. alt
            (optional): The altitude of the client device, in meters. are
            (optional): The radius, in meters, that specifies the vertical
            accuracy of the coordinates. Specify this key only if you specify
            the alt key. Although many of the keys are optional, the more
            information that you provide, the more accurate the location results
            are. Although optional, you are encouraged to always specify the
            user's geographical location. Providing the location is especially
            important if the client's IP address does not accurately reflect the
            user's physical location (for example, if the client uses VPN). For
            optimal results, you should include this header and the  X-Search-ClientIP header, but at a minimum, you should include this
            header.
          required: false
          type: string
        - name: ActionType
          in: query
          description: >-
            A string that's used by logging to determine whether the request is
            coming from an interactive session or a page load. The following are
            the possible values. 1) Edit—The request is from an interactive
            session 2) Load—The request is from a page load
          required: false
          type: string
          enum:
            - Edit
            - Load
          x-ms-enum:
            name: ActionType
            modelAsString: true
        - name: AppName
          in: query
          description: >-
            The unique name of your app. The name must be known by Bing. Do not
            include this parameter unless you have previously contacted Bing to
            get a unique app name. To get a unique name, contact your Bing
            Business Development manager.
          required: false
          type: string
        - name: cc
          x-ms-client-name: CountryCode
          in: query
          description: >-
            A 2-character country code of the country where the results come
            from. This API supports only the United States market. If you
            specify this query parameter, it must be set to us. If you set this
            parameter, you must also specify the Accept-Language header. Bing
            uses the first supported language it finds from the languages list,
            and combine that language with the country code that you specify to
            determine the market to return results for. If the languages list
            does not include a supported language, Bing finds the closest
            language and market that supports the request, or it may use an
            aggregated or default market for the results instead of a specified
            one. You should use this query parameter and the Accept-Language
            query parameter only if you specify multiple languages; otherwise,
            you should use the mkt and setLang query parameters. This parameter
            and the mkt query parameter are mutually exclusive—do not specify
            both.
          required: false
          type: string
        - name: ClientMachineName
          in: query
          description: >-
            A unique name of the device that the request is being made from.
            Generate a unique value for each device (the value is unimportant).
            The service uses the ID to help debug issues and improve the quality
            of corrections.
          required: false
          type: string
        - name: DocId
          in: query
          description: >-
            A unique ID that identifies the document that the text belongs to.
            Generate a unique value for each document (the value is
            unimportant). The service uses the ID to help debug issues and
            improve the quality of corrections.
          required: false
          type: string
        - name: mkt
          x-ms-client-name: Market
          in: query
          description: >-
            The market where the results come from. You are strongly encouraged
            to always specify the market, if known. Specifying the market helps
            Bing route the request and return an appropriate and optimal
            response. This parameter and the cc query parameter are mutually
            exclusive—do not specify both.
          required: false
          type: string
        - name: SessionId
          in: query
          description: >-
            A unique ID that identifies this user session. Generate a unique
            value for each user session (the value is unimportant). The service
            uses the ID to help debug issues and improve the quality of
            corrections
          required: false
          type: string
        - name: SetLang
          in: query
          description: >-
            The language to use for user interface strings. Specify the language
            using the ISO 639-1 2-letter language code. For example, the
            language code for English is EN. The default is EN (English).
            Although optional, you should always specify the language.
            Typically, you set setLang to the same language specified by mkt
            unless the user wants the user interface strings displayed in a
            different language. This parameter and the Accept-Language header
            are mutually exclusive—do not specify both. A user interface string
            is a string that's used as a label in a user interface. There are
            few user interface strings in the JSON response objects. Also, any
            links to Bing.com properties in the response objects apply the
            specified language.
          required: false
          type: string
        - name: UserId
          in: query
          description: >-
            A unique ID that identifies the user. Generate a unique value for
            each user (the value is unimportant). The service uses the ID to
            help debug issues and improve the quality of corrections.
          required: false
          type: string
        - name: Mode
          in: query
          description: >-
            The type of spelling and grammar checks to perform. The following
            are the possible values (the values are case insensitive). The
            default is Proof. 1) Proof—Finds most spelling and grammar mistakes.
            2) Spell—Finds most spelling mistakes but does not find some of the
            grammar errors that Proof catches (for example, capitalization and
            repeated words)
          required: false
          type: string
          enum:
            - proof
            - spell
          x-ms-enum:
            name: Mode
            modelAsString: true
        - name: PreContextText
          in: query
          description: >-
            A string that gives context to the text string. For example, the
            text string petal is valid. However, if you set preContextText to
            bike, the context changes and the text string becomes not valid. In
            this case, the API suggests that you change petal to pedal (as in
            bike pedal). This text is not checked for grammar or spelling
            errors. The combined length of the text string, preContextText
            string, and postContextText string may not exceed 10,000 characters.
            You may specify this parameter in the query string of a GET request
            or in the body of a POST request.
          required: false
          type: string
        - name: PostContextText
          in: query
          description: >-
            A string that gives context to the text string. For example, the
            text string read is valid. However, if you set postContextText to
            carpet, the context changes and the text string becomes not valid.
            In this case, the API suggests that you change read to red (as in
            red carpet). This text is not checked for grammar or spelling
            errors. The combined length of the text string, preContextText
            string, and postContextText string may not exceed 10,000 characters.
            You may specify this parameter in the query string of a GET request
            or in the body of a POST request.
          required: false
          type: string
        - name: Text
          in: query
          description: >-
            The text string to check for spelling and grammar errors. The
            combined length of the text string, preContextText string, and
            postContextText string may not exceed 10,000 characters. You may
            specify this parameter in the query string of a GET request or in
            the body of a POST request. Because of the query string length
            limit, you'll typically use a POST request unless you're checking
            only short strings.
          required: true
          type: string
      responses:
        '200':
          description: Success.
          schema:
            $ref: '#/definitions/SpellCheck'
        default:
          description: >-
            An error has occurred. Check the response type and/or status code
            for more details.
          schema:
            $ref: '#/definitions/ErrorResponse'
      x-ms-examples:
        Successful query:
          $ref: ./examples/SuccessfulSpellModeRequest.json
        Successful Proof Mode query:
          $ref: ./examples/SuccessfulProofModeRequest.json
      description: Needs a more full description created.
definitions:
  SpellCheck:
    allOf:
      - $ref: '#/definitions/Answer'
    type: object
    required:
      - flaggedTokens
    properties:
      flaggedTokens:
        type: array
        items:
          $ref: '#/definitions/SpellingFlaggedToken'
  Answer:
    allOf:
      - $ref: '#/definitions/Response'
    type: object
    properties: {}
  SpellingFlaggedToken:
    x-ms-discriminator-value: Spelling/FlaggedToken
    type: object
    required:
      - offset
      - token
      - type
    properties:
      offset:
        type: integer
        format: int32
      token:
        type: string
      type:
        type: string
        default: UnknownToken
        enum:
          - UnknownToken
          - RepeatedToken
        x-ms-enum:
          name: ErrorType
          modelAsString: true
      suggestions:
        readOnly: true
        type: array
        items:
          $ref: '#/definitions/SpellingTokenSuggestion'
      pingUrlSuffix:
        readOnly: true
        type: string
  Response:
    description: >-
      Defines a response. All schemas that could be returned at the root of a
      response should inherit from this
    allOf:
      - $ref: '#/definitions/Identifiable'
    type: object
    properties: {}
  SpellingTokenSuggestion:
    x-ms-discriminator-value: Spelling/TokenSuggestion
    type: object
    required:
      - suggestion
    properties:
      suggestion:
        type: string
      score:
        readOnly: true
        type: number
        format: double
      pingUrlSuffix:
        readOnly: true
        type: string
  Identifiable:
    description: Defines the identity of a resource.
    allOf:
      - $ref: '#/definitions/ResponseBase'
    type: object
    properties:
      id:
        description: A String identifier.
        readOnly: true
        type: string
  ErrorResponse:
    description: The top-level response that represents a failed request.
    allOf:
      - $ref: '#/definitions/Response'
    type: object
    required:
      - errors
    properties:
      errors:
        description: A list of errors that describe the reasons why the request failed.
        type: array
        items:
          $ref: '#/definitions/Error'
  ResponseBase:
    discriminator: _type
    type: object
    required:
      - _type
    properties:
      _type:
        type: string
  Error:
    description: Defines the error that occurred.
    type: object
    required:
      - code
      - message
    properties:
      code:
        description: The error code that identifies the category of error.
        type: string
        default: None
        enum:
          - None
          - ServerError
          - InvalidRequest
          - RateLimitExceeded
          - InvalidAuthorization
          - InsufficientAuthorization
        x-ms-enum:
          name: ErrorCode
          modelAsString: true
      subCode:
        description: The error code that further helps to identify the error.
        readOnly: true
        type: string
        enum:
          - UnexpectedError
          - ResourceError
          - NotImplemented
          - ParameterMissing
          - ParameterInvalidValue
          - HttpNotAllowed
          - Blocked
          - AuthorizationMissing
          - AuthorizationRedundancy
          - AuthorizationDisabled
          - AuthorizationExpired
        x-ms-enum:
          name: ErrorSubCode
          modelAsString: true
      message:
        description: A description of the error.
        type: string
      moreDetails:
        description: A description that provides additional information about the error.
        readOnly: true
        type: string
      parameter:
        description: The parameter in the request that caused the error.
        readOnly: true
        type: string
      value:
        description: The parameter's value in the request that was not valid.
        readOnly: true
        type: string
tags:
  - name: SpellCheck