Agapi Platform Documentation
Central Backend Engine

Complete API Feature Catalogue

Every feature area exposed by the Symfony admin, member, and partner APIs, explained by purpose.

This page is the map of the Symfony API. It explains why each group exists and what kind of work it performs. Exact methods, fields, and response schemas come from the running OpenAPI document, because those details change more often than the business purpose.

Correct route boundaries

There is no /api/v1/admin or /api/v1/mobile prefix in this repository.

  • staff endpoints normally begin with /api/v1;
  • member endpoints begin with /api;
  • the two applications run as separate service contexts;
  • Swagger UI is available at /docs in the admin context;
  • machine-readable OpenAPI is available at /docs.json.

Protected calls use a bearer token. Login, health checks, provider webhooks, and selected public/integration routes have their own access rules; always confirm the generated specification and security configuration.

Admin API: access and platform control

Route groupWhy it existsMain capabilities
/api/v1/authLet staff sign in and recover access.Login, password reset, account token.
/api/v1/usersControl who may use the staff portal.List/get/create/update/deactivate users, current user, available roles.
/api/v1/app-versionsControl client update guidance.Read version settings and update iOS/Android thresholds.
/healthcheckLet operations verify that the HTTP application responds.Lightweight health response; not proof that every provider or job works.
/gitlabReturn configured runtime feature flags.Read flag state used by the current environment.

Admin API: members and organizations

Route groupWhy it existsMain capabilities
/api/v1/customersManage a member as one operational and financial account.Full/short lists, member with bookings/requests, create/update/deactivate, ratings, newsletter filters, fuel/engine/cash-point changes, invoice cancellation.
/api/v1/companiesRepresent operating/legal companies.List/get/create/update/deactivate.
/api/v1/regionsGroup places, access, currency, and regional settings.List active names, get/create/update/deactivate, return price categories.
/api/v1/locationsRepresent marinas or collection places.List active names, get/create/update/deactivate.

Admin API: fleet and service

Route groupWhy it existsMain capabilities
/api/v1/boatsManage physical boats and their operational state.List/get/create/update/deactivate, active bookings, availability, private/short lists, issues, service data and service check-ins.
/api/v1/boat-modelsReuse specifications and member information across similar boats.List/get/create/update/deactivate.
/api/v1/frogsStandardize issue categories.List/get/create/update/deactivate categories.
/api/v1/checklist-itemsDefine reusable trip/service checks.List/get/create/update/deactivate.
/api/v1/facilitiesDefine facilities/items used around locations and handover.List/get/create/update/deactivate.
/api/v1/extra-servicesDefine optional services that bookings may use.List/get/create/update/deactivate.
/api/v1/phonesMaintain support contact entries.List/get/create/update/deactivate.
/api/v1/videosMaintain tutorial/video records.List/get/create/update/deactivate.
/api/v1/filesResolve uploaded media used by other records.Get file information by ID.

Admin API: bookings and requests

Route groupWhy it existsMain capabilities
/api/v1/bookingsManage confirmed trips and blocked boat time.Search/list/get/create/update/partial update/delete/deactivate, status list/current state, check-in/out fields, dashboards, service-request approval/solve, linked issues and history.
/api/v1/booking-requestsManage demand that is not yet a confirmed booking.List/get/create/deactivate, allowed states, set solved/unsolved/cancelled state.
/api/v1/booking-historyExplain how a booking changed.Retrieve a history record; booking detail also exposes related history.

Booking creation, request solving, status change, check-in/out, and payment are different operations. Clients should not collapse them into one generic update.

Admin API: pricing, payments, and reporting

Route groupWhy it existsMain capabilities
/api/v1/pricesMaintain price records used by booking/category rules.List/get/create/update/deactivate.
/api/v1/vatsMaintain company/region tax rules and Stripe tax links.List/create/update/deactivate and synchronize supported tax data.
/api/v1/paymentsTurn agreed amounts into Stripe invoices/subscriptions and process later outcomes.Send/cancel invoices, fuel invoice, create/cancel subscription, webhook, currency and interval lists.
/api/v1/reportsAnswer defined operational/financial questions.Booking, boat, issue, receipt, fuel, member, intracompany, payment, activation, and cash-point reports plus supported exports.

Admin API: communication and integrations

Route groupWhy it existsMain capabilities
/api/v1/notificationsSend targeted messages and inspect results.Newsletter create/send, push, SMS, success/failure lists, push reports, notification list.
/api/v1/integrationsShow enabled external connections to staff.List configured integrations and return an approved external URL.
/api/v1/public/{integrationId}Let an approved partner work with a limited booking surface.Create/update/cancel/confirm/get booking, list resources, check occupancy, exchange SSO code.

The partner API is scoped by its integration ID and credentials. It must not be treated as an unauthenticated copy of the staff API.

Member API

The Symfony member API is intentionally smaller than the compatibility API.

PathWhy a member client uses it
/api/login, /serviceLogin, /logoutStart or end a member/service session.
/api/request-password-reset, /set-new-passwordRecover account access.
/api/device-tokenRegister a device for push delivery.
/api/profileRead the current member profile.
/api/profile/fuelRead fuel balance/transaction information.
/api/profile/engine-hoursRead engine-hour balance/transactions.
/api/profile/cashpointsRead cash-point balance/transactions.
/api/profile/filter-settingsSave preferred location/region/spontaneous filters.
/api/regionsList regions available to the member.
/api/locations, /api/locations/{id}List or open service places.
/api/customer-companyReturn the company context for the signed-in member.
/api/categoriesReturn fleet categories for client selection.
/api/resource-types/{id}Return one boat/model type.
/api/resources/{id}Return one boat.
/api/bookingsReturn the member's bookings, optionally filtered by state.
/api/bookings/my-trip/{id}Return one trip belonging to the member.
/api/bookings/my-trips/{limit}/{offset}Page through the member's trips.
/api/tutorialsReturn tutorial content.
/api/app-versionReturn update/force-update information.
/healthcheckConfirm that the member HTTP context responds.

Booking creation, cancellation, availability, check-in/out, maps, notifications, and several payment actions still exist in the compatibility API. Do not invent Symfony member endpoints for them.

How to use OpenAPI safely

  1. Open /docs in the correct running admin environment.
  2. Find the tag and route group from this catalogue.
  3. Check method, authentication, path/query parameters, request schema, and all documented response codes.
  4. Use test data in the correct account/company.
  5. For a change, update controller attributes, DTO validation, business code, and tests together.

Never copy example bearer tokens, passwords, provider keys, or real member data into documentation or tickets.

On this page