Ice Blue Digital

API

ICBLD API

Access Key

To use the API, sign up for an account to get an access key.

Include the key as basic authentication in each request, i.e. add a "Authorization" header to each request.

The header should look like: Authorization: Basic {your-access-key-here}

Services


Account


[GET] https://www.icbld.com/api/account/credit

Gets the current number of API credits remaining

Result

  • number (Count of remaining credits)

Jobs


[GET] https://www.icbld.com/api/job

Gets all lodged jobs.

Result

[GET] https://www.icbld.com/api/job/{id}/status

Parameters

Result

  • "not found" Job was not found
  • "not started" Job is scheduled for processing
  • "in progress" Job processing has started
  • "complete" Processing complete

[DELETE] https://www.icbld.com/api/job/{id}

Deletes a job.

Parameters


Tokenisation


[POST] https://www.icbld.com/api/job/tokenise

Creates a new tokenise job.

Parameters

  • {posted content} utf-8 encoded string (The text to tokenise)

Result

[GET] https://www.icbld.com/api/job/tokenise/{id}

Gets the tokenisation output.

Parameters

Result


Parts of Speech


[POST] https://www.icbld.com/api/job/pos

Creates a new parts of speech job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/pos/{id}

Gets the parts of speech output.

Parameters

Result


Semantic Analysis


[POST] https://www.icbld.com/api/job/semantic

Creates a new semantic analysis job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/semantic/{id}

Gets the semantic analysis output.

Parameters

Result


Syntax Analysis


[POST] https://www.icbld.com/api/job/syntax

Creates a new syntax analysis job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/syntax/{id}

Gets the syntax analysis output.

Parameters

Result


Sentiment Analysis


[POST] https://www.icbld.com/api/job/sentiment

Creates a new sentiment analysis job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/sentiment/{id}

Gets the sentiment analysis output.

Parameters

Result


Topic Detection


[POST] https://www.icbld.com/api/job/topicdetection

Creates a new topic detection job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/topicdetection/{id}

Gets the output from the topic detection analysis.

Parameters

Result


WordNet


[GET] https://www.icbld.com/api/wordnet/search?q={query}

Search WordNet for the given query.

Parameters

  • query string (Search Term)

Result

[GET] https://www.icbld.com/api/wordnet/get/{sid}

Gets a WordNet sense index.

Parameters

Result

[GET] https://www.icbld.com/api/wordnet/expanded/{sid}

Gets an expanded WordNet sense index.

Parameters

Result


Word Embeddings


[POST] https://www.icbld.com/api/job/embedding

Creates a new word embedding job.

Parameters

  • {posted content} utf-8 encoded string (The text to construct an embedding space)

Result

[GET] https://www.icbld.com/api/job/embedding/{id}

Gets the word embedding output.

Parameters

Result


Topics


[GET] https://www.icbld.com/api/topic?q={query}

Search for a topic. If the topic is not found near matches are returned.

Parameters

  • query string

Result

[GET] https://www.icbld.com/api/topic/{id}

Returns information about a topic.

Parameters

Result

[GET] https://www.icbld.com/api/topic/sense/{sid}

Returns the topics associated with the given sense index.

Parameters

Result

[GET] https://www.icbld.com/api/topic/category?c={category}

Returns the topics associated with the given category.

Parameters

  • category string (The category name)

Result


Enums

JobType

The type of job

const enum JobType {
    tokenise                       = 0,                   // Tokenisation
    wordEmbedding                  = 1,                   // Word embedding
    partsOfSpeech                  = 2,                   // Parts of speech
    syntaxAnalysis                 = 3,                   // Syntax analysis
    sentimentAnalysis              = 4,                   // Sentiment analysis
    topicDetection                 = 5,                   // Topic detection
    semanticAnalysis               = 6,                   // Semantic analysis
}

PartOfSpeech

Part of speech tag

const enum PartOfSpeech {
    unknown                        = 0,                   // Not known
    word                           = 1,                   // A word
    punctuation                    = 2,                   // A punctuation character
    number                         = 3,                   // A number
    name                           = 4,                   // A given name
    interjection                   = 5,                   // Uh, huh etc
    symbol                         = 6,                   // A symbol
    article                        = 7,                   // An article (the, a, etc)
    conjunction                    = 8,                   // A conjunction(and, or, etc)
    preposition                    = 9,                   // A preposition (for, to, etc)
    pronoun                        = 10,                  // A pronoun (he, she, etc)
    noun                           = 11,                  // A noun
    verb                           = 12,                  // A verb
    adjective                      = 13,                  // An adjective
    adverb                         = 14,                  // An adverb
    possessiveNoun                 = 15,                  // A possessive noun (the dog's, a rabbit's, etc)
    possessivePronoun              = 16,                  // A posssessive pronoun (her, his, etc)
    possessiveName                 = 17,                  // A possessive name (John's, Julia's, etc)
    possessiveMarker               = 18,                  // A possessive marker (')
    max                            = 19,                  // Maximum value for POS
}

PointerType

