# info.description
Public, read-only profile and portfolio agent endpoints for gildrb.com. Versioned in the URL path (/api/v1/...); unversioned /api/... paths are stable aliases of v1. Breaking changes ship only under a new path version; deprecated paths answer with Deprecation and Sunset headers for at least 180 days before removal. Errors use RFC 9457 application/problem+json. Every response carries RateLimit-Limit and RateLimit-Policy headers (60 requests per 60 seconds); a 429 response additionally carries Retry-After. No authentication is required.

# paths./api/v1.get.description
Returns a JSON index of every versioned endpoint, its legacy alias, the OpenAPI description, and the MCP manifest location. Machine-verifiable API entry point.

# paths./api/profile.get.summary
Get the canonical JSON-LD profile (legacy alias)

# paths./api/profile.get.description
Unversioned legacy alias of /api/v1/profile. Responses carry Deprecation and Sunset headers; migrate to the versioned path before the Sunset date. See the versioning policy in the info.description.

# paths./api/profile.get.responses.200.headers.Deprecation.description
Signals the unversioned alias is superseded by /api/v1/profile.

# paths./api/profile.get.responses.200.headers.Sunset.description
Date after which this alias may stop answering.

# paths./api/status.get.description
Unversioned legacy alias of /api/v1/status. Responses carry Deprecation and Sunset headers; migrate to the versioned path before the Sunset date.

# paths./api/status.get.responses.200.headers.Deprecation.description
Signals the unversioned alias is superseded by /api/v1/status.

# paths./api/status.get.responses.200.headers.Sunset.description
Date after which this alias may stop answering.

# paths./api/v1/profile.get.description
Returns the structured identity and portfolio graph for Gil Rodrigues (gildrb) as JSON-LD. Equivalent to fetching /profile.json.

# paths./api/v1/status.get.description
Liveness probe for the public API. Returns service name, version, and an ISO-8601 timestamp.

# paths./mcp.post.summary
Send a JSON-RPC request to the MCP server

# paths./mcp.post.description
Stateless MCP Streamable HTTP endpoint implementing initialize, ping, tools/list, and tools/call for two read-only portfolio tools. Discover connection metadata at /.well-known/mcp/server-card.json.

# paths./mcp.post.requestBody.content.application/json.schema.properties.params.description
Method parameters; tools/call requires name and arguments

# paths./mcp.post.requestBody.content.application/json.schema.properties.params.properties.arguments.description
Tool arguments; get_portfolio_page requires slug

# paths./mcp.post.responses.200.content.application/json.schema.properties.result.description
Method result; tools/call returns content arrays

# paths./mcp.post.responses.202.description
Notification accepted with no response body

# components.headers.RateLimitLimit.description
Maximum requests per rate-limit window (RFC 9451 RateLimit fields).

# components.headers.RateLimitPolicy.description
Rate-limit policy expression (RFC 9451).

# components.headers.XApiVersion.description
API path version that served the request.

# components.schemas.Problem.description
RFC 9457 problem details error body returned by every 4xx and 5xx response.

# components.schemas.Problem.properties.type.description
Pointer to the human-readable error documentation.

# components.schemas.Problem.properties.title.description
Short machine-usable error label, stable across occurrences.

# components.schemas.Problem.properties.status.description
HTTP status code mirrored in the response.

# components.schemas.Problem.properties.detail.description
Human-readable explanation and a resolution hint.

# components.schemas.Problem.properties.instance.description
The request path that produced the error.

# components.schemas.ProfileGraph.description
JSON-LD identity graph; the root WebSite node references a schema:Person via @id nodes in @graph.

# components.schemas.ProfileGraph.properties.@graph.description
schema.org nodes: WebSite root, Person, and case-study CreativeWork entries.

# components.schemas.Status.properties.timestamp.description
Server time when the response was generated

# components.responses.Problem403.description
Origin not allowed by the MCP CORS policy

# components.responses.Problem405.description
HTTP method not allowed for this endpoint

# components.responses.TooManyRequests.description
Rate limit exceeded; retry after the indicated delay