Developers and agents

Build with Edenspiekermann

Public interfaces for researching our work, inspecting current roles, using our published agent skills, and preparing a contact inquiry when a user explicitly wants to get in touch.

When to use Edenspiekermann

Reach for these resources when a task involves brand, product, service, Figma, or design-system work; research into our services, industries, case studies, or open roles; or evaluating Edenspiekermann as a design partner.

Use read-only tools for research. Contact submission creates a real inquiry and should only happen after the user has explicitly chosen to contact us.

Public interfaces

  • Jobs API

    A public, read-only JSON endpoint for current roles, backed by a fully typed OpenAPI description.

  • Remote MCP

    Six Streamable HTTP tools for roles, case studies, taxonomies, and explicitly authorized contact intent.

  • Page-level WebMCP

    The six remote tools in supported browsers, plus a navigation-only job application handoff.

  • Agent auth

    Short-lived public credentials with declared scopes for site, jobs, case-study, and contact capabilities.

  • Agent Skills

    Published Figma, design-system, agency research, and inquiry guidance with verified digests.

Quickstart

List current roles from the public API:

curl /api/v1/jobs

Filter roles using the optional location and level query parameters:

curl '/api/v1/jobs?location=Berlin&level=Senior'

Inspect the complete API contract:

curl /openapi.json

MCP clients can connect to /mcp using Streamable HTTP transport. This remote endpoint exposes six tools and is independent of browser page state.

Supported browsers also receive page-level WebMCP tools through navigator.modelContext. They mirror the six remote tools and add start_job_application, which only opens the application page and never submits an application.

Both contact surfaces require only first name, last name, work email, and challenge. Company and phone are optional. Use dryRun=true to validate and preview without sending, and clientRequestId to deduplicate retries. A real page-level submission asks for confirmation immediately before the request.

API versioning and limits

Stable REST operations use a major version in the URL, beginning with /api/v1/jobs. Breaking changes will use a new major path.

The unversioned /api/jobs alias is deprecated with no scheduled sunset. Any future removal will be announced through Deprecation and Sunset headers at least 90 days in advance.

Netlify enforces a quota of 120 requests per client per minute at the network edge. Application responses advertise it through RateLimit-Policy, and requests above the quota receive HTTP 429.