WordNet sense pointer type

const enum PointerType {
    unknown                        = 0,                   // Not known
    antonym                        = 1,                   // Antonym
    hypernym                       = 2,                   // A more generic term
    instanceHypernym               = 3,                   // A specific instance of a more generic term
    memberHolonym                  = 4,                   // Holonym ("a part of") by member
    substanceHolonym               = 5,                   // Holonym ("a part of") by substance
    partHolonym                    = 6,                   // Holonym ("a part of")
    memberMeronym                  = 7,                   // Meronym ("is a part of") by member
    substanceMeronym               = 8,                   // Meronym ("is a part of") by substance
    partMeronym                    = 9,                   // Meronym ("is a part of")
    attribute                      = 10,                  // A noun for which adjectives express values. The noun weight is an attribute, for which the adjectives light and heavy express values.
    derivationallyRelatedForm      = 11,                  // Terms in different syntactic categories that have the same root form and are semantically related.
    domainOfSynset_category        = 12,                  // Related by category
    domainOfSynset_region          = 13,                  // Related by region
    domainOfSynset_usage           = 14,                  // Related by usage
    memberOfDomain_category        = 15,                  // Related by category
    memberOfDomain_region          = 16,                  // Related by region
    memberOfDomain_usage           = 17,                  // Related by usage
    entailment                     = 18,                  // A verb X entails Y if X cannot be done unless Y is, or has been, done.
    cause                          = 19,                  // Verb causation
    alsoSee                        = 20,                  // Also see
    verbGroup                      = 21,                  // Verb group
    similiarTo                     = 22,                  // Similiar to
    participleOfVerb               = 23,                  // Participle Of Verb
    relatedTo                      = 24,                  // Hyponym - a "type of" relationship
    instanceRelatedTo              = 25,                  // Hyponym ("type of") relationship based on a specific instance
    derivedFromAdjective           = 26,                  // Derived from adjective
    pertainym                      = 27,                  // A relational adjective. Adjectives that are pertainyms are usually defined by such phrases as "of or pertaining to" and do not have antonyms. A pertainym can point to a noun or another pertainym.
    max                            = 28,                  // Maximum index
}

TokenType

The type of a token

const enum TokenType {
    none                           = 0,                   // Nothing special
    url                            = 1,                   // A url
    email                          = 2,                   // An email address
    date                           = 3,                   // A date
    time                           = 4,                   // A time
    currency                       = 5,                   // A currency symbol
    number                         = 6,                   // A number
    punctuation                    = 7,                   // Punctuation characters
    numericPhrase                  = 8,                   // A numeric phrase
    weight                         = 9,                   // A weight (e.g. 5kgs)
    length                         = 10,                  // A length (e.g. 2km)
    temperature                    = 11,                  // A temperature (e.g. 5c)
    speed                          = 12,                  // A speed (e.g. 100kmh)
    volume                         = 13,                  // A volume
    area                           = 14,                  // An area
    person                         = 15,                  // A person
    malePerson                     = 16,                  // A male person
    femalePerson                   = 17,                  // A female person
    group                          = 18,                  // An organisation or group
    location                       = 19,                  // A location
    noun                           = 20,                  // A noun
    nounPhrase                     = 21,                  // A noun phrase
    prepositionPhrase              = 22,                  // A preposition phrase
    subject                        = 23,                  // A verb phrase subject
    object                         = 24,                  // A verb phrase object
    verb                           = 25,                  // A verb
    presentSimple                  = 26,                  // A present tense verb phrase
    presentContinuous              = 27,                  // A present continuous tense verb phrase
    presentPerfect                 = 28,                  // A present perfect tense verb phrase
    presentPerfectContinuous       = 29,                  // A present perfect continuous tense verb phrase
    pastSimple                     = 30,                  // A past tense verb phrase
    pastContinuous                 = 31,                  // A past continuous tense verb phrase
    pastPerfect                    = 32,                  // A past perfect tense verb phrase
    pastPerfectContinuous          = 33,                  // A past perfect continuous tense verb phrase
    futureSimple                   = 34,                  // A future tense verb phrase
    futureContinuous               = 35,                  // A future continuous tense verb phrase
    futurePerfect                  = 36,                  // A future perfect tense verb phrase
    futurePerfectContinuous        = 37,                  // A future perfect continuous tense verb phrase
    futureInPast                   = 38,                  // A future in past tense verb phrase
    usedTo                         = 39,                  // A "used to" verb phrase
    wouldAlways                    = 40,                  // A "would always" verb phrase
    infinitive                     = 41,                  // Infinitive verb phrase
}

WordnetPartOfSpeech

Part of speech for WordNet sense indices

const enum WordnetPartOfSpeech {
    unknown                        = 0,                   // Not knowne
    noun                           = 1,                   // Noun
    verb                           = 2,                   // Verb
    adjective                      = 3,                   // Adjective
    adjectiveSatellite             = 4,                   // Adjective satellite. See https://wordnet.princeton.edu/wordnet/man/wngloss.7WN.html
    adverb                         = 5,                   // Adverb
    punctuation                    = 6,                   // Punctuation
}

