{"name":"Boatwork","description":"Marine contractor network API. Search, filter, and retrieve verified marine service professionals across the United States.","url":"https://boatwork.co","provider":{"organization":"Boatwork Co.","url":"https://boatwork.co","contact":"support@boatwork.co"},"version":"0.1.0","documentationUrl":"https://developers.boatwork.co","capabilities":{"contractor_search":{"description":"Search marine contractors by keyword, specialty, location, or geo-coordinates.","status":"available","endpoint":"https://boatwork.co/api/v1/public/contractors/search"},"contractor_profile":{"description":"Retrieve a full contractor profile including ratings, reviews, specialties, and contact info.","status":"available","endpoint":"https://boatwork.co/api/v1/public/contractors/{slug}"},"geo_search":{"description":"Find contractors within a radius of a latitude/longitude coordinate.","status":"available","endpoint":"https://boatwork.co/api/v1/public/contractors/geo-search"},"specialties":{"description":"List all marine service specialties (e.g. hull cleaning, engine repair, yacht management).","status":"available","endpoint":"https://boatwork.co/api/v1/public/contractors/specialties"},"articles":{"description":"Retrieve marine industry articles and guides.","status":"coming_soon","endpoint":"https://boatwork.co/api/v1/content/articles"},"blog":{"description":"Retrieve blog posts about marine services and industry news.","status":"coming_soon","endpoint":"https://boatwork.co/api/v1/content/blog"}},"authentication":{"type":"bearer","instructions":"Request an API key at https://developers.boatwork.co. Pass it as: Authorization: Bearer bw_public_your_key"},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"admin":{"registrationUrl":"https://boatwork.co/agents/register","internalApiBase":"https://boatwork.co/api","adminDocsUrl":"https://boatwork.co/admin/docs","adminDocsApiUrl":"https://boatwork.co/api/admin/docs","keyManagementUrl":"https://boatwork.co/account/api-keys","selfInfoUrl":"https://boatwork.co/api/account/me","signInUrl":"https://boatwork.co/api/auth/signin","authMethods":["session-cookie","bearer-token"],"keyFormat":"bw_live_*","headerName":"Authorization","headerValue":"Bearer <bw_live_*>","bootstrapRecipe":["1. POST /api/auth/signin with credentials (email + password) → session cookie","2. GET /account/api-keys → redirects to your user-scoped keys page","3. Mint a new key (one-shot display of the plaintext bw_live_* value)","4. Set Authorization: Bearer <key> on subsequent requests","5. GET /admin/docs for human-readable docs; the OpenAPI spec lives at /api/openapi.json"]},"agent":{"whoamiUrl":"https://boatwork.co/api/v1/agent/whoami","apiSpecUrl":"https://boatwork.co/api/agent/openapi.json","keyMintUrl":"https://boatwork.co/api/admin/contractors/{contractorId}/agent-keys","authMethod":"bearer-token","keyFormat":"bw_live_*","bindingNote":"Each agent key is bound to a single Contractor. The api-auth guard rejects any path id that does not match. Use /api/v1/agent/whoami to discover the bound contractorId before issuing writes."}}