When to Use: Fake REST APIs

OWT fakeAPIs is a free online REST API that you can use whenever you need some fake data. It is the best way to use and simple to test things locally.

Resources

OWT fakeAPIs comes with a set of 6 common resources:

Resource Description
/employees Fake JSON URL for 100 employees.
/projects Fake JSON URL for 500 projects.
/messages Fake JSON URL for 500 messages.
/albums Fake JSON URL for 200 albums.
/photos Fake JSON URL for 1000 photos.

Note: Resources have relations.

  • Employees have many projects, One employee can have many projects.
  • Projects have many messages, One project can have many messages.
  • Projects have many albums (album refers image gallery), One project can have many image galleries into it.
  • Albums have many photos, One album can have many photos into it.

Routes

OWT fakeAPIs comes with a wide range API routes because of it's strong relationship between resources. You can use routes with http request methods are GET, POST, PUT, PATCH, DELETE.

HTTP Method - GET

Request Method Route Description
GET /employees List all employees data.
GET /employees/1 Show single employee data.
GET /employees?id=1 Alternative route, show single employee data.
GET /employees/1/projects List all projects on the basis of employeed Id.
GET /projects?employeeId=1 Alternative route, list all projects on the basis of employeed Id.

Parameter Details

To use Fake APIs, please find parameter details.

Request Method Route Input (Headers / Body) Output
GET /employees --
                                            
{
    "error": 0,
    "msg": "data found",
    "data": [
        {
            "id": 1,
            "username": "ebahringer",
            "name": "Braulio Luettgen",
            "email": "kaela.turner@example.net",
            "gender": "Female",
            "designation": "Mean Stack Developer",
            "phone_number": "781.322.7616",
            "complete_address": "298 Edythe ..."
        },
        ...
    ]    
}
                                            
                                        
GET /employees/1 --
                                            
{
    "error": 0,
    "msg": "data found",
    "data": {
        "id": 1,
        "username": "ebahringer",
        "name": "Braulio Luettgen",
        "email": "kaela.turner@example.net",
        "gender": "Female",
        "designation": "Mean Stack Developer",
        "phone_number": "781.322.7616",
        "complete_address": "298 Edythe ..."
    }
}
                                            
                                        
GET /employees?id=1 --
                                            
{
    "error": 0,
    "msg": "data found",
    "data": {
        "id": 1,
        "username": "ebahringer",
        "name": "Braulio Luettgen",
        "email": "kaela.turner@example.net",
        "gender": "Female",
        "designation": "Mean Stack Developer",
        "phone_number": "781.322.7616",
        "complete_address": "298 Edythe ..."
    }
}
                                            
                                        
GET /employees/1/projects --
                                            
{
    "error": 0,
    "msg": "data found",
    "data": [
        {
            "id": 66,
            "employeeId": 1,
            "project_domain": "zemlak.com",
            "description": "Quisquam rem deserunt ...",
            "budget": "6984 USD",
            "time_estimate": "13 months"
        },
        ...
    ]    
}
                                            
                                        
GET /projects?employeeId=1 --
                                            
{
    "error": 0,
    "msg": "data found",
    "data": [
        {
            "id": 66,
            "employeeId": 1,
            "project_domain": "zemlak.com",
            "description": "Quisquam rem deserunt ...",
            "budget": "6984 USD",
            "time_estimate": "13 months"
        },
        ...
    ]    
}
                                            
                                        

Note*: All other APIs (HTTP - GET) given below are of same pattern, use and feel like a magic.

Request Method Route Description
GET /projects List all projects data.
GET /projects/1 Show single project data.
GET /projects?id=1 Alternative route, show single project data but within an array.
GET /projects/1/messages List all messages on the basis of project Id.
GET /messages?projectId=1 Alternative route, list all messages on the basis of project Id.
GET /projects/1/albums List all albums on the basis of project Id.
GET /albums?projectId=1 Alternative route, list all albums on the basis of project Id.
GET /messages List all messages data.
GET /messages/1 Show single message data.
GET /messages?id=1 Alternative route, show single message data but within an array.
GET /albums List all albums data.
GET /albums/1 Show single album data.
GET /albums?id=1 Alternative route, show single album data but within an array.
GET /albums/1/photos List all photos on the basis of album Id.
GET /photos?albumId=1 Alternative route, list all photos on the basis of album Id.
GET /photos List all photos data.
GET /photos/1 Show single photo data.
GET /photos?id=1 Alternative route, show photo album data but within an array.

