Skip to Content
DocsAPI ReferenceREST API

REST API Reference

The Ycode public v1 API provides programmatic access to collections, items, forms, and submissions. Use it to build custom integrations, sync data, or power external applications.

Base URL

https://your-project.ycode.dev/ycode/api/v1

Replace your-project with your project subdomain or custom domain.

Authentication

All requests require a Bearer token (API key) in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Create API keys in project settings under Integrations > API Keys. Invalid or missing keys return 401 Unauthorized.

Request Format

  • Content-Type: application/json for request bodies
  • Accept: application/json for responses

Response Format

Successful responses return JSON. List endpoints include pagination metadata:

{ "data": [...], "meta": { "total": 42, "page": 1, "per_page": 20 } }

Single-resource endpoints return the resource directly or wrapped in a data key depending on the endpoint.

Error Handling

Errors return appropriate HTTP status codes with a JSON body:

{ "error": { "code": "NOT_FOUND", "message": "The requested resource was not found." } }
StatusMeaning
400Bad Request — Invalid parameters or body
401Unauthorized — Missing or invalid API key
403Forbidden — Valid key but insufficient permissions
404Not Found — Resource does not exist
422Unprocessable Entity — Validation failed
500Server Error — Internal error

Collections Endpoints

MethodEndpointDescription
GET/collectionsList all collections
GET/collections/:idGet a single collection
GET/collections/:id/itemsList items in a collection (supports pagination and filtering)
GET/collections/:id/items/:itemIdGet a single item

List Collections

GET /ycode/api/v1/collections

Returns all collections in the project.

Get Collection

GET /ycode/api/v1/collections/:id

Returns a single collection by ID, including field definitions.

List Items

GET /ycode/api/v1/collections/:id/items

Query parameters:

ParameterTypeDescription
pagenumberPage number (default: 1)
per_pagenumberItems per page
filterobjectField filters (format depends on implementation)

Get Item

GET /ycode/api/v1/collections/:id/items/:itemId

Returns a single collection item by ID.

Forms Endpoints

MethodEndpointDescription
GET/formsList all forms
GET/forms/:idGet a single form
GET/forms/:id/submissionsList form submissions
POST/forms/:id/submissionsCreate a new submission
GET/forms/:id/submissions/:submissionIdGet a single submission

List Forms

GET /ycode/api/v1/forms

Returns all forms in the project.

Get Form

GET /ycode/api/v1/forms/:id

Returns a single form by ID, including field definitions.

List Submissions

GET /ycode/api/v1/forms/:id/submissions

Returns submissions for the form. Supports pagination.

Create Submission

POST /ycode/api/v1/forms/:id/submissions

Body: JSON object with form field names as keys and submitted values. Creates a new submission.

Get Submission

GET /ycode/api/v1/forms/:id/submissions/:submissionId

Returns a single submission by ID.

Tip

Use the POST submissions endpoint to submit forms from external applications or custom frontends. Ensure field names match the form configuration.

Last updated on