{"info":{"_postman_id":"e192d063-7921-4e7e-9916-fa5d35d71d9b","name":"WordWorks Vercel API","description":"<html><head></head><body><p>The WordWorks API is currently deployed on Vercel and provides several API endpoints for word retrieval, info, natural language processing, and more.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"36348829","collectionId":"e192d063-7921-4e7e-9916-fa5d35d71d9b","publishedId":"2sA3kSoNjY","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-07-18T19:27:34.000Z"},"item":[{"name":"NLP","item":[{"name":"Emotion Classification","event":[{"listen":"test","script":{"id":"94af3a2f-a77c-4de6-8e7f-e72c3649ca62","exec":["pm.test('Response status code is 200', function () {","    pm.response.to.have.status(200);","})","","pm.test('Response should have content type of application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","})","","pm.test('Emotions array is present in the response', function () {","    const responseData = pm.response.json();","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.emotions).to.exist.and.to.be.an('array');","})","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Label</th>","        <th>Score</th>","    </tr>","    ","    {{#each response.emotions}}","        {{#each this}}","            <tr>","                <td>{{label}}</td>","                <td>{{score}}</td>","            </tr>","        {{/each}}","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"2213bb59-14c5-4e78-be58-74c349cedfcd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/nlp/emotion?text=string","description":"<p>This endpoint retrieves the emotions associated with the provided text. The request should include a query parameter \"text\" with the value being the input text for which emotions are to be analyzed.</p>\n<p>It makes use of the Huggingface Inference API to access the model at the space here:</p>\n<p><a href=\"https://huggingface.co/spaces/Best-codes/SamLowe-roberta-base-go_emotions\">https://huggingface.co/spaces/Best-codes/SamLowe-roberta-base-go_emotions</a></p>\n<h3 id=\"request-type\">Request Type</h3>\n<ul>\n<li><p>HTTP GET Requests are supported</p>\n</li>\n<li><p>HTTP POST Requests are supported</p>\n</li>\n</ul>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>text</code> (string): The input text for which emotions are to be analyzed.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>Upon successful execution, the server responds with a status code of 200 and a JSON object in the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"emotions\": [\n        {\n            \"label\": \"\",\n            \"score\": 0\n        }\n    ]\n}\n\n</code></pre>\n<p>The <code>emotions</code> array contains objects with \"label\" and \"score\" properties representing the emotions and their corresponding scores for the provided text.</p>\n","urlObject":{"protocol":"https","path":["api","nlp","emotion"],"host":["wordworks-api","vercel","app"],"query":[{"description":{"content":"<p>Text to classify</p>\n","type":"text/plain"},"key":"text","value":"string"}],"variable":[]}},"response":[],"_postman_id":"2213bb59-14c5-4e78-be58-74c349cedfcd"},{"name":"Parts of Speech Tagging","event":[{"listen":"test","script":{"id":"40478b5a-d23c-4bec-ad7a-3caa650068de","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response has the required fields\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData).to.have.property('status');","    pm.expect(responseData).to.have.property('message');","    pm.expect(responseData).to.have.property('partsOfSpeech');","});","","","pm.test(\"Each element in partsOfSpeech array has the required fields\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.partsOfSpeech).to.be.an('array').that.is.not.empty;","    ","    responseData.partsOfSpeech.forEach(function(part) {","        pm.expect(part).to.have.property('value').that.is.a('string');","        pm.expect(part).to.have.property('tag').that.is.a('string');","        pm.expect(part).to.have.property('normal').that.is.a('string');","        pm.expect(part).to.have.property('pos').that.is.a('string');","        pm.expect(part).to.have.property('lemma').that.is.a('string');","    });","});","","","pm.test(\"Value and Normal fields should be non-empty strings\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.partsOfSpeech).to.be.an('array');","    ","    responseData.partsOfSpeech.forEach(function(part) {","        pm.expect(part.value).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Value should not be empty\");","        pm.expect(part.normal).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Normal should not be empty\");","    });","});","","","pm.test(\"Parts of Speech tags are either 'word' or 'punctuation'\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.partsOfSpeech).to.be.an('array');","    ","    responseData.partsOfSpeech.forEach(function(part) {","        pm.expect(part.tag).to.satisfy(function(tag) {","            return tag === 'word' || tag === 'punctuation';","        }, \"Tag should be either 'word' or 'punctuation'\");","    });","});","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Value</th>","        <th>Tag</th>","        <th>Normal</th>","        <th>POS</th>","        <th>Lemma</th>","    </tr>","    ","    {{#each response.partsOfSpeech}}","        <tr>","            <td>{{value}}</td>","            <td>{{tag}}</td>","            <td>{{normal}}</td>","            <td>{{pos}}</td>","            <td>{{lemma}}</td>","        </tr>","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"ea943a2f-e77f-41dd-9c24-8c941e20de62","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/nlp/parts-of-speech?text=string","description":"<p>This endpoint retrieves the parts of speech for the provided text.</p>\n<h3 id=\"request-type\">Request Type</h3>\n<ul>\n<li>HTTP GET Requests are supported</li>\n<li>HTTP POST Requests are supported</li>\n</ul>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>text</code> (string): The input text for which parts of speech are to be analyzed.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful execution, the server responds with a status code of 200 and a JSON object in the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"success\",\n    \"message\": \"Parts of Speech fetched successfully\",\n    \"partsOfSpeech\": [\n        {\n            \"value\": \"\",\n            \"tag\": \"\",\n            \"normal\": \"\",\n            \"pos\": \"\",\n            \"lemma\": \"\"\n        }\n    ]\n}\n\n</code></pre>\n<p>The <code>partsOfSpeech</code> array contains objects with \"value\", \"tag\", \"normal\", \"pos\", and \"lemma\" properties representing the texts in the sentence and their POS data, as shown below:</p>\n<ul>\n<li><code>value</code>: the classified text chunk in the object (e.g.: <code>string</code>)</li>\n<li><code>tag</code>: the tag of the classified text chunk in the object (e.g.: <code>word | punctuation</code>)</li>\n<li><code>normal</code>: the normal format of the classified text chunk (e.g.: <code>String</code> = <code>string)</code></li>\n<li><code>pos</code>: the part of speech of the classified text chunk (e.g.: <code>NN</code>)</li>\n<li><code>lemma</code>: the technical form of the classified text chunk. A lemma is a form of a word that appears as an entry in a dictionary and is used to represent all the other possible forms. (e.g.: <code>strings</code> = <code>string</code>)</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","nlp","parts-of-speech"],"host":["wordworks-api","vercel","app"],"query":[{"description":{"content":"<p>Text to classify</p>\n","type":"text/plain"},"key":"text","value":"string"}],"variable":[]}},"response":[],"_postman_id":"ea943a2f-e77f-41dd-9c24-8c941e20de62"},{"name":"Sentiment Analysis","event":[{"listen":"test","script":{"id":"dc8e352c-bb40-44a2-89e6-5d07a25a5c4c","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response has the required fields - status and sentimentScore\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.status).to.exist;","    pm.expect(responseData.sentimentScore).to.exist;","});","","","pm.test(\"Sentiment score is within the valid range (-3 to 3)\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.sentimentScore).to.be.within(-3, 3);","});","","","pm.test(\"Status field is a non-empty string\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.status).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Status should not be empty\");","});","","","pm.test(\"Content-Type is application/json\", function () {","    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");","});","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Status</th>","        <th>Sentiment Score</th>","    </tr>","    <tr>","        <td>{{response.status}}</td>","        <td>{{response.sentimentScore}}</td>","    </tr>","</table>","`;","","function constructVisualizerPayload() {","    return { response: pm.response.json() }","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"e1837c38-9a98-4e09-bacf-2af268e2a207","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/nlp/sentiment?text=string","description":"<p>This endpoint retrieves the sentiment score for a given text.</p>\n<h3 id=\"request-type\">Request Type</h3>\n<ul>\n<li>HTTP GET Requests are supported</li>\n<li>HTTP POST Requests are supported</li>\n</ul>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>text</code> (string): The input text for which sentiment is to be analyzed.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"\",\n    \"sentimentScore\": 0\n}\n\n</code></pre>\n<p>The sentimentScore can be between <code>-3</code> and <code>3</code>. Negative numbers represent negative sentiment (e.g., <code>hate</code> is <code>-3</code>), while positive numbers represent positive sentiment (e.g., <code>love</code> is <code>2</code>). <code>0</code> is equivalent to <code>neutral</code>.</p>\n<p>The classifier works best with short phrases or single words and may throw errors when checking long texts.</p>\n","urlObject":{"protocol":"https","path":["api","nlp","sentiment"],"host":["wordworks-api","vercel","app"],"query":[{"description":{"content":"<p>Text to classify</p>\n","type":"text/plain"},"key":"text","value":"string"}],"variable":[]}},"response":[],"_postman_id":"e1837c38-9a98-4e09-bacf-2af268e2a207"},{"name":"Tokenizer","event":[{"listen":"test","script":{"id":"e5b1166a-7329-40f3-bdab-ec914334cdee","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response Content-Type is application/json\", function () {","    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");","});","","","pm.test(\"Response has the required fields - status, message, and tokens\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.status).to.exist;","    pm.expect(responseData.message).to.exist;","    pm.expect(responseData.tokens).to.exist;","});","","","pm.test(\"Tokens array is not empty\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.tokens).to.be.an('array').and.to.have.lengthOf.at.least(1, \"Tokens array should not be empty\");","});","","","pm.test(\"Each token in the response is a non-empty string\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.tokens).to.be.an('array');","    responseData.tokens.forEach(function(token) {","        pm.expect(token).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Token should not be empty\");","    });","});","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Tokens</th>","    </tr>","    ","    {{#each response.tokens}}","        <tr>","            <td>{{this}}</td>","        </tr>","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"5084f096-8415-4c97-80cb-f921b81d1603","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/nlp/tokenize?text=string","description":"<p>The endpoint tokenizes the provided input text.</p>\n<p><a href=\"https://www.machinelearningplus.com/nlp/what-is-tokenization-in-natural-language-processing/\">https://www.machinelearningplus.com/nlp/what-is-tokenization-in-natural-language-processing/</a></p>\n<h3 id=\"request-type\">Request Type</h3>\n<ul>\n<li>HTTP GET Requests are supported</li>\n<li>HTTP POST Requests are supported</li>\n</ul>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>text</code> (string): The input text to be tokenized.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"\",\n    \"message\": \"\",\n    \"tokens\": [\n        \"\"\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","nlp","tokenize"],"host":["wordworks-api","vercel","app"],"query":[{"description":{"content":"<p>Text to tokenize</p>\n","type":"text/plain"},"key":"text","value":"string"}],"variable":[]}},"response":[],"_postman_id":"5084f096-8415-4c97-80cb-f921b81d1603"}],"id":"a34c4b76-04ee-4a27-9971-477c34b4d067","description":"<p>Natural Language Processing API endpoints.</p>\n","_postman_id":"a34c4b76-04ee-4a27-9971-477c34b4d067"},{"name":"Sentence","item":[{"name":"Random Sentence (Phrase)","event":[{"listen":"test","script":{"id":"eb6c0c89-b414-4e99-a2cb-2a8b743f9846","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response Content-Type is application/json\", function () {","    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");","});","","","pm.test(\"Data field should not be empty\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.data).to.exist.and.to.not.be.empty;","});","","","pm.test(\"Data field is a non-empty string\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.data).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Data field should not be empty\");","});","","","pm.test(\"Response contains the required fields\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.have.property('data');","});","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Data</th>","    </tr>","    ","    <tr>","        <td>{{response.data}}</td>","    </tr>","</table>","`;","","function constructVisualizerPayload() {","    return { response: pm.response.json() }","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"a0d03231-46c3-4a16-9658-6263e4fd5d69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/sentence/random?words=[\"verb\", \"adj\", \"noun\"]&separator=_","description":"<p>This endpoint creates a random sentence based on the provided words and separator. The request parameters include an array of words and a separator to be used in the sentence.</p>\n<h3 id=\"request-type\">Request Type</h3>\n<ul>\n<li>HTTP GET Requests are supported</li>\n</ul>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>words</code> (string): The parts of speech, in the intended order, used to create the sentence.</li>\n<li><code>separator</code> (string): The separator character to seperate each word in the sentence.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": \"\"\n}\n\n</code></pre>\n<p>Neither request parameter is required. The default <code>words</code> array is <code>[\"verb\", \"adj\", \"noun\"]</code>, and the default <code>separator</code> is <code>-</code>.</p>\n<p>Supported parts of speech for the <code>words</code> array are:</p>\n<ul>\n<li><code>verb</code>: Verb. Currently, the API randomly chooses whether the verb is past or present tense.</li>\n<li><code>adj</code>: Adjective.</li>\n<li><code>noun</code>: Noun.</li>\n<li><code>adverb</code>: Adverb.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","sentence","random"],"host":["wordworks-api","vercel","app"],"query":[{"description":{"content":"<p>Array of parts of speech to use in the sentence. Not required. </p>\n","type":"text/plain"},"key":"words","value":"[\"verb\", \"adj\", \"noun\"]"},{"description":{"content":"<p>Seperator between words. Not required.</p>\n","type":"text/plain"},"key":"separator","value":"_"}],"variable":[]}},"response":[],"_postman_id":"a0d03231-46c3-4a16-9658-6263e4fd5d69"}],"id":"e864ce0f-2f9a-44a8-816f-40d38fe83ca8","description":"<p>API endpoints for sentence manipulation and generation.</p>\n","_postman_id":"e864ce0f-2f9a-44a8-816f-40d38fe83ca8"},{"name":"Words","item":[{"name":"List of Words","event":[{"listen":"test","script":{"id":"ef804f02-b33f-41a0-80df-55cdd357f8bd","exec":["pm.test('Response status code is 200', function () {","    pm.response.to.have.status(200);","})","","pm.test('Response has the required fields', function () {","    const responseData = pm.response.json();","    pm.expect(responseData).to.have.property('status');","    pm.expect(responseData).to.have.property('message');","    pm.expect(responseData).to.have.property('wordArrayLength');","    pm.expect(responseData).to.have.property('words');","})","","pm.test('WordArrayLength is a non-negative integer', function () {","    const responseData = pm.response.json();","    pm.expect(responseData.wordArrayLength).to.be.a('number');","    pm.expect(responseData.wordArrayLength).to.be.at.least(0);","})","","pm.test('Content-Type header is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","})","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Words</th>","    </tr>","    ","    {{#each response.words}}","        <tr>","            <td>{{this}}</td>","        </tr>","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return { response: pm.response.json() }","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"51e4092e-eeef-448d-859e-f744913d13c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/words","description":"<h3 id=\"get-apiwords\">GET /api/words</h3>\n<p>This endpoint retrieves a list of words.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<ul>\n<li><code>status</code> (string): The status of the response.</li>\n<li><code>message</code> (string): A message related to the response.</li>\n<li><code>wordArrayLength</code> (integer): The length of the array of words.</li>\n<li><code>words</code> (array of strings): An array containing the words.</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"\",\n  \"message\": \"\",\n  \"wordArrayLength\": 0,\n  \"words\": [\"\"]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","words"],"host":["wordworks-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"51e4092e-eeef-448d-859e-f744913d13c8"},{"name":"Random Word","event":[{"listen":"test","script":{"id":"99e5c07e-1293-47f7-943b-9adb4b4d528e","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response has the required fields - status, message, and word\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.status).to.exist;","    pm.expect(responseData.message).to.exist;","    pm.expect(responseData.word).to.exist;","});","","","pm.test(\"Status is a non-empty string\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.status).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Status should not be empty\");","});","","","pm.test(\"Message is a non-empty string\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.message).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Message should not be empty\");","});","","","pm.test(\"Word is a non-empty string\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData.word).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Word should not be empty\");","});","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Status</th>","        <th>Message</th>","        <th>Word</th>","    </tr>","    <tr>","        <td>{{response.status}}</td>","        <td>{{response.message}}</td>","        <td>{{response.word}}</td>","    </tr>","</table>","`;","","function constructVisualizerPayload() {","    return { response: pm.response.json() }","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"234ab1eb-7e27-45d2-bf99-90fefed9d2d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/words/random","description":"<h3 id=\"get-wordsrandom\">GET /words/random</h3>\n<p>This endpoint retrieves a random word from the WordWorks API.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<ul>\n<li><code>status</code> (string): The status of the response.</li>\n<li><code>message</code> (string): Any additional message related to the response.</li>\n<li><code>word</code> (string): The random word retrieved from the API.</li>\n</ul>\n<p>Example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"\",\n    \"message\": \"\",\n    \"word\": \"\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","words","random"],"host":["wordworks-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"234ab1eb-7e27-45d2-bf99-90fefed9d2d7"},{"name":"Search Words","event":[{"listen":"test","script":{"id":"e921c0ae-f6b7-4a78-8520-51bbe0e6487e","exec":["pm.test('Response status code is 200', function () {","    pm.response.to.have.status(200);","})","","pm.test('Response has the required fields', function () {","    const responseData = pm.response.json();","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData).to.include.all.keys('status', 'message', 'wordArrayLength', 'words');","})","","pm.test('WordArrayLength is a non-negative integer', function () {","    const responseData = pm.response.json();","    pm.expect(responseData.wordArrayLength).to.be.a('number');","    pm.expect(responseData.wordArrayLength).to.be.at.least(0);","})","","pm.test('Words array contains strings', function () {","    const responseData = pm.response.json();","    pm.expect(responseData).to.be.an('object');","    pm.expect(responseData.words).to.be.an('array');","    responseData.words.forEach(function (word) {","        pm.expect(word).to.be.a('string');","    });","})","var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Words</th>","    </tr>","    ","    {{#each response.words}}","        <tr>","            <td>{{this}}</td>","        </tr>","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"1d9148eb-6322-4789-98ff-62f9f8fea8f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wordworks-api.vercel.app/api/words/search?startsWith=A&endsWith=B&contains=SOR&length=6&limit=10","description":"<p>This endpoint searches for words based on various criteria such as start, end, contains, and length. The request parameters are:</p>\n<ul>\n<li><code>startsWith</code> (string): Specifies the starting letter of the word to be searched.</li>\n<li><code>endsWith</code> (string): Specifies the ending letter of the word to be searched.</li>\n<li><code>contains</code> (string): Specifies a specific sequence of letters that the word must contain.</li>\n<li><code>length</code> (integer): Specifies the length of the word to be searched.</li>\n<li><code>limit</code> (integer): Specifies the maximum number of words to be returned in the response.</li>\n</ul>\n<p>The response to the request is in JSON format with the following structure:</p>\n<ul>\n<li><code>status</code> (string): Indicates the status of the response.</li>\n<li><code>message</code> (string): Provides additional information about the response.</li>\n<li><code>wordArrayLength</code> (integer): Represents the length of the array of words returned.</li>\n<li><code>words</code> (array of strings): Contains the list of words that meet the search criteria.</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"\",\n  \"message\": \"\",\n  \"wordArrayLength\": 0,\n  \"words\": [\"\"]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","words","search"],"host":["wordworks-api","vercel","app"],"query":[{"description":{"content":"<p>The string the word must start with. Not required. Case sensitive.</p>\n","type":"text/plain"},"key":"startsWith","value":"A"},{"description":{"content":"<p>The string the word must end with. Not required. Case sensitive.</p>\n","type":"text/plain"},"key":"endsWith","value":"B"},{"description":{"content":"<p>The string the word must contain. Not required. Case sensitive.</p>\n","type":"text/plain"},"key":"contains","value":"SOR"},{"description":{"content":"<p>The length of the word. Not required.</p>\n","type":"text/plain"},"key":"length","value":"6"},{"description":{"content":"<p>The limit to the number of search results. Not required.</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[],"_postman_id":"1d9148eb-6322-4789-98ff-62f9f8fea8f2"}],"id":"ef64e209-20f0-4b21-a3ad-d95164466ac5","description":"<p>API requests for word fetching and manipulation.</p>\n","_postman_id":"ef64e209-20f0-4b21-a3ad-d95164466ac5"}]}