### Development Setup for Jambo API Source: https://github.com/jambostack/jambo-api/blob/main/CONTRIBUTING.md Clone the repository, install dependencies, configure environment variables, run database migrations, set up the application, and start the development server. ```bash git clone https://github.com/jambostack/jambo-api.git cd jambo-api composer install npm install cp .env .env.local # set your DATABASE_URL and APP_SECRET php bin/console doctrine:migrations:migrate php bin/console app:setup # creates the first admin user npm run dev # build frontend assets symfony serve # or use your local web server ``` -------------------------------- ### Database and Application Setup Source: https://github.com/jambostack/jambo-api/blob/main/README.md Create the database, run migrations, set up the admin account, and start the development server. ```bash php bin/console doctrine:database:create php bin/console doctrine:migrations:migrate php bin/console app:setup # creates your admin account symfony serve ``` -------------------------------- ### Clone Repository and Install Dependencies Source: https://github.com/jambostack/jambo-api/blob/main/README.md Clone the Jambo API repository and install backend and frontend dependencies. ```bash git clone https://github.com/jambostack/jambo-api.git cd jambo-api composer install npm install && npm run build ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/jambostack/jambo-api/blob/main/README.md Copy the example environment file and update essential variables for application secrets, database connection, and hostname. ```env APP_SECRET=change-this-to-a-strong-random-value DATABASE_URL="mysql://user:password@127.0.0.1:3306/jambo?serverVersion=8.0.32&charset=utf8mb4" APP_HOSTNAME=yourdomain.com ``` -------------------------------- ### Retrieve Single Entry API Endpoint Source: https://github.com/jambostack/jambo-api/blob/main/README.md Use this GET request to retrieve a specific entry from a collection within a project. ```bash GET /api/{project-uuid}/{collection}/{entry-uuid} ``` -------------------------------- ### List Published Entries API Endpoint Source: https://github.com/jambostack/jambo-api/blob/main/README.md Use this GET request to list published entries for a specific collection within a project, with options for locale and pagination. ```bash GET /api/{project-uuid}/{collection}?locale=en&page=1&per_page=20 ``` -------------------------------- ### Running Tests for Jambo API Source: https://github.com/jambostack/jambo-api/blob/main/CONTRIBUTING.md Execute the PHPUnit test suite to ensure code quality and functionality. All pull requests must pass these tests, and new features should include corresponding tests. ```bash ./vendor/bin/phpunit ``` -------------------------------- ### Configure MCP Server for AI Agents Source: https://github.com/jambostack/jambo-api/blob/main/README.md Configure your AI agent's settings to connect to Jambo API. This JSON configuration specifies the Jambo API endpoint URL and an authentication token. ```json { "jambo": { "url": "https://your-jambo.com/mcp", "token": "your-api-token" } } ``` -------------------------------- ### GraphQL Endpoint Source: https://github.com/jambostack/jambo-api/blob/main/README.md Allows executing GraphQL queries against the Jambo API. ```APIDOC ## POST /api/{project-uuid}/graphql ### Description Allows executing GraphQL queries against the Jambo API. ### Method POST ### Endpoint /api/{project-uuid}/graphql ### Request Body - **query** (string) - Required - The GraphQL query string. - **variables** (object) - Optional - Variables to be used with the query. ``` -------------------------------- ### API Authentication Header Source: https://github.com/jambostack/jambo-api/blob/main/README.md Include this header in your requests to authenticate with the API using a Bearer token. ```bash Authorization: Bearer YOUR_API_TOKEN ``` -------------------------------- ### GraphQL API Endpoint Source: https://github.com/jambostack/jambo-api/blob/main/README.md Send POST requests to this endpoint to interact with the GraphQL API. ```bash POST /api/{project-uuid}/graphql ``` -------------------------------- ### Retrieve Single Entry Source: https://github.com/jambostack/jambo-api/blob/main/README.md Fetches a single entry by its UUID from a specified collection within a project. ```APIDOC ## GET /api/{project-uuid}/{collection}/{entry-uuid} ### Description Fetches a single entry by its UUID from a specified collection within a project. ### Method GET ### Endpoint /api/{project-uuid}/{collection}/{entry-uuid} ### Parameters #### Path Parameters - **project-uuid** (string) - Required - The UUID of the project. - **collection** (string) - Required - The name of the collection. - **entry-uuid** (string) - Required - The UUID of the entry to retrieve. ``` -------------------------------- ### Authorization Header Source: https://github.com/jambostack/jambo-api/blob/main/README.md Specifies how to authorize API requests using a Bearer token. ```APIDOC ## Authorization ### Description To authorize your API requests, include the `Authorization` header with your Bearer token. ### Header Authorization: Bearer YOUR_API_TOKEN ``` -------------------------------- ### List Published Entries Source: https://github.com/jambostack/jambo-api/blob/main/README.md Retrieves a list of published entries for a specified collection within a project. Supports pagination and locale filtering. ```APIDOC ## GET /api/{project-uuid}/{collection} ### Description Retrieves a list of published entries for a specified collection within a project. Supports pagination and locale filtering. ### Method GET ### Endpoint /api/{project-uuid}/{collection} ### Parameters #### Query Parameters - **locale** (string) - Optional - The locale code for filtering entries (e.g., 'en'). - **page** (integer) - Optional - The page number for pagination. Defaults to 1. - **per_page** (integer) - Optional - The number of entries to return per page. Defaults to 20. ``` -------------------------------- ### Generate APP_SECRET Source: https://github.com/jambostack/jambo-api/blob/main/SECURITY.md Generate a strong and unique APP_SECRET for your Jambo API deployment. This secret is used for token signing and must be kept private. ```bash php -r "echo bin2hex(random_bytes(32));" ``` -------------------------------- ### TypeScript Type Checking Source: https://github.com/jambostack/jambo-api/blob/main/CONTRIBUTING.md Ensure there are no TypeScript errors before submitting changes. This command checks the TypeScript compilation without emitting JavaScript files. ```bash npx tsc --noEmit ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.