epovest / epovest-php
The official PHP SDK for the Epovest API: measure how AI assistants answer the questions your market asks, and shape those answers.
Requires
- php: >=8.1
- php-http/discovery: ^1.19
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.1 || ^2.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.8
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^10.5 || ^11.0
- symfony/yaml: ^6.4 || ^7.0
Suggests
- guzzlehttp/guzzle: A PSR-18 client and PSR-17 factories, if your project has none yet
- symfony/http-client: The same, for a Symfony project
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-11-01 09:56:09 UTC
README
With Epovest, businesses make AIs recommend them. From the questions their customers ask to the sources that shape the answers, everything is measured, dated and verifiable. And everything leads to action: where to appear, what to fix, and proof of what changed.
This repository holds the official clients of the Epovest API, one per language. Each one covers the whole REST API v1, one method per route.
| Language | Package | Install | Source |
|---|---|---|---|
| JavaScript, TypeScript | epovest on npm |
npm install epovest |
js/ |
| Command line | the same npm package | npx epovest --help |
js/README.md |
| Python | epovest on PyPI |
pip install epovest |
python/ |
| PHP | epovest/epovest-php on Packagist |
composer require epovest/epovest-php |
php/ |
| Go | github.com/simafri/epovest-sdk/go |
go get github.com/simafri/epovest-sdk/go |
go/ |
The composer.json at the root is the manifest of the PHP package: Composer and Packagist read one
package from one repository, and its code lives in php/.
The Go module is addressed by its path rather than by a registry, so it is the directory itself that
publishes it: go/ here is github.com/simafri/epovest-sdk/go, and a version is the tag
go/vX.Y.Z. It carries no dependency at all, the standard library alone.
The same API is also a Postman collection, 70 requests ready to send: import it, set your key once, and every request inherits it.
They are generated, and that is the point
The API describes itself in OpenAPI 3.1, served at epovest.com/docs/openapi.json. Every client here is written from that one file: the types of each route and each object, the method per operation, its summary, the scope of API key it takes and the name of the matching MCP tool.
The epovest command comes from that same file: one command per route, its arguments, its flags and
the values each flag accepts, so epovest --help lists the API as the description declares it.
The continuous integration replays each generator and refuses a difference, so what is published is what the description says. One capability keeps one name across the REST API, the MCP server, the command line and every SDK: an agent that moves from one surface to another learns nothing twice.
The API in one minute
Authorization: Bearer epo_...
Keys belong to an Epovest account and are created by its owner in the app. Scopes are chosen at
creation: read, which every key has, and write, for creating and changing things.
The same surface is served as MCP tools at https://mcp.epovest.com/mcp, for agents that speak the
Model Context Protocol.
- API and MCP reference: epovest.com/docs/api.md
- OpenAPI 3.1 description: epovest.com/docs/openapi.json
- Task recipes for an agent: epovest.com/docs/recipes.md
- Connecting an assistant: epovest.com/docs/setup.md
Talking to us
Open an issue here for anything about these clients. For the API itself, POST /support/messages
(the contact_support tool) reaches the humans behind Epovest, and the answer comes back in the same
thread.
License
MIT. Epovest is a brand operated by Sels de Rehy, LLC, a limited liability company incorporated in the State of Delaware, United States.