The vèrb'Òc API allows you, for an occitan infinitive, to get its conjugation. You can specify a person, a mode, a tense... You can also search for the infinitive and informations of a conjugated form.
The application basic URL is http://api.locongres.org/verboc.php. You have to add mandatory parameters and you can add facultative parameters. If you don't know how to add parameters in an URL, you can read this tutorial.
You have to add the following parameters :
For instance, you can display the complete conjugation of "cantar" in Languedoc occitan with the URL http://api.locongres.org/verboc.php?key=[your_APIkey]&inf=cantar&var=lengadoc. You get the following result :
{
"query": [
{
"form": "cantariam",
"id": 105852,
"per": "1",
"num": "pl",
"mod": "cond",
"tns": "pres"
},
{
"form": "cantariatz",
"id": 105853,
"per": "2",
"num": "pl",
"mod": "cond",
"tns": "pres"
},
{
"form": "cantari\u00e1n",
"id": 105854,
"per": "3",
"num": "pl",
"mod": "cond",
"tns": "pres"
},
{
"form": "cantari\u00e1i",
"id": 105849,
"per": "1",
"num": "sg",
"mod": "cond",
"tns": "pres"
},
{
"form": "cantari\u00e1s",
"id": 105850,
"per": "2",
"num": "sg",
"mod": "cond",
"tns": "pres"
},
{
"form": "cantari\u00e1",
"id": 105851,
"per": "3",
"num": "sg",
"mod": "cond",
"tns": "pres"
},
{
"form": "cantem",
"id": 105856,
"per": "1",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "a"
},
{
"form": "cantatz",
"id": 105857,
"per": "2",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "a"
},
{
"form": "canta",
"id": 105855,
"per": "2",
"num": "sg",
"mod": "imp",
"tns":"pres",
"pol": "a"
},
{
"form": "cantem",
"id": 105859,
"per": "1",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "n"
},
{
"form": "cantetz",
"id": 105860,
"per": "2",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "n"
},
{
"form": "cantes",
"id": 105858,
"per": "2",
"num": "sg",
"mod": "imp",
"tns": "pres",
"pol": "n"
},
{
"form": "cantarem",
"id": 105846,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "fut"
},
{
"form": "cantaretz",
"id": 105847,
"per": "2",
"num": "pl",
"mod": "ind",
"tns": "fut"
},
{
"form": "cantar\u00e0n",
"id": 105848,
"per": "3",
"num": "pl",
"mod": "ind",
"tns": "fut"
},
{
"form": "cantarai",
"id": 105843,
"per": "1",
"num": "sg",
"mod": "ind",
"tns": "fut"
},
{
"form": "cantar\u00e0s",
"id": 105844,
"per": "2",
"num": "sg",
"mod": "ind",
"tns": "fut"
},
{
"form": "cantar\u00e0",
"id": 105845,
"per": "3",
"num": "sg",
"mod": "ind",
"tns": "fut"
},
{
"form": "cant\u00e0vem",
"id": 105828,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "imp"
},
{
"form": "cant\u00e0vetz",
"id": 105829,
"per": "2",
"num": "pl",
"mod": "ind",
"tns": "imp"
},
{
"form": "cantavan",
"id": 105830,
"per": "3",
"num": "pl",
"mod": "ind",
"tns": "imp"
},
{
"form": "cantavi",
"id": 105825,
"per": "1",
"num": "sg",
"mod": "ind",
"tns": "imp"
},
{
"form": "cantavas",
"id": 105826,
"per": "2",
"num": "sg",
"mod": "ind",
"tns": "imp"
},
{
"form": "cantava",
"id": 105827,
"per": "3",
"num": "sg",
"mod": "ind",
"tns": "imp"
},
{
"form": "cant\u00e8rem",
"id": 105822,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "pas"
},
{
"form": "cant\u00e8retz",
"id": 105823,
"per": "2",
"num": "pl",
"mod": "ind",
"tns": "pas"
},
{
"form": "cant\u00e8ron",
"id": 105824,
"per": "3",
"num": "pl",
"mod": "ind",
"tns": "pas"
},
{
"form": "cant\u00e8ri",
"id": 105819,
"per": "1",
"num": "sg",
"mod": "ind",
"tns": "pas"
},
{
"form": "cant\u00e8res",
"id": 105820,
"per": "2",
"num": "sg",
"mod": "ind",
"tns": "pas"
},
{
"form": "cant\u00e8t",
"id": 105821,
"per": "3",
"num": "sg",
"mod": "ind",
"tns": "pas"
},
{
"form": "cantam",
"id": 105816,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "pres"
},
{
"form": "cantatz",
"id": 105817,
"per": "2",
"num": "pl",
"mod": "ind",
"tns": "pres"
},
{
"form": "cantan",
"id": 105818,
"per": "3",
"num": "pl",
"mod": "ind",
"tns": "pres"
},
{
"form": "canti",
"id": 105813,
"per": "1",
"num": "sg",
"mod": "ind",
"tns": "pres"
},
{
"form": "cantas",
"id": 105814,
"per": "2",
"num": "sg",
"mod": "ind",
"tns": "pres"
},
{
"form": "canta",
"id": 105815,
"per": "3",
"num": "sg",
"mod": "ind",
"tns": "pres"
},
{
"form": "cantar",
"id": 105861,
"mod": "inf"
},
{
"form": "cantada",
"id": 105864,
"gen": "f",
"num": "sg",
"mod": "part",
"tns": "pas"
},
{
"form": "cantat",
"id": 105863,
"gen": "m",
"num": "sg",
"mod": "part",
"tns": "pas"
},
{
"form": "cantant",
"id": 105862,
"mod": "part",
"tns": "pres"
},
{
"form": "cant\u00e8ssem",
"id": 105840,
"per": "1",
"num": "pl",
"mod": "subj",
"tns": "imp"
},
{
"form": "cant\u00e8ssetz",
"id": 105841,
"per": "2",
"num": "pl",
"mod": "subj",
"tns": "imp"
},
{
"form": "cant\u00e8sson",
"id": 105842,
"per": "3",
"num": "pl",
"mod": "subj",
"tns": "imp"
},
{
"form": "cant\u00e8sse",
"id": 105837,
"per": "1",
"num": "sg",
"mod": "subj",
"tns": "imp"
},
{
"form": "cant\u00e8sses",
"id": 105838,
"per": "2",
"num": "sg",
"mod": "subj",
"tns": "imp"
},
{
"form": "cant\u00e8sse",
"id": 105839,
"per": "3",
"num": "sg",
"mod": "subj",
"tns": "imp"
},
{
"form": "cantem",
"id": 105834,
"per": "1",
"num": "pl",
"mod": "subj",
"tns": "pres"
},
{
"form": "cantetz",
"id": 105835,
"per": "2",
"num": "pl",
"mod": "subj",
"tns": "pres"
},
{
"form": "canten",
"id": 105836,
"per": "3",
"num": "pl",
"mod": "subj",
"tns": "pres"
},
{
"form": "cante",
"id": 105831,
"per": "1",
"num": "sg",
"mod": "subj",
"tns": "pres"
},
{
"form": "cantes",
"id": 105832,
"per": "2",
"num": "sg",
"mod": "subj",
"tns": "pres"
},
{
"form": "cante",
"id": 105833,
"per": "3",
"num": "sg",
"mod": "subj",
"tns": "pres"
}
]
}
You can also search for the infinitive and informations of the form "parlarèi" in Gascony occitan with the URL http://api.locongres.org/verboc.php?key=[votre_clé_API]&form=parlarèi&var=gascon. You get the following result :
{
"query": [
{
"form": "parlarèi",
"id": 888848,
"per": "1",
"num": "sg",
"mod": "ind",
"tns": "fut",
"inf": "parlar"
}
]
}
You can get conjugation for only one person in specifying a person and a number parameters.
The person parameter "per" accepts the values "1", "2" or "3".
The number parameter "num" accepts the values "sg" (singular) or "pl" (plural).
For instance, you can display the conjugation for the first person plural of "aviar" in Gascony occitan with the URL http://api.locongres.org/verboc.php?key=[your_APIkey]&inf=aviar&var=gascon&per=1&num=pl. You get the following result :
{
"query": [
{
"form": "aviarem",
"id": 1305813,
"per": "1",
"num": "pl",
"mod": "cond",
"tns": "pres"
},
{
"form": "aviem",
"id": 1305817,
"per": "1",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "a"
},
{
"form": "aviem",
"id": 1305820,
"per": "1",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "n"
},
{
"form": "aviaram",
"id": 1305807,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "fut"
},
{
"form": "avi\u00e0vam",
"id": 1305789,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "imp"
},
{
"form": "avi\u00e8m",
"id": 1305783,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "pas"
},
{
"form": "aviam",
"id": 1305777,
"per": "1",
"num": "pl",
"mod": "ind",
"tns": "pres"
},
{
"form": "avi\u00e8ssem",
"id": 1305801,
"per": "1",
"num": "pl",
"mod": "subj",
"tns": "imp"
},
{
"form": "aviem",
"id": 1305795,
"per": "1",
"num": "pl",
"mod": "subj",
"tns": "pres"
}
]
}
To get only the conjugation for a tense and/or a mode, you can use the parameters "mod" and "tns".
The mode parameter "mod" accepts the following values :
The tense parameter "tns" accepts the following values :
For instance, if you want to display the conjugation for the present subjunctive of "mostrar" in Languedoc occitan, you can use the URL http://api.locongres.org/verboc.php?key=[your_APIkey]&inf=mostrar&var=lengadoc&mod=subj&tns=pres. You get the following result :
{
"query": [
{
"form": "mostrem",
"id": 396362,
"per": "1",
"num": "pl",
"mod": "subj",
"tns": "pres"
},
{
"form": "mostretz",
"id": 396363,
"per": "2",
"num": "pl",
"mod": "subj",
"tns": "pres"
},
{
"form": "m\u00f2stren",
"id": 396364,
"per": "3",
"num": "pl",
"mod": "subj",
"tns": "pres"
},
{
"form": "m\u00f2stre",
"id": 396359,
"per": "1",
"num": "sg",
"mod": "subj",
"tns": "pres"
},
{
"form": "m\u00f2stres",
"id": 396360,
"per": "2",
"num": "sg",
"mod": "subj",
"tns": "pres"
},
{
"form": "m\u00f2stre",
"id": 396361,
"per": "3",
"num": "sg",
"mod": "subj",
"tns": "pres"
}
]
}
The mode-tense combinations allowed are :
For the past participle, you can specify a gender and a number.
To specify a gender, you can use the "gen" parameter which accepts the values "f" (feminine) or "m" (masculine).
To specify a number, you can use the "num" parameter which accepts the values "sg" (singular) o "pl" (plural).
For instance, if you want the conjugation for masculine singular past participle of "faire" in Languedoc occitan, you can use the URL http://api.locongres.org/verboc.php?key=[your_APIkey]&inf=faire&var=lengadoc&mod=part&tns=pas&gen=m&num=sg. You get the following result :
{
"query": [
{
"form": "fach",
"id": 1445,
"gen": "m",
"num": "sg",
"mod": "part",
"tns": "pas"
},
{
"form": "fait",
"id": 1447,
"gen": "m",
"num": "sg",
"mod": "part",
"tns": "pas"
}
]
}
For the imperative, you should need to specify if you want the one used in affirmative sentences or the one used in negative sentences.
To do this, you have to use the "pol" parameter which accepts the values "a" (affirmative sentences) o "n" (negative sentences).
For instance, if you want the conjugation for negative imperative of "tornar" in Gascony occitan, you can use the URL http://api.locongres.org/verboc.php?key=[your_APIkey]&inf=tornar&var=gascon&mod=imp&tns=pres&pol=n. You get the following result :
{
"query": [
{
"form": "tornem",
"id": 947641,
"per": "1",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "n"
},
{
"form": "tornetz",
"id": 947642,
"per": "2",
"num": "pl",
"mod": "imp",
"tns": "pres",
"pol": "n"
},
{
"form": "tornes",
"id": 947640,
"per": "2",
"num": "sg",
"mod": "imp",
"tns": "pres",
"pol": "n"
}
]
}
If you want conjugations for a random verb, you have to indicate the value "random" for the parameter "inf".
For instance, if you want a conjugation for the first person singular for indicative present of a random verb in Languedoc occitan, you can use the URL http://api.locongres.org/verboc.php?key=[your_APIkey]&var=lengadoc&inf=random&format=xml&per=1&num=sg&mod=ind&tns=pres. You get the something like this :
{
"query": [
{
"form": "coblegi",
"id": 125261,
"per": "1",
"num": "sg",
"mod": "ind",
"tns": "pres"
}
]
}
The default output format is JSON. But you can get an XML output in adding "format=xml" to the l'URL.
For instance, if you want "plaire" conjugation in Lengadoc occitan in XML, you can use the l'URL http://api.locongres.org/verboc.php?key=[your_APIkey]&inf=plaire&var=lengadoc&format=xml. You get the following result :
<query>
<form id="618607">
<orth>plairiam</orth>
<per>1</per>
<num>pl</num>
<mod>cond</mod>
<tns>pres</tns>
</form>
<form id="618608">
<orth>plairiatz</orth>
<per>2</per>
<num>pl</num>
<mod>cond</mod>
<tns>pres</tns>
</form>
<form id="618609">
<orth>plairián</orth>
<per>3</per>
<num>pl</num>
<mod>cond</mod>
<tns>pres</tns>
</form>
<form id="618604">
<orth>plairiái</orth>
<per>1</per>
<num>sg</num>
<mod>cond</mod>
<tns>pres</tns>
</form>
<form id="618605">
<orth>plairiás</orth>
<per>2</per>
<num>sg</num>
<mod>cond</mod>
<tns>pres</tns>
</form>
<form id="618606">
<orth>plairiá</orth>
<per>3</per>
<num>sg</num>
<mod>cond</mod>
<tns>pres</tns>
</form>
<form id="618611">
<orth>plagam</orth>
<per>1</per>
<num>pl</num>
<mod>imp</mod>
<tns>pres</tns>
<pol>a</pol>
</form>
<form id="618612">
<orth>plasètz</orth>
<per>2</per>
<num>pl</num>
<mod>imp</mod>
<tns>pres</tns>
<pol>a</pol>
</form>
<form id="618610">
<orth>plai</orth>
<per>2</per>
<num>sg</num>
<mod>imp</mod>
<tns>pres</tns>
<pol>a</pol>
</form>
<form id="618614">
<orth>plagam</orth>
<per>1</per>
<num>pl</num>
<mod>imp</mod>
<tns>pres</tns>
<pol>n</pol>
</form>
<form id="618615">
<orth>plagatz</orth>
<per>2</per>
<num>pl</num>
<mod>imp</mod>
<tns>pres</tns>
<pol>n</pol>
</form>
<form id="618613">
<orth>plagas</orth>
<per>2</per>
<num>sg</num>
<mod>imp</mod>
<tns>pres</tns>
</form>
<form id="618754">
<orth>plairem</orth>
<per>1</per>
<num>pl</num>
<mod>ind</mod>
<tns>fut</tns>
</form>
<form id="618602">
<orth>plairetz</orth>
<per>2</per>
<num>pl</num>
<mod>ind</mod>
<tns>fut</tns>
</form>
<form id="618603">
<orth>plairàn</orth>
<per>3</per>
<num>pl</num>
<mod>ind</mod>
<tns>fut</tns>
</form>
<form id="618598">
<orth>plairai</orth>
<per>1</per>
<num>sg</num>
<mod>ind</mod>
<tns>fut</tns>
</form>
<form id="618599">
<orth>plairàs</orth>
<per>2</per>
<num>sg</num>
<mod>ind</mod>
<tns>fut</tns>
</form>
<form id="618600">
<orth>plairà</orth>
<per>3</per>
<num>sg</num>
<mod>ind</mod>
<tns>fut</tns>
</form>
<form id="618583">
<orth>plasiam</orth>
<per>1</per>
<num>pl</num>
<mod>ind</mod>
<tns>imp</tns>
</form>
<form id="618584">
<orth>plasiatz</orth>
<per>2</per>
<num>pl</num>
<mod>ind</mod>
<tns>imp</tns>
</form>
<form id="618585">
<orth>plasián</orth>
<per>3</per>
<num>pl</num>
<mod>ind</mod>
<tns>imp</tns>
</form>
<form id="618580">
<orth>plasiái</orth>
<per>1</per>
<num>sg</num>
<mod>ind</mod>
<tns>imp</tns>
</form>
<form id="618581">
<orth>plasiás</orth>
<per>2</per>
<num>sg</num>
<mod>ind</mod>
<tns>imp</tns>
</form>
<form id="618582">
<orth>plasiá</orth>
<per>3</per>
<num>sg</num>
<mod>ind</mod>
<tns>imp</tns>
</form>
<form id="618577">
<orth>plaguèrem</orth>
<per>1</per>
<num>pl</num>
<mod>ind</mod>
<tns>pas</tns>
</form>
<form id="618578">
<orth>plaguèretz</orth>
<per>2</per>
<num>pl</num>
<mod>ind</mod>
<tns>pas</tns>
</form>
<form id="618579">
<orth>plaguèron</orth>
<per>3</per>
<num>pl</num>
<mod>ind</mod>
<tns>pas</tns>
</form>
<form id="618574">
<orth>plaguèri</orth>
<per>1</per>
<num>sg</num>
<mod>ind</mod>
<tns>pas</tns>
</form>
<form id="618575">
<orth>plaguères</orth>
<per>2</per>
<num>sg</num>
<mod>ind</mod>
<tns>pas</tns>
</form>
<form id="618576">
<orth>plaguèt</orth>
<per>3</per>
<num>sg</num>
<mod>ind</mod>
<tns>pas</tns>
</form>
<form id="618571">
<orth>plasèm</orth>
<per>1</per>
<num>pl</num>
<mod>ind</mod>
<tns>pres</tns>
</form>
<form id="618572">
<orth>plasètz</orth>
<per>2</per>
<num>pl</num>
<mod>ind</mod>
<tns>pres</tns>
</form>
<form id="618573">
<orth>plason</orth>
<per>3</per>
<num>pl</num>
<mod>ind</mod>
<tns>pres</tns>
</form>
<form id="618568">
<orth>plasi</orth>
<per>1</per>
<num>sg</num>
<mod>ind</mod>
<tns>pres</tns>
</form>
<form id="618569">
<orth>plases</orth>
<per>2</per>
<num>sg</num>
<mod>ind</mod>
<tns>pres</tns>
</form>
<form id="618570">
<orth>plai</orth>
<per>3</per>
<num>sg</num>
<mod>ind</mod>
<tns>pres</tns>
</form>
<form id="618616">
<orth>plaire</orth>
<mod>inf</mod>
</form>
<form id="618619">
<orth>plaguda</orth>
<gen>f</gen>
<num>sg</num>
<mod>part</mod>
<tns>pas</tns>
</form>
<form id="618618">
<orth>plagut</orth>
<gen>m</gen>
<num>sg</num>
<mod>part</mod>
<tns>pas</tns>
</form>
<form id="618617">
<orth>plasent</orth>
<mod>part</mod>
<tns>pres</tns>
</form>
<form id="618595">
<orth>plaguèssem</orth>
<per>1</per>
<num>pl</num>
<mod>subj</mod>
<tns>imp</tns>
</form>
<form id="618596">
<orth>plaguèssetz</orth>
<per>2</per>
<num>pl</num>
<mod>subj</mod>
<tns>imp</tns>
</form>
<form id="618597">
<orth>plaguèsson</orth>
<per>3</per>
<num>pl</num>
<mod>subj</mod>
<tns>imp</tns>
</form>
<form id="618592">
<orth>plaguèsse</orth>
<per>1</per>
<num>sg</num>
<mod>subj</mod>
<tns>imp</tns>
</form>
<form id="618593">
<orth>plaguèsses</orth>
<per>2</per>
<num>sg</num>
<mod>subj</mod>
<tns>imp</tns>
</form>
<form id="618594">
<orth>plaguèsse</orth>
<per>3</per>
<num>sg</num>
<mod>subj</mod>
<tns>imp</tns>
</form>
<form id="618589">
<orth>plagam</orth>
<per>1</per>
<num>pl</num>
<mod>subj</mod>
<tns>pres</tns>
</form>
<form id="618590">
<orth>plagatz</orth>
<per>2</per>
<num>pl</num>
<mod>subj</mod>
<tns>pres</tns>
</form>
<form id="618591">
<orth>plagan</orth>
<per>3</per>
<num>pl</num>
<mod>subj</mod>
<tns>pres</tns>
</form>
<form id="618586">
<orth>plaga</orth>
<per>1</per>
<num>sg</num>
<mod>subj</mod>
<tns>pres</tns>
</form>
<form id="618587">
<orth>plagas</orth>
<per>2</per>
<num>sg</num>
<mod>subj</mod>
<tns>pres</tns>
</form>
<form id="618588">
<orth>plaga</orth>
<per>3</per>
<num>sg</num>
<mod>subj</mod>
<tns>pres</tns>
</form>
</query>
If there are errors in the input URL or if the query returns no form, the API returns an error with a code and an error text in english. You can see below the error codes with their text :
The output you get is a list of forms with an unique ID. For each one, you get :
The fields with an * don't appear for each form.
{
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"code": {
"description": "The unique identifier for an error",
"type": "integer"
},
"text": {
"description": "A description of the error",
"type": "string"
}
},
"required": ["code", "text"]
},
"query": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"form": {
"type": "string"
},
"display": {
"type": "string"
},
"cat": {
"type": "string"
},
"inf": {
"type": "string"
},
"per": {
"type": "string"
},
"num": {
"type": "string"
},
"mod": {
"type": "string"
},
"tns": {
"type": "string"
},
"gen": {
"type": "string"
},
"pol": {
"type": "string"
},
"dist": {
"type": "string"
},
},
"required": ["id", "form", "display", "cat", "mod"]
},
"minItems": 1
}
}
}
<! ELEMENT query (form) >
<! ELEMENT error (#PCDATA) >
<! ATTLIST error code ID #REQUIRED >
<! ELEMENT form (dist?, gen?, mod, num?, orth, per?, pol?, tns?) >
<! ATTLIST form id ID #REQUIRED >
<! ELEMENT cat (#PCDATA) >
<! ELEMENT display (#PCDATA) >
<! ELEMENT dist (#PCDATA) >
<! ELEMENT gen (#PCDATA) >
<! ELEMENT inf (#PCDATA) >
<! ELEMENT mod (#PCDATA) >
<! ELEMENT num (#PCDATA) >
<! ELEMENT orth (#PCDATA) >
<! ELEMENT per (#PCDATA) >
<! ELEMENT pol (#PCDATA) >
<! ELEMENT tns (#PCDATA) >
© Lo Congrès Permanent de la Lenga Occitana, 2017, all rights reserved - Contact Lo Congrès