wordnik 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec-tm ADDED
@@ -0,0 +1,2 @@
1
+ --rspec-version 2.0.0
2
+ --bundler
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- wordnik (0.4.5)
4
+ wordnik (0.4.6)
5
5
  activemodel (>= 3.0.3)
6
6
  addressable (>= 2.2.4)
7
7
  htmlentities (>= 4.2.4)
@@ -26,14 +26,14 @@ GEM
26
26
  json (1.5.1)
27
27
  mime-types (1.16)
28
28
  nokogiri (1.4.4)
29
- rspec (2.4.0)
30
- rspec-core (~> 2.4.0)
31
- rspec-expectations (~> 2.4.0)
32
- rspec-mocks (~> 2.4.0)
33
- rspec-core (2.4.0)
34
- rspec-expectations (2.4.0)
29
+ rspec (2.5.0)
30
+ rspec-core (~> 2.5.0)
31
+ rspec-expectations (~> 2.5.0)
32
+ rspec-mocks (~> 2.5.0)
33
+ rspec-core (2.5.1)
34
+ rspec-expectations (2.5.0)
35
35
  diff-lcs (~> 1.1.2)
36
- rspec-mocks (2.4.0)
36
+ rspec-mocks (2.5.0)
37
37
  typhoeus (0.2.4)
38
38
  mime-types
39
39
  mime-types
@@ -46,7 +46,7 @@ PLATFORMS
46
46
  ruby
47
47
 
48
48
  DEPENDENCIES
49
- rspec (>= 2.4.0)
49
+ rspec (>= 2.5.0)
50
50
  vcr (>= 1.5.1)
51
51
  webmock (>= 1.6.2)
52
52
  wordnik!
data/README.md CHANGED
@@ -61,23 +61,21 @@ Put this somewhere in your app's initialization process:
61
61
  Usage
62
62
  -----
63
63
 
64
- # The simple version..
65
- examples = Wordnik.word.get_examples('monkey', :limit => 50, :part_of_speech => 'verb')
64
+ # The clean version..
66
65
  examples = Wordnik.word.get_examples('monkey', :limit => 50, :part_of_speech => 'verb')
67
66
 
68
67
  # ..and its low-level equivalent
69
68
  request = Wordnik::Request.new(:get, '/word/{word}/examples', :params => {:word => 'monkey', :limit => 50, :part_of_speech => 'verb'})
70
69
  examples = request.response.body
70
+
71
+ request1 = Wordnik.word_list.get_word_list_by_id('dog', :request_only => true)
71
72
 
