Xpace Introduction Documents

Prepare Your Request

Before going through the rest of the documentation, we would like to let you know how to make full use of it.

First of all this is the Alpha version of the service and is still in testing phase. The ultimate goal of this service is help everyone reduce or replace the need for backend database, web hosting, and media storage. A lot more features are going to be added regularly once we make sure this part of the service is solid enough to go for production.
We provide no gurantees of any kind as a result of using this service in the current testing phase.

  • Database Structure

    • Database is documents collection based or records set based. Every project you create has its own databse.
    • You can create as many collections as you want inside each project's databse.
    • Each collection can has as many documents as you need.
    • Each document must be in a JSON based format.
    • You can query, add, update, delete all documents in a collection or parically.
    • You can restrict access to collections (reading|writing) by login or specific group.
  • Database, Collection and Document Limitations

    • Database name is created automatically when you create a new project. There is no need to use the databse name in your request. You just need to pass your project name with your request.
    • Collection name must be at least 6 charachters and not more than 64 chrachter. It must be unique inside your project and contains only a lphapitical charachters with underscore (_) if you need to.
    • The document content must be in JSON format. Each key in the JSON object must be less than 64 chrachters and ontains only alphapitical charachters with underscore (_) if you need to.
  • Storage Structure

    • Storage is folder based containers.
    • You can nest your folders based on your project's need.
    • You can upload any type of files or media.
    • You can upload multiple files and/or images at the same time.
    • You can restrict access to your storage (reading|writing) by login or specific group.
  • Storage Limitations and restrictions

    • Upload request must use POST method with 'multipart/form-data' content type.
    • You can't upload more than 10 files at the same time.
    • The total size per upload (one file or more) is 10MB.
    • You can download only one file or image per request.
    • Folder names accept alphanumirical charachters with spaces only.
    • Groups writing restrictions can be applied only on the first directory level.
  • Base URL for every request

    https://api.xbuffer.net/client/<user_name>/<project_name>/

    In some cases like siging up a new user or authenticate users to access restricted parts you need to add one url parameter to match the behaviour of the request.

    The basic anatomy of the url above that is mandatory in each and every request with the same order:

    • https://api.xbuffer.net This part is the server you redirct all requests to.
    • client/ is the API parameter that handels cleint's requests.
    • <user_name>/ is your current user name that was assigned to you when you subscribed to the serive.
    • <project_name>/ is the project name that you have created in your control panel.

    Optional parameters needed in specific cases. You have to add the parameter after <project_name>/ .You also can't use more than one in the sam url.

    • signup/ To be used when siging up new users.
    • auth/ To be used when your clients need to login before accessing your data.
    • verify/ This is going to be part of the link that is sent to your client to verfy their emails before start accessing your data.
  • Request Methods

    Request methods are somehow self explanitory. You'll find more details about each method and how to manipulate your requests based on the result you need.

    • GET The job of this method is send requests in many different ways to retieve required data or media. The page query offers in details how to use this method.
    • POST It does two main jobs. One is to create new document inside a seleted collection. The second job is to upload files and images to your storage folders. Using it can't be simpler. There is one more subjob is to add new key value pair inside a current object or array. You'll find more in create page.
    • PUT Use this method in case you need to amend current document parically or completly. Its job is to replace exisiting data with a new one. If you need to push more values to existing document, you need to use POST methos. Mosre about PUT method can be found in update page.
    • DELETE Once you decide that data or files are no longer needed, you can delete all documents in a collection, delete specific document, delete an object inside a document, or delete file or image. You can know more form delete page.
  • We hope you have best time enjoying developing using our service. Please be in touch in case you have any question, improvemtn, problem or advice. You can send us an email to:
    info@xpace.tech