canonical: https://jentic.com/apis/gorest.co.in/gorest

# GoRest API

Jentic publishes the only available OpenAPI specification for GoRest API, keeping it validated and agent-ready. GoRest is a free public REST API for testing, prototyping, and learning, exposing users, posts, comments, and todos resources with full CRUD coverage across 24 endpoints. Read operations are anonymous, while create, update, and delete require a bearer token issued from the GoRest dashboard. The data is shared and cleared periodically, so it should be treated as ephemeral.

## For AI agents

Practice CRUD against shared users, posts, comments, and todos resources for tutorials, prototypes, and integration testing using a bearer token.

## Scope

Does not handle authentication providers, real production data, or persistent storage - use for REST testing and prototyping only.

## Capabilities

- Create, list, read, update, and delete user records with email and gender fields
- Author posts attached to a specific user and paginate through them
- Add comments to a post and retrieve all comments for a given post id
- Manage todo items per user with status and due-date fields
- Filter and search list endpoints with query parameters such as name, email, and status
- Paginate large lists using page and per_page parameters
- Test bearer-token auth flows without provisioning a real backend

## Use cases

### Tutorial and Onboarding Sandbox

Use GoRest as a safe playground when teaching REST clients, OpenAPI tooling, or HTTP testing. Learners can hit /users, /posts, /comments, and /todos without setting up a backend, observe real status codes, and practice authenticated writes once they create a free token. Resources are shared so demos remain reproducible.

Example prompt: Create a user named Alice with email alice+test@example.com and gender female, then GET `/users/{id}` and verify the email matches.

### Integration Test Fixture

Wire GoRest into integration test suites that need to exercise pagination, filtering, and write paths against a live HTTP service. The 24 endpoints cover enough surface to validate retry logic, auth handling, and rate-limit behaviour without spinning up a private fixture. Tokens are free and easy to rotate.

Example prompt: POST a todo with title 'ship release' and status 'pending' under user id 17, then PATCH the todo to status 'completed' and assert the response code is 200.

### Client SDK Generation Demo

Generate clients from the GoRest OpenAPI spec to demo SDK tooling such as openapi-generator, oapi-codegen, or kiota. The schema is small enough to inspect end-to-end yet covers nested resources (posts under users, comments under posts, todos under users), making it a good showcase for path templating and auth handling.

Example prompt: Run openapi-generator-cli with the GoRest spec, build a Python client, and call client.users.list() to confirm the generated SDK works.

### AI Agent Prototype Loop

An AI agent prototype can use GoRest to validate end-to-end loops (search a tool, load a schema, execute a call) before pointing at a real API. Through Jentic, the agent searches by intent and exercises real HTTP traffic without risking production data, then swaps the endpoint for the production system once the loop works.

Example prompt: Search Jentic for 'create a user', load the GoRest POST /users schema, execute it with a synthetic record, and confirm the resource is retrievable.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/users` | List users with optional filters |
| POST | `/users` | Create a user |
| GET | `/users/{id}` | Retrieve a user by id |
| GET | `/users/{id}/posts` | List posts authored by a user |
| POST | `/posts` | Create a post |
| GET | `/posts/{id}/comments` | List comments on a post |
| POST | `/comments` | Create a comment |
| GET | `/todos` | List todos with status filters |

## Key resources

- **Users** — Create, list, read, update, and delete user records
- **Posts** — Manage posts attached to users
- **Comments** — Manage comments attached to posts
- **Todos** — Manage todo items per user with status and due dates

## Why Jentic

- **Setup:** Wiring the GoRest API by hand means provisioning a bearer token, attaching it to write calls, and matching resource paths against the gorest.co.in/public/v2 host. Through Jentic you install once, import the GoRest API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** The GoRest API puts the resource id in the URL path (`/users/{id}/posts`), so a rule can pin your agent to one user: it can read that user and their posts and nothing else. You choose the operations it may call, so creating users, posts, or comments is not included unless you add them.
- **Credential handling:** Your GoRest bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a test user' or 'list a user's posts', and Jentic returns the matching users or posts operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Mockaroo** — Generate realistic test data sets in JSON, CSV, or SQL
- **API Ninjas** — Collection of free utility APIs handy for prototypes
- **GitHub REST API** — Real-world REST API for production-quality client testing

## FAQ

### Why is there no official OpenAPI spec for GoRest API?

GoRest does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call GoRest API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the GoRest API use?

Read operations on /users, /posts, /comments, and /todos are anonymous. Writes require a bearer token issued from the GoRest dashboard, sent as Authorization: Bearer <token>. Through Jentic, the token is held in the encrypted vault and never appears in the agent's prompt.

### Is the GoRest API free?

Yes, GoRest is free for testing, prototyping, and learning. The data is shared across all users and reset periodically, so do not store anything you need to keep. There are reasonable rate limits documented on the GoRest site.

### Can I create test users and posts with the GoRest API?

Yes. POST /users creates a user with name, email, and gender fields. POST /posts attaches a post to a user_id. POST /comments attaches a comment to a post_id. All write paths require a bearer token and return the created resource with its assigned id.

### How do I integrate GoRest with an AI agent through Jentic?

Run pip install jentic, search 'create a user' to find POST /users, load the schema, and execute. Use GoRest to validate your agent's tool-calling loop against a safe sandbox before swapping in production endpoints. Get started with Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the GoRest API?

Yes. Because you run Jentic One yourself, your own rules decide which GoRest operations your agent may call and which credentials it may use. Since GoRest puts the resource id in the URL path, such as `/users/{id}/posts`, you can pin the agent to a single user so it only reads that user and their posts and nothing else. Write operations like creating users, posts, or comments stay off limits unless you explicitly add them to the agent's allowed set.
