Skip to main content

API Generation

Drafta automatically generates both REST and GraphQL APIs based on the defined schema. This allows users to interact with their data effortlessly without manually implementing an API.

API Generation Process​

When a schema is defined, Drafta processes it to create:

  • REST API: Standard endpoints for retrieving data.
  • GraphQL API: A flexible query interface for fetching data.

Example Schema:​

user:
id: string @id
name: string
email: string
age: number

REST API​

Drafta exposes RESTful endpoints based on schema definitions. The endpoint path matches the table name.

Example Endpoints for user:​

MethodEndpointDescription
GET/userFetch all users
GET/user?offset={offset}&limit={limit}Fetch users with pagination
GET/user/{id}Fetch a single user

Query Parameters for GET /user:​

  • offset (optional, integer) – The number of records to skip. Default is 0.
  • limit (optional, integer) – The maximum number of records to return. Default is 10.

Example Request (GET /user):​

[
{
"id": "1a2b3c",
"name": "Alice Johnson",
"email": "alice.johnson@example.com",
"age": 30
}
]

GraphQL API​

Drafta also generates a GraphQL API, allowing for more flexible queries.

Example Query:​

query {
user {
id
name
email
}
}

Example Query (With Pagination - offset & limit):​

query {
user(offset: 10, limit: 5) {
id
name
email
}
}

Query Parameters:​

  • offset (optional, integer) – The number of records to skip. Default is 0.
  • limit (optional, integer) – The maximum number of records to return. Default is 10.

Example Response:​

{
"data": {
"user": [
{
"id": "1a2b3c",
"name": "Alice Johnson",
"email": "alice.johnson@example.com"
}
]
}
}

Authentication​

By default, API access is secured using API Keys. Users must include an API Key in their requests to authenticate.

GraphQL Explorer​

Drafta provides an interactive GraphQL Explorer to help users test queries and view data structures easily. This tool enables intuitive API interaction without needing external tools.

Future Enhancements​

Users can extend API functionality by defining custom endpoints for specific business logic.

At present, Drafta supports only data retrieval via REST and GraphQL. Future updates will introduce the ability to modify data through REST and GraphQL, enabling full data management capabilities.