72
- For a full list of convenience methods, checkout [USAGE.md](https://github.com/wordnik/wordnik-ruby/blob/master/USAGE.md). The wordnik gem automatically generates its convenience methods by parsing the [Wordnik API documentation](http://developer.wordnik.com/docs).
73
+ For a full list of methods, checkout [USAGE.md](https://github.com/wordnik/wordnik-ruby/blob/master/USAGE.md). The wordnik gem automatically generates its convenience methods by parsing the [Wordnik API documentation](http://developer.wordnik.com/docs).
73
74
 
74
75
  Specs
75
76
  -----
76
77
 
77
- The wordnik gem uses rspec 2. To run the test suite, you have to pass in your API
78
- key as an environment variable, like so:
79
-
80
- KEY=12345 rake spec
78
+ The wordnik gem uses rspec 2. To run the test suite, just type `rake` or `rake spec` in the gem's base directory.
81
79
 
82
80
  Contributing
83
81
  ------------
@@ -92,8 +90,8 @@ Contributing
92
90
  Wishlist
93
91
  --------
94
92
 
95
- * Allow boolean params to really party like booleans (instead of 'true')
96
- * Remove the now-antiquated method_missing approach
93
+ * Go Kart
94
+ * Helicopter
97
95
 
98
96
  Props
99
97
  -----
data/Rakefile CHANGED
@@ -9,11 +9,17 @@ RSpec::Core::RakeTask.new('spec')
9
9
  # If you want to make this the default task
10
10
  task :default => :spec
11
11
 
12
+ desc 'Download the latest API docs and build out resource methods'
13
+ task :build do
14
+ Rake::Task['fetch_api_docs'].execute
15
+ Rake::Task['write_resource_methods'].execute
16
+ # Rake::Task['generate_usage_docs'].invoke
17
+ end
12
18
 
13
19
  desc 'Download the API docs to disk'
14
20
  task :fetch_api_docs do
15
21
 
16
- Wordnik.configure
22
+ Wordnik.configure {|c| c.base_uri = 'beta.wordnik.com/v4' }
17
23
 
18
24
  Wordnik.resource_names.each do |resource_name|
19
25
 
@@ -29,7 +35,7 @@ task :fetch_api_docs do
29
35
 
30
36
  end
31
37
 
32
- desc 'Iterate over resource>endpoint>operation nicknames, generating markdown documentation.'
38
+ desc 'Iterate over resource > endpoint > operation nicknames, generating markdown documentation.'
33
39
  task :generate_usage_docs do
34
40
  Wordnik.configure
35
41
  filename = "USAGE.md"
@@ -50,12 +56,12 @@ task :generate_usage_docs do
50
56
 
51
57
  # Required kwargs
52
58
  operation.required_kwargs.each do |parameter|
53
- file.write " :#{parameter.name.underscore}* #{' ' * (29-parameter.name.underscore.size)} #{parameter.description}\n"
59
+ file.write " :#{parameter.name.to_s.underscore}* #{' ' * (29-parameter.name.to_s.underscore.size)} #{parameter.description}\n"
54
60
  end
55
61
 
56
62
  # Optional kwargs
57
63
  operation.optional_kwargs.each do |parameter|
58
- file.write " :#{parameter.name.underscore} #{' ' * (30-parameter.name.underscore.size)} #{parameter.description}\n"
64
+ file.write " :#{parameter.name.to_s.underscore} #{' ' * (30-parameter.name.to_s.underscore.size)} #{parameter.description}\n"
59
65
  end
60
66
  end
61
67
 
@@ -64,4 +70,83 @@ task :generate_usage_docs do
64
70
  end
65
71
 
66
72
  file.close
73
+ end
74
+
75
+
76
+ desc 'Iterate over each resource, generating a ruby module with operation methods for each.'
77
+ task :write_resource_methods do
78
+
79
+ # Remove old shit
80
+ system "rm lib/wordnik/resource_modules/*.rb"
81
+
82
+ Wordnik.configure
83
+ Wordnik.resources.each_pair do |resource_name, resource|
84
+
85
+ next unless resource.endpoints.present?
86
+
87
+ filename = "lib/wordnik/resource_modules/#{resource_name}.rb"
88
+ file = File.new(filename, "w")
89
+ lines = []
90
+
91
+ lines << "# HEY HACKER! THIS IS AN AUTO-GENERATED FILE."
92
+ lines << "# So don't bother editing it. To see how it's built, take a look at the Rakefile\n"
93
+
94
+ lines << "module #{resource_name.to_s.camelize}Methods\n"
95
+
96
+ resource.endpoints.each do |endpoint|
97
+ endpoint.operations.each do |operation|
98
+
99
+ next if operation.nickname.blank?
100
+
101
+ # Comment about the operation
102
+ lines << " # #{operation.summary}" if operation.summary.present?
103
+ lines << " # #{operation.notes}" if operation.notes.present?
104
+ lines << " #" if operation.summary.present?
105
+
106
+ # Start writing the method
107
+ lines << " def #{operation.nickname}(#{[operation.positional_parameter_names, '*args'].flatten.join(', ')})"
108
+
109
+ # HTTP Method
110
+ lines << " http_method = :#{operation.http_method}"
111
+
112
+ # Path
113
+ lines << " path = '#{endpoint.path.sub(".{format}", "")}'"
114
+ operation.positional_parameter_names.each do |param|
115
+ lines << " path.sub!('\{#{param}\}', #{param})\n"
116
+ end
117
+
118
+ lines << " # Ruby turns all key-value arguments at the end into a single hash"
119
+ lines << " # e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')"
120
+ lines << " # becomes {:limit => 10, :part_of_speech => 'verb'}"
121
+ lines << " last_arg = args.pop if args.last.is_a?(Hash)"
122
+ lines << " last_arg = args.pop if args.last.is_a?(Array)"
123
+ lines << " last_arg ||= {}\n"
124
+
125
+ lines << " # Look for a kwarg called :request_only, whose presence indicates"
126
+ lines << " # that we want the request itself back, not the response body"
127
+ lines << " if last_arg.is_a?(Hash) && last_arg[:request_only].present?"
128
+ lines << " request_only = true"
129
+ lines << " last_arg.delete(:request_only)"
130
+ lines << " end\n"
131
+
132
+ lines << " if [:post, :put].include?(http_method)"
133
+ lines << " params = nil"
134
+ lines << " body = last_arg"
135
+ lines << " else"
136
+ lines << " params = last_arg"
137
+ lines << " body = nil"
138
+ lines << " end\n"
139
+
140
+ lines << " request = Wordnik::Request.new(http_method, path, :params => params, :body => body)"
141
+ lines << " request_only ? request : request.response.body"
142
+ lines << " end\n"
143
+ end
144
+ end
145
+
146
+ lines << "end"
147
+ file.write lines.join("\n")
148
+ file.close
149
+
150
+ end
151
+
67
152
  end
data/USAGE.md CHANGED
@@ -2,30 +2,77 @@
2
2
  account
3
3
  =======
4
4
 
5
- [Wordnik.account.get_authenticate(username)](http://developer.wordnik.com/docs/#!/account/get_authenticate)
5
+ [Wordnik.account.authenticate(username)](http://developer.wordnik.com/docs/#!/account/authenticate)
6
6
  :password* The user's password
7
7
 
8
8
  [Wordnik.account.get_api_token_status()](http://developer.wordnik.com/docs/#!/account/get_api_token_status)
9
9
  :api_key* Wordnik authentication token
10
10
 
11
- [Wordnik.account.post_authenticate(username)](http://developer.wordnik.com/docs/#!/account/post_authenticate)
11
+ [Wordnik.account.get_username_available(username)](http://developer.wordnik.com/docs/#!/account/get_username_available)
12
+
13
+ [Wordnik.account.create_api_account()](http://developer.wordnik.com/docs/#!/account/create_api_account)
14
+ :api_key* API Key
15
+
16
+ [Wordnik.account.authenticate_post(username)](http://developer.wordnik.com/docs/#!/account/authenticate_post)
12
17
  :body* The user's password
13
18
 
14
- [Wordnik.account.get_user()](http://developer.wordnik.com/docs/#!/account/get_user)
19
+ [Wordnik.account.get_logged_in_user()](http://developer.wordnik.com/docs/#!/account/get_logged_in_user)
15
20
  :api_key* API Key
16
21
  :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
17
22
 
18
- [Wordnik.account.get_word_lists()](http://developer.wordnik.com/docs/#!/account/get_word_lists)
23
+ [Wordnik.account.get_word_lists_for_current_user()](http://developer.wordnik.com/docs/#!/account/get_word_lists_for_current_user)
19
24
  :api_key* API Key
20
25
  :auth_token* auth_token of logged-in user
21
26
  :skip Results to skip
22
27
  :limit Maximum number of results to return
23
28
 
24
29
 
30
+ system
31
+ ======
32
+
33
+ [Wordnik.system.get_word_by_id()](http://developer.wordnik.com/docs/#!/system/get_word_by_id)
34
+ :term Term to query
35
+ :object_type Object type
36
+ :exclude_edge_types Relationships to exclude
37
+ :include_edge_types Specifies the only relationship to include (note, this overrides the exclusions)
38
+ :start_constraints Edge start constraints to enforce
39
+ :end_constraints Edge end constraints to enforce
40
+ :max_hops Maximum number of to route
41
+ :max_results Maximum number of routes to return
42
+ :destination Destination to route to (VERY inefficient)
43
+ :use_graph_ml Return is GraphML format
44
+
45
+
46
+ user
47
+ ====
48
+
49
+ [Wordnik.user.get_word_of_the_day_by_date(username, date)](http://developer.wordnik.com/docs/#!/user/get_word_of_the_day_by_date)
50
+ :include_all Include WordOfTheDay items for future dates (owner-only)
51
+
52
+ [Wordnik.user.get_word_of_the_day_list(username)](http://developer.wordnik.com/docs/#!/user/get_word_of_the_day_list)
53
+ :include_all Include future words (owner-only)
54
+
55
+ [Wordnik.user.update_word_of_the_day_list(username)](http://developer.wordnik.com/docs/#!/user/update_word_of_the_day_list)
56
+ :body* Updated WordOfTheDayList data in the format specified by the URL
57
+
58
+ [Wordnik.user.create_word_of_the_day_list(username)](http://developer.wordnik.com/docs/#!/user/create_word_of_the_day_list)
59
+ :body* WordOfTheDayList to create, provided in the format specified by the URL
60
+
61
+ [Wordnik.user.update_item_in_word_of_the_day_list(username, permalink)](http://developer.wordnik.com/docs/#!/user/update_item_in_word_of_the_day_list)
62
+ :body* WordOfTheDay to add, in the format specified by the URL
63
+
64
+ [Wordnik.user.update_word_of_the_day_list(username, permalink)](http://developer.wordnik.com/docs/#!/user/update_word_of_the_day_list)
65
+
66
+ [Wordnik.user.delete_word_from_word_of_the_day_list(username, permalink, wordToDelete)](http://developer.wordnik.com/docs/#!/user/delete_word_from_word_of_the_day_list)
67
+
68
+ [Wordnik.user.add_word_to_word_of_the_day_list(username, permalink)](http://developer.wordnik.com/docs/#!/user/add_word_to_word_of_the_day_list)
69
+ :body* WordOfTheDay to add
70
+
71
+
25
72
  word
26
73
  ====
27
74
 
28
- [Wordnik.word.get(word)](http://developer.wordnik.com/docs/#!/word/get)
75
+ [Wordnik.word.get_word(word)](http://developer.wordnik.com/docs/#!/word/get_word)
29
76
  :use_canonical If true will try to return the correct word root ('cats' -> 'cat'). If false returns exactly what was requested.
30
77
  :include_suggestions Return suggestions (for correct spelling, case variants, etc.)
31
78
 
@@ -45,7 +92,7 @@ word
45
92
  :use_canonical If true will try to return the correct word root ('cats' -> 'cat'). If false returns exactly what was requested.
46
93
  :include_tags Return a closed set of XML tags in response
47
94
 
48
- [Wordnik.word.get_frequency(word)](http://developer.wordnik.com/docs/#!/word/get_frequency)
95
+ [Wordnik.word.get_word_frequency(word)](http://developer.wordnik.com/docs/#!/word/get_word_frequency)
49
96
  :use_canonical If true will try to return the correct word root ('cats' -> 'cat'). If false returns exactly what was requested.
50
97
  :start_year Starting Year
51
98
  :end_year Ending Year
@@ -54,7 +101,7 @@ word
54
101
  :content_provider Return results from a specific ContentProvider
55
102
  :use_canonical If true will try to return the correct word root ('cats' -> 'cat'). If false returns exactly what was requested.
56
103
 
57
- [Wordnik.word.get_related(word)](http://developer.wordnik.com/docs/#!/word/get_related)
104
+ [Wordnik.word.get_related_words(word)](http://developer.wordnik.com/docs/#!/word/get_related_words)
58
105
  :part_of_speech CSV list of part-of-speech types
59
106
  :source_dictionary Get data from a single dictionary. Valid options are ahd, century, wiktionary, webster, and wordnet.
60
107
  :limit Maximum number of results to return
@@ -71,16 +118,37 @@ word
71
118
  :source_dictionary Get from a single dictionary. Valid options: ahd, century, wiktionary, webster, and wordnet.
72
119
  :limit Maximum number of results to return
73
120
 
74
- [Wordnik.word.get_pronunciations(word)](http://developer.wordnik.com/docs/#!/word/get_pronunciations)
121
+ [Wordnik.word.get_text_pronunciations(word)](http://developer.wordnik.com/docs/#!/word/get_text_pronunciations)
75
122
  :use_canonical If true will try to return a correct word root ('cats' -> 'cat'). If false returns exactly what was requested.
76
123
  :source_dictionary Get from a single dictionary.
77
124
  :type_format Text pronunciation type
78
125
  :limit Maximum number of results to return
79
126
 
127
+ [Wordnik.word.get_word_forms(word)](http://developer.wordnik.com/docs/#!/word/get_word_forms)
128
+ :use_canonical If true will try to return a correct word root ('cats' -> 'cat'). If false returns exactly what was requested.
129
+
80
130
  [Wordnik.word.get_audio(word)](http://developer.wordnik.com/docs/#!/word/get_audio)
81
131
  :use_canonical Use the canonical form of the word.
82
132
  :limit Maximum number of results to return
83
133
 
134
+ [Wordnik.word.contextual_lookup(word)](http://developer.wordnik.com/docs/#!/word/contextual_lookup)
135
+ :sentence* The sentence in which the word occurs
136
+ :offset The start character offset of the word in the given sentence
137
+ :expand_terms Expand context terms using related words
138
+ :include_source_dictionaries Only include these comma-delimited source dictionaries
139
+ :exclude_source_dictionaries Exclude these comma-delimited source dictionaries
140
+ :skip Results to skip
141
+ :limit Maximum number of results to return
142
+
143
+ [Wordnik.word.contextual_lookup_post(word)](http://developer.wordnik.com/docs/#!/word/contextual_lookup_post)
144
+ :body* The sentence in which the word occurs
145
+ :offset The start character offset of the word in the given sentence
146
+ :expand_terms Expand context terms using related words
147
+ :include_source_dictionaries Only include these comma-delimited source dictionaries
148
+ :exclude_source_dictionaries Exclude these comma-delimited source dictionaries
149
+ :skip Results to skip
150
+ :limit Maximum number of results to return
151
+
84
152
 
85
153
  words
86
154
  =====
@@ -96,7 +164,7 @@ words
96
164
  :min_length Minimum word length
97
165
  :max_length Maximum word length
98
166
 
99
- [Wordnik.words.get_random()](http://developer.wordnik.com/docs/#!/words/get_random)
167
+ [Wordnik.words.get_random_words()](http://developer.wordnik.com/docs/#!/words/get_random_words)
100
168
  :has_dictionary_def Only return words with dictionary definitions
101
169
  :include_part_of_speech CSV part-of-speech values to include
102
170
  :exclude_part_of_speech CSV part-of-speech values to exclude
@@ -110,7 +178,7 @@ words
110
178
  :sort_order Sort direction
111
179
  :limit Maximum number of results to return (integer)
112
180
 
113
- [Wordnik.words.get_search()](http://developer.wordnik.com/docs/#!/words/get_search)
181
+ [Wordnik.words.search_words()](http://developer.wordnik.com/docs/#!/words/search_words)
114
182
  :query* Search term
115
183
  :case_sensitive Search case sensitive
116
184
  :include_part_of_speech Only include these comma-delimited parts of speech
@@ -124,53 +192,107 @@ words
124
192
  :skip Results to skip
125
193
  :limit Maximum number of results to return
126
194
 
127
- [Wordnik.words.get_word_of_the_day()](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day)
128
- :date Fetches by date in yyyy-MM-dd
129
- :category Filters response by category
130
- :creator Filters response by username
195
+ [Wordnik.words.get_word_of_the_day_lists_containing_word()](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day_lists_containing_word)
196
+ :item_count* Lists must have the specified number of items
197
+ :contains_word Lists must contain a specific word
198
+ :subscriber_count Lists must have the specified number of subscribers
199
+ :include_all Returns future WordOfTheDay items
131
200
 
132
- [Wordnik.words.get_search(query)](http://developer.wordnik.com/docs/#!/words/get_search)
133
- :case_sensitive Search case sensitive
201
+ [Wordnik.words.get_word_of_the_day_lists_for_date(date)](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day_lists_for_date)
202
+ :include_all Returns future WordOfTheDay items
203
+
204
+ [Wordnik.words.subscribe_to_list(permalink)](http://developer.wordnik.com/docs/#!/words/subscribe_to_list)
205
+ :auth_token* auth_token of logged-in user
206
+ :medium Medium to subscribe with
207
+ :body Username to subscribe
208
+
209
+ [Wordnik.words.search_definitions()](http://developer.wordnik.com/docs/#!/words/search_definitions)
210
+ :query* Search term
211
+ :defined_word_search_term Defined word search term
212
+ :include_source_dictionaries Only include these comma-delimited source dictionaries
213
+ :exclude_source_dictionaries Exclude these comma-delimited source dictionaries
134
214
  :include_part_of_speech Only include these comma-delimited parts of speech
135
215
  :exclude_part_of_speech Exclude these comma-delimited parts of speech
136
216
  :min_corpus_count Minimum corpus frequency for terms
137
217
  :max_corpus_count Maximum corpus frequency for terms
138
- :min_dictionary_count Minimum number of dictionary entries
139
- :max_dictionary_count Maximum dictionary count
140
218
  :min_length Minimum word length
141
219
  :max_length Maximum word length
220
+ :expand_terms Expand terms
221
+ :word_types Word types
222
+ :include_tags Return a closed set of XML tags in response
223
+ :sort_by Attribute to sort by
224
+ :sort_order Sort direction
225
+ :skip Results to skip
226
+ :limit Maximum number of results to return
227
+
228
+ [Wordnik.words.search_entries()](http://developer.wordnik.com/docs/#!/words/search_entries)
229
+ :query* Search term
230
+ :skip Results to skip
231
+ :limit Maximum number of results to return
232
+
233
+ [Wordnik.words.get_surface_forms()](http://developer.wordnik.com/docs/#!/words/get_surface_forms)
234
+ :term Word to get surface forms for.
235
+
236
+ [Wordnik.words.get_word_of_the_day()](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day)
237
+ :date Fetches by date in yyyy-MM-dd
238
+ :category Filters response by category
239
+ :creator Filters response by username
240
+
241
+ [Wordnik.words.get_word_of_the_day_range()](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day_range)
242
+ :category Filters response by category
243
+ :creator Filters response by username
244
+ :provider Filters response by ContentProvider
245
+ :skip Results to skip
246
+ :limit Maximum number of results to return
247
+
248
+ [Wordnik.words.get_word_of_the_day_list(permalink)](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day_list)
249
+ :include_all Returns future WordOfTheDay items
250
+
251
+ [Wordnik.words.get_word_of_the_day_list_item(permalink, specifier)](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day_list_item)
252
+
253
+ [Wordnik.words.get_recent_word_of_the_day_lists()](http://developer.wordnik.com/docs/#!/words/get_recent_word_of_the_day_lists)
142
254
  :skip Results to skip
143
255
  :limit Maximum number of results to return
144
256
 
257
+ [Wordnik.words.get_word_of_the_day_list_subscription_process_status()](http://developer.wordnik.com/docs/#!/words/get_word_of_the_day_list_subscription_process_status)
258
+ :date Date string to fetch for.
259
+
145
260
 
146
261
  word_list
147
262
  =========
148
263
 
149
- [Wordnik.word_list.get(word_list_id)](http://developer.wordnik.com/docs/#!/word_list/get)
150
-
151
- [Wordnik.word_list.post_delete_words(word_list_id)](http://developer.wordnik.com/docs/#!/word_list/post_delete_words)
152
- :body Words to remove from WordList
264
+ [Wordnik.word_list.get_word_list_by_id(wordListId)](http://developer.wordnik.com/docs/#!/word_list/get_word_list_by_id)
265
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
153
266
 
154
- [Wordnik.word_list.get_words(word_list_id)](http://developer.wordnik.com/docs/#!/word_list/get_words)
267
+ [Wordnik.word_list.get_word_list_words(wordListId)](http://developer.wordnik.com/docs/#!/word_list/get_word_list_words)
268
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
155
269
  :sort_by Field to sort by
156
270
  :sort_order Direction to sort
157
271
  :skip Results to skip
158
272
  :limit Maximum number of results to return
159
273
 
160
- [Wordnik.word_list.post_words(word_list_id)](http://developer.wordnik.com/docs/#!/word_list/post_words)
274
+ [Wordnik.word_list.add_words_to_word_list(wordListId)](http://developer.wordnik.com/docs/#!/word_list/add_words_to_word_list)
275
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
161
276
  :body Words to add to WordList
162
277
 
163
- [Wordnik.word_list.put(word_list_id)](http://developer.wordnik.com/docs/#!/word_list/put)
278
+ [Wordnik.word_list.update_word_list(wordListId)](http://developer.wordnik.com/docs/#!/word_list/update_word_list)
279
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
164
280
  :body Updated WordList
165
281
 
166
- [Wordnik.word_list.delete(word_list_id)](http://developer.wordnik.com/docs/#!/word_list/delete)
282
+ [Wordnik.word_list.delete_word_list(wordListId)](http://developer.wordnik.com/docs/#!/word_list/delete_word_list)
283
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
284
+
285
+ [Wordnik.word_list.delete_words_from_word_list(wordListId)](http://developer.wordnik.com/docs/#!/word_list/delete_words_from_word_list)
286
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
287
+ :body Words to remove from WordList
167
288
 
168
289
 
169
290
  word_lists
170
291
  ==========
171
292
 
172
- [Wordnik.word_lists.post()](http://developer.wordnik.com/docs/#!/word_lists/post)
173
- :body WordList to create
293
+ [Wordnik.word_lists.get_help()](http://developer.wordnik.com/docs/#!/word_lists/get_help)
174
294
 
175
- [Wordnik.word_lists.get()](http://developer.wordnik.com/docs/#!/word_lists/get)
295
+ [Wordnik.word_lists.create_word_list()](http://developer.wordnik.com/docs/#!/word_lists/create_word_list)
296
+ :auth_token* The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)
297
+ :body WordList to create
176
298
 
@@ -1 +1 @@
1
- {"endPoints":[{"path":"/account.{format}/authenticate/{username}","description":"","operations":[{"parameters":[{"name":"username","description":"A confirmed Wordnik username","required":true,"paramType":"path"},{"name":"password","description":"The user's password","required":true,"paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"AuthenticationToken","errorResponses":[{"reason":"Account not available.","code":403},{"reason":"User not found.","code":404}],"condition":"any"}],"summary":"Authenticates a User","open":false,"httpMethod":"GET"}]},{"path":"/account.{format}/apiTokenStatus","description":"","operations":[{"parameters":[{"name":"api_key","description":"Wordnik authentication token","required":true,"paramType":"header"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"ApiTokenStatus","errorResponses":[{"reason":"No token supplied.","code":400},{"reason":"No API account with supplied token.","code":404}],"condition":"any"}],"summary":"Returns usage statistics for the API account.","open":true,"httpMethod":"GET"}]},{"path":"/account.{format}/authenticate/{username}","description":"","operations":[{"parameters":[{"name":"username","description":"A confirmed Wordnik username","required":true,"paramType":"path"},{"description":"The user's password","required":true,"paramType":"body"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"AuthenticationToken","errorResponses":[{"reason":"Account not available.","code":403},{"reason":"User not found.","code":404}],"condition":"any"}],"summary":"Authenticates a user","open":false,"httpMethod":"POST"}]},{"path":"/account.{format}/user","description":"","operations":[{"parameters":[{"name":"api_key","description":"API Key","required":true,"paramType":"header"},{"name":"auth_token","description":"The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)","required":true,"paramType":"header"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"user","errorResponses":[{"reason":"Not logged in.","code":403},{"reason":"User not found.","code":404}],"condition":"any"}],"summary":"Returns the logged-in User","open":false,"notes":"Requires a valid auth_token to be set.","httpMethod":"GET"}]},{"path":"/account.{format}/wordLists","description":"","operations":[{"parameters":[{"name":"api_key","description":"API Key","required":true,"paramType":"header"},{"name":"auth_token","description":"auth_token of logged-in user","required":true,"paramType":"header"},{"name":"skip","description":"Results to skip","required":false,"paramType":"query"},{"name":"limit","description":"Maximum number of results to return","required":false,"paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"List[wordList]","errorResponses":[{"reason":"Not authenticated.","code":403},{"reason":"User account not found.","code":404}],"condition":"any"}],"summary":"Fetches WordList objects for the logged-in user.","open":false,"httpMethod":"GET"}]}],"models":[{"name":"wordList","fields":[{"name":"name","required":false,"paramType":"string"},{"name":"id","required":false,"paramType":"long"},{"name":"type","required":false,"paramType":"WordListType"},{"name":"description","required":false,"paramType":"string"},{"name":"userId","required":false,"paramType":"long"},{"name":"permalink","required":false,"paramType":"string"},{"name":"createdAt","required":false,"paramType":"Date"},{"name":"username","required":false,"paramType":"string"},{"name":"updatedAt","required":false,"paramType":"Date"},{"name":"numberWordsInList","required":false,"paramType":"long"}]},{"name":"ApiTokenStatus","fields":[{"name":"token","required":false,"paramType":"string"},{"name":"expiresInMillis","required":false,"paramType":"long"},{"name":"totalRequests","required":false,"paramType":"long"},{"name":"remainingCalls","required":false,"paramType":"long"},{"name":"resetsInMillis","required":false,"paramType":"long"}]},{"name":"AuthenticationToken","fields":[{"name":"token","required":false,"paramType":"string"},{"name":"userId","required":false,"paramType":"long"}]},{"name":"user","fields":[{"name":"id","description":"Unique idenitifier for a user","required":false,"paramType":"long"},{"name":"displayName","description":"Display name","required":false,"paramType":"string"},{"name":"status","description":"Account status","required":false,"allowableValues":"0,1,2,3","paramType":"int"},{"name":"password","required":false,"paramType":"string"},{"name":"userName","description":"User name","required":false,"paramType":"string"},{"name":"email","description":"Email address","required":false,"paramType":"string"},{"name":"faceBookId","description":"Facebook ID","required":false,"paramType":"string"}]}]}
1
+ {"endPoints":[{"path":"/account.{format}/authenticate/{username}","description":"","operations":[{"parameters":[{"name":"username","description":"A confirmed Wordnik username","required":true,"dataType":"string","paramType":"path"},{"name":"password","description":"The user's password","required":true,"dataType":"string","paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"AuthenticationToken","errorResponses":[{"reason":"Account not available.","code":403},{"reason":"User not found.","code":404}],"condition":"any"}],"category":"Authentication","summary":"Authenticates a User","suggestedName":"authenticate","deprecated":false,"open":false,"httpMethod":"GET"}]},{"path":"/account.{format}/apiTokenStatus","description":"","operations":[{"parameters":[{"name":"api_key","description":"Wordnik authentication token","required":true,"dataType":"string","paramType":"header"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"ApiTokenStatus","errorResponses":[{"reason":"No token supplied.","code":400},{"reason":"No API account with supplied token.","code":404}],"condition":"any"}],"category":"ApiAccount","summary":"Returns usage statistics for the API account.","suggestedName":"getApiTokenStatus","deprecated":false,"open":true,"httpMethod":"GET"}]},{"path":"/account.{format}/usernameAvailable/{username}","description":"","operations":[{"parameters":[{"name":"username","description":"Username","required":true,"dataType":"string","paramType":"path"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"ApiResponse","errorResponses":[{"reason":"Invalid username supplied.","code":400},{"reason":"No activation code available.","code":404}],"condition":"any"}],"category":"Activation","summary":"Returns an ApiResponse indicating whether or not a username is available","suggestedName":"getUsernameAvailable","deprecated":false,"open":false,"httpMethod":"GET"}]},{"path":"/account.{format}/regenerateApiToken","description":"","operations":[{"parameters":[{"name":"api_key","description":"API Key","required":true,"dataType":"string","paramType":"header"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"void","errorResponses":[{"reason":"Invalid token supplied.","code":400}],"condition":"any"}],"category":"ApiAccount","summary":"Regenerates an API Token. Currently not supported or tested.","suggestedName":"createApiAccount","deprecated":false,"open":false,"httpMethod":"GET"}]},{"path":"/account.{format}/authenticate/{username}","description":"","operations":[{"parameters":[{"name":"username","description":"A confirmed Wordnik username","required":true,"dataType":"string","paramType":"path"},{"description":"The user's password","required":true,"dataType":"string","paramType":"body"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"AuthenticationToken","errorResponses":[{"reason":"Account not available.","code":403},{"reason":"User not found.","code":404}],"condition":"any"}],"category":"Authentication","summary":"Authenticates a user","suggestedName":"authenticatePost","deprecated":false,"open":false,"httpMethod":"POST"}]},{"path":"/account.{format}/user","description":"","operations":[{"parameters":[{"name":"api_key","description":"API Key","required":true,"dataType":"string","paramType":"header"},{"name":"auth_token","description":"The auth token of the logged-in user, obtained by calling /account.{format}/authenticate/{username} (described above)","required":true,"dataType":"string","paramType":"header"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"user","errorResponses":[{"reason":"Not logged in.","code":403},{"reason":"User not found.","code":404}],"condition":"any"}],"category":"UserInfo","summary":"Returns the logged-in User","suggestedName":"getLoggedInUser","deprecated":false,"open":false,"notes":"Requires a valid auth_token to be set.","httpMethod":"GET"}]},{"path":"/account.{format}/wordLists","description":"","operations":[{"parameters":[{"name":"api_key","description":"API Key","required":true,"dataType":"string","paramType":"header"},{"name":"auth_token","description":"auth_token of logged-in user","required":true,"dataType":"string","paramType":"header"},{"name":"skip","description":"Results to skip","required":false,"dataType":"string","paramType":"query"},{"name":"limit","description":"Maximum number of results to return","required":false,"dataType":"string","paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"List[wordList]","errorResponses":[{"reason":"Not authenticated.","code":403},{"reason":"User account not found.","code":404}],"condition":"any"}],"category":"WordLists","summary":"Fetches WordList objects for the logged-in user.","suggestedName":"getWordListsForCurrentUser","deprecated":false,"open":false,"httpMethod":"GET"}]}],"models":[{"name":"ApiResponse","fields":[{"name":"message","required":false,"paramType":"string"},{"name":"type","required":false,"paramType":"string"}]},{"name":"wordList","fields":[{"name":"name","required":false,"paramType":"string"},{"name":"id","required":false,"paramType":"long"},{"name":"type","required":false,"paramType":"string"},{"name":"description","required":false,"paramType":"string"},{"name":"userId","required":false,"paramType":"long"},{"name":"permalink","required":false,"paramType":"string"},{"name":"createdAt","required":false,"paramType":"Date"},{"name":"username","required":false,"paramType":"string"},{"name":"updatedAt","required":false,"paramType":"Date"},{"name":"numberWordsInList","required":false,"paramType":"long"}]},{"name":"ApiTokenStatus","fields":[{"name":"token","required":false,"paramType":"string"},{"name":"expiresInMillis","required":false,"paramType":"long"},{"name":"totalRequests","required":false,"paramType":"long"},{"name":"remainingCalls","required":false,"paramType":"long"},{"name":"resetsInMillis","required":false,"paramType":"long"}]},{"name":"AuthenticationToken","fields":[{"name":"token","required":false,"paramType":"string"},{"name":"userId","required":false,"paramType":"long"}]},{"name":"user","fields":[{"name":"id","description":"Unique idenitifier for a user","required":false,"paramType":"long"},{"name":"displayName","description":"Display name","required":false,"paramType":"string"},{"name":"status","description":"Account status","required":false,"allowableValues":"0,1,2,3","paramType":"int"},{"name":"password","required":false,"paramType":"string"},{"name":"userName","description":"User name","required":false,"paramType":"string"},{"name":"email","description":"Email address","required":false,"paramType":"string"},{"name":"faceBookId","description":"Facebook ID","required":false,"paramType":"string"}]}]}
data/api_docs/system.json CHANGED
@@ -1 +1 @@
1
- {}
1
+ {"endPoints":[{"path":"/system.{format}/graph","description":"","operations":[{"parameters":[{"name":"term","description":"Term to query","required":false,"dataType":"string","paramType":"query"},{"name":"objectType","description":"Object type","required":false,"dataType":"string","allowableValues":"word","paramType":"query"},{"name":"excludeEdgeTypes","description":"Relationships to exclude","required":false,"dataType":"string","paramType":"query"},{"name":"includeEdgeTypes","description":"Specifies the only relationship to include (note, this overrides the exclusions)","required":false,"dataType":"string","paramType":"query"},{"name":"startConstraints","description":"Edge start constraints to enforce","required":false,"dataType":"string","paramType":"query"},{"name":"endConstraints","description":"Edge end constraints to enforce","required":false,"dataType":"string","paramType":"query"},{"name":"maxHops","defaultValue":"2","description":"Maximum number of to route","required":false,"dataType":"string","paramType":"query"},{"name":"maxResults","defaultValue":"2","description":"Maximum number of routes to return","required":false,"dataType":"string","paramType":"query"},{"name":"destination","description":"Destination to route to (VERY inefficient)","required":false,"dataType":"string","paramType":"query"},{"name":"useGraphML","description":"Return is GraphML format","required":false,"dataType":"string","paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"graph","errorResponses":[{"reason":"Invalid query.","code":400},{"reason":"No data found.","code":404}],"condition":"any"}],"category":"Graph","summary":"Returns a graph response for the supplied terms","suggestedName":"getWordById","deprecated":false,"open":false,"httpMethod":"GET"}]}],"models":[{"name":"element","fields":[{"name":"id","required":true,"paramType":"string"},{"name":"weight","required":false,"paramType":"float"},{"name":"type","required":false,"paramType":"string"}]},{"name":"graph","fields":[{"name":"elements","required":false,"paramType":"List[element]"}]}]}
data/api_docs/user.json CHANGED
@@ -1 +1 @@
1
- {}
1
+ {"endPoints":[{"path":"/user.{format}/{username}/wordOfTheDay/{date}","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDay owner","required":true,"dataType":"string","paramType":"path"},{"name":"date","description":"Date of the WordOfTheDay to retrieve (yyyy-MM-dd) format","required":true,"dataType":"string","paramType":"path"},{"name":"includeAll","description":"Include WordOfTheDay items for future dates (owner-only)","required":false,"dataType":"string","paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"WordOfTheDay","errorResponses":[{"reason":"Invalid username or dateString supplied","code":400},{"reason":"User not found or no list available","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Returns the WordOfTheDay for a given user on a given date","suggestedName":"getWordOfTheDayByDate","deprecated":false,"open":false,"httpMethod":"GET"}]},{"path":"/user.{format}/{username}/wordOfTheDayList","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"name":"includeAll","description":"Include future words (owner-only)","required":false,"dataType":"string","paramType":"query"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"wordOfTheDayList","errorResponses":[{"reason":"Invalid username supplied","code":400},{"reason":"No WordOfTheDayList available","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Returns a user's WordOfTheDayList","suggestedName":"getWordOfTheDayList","deprecated":false,"open":false,"httpMethod":"GET"}]},{"path":"/user.{format}/{username}/wordOfTheDayList","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"description":"Updated WordOfTheDayList data in the format specified by the URL","required":true,"dataType":"wordOfTheDayList","paramType":"body"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"void","errorResponses":[{"reason":"Invalid username supplied","code":400},{"reason":"Not authorized to perform update","code":403},{"reason":"No WordOfTheDayList available","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Updates a user's WordOfTheDayList","suggestedName":"updateWordOfTheDayList","deprecated":false,"open":false,"httpMethod":"PUT"}]},{"path":"/user.{format}/{username}/wordOfTheDayList","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"description":"WordOfTheDayList to create, provided in the format specified by the URL","required":true,"dataType":"wordOfTheDayList","paramType":"body"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"wordOfTheDayList","errorResponses":[{"reason":"User already has a list or list is invalid","code":400},{"reason":"User not found","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Creates a WordOfTheDayList","suggestedName":"createWordOfTheDayList","deprecated":false,"open":false,"notes":"A user can have only one WordOfTheDayList.","httpMethod":"POST"}]},{"path":"/user.{format}/{username}/wordOfTheDayList/{permalink}","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"name":"permalink","description":"Permalink of the WordOfTheDayList to add the WordOfTheDay to","required":true,"dataType":"string","paramType":"path"},{"description":"WordOfTheDay to add, in the format specified by the URL","required":true,"dataType":"WordOfTheDay","paramType":"body"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"void","errorResponses":[{"reason":"WordOfTheDay already scheduled on this date","code":400},{"reason":"Not authorized to perform modification","code":403},{"reason":"No WordOfTheDayList available to add to","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Adds a WordOfTheDay to a user's WordOfTheDayList","suggestedName":"updateItemInWordOfTheDayList","deprecated":false,"open":false,"httpMethod":"PUT"}]},{"path":"/user.{format}/{username}/wordOfTheDayList/{permalink}","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"name":"permalink","description":"Permalink of WordOfTheDayList to delete","required":true,"dataType":"string","paramType":"path"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"void","errorResponses":[{"reason":"Invalid username supplied","code":400},{"reason":"Not authorized to perform update","code":403},{"reason":"No WordOfTheDayList available","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Deletes a user's WordOfTheDayList","suggestedName":"updateWordOfTheDayList","deprecated":false,"open":false,"httpMethod":"DELETE"}]},{"path":"/user.{format}/{username}/wordOfTheDayList/{permalink}/{wordToDelete}","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"name":"permalink","description":"Permalink of WordOfTheDayList to delete a word from","required":true,"dataType":"string","paramType":"path"},{"name":"wordToDelete","description":"Word to delete","required":true,"dataType":"string","paramType":"path"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"void","errorResponses":[{"reason":"WordOfTheDay already scheduled on this date","code":400},{"reason":"Not authorized to perform modification","code":403},{"reason":"No WordOfTheDayList available to add to","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Deletes a specific word from a user's WordOfTheDayList","suggestedName":"deleteWordFromWordOfTheDayList","deprecated":false,"open":false,"httpMethod":"DELETE"}]},{"path":"/user.{format}/{username}/wordOfTheDayList/{permalink}/add","description":"","operations":[{"parameters":[{"name":"username","description":"Username of the WordOfTheDayList owner","required":true,"dataType":"string","paramType":"path"},{"name":"permalink","description":"WordOfTheDayList to modify","required":true,"dataType":"string","paramType":"path"},{"description":"WordOfTheDay to add","required":true,"dataType":"WordOfTheDay","paramType":"body"},{"name":"format","defaultValue":"json","description":"API response format","required":true,"allowableValues":"json,xml","paramType":"path"}],"response":[{"valueType":"void","errorResponses":[{"reason":"WordOfTheDay already scheduled on this date","code":400},{"reason":"Not authorized to perform modification","code":403},{"reason":"No WordOfTheDayList available to add to","code":404}],"condition":"any"}],"category":"WordOfTheDayList","summary":"Adds an item to a user's WordOfTheDayList","suggestedName":"addWordToWordOfTheDayList","deprecated":false,"open":false,"httpMethod":"PUT"}]}],"models":[{"name":"partOfSpeech","fields":[{"name":"roots","required":false,"paramType":"List[root]"}]},{"name":"contentProvider","fields":[{"name":"name","required":false,"paramType":"string"},{"name":"id","required":false,"paramType":"int"}]},{"name":"WordOfTheDay","fields":[{"name":"id","required":true,"paramType":"long"},{"name":"category","required":false,"paramType":"string"},{"name":"example","required":false,"wrapperName":"examples","paramType":"List[SimpleExample]"},{"name":"createdBy","required":false,"paramType":"string"},{"name":"word","required":false,"paramType":"string"},{"name":"definition","required":false,"wrapperName":"definitions","paramType":"List[SimpleDefinition]"},{"name":"contentProvider","required":false,"paramType":"contentProvider"},{"name":"createdAt","required":false,"paramType":"Date"},{"name":"publishDate","required":false,"paramType":"Date"},{"name":"parentId","required":false,"paramType":"string"},{"name":"note","required":false,"paramType":"string"},{"name":"htmlExtra","required":false,"paramType":"string"}]},{"name":"SubscriptionStatus","fields":[{"name":"name","required":false,"paramType":"string"},{"name":"id","required":false,"paramType":"int"}]},{"name":"SimpleDefinition","fields":[{"name":"text","required":false,"paramType":"string"},{"name":"partOfSpeech","required":false,"paramType":"string"},{"name":"note","required":false,"paramType":"string"},{"name":"source","required":false,"paramType":"string"}]},{"name":"wordOfTheDayList","fields":[{"name":"name","required":false,"paramType":"string"},{"name":"id","required":true,"paramType":"string"},{"name":"description","required":false,"paramType":"string"},{"name":"category","required":false,"paramType":"string"},{"name":"createdBy","required":false,"paramType":"string"},{"name":"items","required":false,"paramType":"List[WordOfTheDay]"},{"name":"subscriberCount","required":false,"paramType":"int"},{"name":"subscriptionStatus","required":false,"paramType":"string"},{"name":"createdAt","required":false,"paramType":"Date"},{"name":"commentCount","required":false,"paramType":"int"},{"name":"voteCount","required":false,"paramType":"integer"},{"name":"voteAverage","required":false,"paramType":"float"},{"name":"voteWeightedAverage","required":false,"paramType":"float"},{"name":"itemCount","required":false,"paramType":"int"},{"name":"firstItemDate","required":false,"paramType":"Date"},{"name":"lastItemDate","required":false,"paramType":"Date"},{"name":"subscriptionSchedule","required":false,"paramType":"string"},{"name":"subscriptionNamespace","required":false,"paramType":"string"},{"name":"subscriptionIdentifier","required":false,"paramType":"string"}]},{"name":"SimpleExample","fields":[{"name":"url","required":false,"paramType":"string"},{"name":"text","required":false,"paramType":"string"},{"name":"title","required":false,"paramType":"string"},{"name":"id","required":false,"paramType":"long"}]}]}