v3.0.0
Welcome to the SignPuddle 3 API. The API is defined with two types of source, two types of documentation, and a live page of HTML and JavaScript.
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
The API is divided into several sections. This main document includes all of the sections. Each section is available separately as well.
The SignPuddle 3 server accepts HTTP request methods of GET, POST, PUT, and DELETE.
GET - retrieve information without altering the server
POST - add information to the server with each request
PUT - update information on the server
DELETE - remove information on the server.
The SignPuddle 3 server responds with status codes.
200 OK
201 Created
202 Accepted
204 No Content
300 Multiple Choices
304 No Modified
307 Temporary Redirect
308 Permanent Redirect
400 Bad Request
403 Forbidden
404 Not Found
409 Conflict
429 Too Many Requests
500 Internal Server Error
501 Not Implemented
503 Service Unavailable
Headers pass additional information about the request or response.
Content-Type - the MIME type of the response
ETag - an entity tag used to validate cached values
Expires - date after which response is stale
Location - used for redirect or for newly created resource
If-None-Match - request header compared to ETag value, response status 304 if matching
If-Modified-Since - request header, causes response status 304 if unmodified
Last-Modified - response header, used with If-Modified-Since request header
SignPuddle 3 collections are organized by country and language codes
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
List of countries with size and activity.
The available countries where signs are available.
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
BR
US
A string for accounting and validation
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{"pass": "90c19ce2076db097c75b3406e966a6b6","ip": "192.168.254.2"}
{"username":"anonymous","pass":"af77..."}
Headers |
---|
Validation of user with validated password
Headers | |
---|---|
Content-Type | application/json |
application/json
{"username":"anonymous","pass":"af77...","validated":"2793f..."}
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "name of the user"
},
"pass": {
"type": "string",
"description": "pass for session validation"
},
"validated": {
"type": "string",
"description": "validated pass mixed with password"
}
}
}
response text here
Headers | |
---|---|
Content-Type | application/json |
application/json
{"user-profile":""}
User details
Updates the profile of the user
Parameters | |||
---|---|---|---|
name |
string
slevinski
|
The name of a user |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Creates and returns a new user
Parameters | |||
---|---|---|---|
name |
string
slevinski
|
The name of a user |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
profile created and returned
User password resource
Updates the password of the user
Parameters | |||
---|---|---|---|
name |
string
slevinski
|
The name of a user |
Headers | |
---|---|
Content-Type | plain/text |
Pass | 5ffab638bde372b4fa63bb6f8484595d |
plain/text
{"old":"149603e6c03516362a8da23f624db945","new":"22af645d1859cb5ca6da0c484f1f37ea"}
Headers |
---|
Creates a temporary password for the user
Parameters | |||
---|---|---|---|
name |
string
slevinski
|
The name of a user |
Headers | |
---|---|
Content-Type | plain/text |
Pass | 5ffab638bde372b4fa63bb6f8484595d |
plain/text
null
Headers |
---|
Requests for email of username or password reset
User email requests for username or passwords
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[{"name":"slevinski","email":"slevinski@signwriting.org","temp":"username"}]
Forgot username email lookup
Creates a request for email of username
Parameters | |||
---|---|---|---|
email |
string
slevinski@signwriting.org
|
The email for a user |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Resources related to collections in general
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
Parameters | |||
---|---|---|---|
name |
string
sp3
|
partial collection name |
Headers | |
---|---|
Content-Type | text/plain |
text/plain
["en-US-interface-sp3"]
Specific collection
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of a collection |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Specific image for collection entry
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
ik |
string
11244
|
An id number or key string |
|
num |
string
1
|
The image number of 1 thru 4 |
Headers | |
---|---|
Content-Type | application/json |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
application/json
{
"file": "name.png",
"data": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD..."
}
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
ik |
string
11244
|
An id number or key string |
|
num |
string
1
|
The image number of 1 thru 4 |
Headers | |
---|---|
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers |
---|
Statistics about the collection
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of a dictionary |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[{"name": "en-US-interface-sp3","code": "ui1","title": "English Interface for SignPuddle 3","user": "slevinski","created_at": "","view_pass": 0,"add_pass": 1,"edit_pass": 1,"register_level": 0,"upload_level": 4}]
Security settings for all collections
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[{"name": "en-US-interface-sp3","code": "ui1","title": "English Interface for SignPuddle 3","user": "slevinski","created_at": "","view_pass": 0,"add_pass": 1,"edit_pass": 1,"register_level": 0,"upload_level": 4}]
Details about the collection security
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of the collection |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{"name": "en-US-interface-sp3","code": "ui1","title": "English Interface for SignPuddle 3","user": "slevinski","created_at": "","view_pass": 0,"add_pass": 1,"edit_pass": 1,"register_level": 0,"upload_level": 4}
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of the collection |
Headers | |
---|---|
Content-Type | text/plain |
Pass | 5ffab638bde372b4fa63bb6f8484595d |
text/plain
{"name": "en-US-interface-sp3","code": "ui1","title": "English Interface for SignPuddle 3","user": "slevinski","created_at": "","view_pass": 0,"add_pass": 1,"edit_pass": 1,"register_level": 0,"upload_level": 4}
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of the collection |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
collection name |
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[{"user": "test_user","security": 3}]
Headers | |
---|---|
Content-Type | text/plain |
text/plain
["es-US-interface-sp3"]
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
collection name |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[{"name": "test_user","display": "Test Editor","email": "testing@gmail.com","security": 3}]
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
collection name |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
{"user":"slevinski","security":4}
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
collection name |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
collection name |
|
user |
string
slevinski
|
user name |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
es-US-interface-sp3
|
The name of the new collection |
|
source |
string
en-US-interface-sp3
|
The name of the source collection |
Headers | |
---|---|
Pass | 5ffab638bde372b4fa63bb6f8484595d |
null
Headers |
---|
Resources related to interface collections
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
Parameters | |||
---|---|---|---|
name |
string
sp3
|
partial interface name |
Headers | |
---|---|
Content-Type | text/plain |
text/plain
["en-US-interface-sp3"]
Access to available interfaces
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
|
update |
number
1
|
Forces a rewrite of the interface for json and txt formats |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
print.buttons.main message description icon
Access to interface keys
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
["print.buttons.main"]
Search interface for text
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
|
text |
string
SignPuddle
|
The text for searching |
Headers | |
---|---|
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[
{
"key": "print.buttons.main",
"message": "Print it!"
}
]
Entries for interface
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
Headers | |
---|---|
Content-Type | application/json |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
application/json
{"key":"new.key.one", "message":"UI text","description":"about the text","icon":"search"}
Headers | |
---|---|
Content-Type | text/plain |
text/plain
...
Specific entries for interface
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
|
key |
string
system.button.open
|
The name of an interface key |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
...
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
|
key |
string
system.button.open
|
The name of an interface key |
Headers | |
---|---|
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
{"key":"new.key.one", "message":"UI text","description":"about the text","icon":"search"}
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
en-US-interface-sp3
|
The name of an interface |
|
key |
string
system.button.open
|
The name of an interface key |
Headers | |
---|---|
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers |
---|
Resources related to dictionary collections
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Dictionary and JavaScript
Parameters | |||
---|---|---|---|
name |
string
public
|
partial dictionary name |
Headers | |
---|---|
Content-Type | text/plain |
text/plain
["ase-US-dictionary-public"]
Access to available dictionaries
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
update |
number
1
|
Forces a rewrite of the dictionary for json and txt formats |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
1 𝠀𝠃𝤝𝤔𝣰𝣹𝤎𝤁𝣽𝤀 test zero test zero we are testing SignPuddle 1.6 Val ;-) {"video":"<iframe width=\"425\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/RTniYA1lTDM\" frameborder=\"0\" allowfullscreen><\/iframe>"} Val 2011-07-20T17:39:02Z 2011-07-20T17:42:09Z
The signs in the dictionary
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
𝠀𝠃𝤝𝤔𝣰𝣹𝤎𝤁𝣽𝤀
The signtexts in the dictionary
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
𝠀𝠃𝤝𝤔𝣰𝣹𝤎𝤁𝣽𝤀
Entries for dictionary
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
Headers | |
---|---|
Content-Type | application/json |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
application/json
{
"sign": "\ud836\udc03\ud836\udd44\ud836\udd19\ud8ef\udfa1\ud836\udcf4\ud836\udcf4\ud8dd\udc54\ud836\udcc8\ud836\udcfc\ud8dd\udc42\ud836\udd26\ud836\udcfa\ud8c8\uddd2\ud836\udd15\ud836\udcee\ud8c8\uddda\ud836\udce0\ud836\udcef",
"terms": [
"Malaysia"
],
"signtext": "",
"text": "",
"source": "Conference Maastricht",
"detail": {}
}
Headers | |
---|---|
Content-Type | text/plain |
text/plain
777
Specific entries for dictionary
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
id |
string
11244
|
An id numbers |
Headers | |
---|---|
Content-Type | application/json |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
application/json
{
"sign": "\ud836\udc03\ud836\udd44\ud836\udd19\ud8ef\udfa1\ud836\udcf4\ud836\udcf4\ud8dd\udc54\ud836\udcc8\ud836\udcfc\ud8dd\udc42\ud836\udd26\ud836\udcfa\ud8c8\uddd2\ud836\udd15\ud836\udcee\ud8c8\uddda\ud836\udce0\ud836\udcef",
"terms": [
"Malaysia"
],
"signtext": "",
"text": "",
"source": "Conference Maastricht",
"detail": {}
}
Headers |
---|
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
id |
string
11244
|
An id numbers |
Headers | |
---|---|
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers |
---|
Searching dictionary signs
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of a dictionary |
|
offset |
number
0
|
Start of search results |
|
limit |
number
10
|
Number of search results |
|
filter |
string
user=Val
|
restrict search results |
|
sort |
string
created_at
|
Field for sorting results |
|
results |
string
sign
|
Type of results: entries, sign, term, terms |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{
"total": 1,
"data": [
[
"1",
"\ud836\udc00\ud8cb\udc61\ud8c8\uddd9\ud8db\udfc3\ud836\udc03\ud836\udd1d\ud836\udd14\ud8c8\uddd9\ud836\udcf0\ud836\udcf9\ud8db\udfc3\ud836\udd0e\ud836\udd01\ud8cb\udc61\ud836\udcfd\ud836\udd00"
]
]
}
Specific entries for dictionary
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
id |
1
|
4,5 (string) - A list of one or more id numbers |
|
offset |
number
0
|
Start of search results |
|
limit |
number
10
|
Number of search results |
|
filter |
string
user=Val
|
restrict search results |
|
sort |
string
created_at
|
Field for sorting results |
|
results |
string
sign
|
Type of results: entries, sign, term, terms |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
[
{
"id": "1",
"sign": "\ud836\udc00\ud8cb\udc61\ud8c8\uddd9\ud8db\udfc3\ud836\udc03\ud836\udd1d\ud836\udd14\ud8c8\uddd9\ud836\udcf0\ud836\udcf9\ud8db\udfc3\ud836\udd0e\ud836\udd01\ud8cb\udc61\ud836\udcfd\ud836\udd00",
"terms": [
"test zero"
],
"lower": [
"test zero"
],
"signtext": "",
"text": "we are testing SignPuddle 1.6",
"source": "Val ;-)",
"detail": {
"video": "<iframe width=\"425\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/RTniYA1lTDM\" frameborder=\"0\" allowfullscreen><\/iframe>"
},
"user": "Val",
"created_at": "2011-07-20T17:39:02Z",
"updated_at": "2011-07-20T17:42:09Z"
}
]
Query string access to dictionary signs
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of a dictionary |
|
query |
string
Q
|
A query string |
|
offset |
number
0
|
Start of search results |
|
limit |
number
10
|
Number of search results |
|
filter |
string
user=Val
|
restrict search results |
|
sort |
string
created_at
|
Field for sorting results |
|
results |
string
sign
|
Type of results: entries, sign, term, terms |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{
"total": 1,
"data": [
[
"1",
"\ud836\udc00\ud8cb\udc61\ud8c8\uddd9\ud8db\udfc3\ud836\udc03\ud836\udd1d\ud836\udd14\ud8c8\uddd9\ud836\udcf0\ud836\udcf9\ud8db\udfc3\ud836\udd0e\ud836\udd01\ud8cb\udc61\ud836\udcfd\ud836\udd00"
]
]
}
Query string access to dictionary signtexts
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of a dictionary |
|
query |
string
Q
|
A query string |
|
offset |
number
0
|
Start of search results |
|
limit |
number
10
|
Number of search results |
|
filter |
string
user=Val
|
restrict search results |
|
sort |
string
created_at
|
Field for sorting results |
|
results |
string
sign
|
Type of results: entries, signtext, term, terms |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{
"total": 1,
"data": [
[
"1",
"\ud836\udc00\ud8cb\udc61\ud8c8\uddd9\ud8db\udfc3\ud836\udc03\ud836\udd1d\ud836\udd14\ud8c8\uddd9\ud836\udcf0\ud836\udcf9\ud8db\udfc3\ud836\udd0e\ud836\udd01\ud8cb\udc61\ud836\udcfd\ud836\udd00"
]
]
}
Search dictionary terms for text
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
text |
string
SignPuddle
|
The text for searching |
|
type |
string
exact
|
Type of search of start, end, or exact |
|
case |
number
0
|
Case sensitive search |
|
offset |
number
0
|
Start of search results |
|
limit |
number
10
|
Number of search results |
|
filter |
string
user=Val
|
restrict search results |
|
sort |
string
created_at
|
Field for sorting results |
|
results |
string
sign
|
Type of results: entries, sign, term, terms |
Headers | |
---|---|
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{
"total": 1,
"data": [
[
"1",
"\ud836\udc00\ud8cb\udc61\ud8c8\uddd9\ud8db\udfc3\ud836\udc03\ud836\udd1d\ud836\udd14\ud8c8\uddd9\ud836\udcf0\ud836\udcf9\ud8db\udfc3\ud836\udd0e\ud836\udd01\ud8cb\udc61\ud836\udcfd\ud836\udd00"
]
]
}
Create alphabet from dictionary signs
Parameters | |||
---|---|---|---|
name |
string
ase-US-dictionary-public
|
The name of an dictionary |
|
update |
number
1
|
Forces a rewrite of the alphabet |
Headers | |
---|---|
If-Modified-Since | 2019-01-16T16:56:19.175Z |
Pass | 724fd4b4438fba9d0c5ab89d0833e5c9 |
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
{"name": "ase-US-alphabet-public","data": []}
Resources related to tools
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
Headers | |
---|---|
Content-Type | text/plain |
text/plain
Available routes:
/tools/
/tools/test{?text}
/tools/define
/tools/define/{section}
/tools/define/{section}/{part}
/tools/parse{?text,utf}
/tools/encode{?text,slash}
/tools/decode{?text}
/tools/utf8{?text}
The definition tree for character mapping
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
{
"utf-8": {},
"utf-16": {},
"utf-32": {},
"fsw": {},
"swu": {},
"style": {}
}
A section of the definition tree
Parameters | |||
---|---|---|---|
section |
string
fsw
|
The name of section |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
{
"sign": [],
"spatial": [],
"symbol": [],
"coord": [],
"prefix": [],
"box": [],
"query": []
}
A part of the section definition
Parameters | |||
---|---|---|---|
section |
string
swu
|
The name of section |
|
part |
string
symbol
|
The part of the definition |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
[
"individual symbol",
"S10000",
"[\\x{40000}-\\x{4F428}]"
]
A function to analyze text and parse it into individual components
Parameters | |||
---|---|---|---|
text |
string
S10000
|
The text to parse |
|
utf |
string
32
|
The UTF number of 8, 16, 32 or ‘x’ |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
{
"fsw": {
"symbol": [
"S10000"
]
},
"query": {
"base": [
100
],
"symbol": [
"S10000"
]
}
}
A function to encode SignWriting in Unicode (SWU) as UTF-16
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The text to encode |
|
slash |
number
1
|
The number of slashes for escaping |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
\uD836\uDC00\uD8D8\uDD31\uD8E2\uDC23\uD8F4\uDE61\uD836\uDC03\uD836\uDD1B\uD836\uDD35\uD8F4\uDE61\uD836\uDCF4\uD836\uDCF5\uD8D8\uDD31\uD836\uDD0C\uD836\uDD06\uD8E2\uDC23\uD836\uDD09\uD836\uDD1A
A function to decode SignWriting in Unicode (SWU) from UTF-16
Parameters | |||
---|---|---|---|
text |
string
\uD836\uDC00
|
The text to decode |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
𝠀
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The text to encode |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
%F0%9D%A0%80%F1%86%84%B1%F1%88%A0%A3%F1%8D%89%A1%F0%9D%A0%83%F0%9D%A4%9B%F0%9D%A4%B5%F1%8D%89%A1%F0%9D%A3%B4%F0%9D%A3%B5%F1%86%84%B1%F0%9D%A4%8C%F0%9D%A4%86%F1%88%A0%A3%F0%9D%A4%89%F0%9D%A4%9A
A general purpose function for testing
Parameters | |||
---|---|---|---|
text |
string
S10000
|
Input for testing |
|
opt1 |
string
AS
|
Option one for testing |
|
opt2 |
string
AS
|
Option two for testing |
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
test output
Resources related to Formal SignWriting in ASCII (FSW)
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
Parameters | |||
---|---|---|---|
text |
string
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
|
The name of sign |
|
style |
boolean
true
|
Flag to include styling string |
null
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
Parameters | |||
---|---|---|---|
text |
string
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
|
The name of sign |
|
style |
number
1
|
Flag to include styling string |
null
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
transformation from ASCII to Unicode characters.
Parameters | |||
---|---|---|---|
text |
string
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
|
The name of sign |
null
requires font SuttonSignWritingOneD
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
Create a stand-alone SVG image using Formal SignWriting in ASCII (FSW)
Parameters | |||
---|---|---|---|
text |
string
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
|
The name of sign |
null
Headers | |
---|---|
Content-Type | image/svg+xml;charset=utf-8 |
image/svg+xml;charset=utf-8
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="39" height="64" viewBox="482 483 39 64">
<text style="font-size:0%;">AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520</text>
<svg x='482' y='483'><g transform="translate(0.149874875465,34.7500790925) scale(0.00988906872676,-0.00988956850125)"><path class="sym-line" fill="black" d="M1528 3484 c-592 -92 -1088 -447 -1348 -963 -125 -249 -180 -485 -180 -771 0 -480 183 -911 529 -1242 350 -336 780 -508 1271 -508 451 0 864 150 1193 434 326 281 517 620 591 1051 21 121 21 409 0 530 -43 252 -114 444 -237 639 -282 453 -741 750 -1284 831 -127 19 -413 18 -535 -1z m607 -173 c583 -126 1038 -523 1224 -1069 59 -173 75 -277 75 -492 0 -165 -3 -211 -22 -300 -71 -327 -228 -611 -458 -829 -186 -177 -381 -295 -614 -374 -176 -60 -282 -78 -490 -84 -247 -7 -416 19 -628 97 -549 201 -944 674 -1043 1250 -17 97 -17 383 0 480 99 576 495 1050 1043 1250 105 38 177 58 303 81 143 26 467 21 610 -10z M1720 1800 l0 -600 80 0 80 0 0 600 0 600 -80 0 -80 0 0 -600z"/></g></svg>
<svg x='506' y='500'><g transform="translate(0.0,15.0) scale(0.01,-0.01)"><path class="sym-fill" fill="white" d="M200 750 l0 -550 300 0 300 0 0 550 0 550 -300 0 -300 0 0 -550z"/><path class="sym-line" fill="black" d="M0 750 l0 -750 750 0 750 0 0 750 0 750 -750 0 -750 0 0 -750z m800 0 l0 -550 -300 0 -300 0 0 550 0 550 300 0 300 0 0 -550z"/></g></svg>
<svg x='503' y='520'><g transform="translate(0.196840829729,26.6999810561) scale(0.00975214136907,-0.00983390502079)"><path class="sym-line" fill="black" d="M345 2350 l-350 -350 325 -325 325 -325 -325 -325 -325 -325 353 -353 352 -352 0 303 0 302 350 0 350 0 0 100 0 100 -350 0 -350 0 0 550 0 550 350 0 350 0 0 100 0 100 -350 0 -350 0 -2 300 -3 300 -350 -350z M1600 1350 l0 -1350 100 0 100 0 0 1350 0 1350 -100 0 -100 0 0 -1350z"/></g></svg>
</svg>
Create an SVG with font using Formal SignWriting in ASCII (FSW)
Parameters | |||
---|---|---|---|
text |
string
AS20310S26b02S33100M521x547S33100482x483S20310506x500S26b02503x520
|
The name of sign |
null
Headers | |
---|---|
Content-Type | image/svg+xml;charset=utf-8 |
image/svg+xml;charset=utf-8
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="49" height="69" viewBox="476 466 49 69">
<text font-size="0">AS10011S10019S2e704S2e748M525x535S2e748483x510S10011501x466S2e704510x500S10019476x475</text>
<g transform="translate(483,510)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
<g transform="translate(501,466)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
<g transform="translate(510,500)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
<g transform="translate(476,475)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
</svg>
Resources related to Formal SignWriting in ASCII (SWU)
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The name of sign |
|
style |
number
1
|
Flag to include styling string |
null
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The name of sign |
|
style |
number
1
|
Flag to include styling string |
null
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The name of sign |
null
Headers | |
---|---|
Content-Type | text/plain;charset=utf-8 |
text/plain;charset=utf-8
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
Create a stand-alone SVG image using Formal SignWriting in ASCII (SWU)
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The name of sign |
null
Headers | |
---|---|
Content-Type | image/svg+xml;charset=utf-8 |
image/svg+xml;charset=utf-8
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="39" height="64" viewBox="482 483 39 64">
<text style="font-size:0%;">𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚</text>
<svg x='482' y='483'><g transform="translate(0.149874875465,34.7500790925) scale(0.00988906872676,-0.00988956850125)"><path class="sym-line" fill="black" d="M1528 3484 c-592 -92 -1088 -447 -1348 -963 -125 -249 -180 -485 -180 -771 0 -480 183 -911 529 -1242 350 -336 780 -508 1271 -508 451 0 864 150 1193 434 326 281 517 620 591 1051 21 121 21 409 0 530 -43 252 -114 444 -237 639 -282 453 -741 750 -1284 831 -127 19 -413 18 -535 -1z m607 -173 c583 -126 1038 -523 1224 -1069 59 -173 75 -277 75 -492 0 -165 -3 -211 -22 -300 -71 -327 -228 -611 -458 -829 -186 -177 -381 -295 -614 -374 -176 -60 -282 -78 -490 -84 -247 -7 -416 19 -628 97 -549 201 -944 674 -1043 1250 -17 97 -17 383 0 480 99 576 495 1050 1043 1250 105 38 177 58 303 81 143 26 467 21 610 -10z M1720 1800 l0 -600 80 0 80 0 0 600 0 600 -80 0 -80 0 0 -600z"/></g></svg>
<svg x='506' y='500'><g transform="translate(0.0,15.0) scale(0.01,-0.01)"><path class="sym-fill" fill="white" d="M200 750 l0 -550 300 0 300 0 0 550 0 550 -300 0 -300 0 0 -550z"/><path class="sym-line" fill="black" d="M0 750 l0 -750 750 0 750 0 0 750 0 750 -750 0 -750 0 0 -750z m800 0 l0 -550 -300 0 -300 0 0 550 0 550 300 0 300 0 0 -550z"/></g></svg>
<svg x='503' y='520'><g transform="translate(0.196840829729,26.6999810561) scale(0.00975214136907,-0.00983390502079)"><path class="sym-line" fill="black" d="M345 2350 l-350 -350 325 -325 325 -325 -325 -325 -325 -325 353 -353 352 -352 0 303 0 302 350 0 350 0 0 100 0 100 -350 0 -350 0 0 550 0 550 350 0 350 0 0 100 0 100 -350 0 -350 0 -2 300 -3 300 -350 -350z M1600 1350 l0 -1350 100 0 100 0 0 1350 0 1350 -100 0 -100 0 0 -1350z"/></g></svg>
</svg>
Create an SVG with font using Formal SignWriting in ASCII (SWU)
Parameters | |||
---|---|---|---|
text |
string
𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚
|
The name of sign |
null
Headers | |
---|---|
Content-Type | image/svg+xml;charset=utf-8 |
image/svg+xml;charset=utf-8
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="49" height="69" viewBox="476 466 49 69">
<text font-size="0">𝠀𝠃𝤛𝤵𝣴𝣵𝤌𝤆𝤉𝤚</text>
<g transform="translate(483,510)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
<g transform="translate(501,466)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
<g transform="translate(510,500)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
<g transform="translate(476,475)"><text class="sym-fill" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;fill:white;"></text><text class="sym-line" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;fill:black;"></text></g>
</svg>
ApiTxt uses eleven types of element to define an API.
root, group, route, parameter, method, request, response, header, line, code, and body.
Source: ApiTxt format and JSON objects
Documents: API Blueprint and Stand Alone HTML
Live Page: API Interface and JavaScript
Every document should start with a root element. After the root, the other elements are used to quickly create complex website APIs. The order of the lines matters and will effect the structure of the JSON objects.
There are two groups of elements, the frame elements and the detail elements. The frame elements structure a website api and the detail elements attach to a previous frame element.
There are six frame elements: root, group, route, method, request, and response. The lines are written in a specific order to create an array of JSON objects.
route organization
An ApiTxt document starts with a root, or an assumed root. Any route that occur before a group element, will be associated with the root. Groups are always associated with the root. Group elements can contain routes.
root
| - routes
| - groups
| - routes
route structure
A route can be associated with a variety of HTTP methods. Each method can have several requests and responses. Any response before a request will assume a generic request. Any response after a request will be associated with that request.
route
| - methods
| - responses
| - requests
| - responses
There are five detail elements: line, parameter, code, header, and body. The detail lines attach to a previous frame element if correctly structured.
single line elements
lines for all frame elements
parameters for route
code for method
body for request and response
headers for request and response
Every document should start with a root element.
root line
root <TAB> name <TAB> title <TAB> host
field 1 - name - uniquely identifies a document
field 2 - title - name of the document
field 3 - host - website URL
root example
root <TAB> apitxt <TAB> ApiTxt <TAB> https://signpuddle.com/apitxt
root line relationships
root
| - lines
| - routes
| - groups
root object
{
"root" : field[1],
"title" : field[2],
"host" : field[3],
"lines" : []
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
Every document should start with a root element.
**root line**
root name title host
+ field 1 - name - uniquely identifies a document
+ field 2 - title - name of the document
+ field 3 - host - website URL
**example**
root apitxt ApiTxt https://signpuddle.com/apitxt
**root line relationships**
```
root
| - lines
| - routes
| - groups
```
**root object**
```json
{
"root" : field[1],
"title" : field[2],
"host" : field[3],
"lines" : []
}
```
The group organizes resources into sections
group line
group <TAB> name <TAB> description
field 1 - name - the short name used for sections
field 2 - description - information about the group
group example
group <TAB> Section name <TAB> an example section
group line relationships
group
| - lines
| - routes
group object
{
"group" : field[1],
"description" : field[2],
"lines": []
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The group organizes resources into sections
**group line**
group name description
+ field 1 - name - the short name used for sections
+ field 2 - description - information about the group
**group example**
group Section name an example section
**group line relationships**
```
group
| - lines
| - routes
```
**group object**
```json
{
"group" : field[1],
"description" : field[2],
"lines": []
}
```
The route element allows access to a resource
route line
route <TAB> URI template <TAB> name <TAB> description
field 1 - URI template - a resource pattern with parameters
field 2 - name - the route name must be unique
field 3 - description - information about the resource
route example
route <TAB> /example <TAB> an example route <TAB> a description of the route
route line relationships
route
| - lines
| - parameters
| - methods
route object
{
"route" : field[1],
"name" : field[2],
"description" : field[3],
"lines": [],
"parameters": []
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The route element allows access to a resource
**route line**
route URI template name description
+ field 1 - URI template - a resource pattern with parameters
+ field 2 - name - the route name must be unique
+ field 3 - description - information about the resource
**route example**
route /example an example route a description of the route
**route line relationships**
```
route
| - lines
| - parameters
| - methods
```
**route object**
```json
{
"route" : field[1],
"name" : field[2],
"description" : field[3],
"lines": [],
"parameters": []
}
```
The parameter element is applied to the previous route
parameter line
parameter <TAB> name <TAB> example <TAB> type <TAB> description
field 1 - name - the name of a parameter for a route
field 2 - example - an example value for the parameter
field 3 - type - the parameter type, such as “string”, “number”, “boolean”, “string, optional”, “string, required”
field 4 - description - information about the parameter
parameter example
parameter <TAB> country_code <TAB> US <TAB> string <TAB> the country code of interest
parameter line relationships
parameter lines are added to a parameters array
parameters array
{"parameters":
[
{
"name" : " field[1],
"example" : field[2],
"type" : field[3],
"description" : field[4]
}
]
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The parameter element is applied to the previous route
**parameter line**
parameter name example type description
+ field 1 - name - the name of a parameter for a route
+ field 2 - example - an example value for the parameter
+ field 3 - type - the parameter type, such as "string", "number", "boolean", "string, optional", "string, required"
+ field 4 - description - information about the parameter
**parameter example**
parameter country_code US string the country code of interest
**parameter line relationships**
parameter lines are added to a parameters array
**parameters array**
```json
{"parameters":
[
{
"name" : " field[1],
"example" : field[2],
"type" : field[3],
"description" : field[4]
}
]
}
```
The method element represents an action that can be performed on a route
method line
method <TAB> HTTP method <TAB> name <TAB> description
field 1 - HTTP method - the type of action to perform: GET, POST, PUT, DELETE
field 2 - name - the name of the action
field 3 - description - information about the method
method example
method <TAB> GET <TAB> Get an example <TAB> This method retrieves an example document
method line relationships
method
| - lines
| - code
| - requests
| - responses
method object
{
"method" : field[1],
"name" : field[2],
"description" : field[3],
"lines" : [],
"code" : [],
"dialog" : [
{
"request" : {},
"responses" : []
}
]
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The method element represents an action that can be performed on a route
**method line**
method HTTP method name description
+ field 1 - HTTP method - the type of action to perform: GET, POST, PUT, DELETE
+ field 2 - name - the name of the action
+ field 3 - description - information about the method
**method example**
method GET Get an example This method retrieves an example document
**method line relationships**
```
method
| - lines
| - code
| - requests
| - responses
```
**method object**
```json
{
"method" : field[1],
"name" : field[2],
"description" : field[3],
"lines" : [],
"code" : [],
"dialog" : [
{
"request" : {},
"responses" : []
}
]
}
```
The request element is associated with a specific method and can be paired with multiple responses.
request line
request <TAB> name <TAB> type
field 1 - name - uniquely identifies a request
field 2 - type - the content type of the request body
request example
request <TAB> matching text within request body <TAB> plain/text
request line relationships
request
| - lines
| - headers
| - body
request object
{
"name" : field[1],
"type" : field[2],
"lines" : [],
"headers" : {},
"body" : []
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The request element is associated with a specific method and can be paired with multiple responses.
**request line**
request name type
+ field 1 - name - uniquely identifies a request
+ field 2 - type - the content type of the request body
**request example**
request matching text within request body plain/text
**request line relationships**
```
request
| - lines
| - headers
| - body
```
**request object**
```json
{
"name" : field[1],
"type" : field[2],
"lines" : [],
"headers" : {},
"body" : []
}
```
The response element is associated with a specific request, or associated with a specific method with an assumed generic request.
response line
response <TAB> status <TAB> type
field 1 - status - an HTTP response code indicating the status of the request
field 2 - type - the content type of the response body
response example
response <TAB> 200 <TAB> plain/text
response line relationships
response
| - lines
| - headers
| - body
response object
{
"status" : field[1],
"type" : field[2],
"lines" : [],
"headers" : {},
"body" : []
}
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The response element is associated with a specific request, or associated with a specific method with an assumed generic request.
**response line**
response status type
+ field 1 - status - an HTTP response code indicating the status of the request
+ field 2 - type - the content type of the response body
**response example**
response 200 plain/text
**response line relationships**
```
response
| - lines
| - headers
| - body
```
**response object**
```json
{
"status" : field[1],
"type" : field[2],
"lines" : [],
"headers" : {},
"body" : []
}
```
The header element is applied to a preceding route
header line
header <TAB> name <TAB> value
field 1 - name - the header variable name
field 2 - value - the header variable value
header example
header <TAB> X-Powered-By <TAB> ApiTxt
header object
{ field[1] : field[2] }
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The header element is applied to a preceding request or response
**header line**
header name value
+ field 1 - name - the header variable name
+ field 2 - value - the header variable value
**header example**
header X-Powered-By ApiTxt
**header object**
```json
{ field[1] : field[2] }
```
The body element adds contents to a preceding request or response.
The text of the body is everything after the string “body <TAB>“.
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The body element adds contents to a preceding request or response.
The text of the body is everything after the string "body <TAB>"
The line element adds additional text to frame elements.
For the root, group, route, method, request, and response, the lines add details to an element.
The text of the line is everything after the string “line <TAB>“.
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The line element adds additional text to frame elements.
For the root, group, route, method, request, and response, the lines add details to an element.
The text of the line is everything after the string "line <TAB>".
The code element adds functionality to the method element.
The code element contains programming text. ApiTxt comes integrated with the PHP project the Slim Framework v2. The conversion to working PHP adds boilerplate details for routes and method, with named parameters and query parameters available as functional variables.
The text of the code is everything after the string “code <TAB>“.
null
Headers | |
---|---|
Content-Type | text/plain |
text/plain
The code element adds functionality to the method element.
The code element contains programming text. ApiTxt comes integrated with the PHP project the Slim Framework v2. The conversion to working PHP adds boilerplate details for routes and method, with named parameters and query parameters available as functional variables.
The text of the code is everything after the string "code <TAB>".