HTTP Method - POST

Request Method Route Description
POST /employees POST employee data, needs to pass data into it.

Parameter Details

To use Fake APIs, please find parameter details.

Request Method Route Input (Headers / Body) Output
POST /employees

Header
Content-Type: application/json

Body
                                            
{
    "username": "sanjay_owt",
    "name": "Sanjay Kumar",
    "email": "sanjay@example.net",
    "gender": "Male",
    "designation": "Web Developer",
    "phone_number": "1234567890",
    "complete_address": "Sample, Test Address..."
}
                                            
                                        
                                            
{
    "error": 0,
    "msg": "data created",
    "data": {
        "username": "sanjay_owt",
        "name": "Sanjay Kumar",
        "email": "sanjay@example.net",
        "gender": "Male",
        "designation": "Web Developer",
        "phone_number": "1234567890",
        "complete_address": "Sample, Test Address...",
        "id": 101
    }
}
                                            
                                        

Note*: All other APIs (HTTP - POST) are of same pattern, use and feel like a magic.
Resource are not really posted or saved on the server but it will be faked as if.

Request Method Route Description
POST /projects POST project data, needs to pass data into it.
POST /messages POST message data, needs to pass data into it.
POST /albums POST album data, needs to pass data into it.
POST /photos POST photo data, needs to pass data into it.

HTTP Method - PUT

Request Method Route Description
PUT /employees/1 Update employee data on the basis of employeed ID, needs to pass data into it.

Parameter Details

To use Fake APIs, please find parameter details.

Request Method Route Input (Headers / Body) Output
PUT /employees/1

Header
Content-Type: application/json

Body
                                            
{
    "username": "jessy92",
    "name": "Jessy",
    "phone_number": "+918529637410",
    "complete_address": "Sample location"
}
                                            
                                        
                                            
{
    "error": 0,
    "msg": "data updated",
    "data": {
        "id": "1",
        "username": "jessy92",
        "name": "Jessy",
        "email": "kaela.turner@example.net",
        "gender": "Female",
        "designation": "Mean Stack Developer",
        "phone_number": "+918529637410",
        "complete_address": "Sample location"
    }
}
                                            
                                        

Note*: All other APIs (HTTP - PUT or PATCH) are of same pattern, use and feel like a magic.
Resource are not really updated on the server but it will be faked as if.

Request Method Route Description
PUT /projects/1 Update project data on the basis of project ID, needs to pass data into it.
PUT /messages/1 Update message data on the basis of message ID, needs to pass data into it.
PUT /albums/1 Update album data on the basis of album ID, needs to pass data into it.
PUT /photos/1 Update photo data on the basis of photo ID, needs to pass data into it.
PATCH /employees/1 Update employee data on the basis of employeed ID, needs to pass data into it.
PATCH /projects/1 Update project data on the basis of project ID, needs to pass data into it.
PATCH /messages/1 Update message data on the basis of message ID, needs to pass data into it.
PATCH /albums/1 Update album data on the basis of album ID, needs to pass data into it.
PATCH /photos/1 Update photo data on the basis of photo ID, needs to pass data into it.

HTTP Method - DELETE

Request Method Route Description
DELETE /employees/1 DELETE employee data on the basis of employeed ID.

Parameter Details

To use Fake APIs, please find parameter details.

Request Method Route Input (Headers / Body) Output
DELETE /employees/1 --
                                            
{
    "error": 0,
    "msg": "data deleted successfully",
    "data": []
}
                                            
                                        

Note*: All other APIs (HTTP - DELETE) are of same pattern, use and feel like a magic.
Resource are not really deleted from the server but it will be faked as if.

Request Method Route Description
DELETE /projects/1 DELETE project data on the basis of project ID.
DELETE /messages/1 DELETE message data on the basis of message ID.
DELETE /albums/1 DELETE album data on the basis of album ID.
DELETE /photos/1 DELETE photo data on the basis of photo ID.