Interfaces

ExpandedSenseIndex

A sense index whose sense pointers have been expanded to include the sense indices they refer to

interface ExpandedSenseIndex extends SenseIndex {
	expandedPointer:               ExpandedSensePointer[],// List of expanded sense pointers
}

ExpandedSensePointer

A sense pointer that has been expanded to include the sense index it points to

interface ExpandedSensePointer extends SenseIndex {
	type:                          PointerType,         // Pointer type
	source:                        number,              // Source word index (0 for all words)
	target:                        number,              // Target word index (0 for all words)
}

GlossWord

A word within a sense index's definition

interface GlossWord {
	text:                          string,              // Word text
	pos:                           PartOfSpeech,        // Part of speech
	semanticIndex?:                number,              // (Optional) sense index id
	hasLeadingSpace:               boolean,             // True if the word has a leading space
}

JobInfo

Information about a lodged job

interface JobInfo {
	id:                            number,              // Job id
	type:                          JobType,             // Job type
	status:                        string,              // Job completion status
	date:                          Date,                // Job lodgement date
	hasCompleted:                  boolean,             // True if the job has completed
	inputSize:                     number,              // Size in characters of the job input
	outputSize:                    number,              // Size in bytes of the job's output
	cost:                          number,              // Cost in credits to execute the job
}

RankedWord

A ranked word

interface RankedWord {
	word:                          string,              // The word text
	score:                         number,              // The word's score
}

SenseIndex

WordNet sense index

interface SenseIndex {
	partOfSpeech:                  WordnetPartOfSpeech, // Part of speech
	name:                          string[],            // List of words in the sense index's name
	classification:                string[],            // List of words that specify the sense index domain (optional)
	definition:                    GlossWord[],         // List of words in the definition
	example:                       string[],            // List of example sentences (optional)
	pointer:                       SensePointer[],      // List of pointers to related sense indices
	verbFrame:                     VerbFrame[],         // List of verb frames (optional)
	uniqueId:                      string,              // Unique id
	id:                            number,              // Sense index id
}

SensePointer

Pointer to a sense index

interface SensePointer {
	id:                            number,              // Sense index id
	type:                          PointerType,         // Type of pointer
	source:                        number,              // Source word index (0 for all words)
	target:                        number,              // Target word index (0 for all words)
}

Sentence

Parsed sentence

interface Sentence {
	words:                         Word[],              // List of words
}

SimpleToken

Simple tokenisation token

interface SimpleToken {
	type:                          TokenType,           // Token type
	text:                          string,              // Token text
	lemma:                         string,              // Token lemma (optional)
}

Token

A recursive token within a parse tree

interface Token {
	type:                          TokenType,           // Token type
	pos:                           PartOfSpeech,        // Token part of speech
	text:                          string,              // Token text
	lemma:                         string,              // Base form of word (optional)
	offset:                        number,              // Equivalent to an ordered id - the offset of the token within the text
	isCapitalised:                 boolean,             // True if the token is capitalised
	isPlural:                      boolean,             // True if the token is a plural noun
	isPassive:                     boolean,             // True if the token is a passive verb
	isQuestion:                    boolean,             // True if the token is a question
	topicId?:                      number,              // Topic id (if any) associated with the token
	children:                      Token[],             // List of the token's children (optional)
	senseIndex:                    number[],            // List of possible WordNet sense indices (if any)
	referent:                      number[],            // List of referents, indexed by token offset (optional)
}

TopicDetectionResults

Topic detection results

interface TopicDetectionResults {
	category:                      string[],            // List of ranked likely topic domains
	topic:                         TopicInfo[],         // List of topics found in the text
}

TopicInfo

Topic information

interface TopicInfo {
	topicId:                       number,              // Topic id
	title:                         string,              // Name of the topic
	sense:                         number[],            // Related sense indices
	category:                      string[],            // List of the topic's categories
}

VerbFrame

A verb frame

interface VerbFrame {
	index:                         number,              // Verb frame index. See https://wordnet.princeton.edu/man/wninput.5WN.html#toc4
	wordIndex:                     number,              // Word index that the frame refers to (0 for all words)
}

Word

A parsed word

interface Word {
	text:                          string,              // Word text
	lemma:                         string,              // Base form of word (optional)
	pos:                           PartOfSpeech,        // Word part of speech
	sentimentStrength:             number,              // The strength of sentiment - from 0 (low) to 1 (high)
	sentimentPolarity:             number,              // The type of sentiment expressed - from 0 (negative) to 1 (positive)
}

WordEmbeddingResults

Results from executing a word embedding query

interface WordEmbeddingResults {
	word:                          RankedWord[],        // List of related words
	vector:                        number[],            // Word embedding vector
}

WordnetSearchResults

WordNet search results

interface WordnetSearchResults {
	suggestion:                    string[],            // List of suggested words if nothing was found
	sense:                         SenseIndex[],        // List of matching sense indices
}