{"openapi":"3.1.0","info":{"title":"Phil Smith CV API","version":"v1","summary":"Versioned public CV API with content negotiation, ranked search, and deterministic job-description matching.","description":"Canonical endpoints live under /api/v1. Unversioned /api aliases were deprecated on 2026-04-02 and are scheduled to sunset on 2027-03-31. The API supports application/json, recruiter-view vendor JSON, and JSON Resume representations on /api/v1/cv. Legacy aliases emit Deprecation and Sunset headers pointing to their versioned successor.","contact":{"name":"Phil Smith","url":"https://n7.nz"},"license":{"name":"UNLICENSED","identifier":"UNLICENSED"}},"servers":[{"url":"https://www.n7.nz","description":"Production"}],"externalDocs":{"description":"Interactive API documentation","url":"https://www.n7.nz/api-docs"},"tags":[{"name":"CV","description":"Structured public CV resources"},{"name":"Matching","description":"Deterministic role-matching analysis"},{"name":"Meta","description":"Metadata, changelog, and API contract resources"},{"name":"Operational","description":"Operational health and service metadata"},{"name":"Private","description":"Authenticated recruiter-only resources"}],"security":[],"paths":{"/api/v1/cv":{"get":{"operationId":"getCv","tags":["CV"],"summary":"Get the canonical CV resource","description":"Returns the CV in one of three negotiated representations. `sections` and `fields` are available only for `application/json`.","parameters":[{"name":"sections","in":"query","required":false,"schema":{"type":"string"},"description":"Optional comma-separated section list. Available values: meta, summary, experience, skills, certifications, education, projects.","example":"meta,projects"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Optional comma-separated field projection list such as meta.name,meta.title,projects.name,projects.url.","example":"meta.name,meta.title,projects.name,projects.url"},{"name":"Accept","in":"header","required":false,"schema":{"type":"string","enum":["application/json","application/vnd.cvasapi.recruiter.v1+json","application/vnd.cvasapi.jsonresume.v1+json"]},"description":"Representation selector. Omit for `application/json`."}],"responses":{"200":{"description":"Negotiated CV representation","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CV"},{"type":"object","description":"Projected subset when sections or fields are specified.","additionalProperties":true}]},"examples":{"full":{"value":{"meta":{"name":"Phil Smith","title":"Senior Technical BA & Integration Analyst","location":"Wellington, New Zealand","email":"Philipsmith290@gmail.com","github":"https://github.com/PhiSmi","linkedin":"https://www.linkedin.com/in/phismi88/","domain":"n7.nz","lastUpdated":"2026-03-29"},"summary":"Senior Technical BA and Integration Analyst with 10+ years across NZ government, health, banking, and enterprise. Specialising in integration architecture, API design, and large-scale system modernisation. Building toward Solution Architect.","experience":[{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","programme":"HSAAP Programme","period":"Jun 2025 - Present","location":"Wellington","sector":"health","highlights":["Integration design across Claims Gateway - API design, incident resolution, reconciliation","Working across AWS, Salesforce, Java microservices, and Snowflake","System processes 120M+ transactions and $12B in funding annually"],"tech":["AWS","Salesforce","Snowflake","REST APIs","OpenAPI","Java","Postman"]},{"role":"Senior Technical BA","org":"Stats NZ","programme":"Survey Platform Modernisation","period":"Early 2025","location":"Wellington","sector":"government","highlights":["Requirements and integration analysis for survey platform rebuild","Stakeholder engagement across data collection, methodology, and IT teams","Mapping legacy survey workflows to modern cloud-native architecture"],"tech":["Azure","REST APIs","Jira","Confluence"]},{"role":"Data Migration Analyst","org":"Beca","programme":"Oracle Fusion Migration (25 countries)","period":"2024","location":"Wellington","sector":"enterprise","highlights":["Data migration and integration analysis for Oracle Fusion rollout across 25 countries","Designed data mapping and transformation rules for HR, finance, and project data","Worked with Oracle Cloud, Azure Databricks, and legacy ERP systems"],"tech":["Oracle Cloud","Azure Databricks","SQL","Python","REST APIs","Excel VBA"]},{"role":"Senior Technical BA","org":"NZ Customs","programme":"NZTD Programme","period":"2023 - 2024","location":"Wellington","sector":"government","highlights":["Led technical BA stream on NZ Trade Declaration programme","Integration design across Customs, MPI, and border agency systems","Programme won PMI Project of the Year 2025"],"tech":["AWS","REST APIs","OpenAPI","Azure DevOps","Sparx EA","ServiceNow"]},{"role":"Project BA","org":"ANZ Bank","programme":"BS11 Endeavour","period":"2021 - 2023","location":"Wellington","sector":"banking","highlights":["Business analysis for BS11 regulatory compliance programme","Requirements for outsourcing risk management and operational resilience","Stakeholder management across risk, compliance, technology, and vendor teams"],"tech":["Jira","Confluence","Power BI","SQL","ServiceNow","Datadog"]},{"role":"BA -> System Analyst -> Senior BA","org":"Immigration NZ, MBIE","programme":"Various programmes","period":"2015 - 2021","location":"Wellington","sector":"government","highlights":["Progressed from BA through to Senior BA across multiple immigration programmes","System analysis and requirements for visa processing and case management systems","Integration work across immigration, border, and identity systems","Led requirements streams for online visa application and employer accreditation"],"tech":["SQL","SOAP APIs","REST APIs","Azure DevOps","Jira","Confluence","BPMN","UML"]}],"skills":{"integration":["REST/SOAP APIs","OpenAPI/Swagger","Postman","Apicurio","Salesforce","API Gateway design"],"cloud":["AWS (CloudWatch, S3, IAM)","Azure (Databricks, DevOps)","Oracle Cloud"],"data":["SQL","Snowflake","Azure Databricks","Power BI","Python","Excel VBA/M"],"devops":["GitHub","Azure DevOps","Jira","Confluence","Datadog","ServiceNow"],"architecture":["Sparx EA","Lucidchart","BPMN","UML","ADRs","TOGAF (studying)"],"methodology":["Agile/Scrum","SAFe","Waterfall","BDD","Requirements engineering"]},"certifications":[{"name":"AWS Cloud Practitioner","year":2022,"status":"active"},{"name":"ICAgile ICP-APO","year":2020,"status":"active"},{"name":"Azure Fundamentals AZ-900","year":2020,"status":"active"},{"name":"Better Business Case - Foundation & Practitioner","year":2020,"status":"active"},{"name":"AWS Solutions Architect Associate","year":null,"status":"studying"},{"name":"TOGAF Foundation","year":null,"status":"studying"}],"education":[{"qualification":"Mastering Requirements Process","provider":"SoftEd","year":2020},{"qualification":"Agile BA / Senior BA","provider":"SoftEd","year":2020}],"projects":[{"name":"SecondBrain","description":"Personal RAG pipeline with ChromaDB and Claude API","tech":["Python","ChromaDB","Anthropic API","Streamlit"],"url":"#"},{"name":"ContractRadar","description":"NZ contract market intelligence tracker","tech":["Python","Supabase","Anthropic API","Streamlit"],"url":"#"},{"name":"GovRadar","description":"NZ government tender tracker and analyser","tech":["Python","Supabase","Anthropic API","Streamlit"],"url":"#"},{"name":"SpecCheck","description":"Open-source API contract testing CLI","tech":["Python","OpenAPI","jsonschema","Click"],"url":"#"},{"name":"IntegrationAtlas","description":"Interactive integration pattern reference","tech":["Next.js","React","SVG"],"url":"https://n7.nz/atlas"},{"name":"StatusPulse","description":"Uptime monitoring and public status page","tech":["Python","Supabase","GitHub Actions"],"url":"https://n7.nz/status"}]}},"projected":{"value":{"meta":{"name":"Phil Smith","title":"Senior Technical BA & Integration Analyst"},"projects":[{"name":"SecondBrain","url":"#"},{"name":"ContractRadar","url":"#"},{"name":"GovRadar","url":"#"},{"name":"SpecCheck","url":"#"},{"name":"IntegrationAtlas","url":"https://n7.nz/atlas"},{"name":"StatusPulse","url":"https://n7.nz/status"}]}}}},"application/vnd.cvasapi.recruiter.v1+json":{"schema":{"$ref":"#/components/schemas/RecruiterBrief"},"example":{"profile":{"name":"Phil Smith","title":"Senior Technical BA & Integration Analyst","location":"Wellington, New Zealand","email":"Philipsmith290@gmail.com","linkedin":"https://www.linkedin.com/in/phismi88/","github":"https://github.com/PhiSmi","summary":"Senior Technical BA and Integration Analyst with 10+ years across NZ government, health, banking, and enterprise. Specialising in integration architecture, API design, and large-scale system modernisation. Building toward Solution Architect.","last_updated":"2026-03-29"},"availability":{"status":"Open to direct recruiter conversations","markets":["health","government","enterprise","banking"],"work_preferences":["New Zealand permanent roles","Contract integration and technical BA engagements","Remote-friendly delivery where practical"]},"target_roles":["Senior Integration Analyst","Technical Business Analyst","API / Integration Lead","Solution Architecture pathway roles"],"differentiators":["Cross-sector experience spanning health, government, banking, and enterprise","Strong API, integration, and modernisation delivery focus","Comfortable bridging delivery teams, architecture, and stakeholders"],"highlights":[{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","period":"Jun 2025 - Present","sector":"health","programme":"HSAAP Programme","tech":["AWS","Salesforce","Snowflake","REST APIs","OpenAPI","Java","Postman"]},{"role":"Senior Technical BA","org":"Stats NZ","period":"Early 2025","sector":"government","programme":"Survey Platform Modernisation","tech":["Azure","REST APIs","Jira","Confluence"]},{"role":"Data Migration Analyst","org":"Beca","period":"2024","sector":"enterprise","programme":"Oracle Fusion Migration (25 countries)","tech":["Oracle Cloud","Azure Databricks","SQL","Python","REST APIs","Excel VBA"]},{"role":"Senior Technical BA","org":"NZ Customs","period":"2023 - 2024","sector":"government","programme":"NZTD Programme","tech":["AWS","REST APIs","OpenAPI","Azure DevOps","Sparx EA","ServiceNow"]}],"active_certifications":["AWS Cloud Practitioner","ICAgile ICP-APO","Azure Fundamentals AZ-900","Better Business Case - Foundation & Practitioner"],"selected_projects":[{"name":"SecondBrain","description":"Personal RAG pipeline with ChromaDB and Claude API","url":"#"},{"name":"ContractRadar","description":"NZ contract market intelligence tracker","url":"#"},{"name":"GovRadar","description":"NZ government tender tracker and analyser","url":"#"},{"name":"SpecCheck","description":"Open-source API contract testing CLI","url":"#"},{"name":"IntegrationAtlas","description":"Interactive integration pattern reference","url":"https://n7.nz/atlas"},{"name":"StatusPulse","description":"Uptime monitoring and public status page","url":"https://n7.nz/status"}],"recruiter_guidance":{"note":"This representation is intentionally concise and tailored for recruiter review rather than full public CV exploration.","secure_assets":{"json_resume_media_type":"application/vnd.cvasapi.jsonresume.v1+json","public_api_root":"/api/v1/cv"}}}},"application/vnd.cvasapi.jsonresume.v1+json":{"schema":{"$ref":"#/components/schemas/JsonResume"},"example":{"basics":{"name":"Phil Smith","label":"Senior Technical BA & Integration Analyst","email":"Philipsmith290@gmail.com","location":{"city":"Wellington","region":"Wellington","countryCode":"NZ"},"profiles":[{"network":"GitHub","url":"https://github.com/PhiSmi","username":"PhiSmi"},{"network":"LinkedIn","url":"https://www.linkedin.com/in/phismi88/","username":"phismi88"}],"summary":"Senior Technical BA and Integration Analyst with 10+ years across NZ government, health, banking, and enterprise. Specialising in integration architecture, API design, and large-scale system modernisation. Building toward Solution Architect."},"work":[{"name":"Te Whatu Ora - Health NZ","position":"Integration Analyst","startDate":"Jun 2025 - Present","summary":"HSAAP Programme","highlights":["Integration design across Claims Gateway - API design, incident resolution, reconciliation","Working across AWS, Salesforce, Java microservices, and Snowflake","System processes 120M+ transactions and $12B in funding annually"],"url":null},{"name":"Stats NZ","position":"Senior Technical BA","startDate":"Early 2025","summary":"Survey Platform Modernisation","highlights":["Requirements and integration analysis for survey platform rebuild","Stakeholder engagement across data collection, methodology, and IT teams","Mapping legacy survey workflows to modern cloud-native architecture"],"url":null},{"name":"Beca","position":"Data Migration Analyst","startDate":"2024","summary":"Oracle Fusion Migration (25 countries)","highlights":["Data migration and integration analysis for Oracle Fusion rollout across 25 countries","Designed data mapping and transformation rules for HR, finance, and project data","Worked with Oracle Cloud, Azure Databricks, and legacy ERP systems"],"url":null},{"name":"NZ Customs","position":"Senior Technical BA","startDate":"2023 - 2024","summary":"NZTD Programme","highlights":["Led technical BA stream on NZ Trade Declaration programme","Integration design across Customs, MPI, and border agency systems","Programme won PMI Project of the Year 2025"],"url":null},{"name":"ANZ Bank","position":"Project BA","startDate":"2021 - 2023","summary":"BS11 Endeavour","highlights":["Business analysis for BS11 regulatory compliance programme","Requirements for outsourcing risk management and operational resilience","Stakeholder management across risk, compliance, technology, and vendor teams"],"url":null},{"name":"Immigration NZ, MBIE","position":"BA -> System Analyst -> Senior BA","startDate":"2015 - 2021","summary":"Various programmes","highlights":["Progressed from BA through to Senior BA across multiple immigration programmes","System analysis and requirements for visa processing and case management systems","Integration work across immigration, border, and identity systems","Led requirements streams for online visa application and employer accreditation"],"url":null}],"education":[{"institution":"SoftEd","studyType":"Mastering Requirements Process","endDate":"2020"},{"institution":"SoftEd","studyType":"Agile BA / Senior BA","endDate":"2020"}],"certificates":[{"name":"AWS Cloud Practitioner","date":"2022","issuer":"Professional certification"},{"name":"ICAgile ICP-APO","date":"2020","issuer":"Professional certification"},{"name":"Azure Fundamentals AZ-900","date":"2020","issuer":"Professional certification"},{"name":"Better Business Case - Foundation & Practitioner","date":"2020","issuer":"Professional certification"},{"name":"AWS Solutions Architect Associate","date":null,"issuer":"Professional certification"},{"name":"TOGAF Foundation","date":null,"issuer":"Professional certification"}],"skills":[{"name":"integration","keywords":["REST/SOAP APIs","OpenAPI/Swagger","Postman","Apicurio","Salesforce","API Gateway design"]},{"name":"cloud","keywords":["AWS (CloudWatch, S3, IAM)","Azure (Databricks, DevOps)","Oracle Cloud"]},{"name":"data","keywords":["SQL","Snowflake","Azure Databricks","Power BI","Python","Excel VBA/M"]},{"name":"devops","keywords":["GitHub","Azure DevOps","Jira","Confluence","Datadog","ServiceNow"]},{"name":"architecture","keywords":["Sparx EA","Lucidchart","BPMN","UML","ADRs","TOGAF (studying)"]},{"name":"methodology","keywords":["Agile/Scrum","SAFe","Waterfall","BDD","Requirements engineering"]}],"projects":[{"name":"SecondBrain","description":"Personal RAG pipeline with ChromaDB and Claude API","url":null,"keywords":["Python","ChromaDB","Anthropic API","Streamlit"]},{"name":"ContractRadar","description":"NZ contract market intelligence tracker","url":null,"keywords":["Python","Supabase","Anthropic API","Streamlit"]},{"name":"GovRadar","description":"NZ government tender tracker and analyser","url":null,"keywords":["Python","Supabase","Anthropic API","Streamlit"]},{"name":"SpecCheck","description":"Open-source API contract testing CLI","url":null,"keywords":["Python","OpenAPI","jsonschema","Click"]},{"name":"IntegrationAtlas","description":"Interactive integration pattern reference","url":"https://n7.nz/atlas","keywords":["Next.js","React","SVG"]},{"name":"StatusPulse","description":"Uptime monitoring and public status page","url":"https://n7.nz/status","keywords":["Python","Supabase","GitHub Actions"]}]}}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}},"400":{"description":"Invalid representation or projection request","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/invalid-representation-query","title":"Invalid Representation Query","status":400,"detail":"Query shaping is only available for application/json responses","instance":"/api/v1/cv","request_id":"1c75a72c-448f-43f8-8b6f-e8d4081d3f6e","supported_media_types":["application/json","application/vnd.cvasapi.recruiter.v1+json","application/vnd.cvasapi.jsonresume.v1+json"]}}}},"406":{"description":"Unsupported Accept header","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/not-acceptable","title":"Not Acceptable","status":406,"detail":"This resource supports application/json, application/vnd.cvasapi.recruiter.v1+json, and application/vnd.cvasapi.jsonresume.v1+json.","instance":"/api/v1/cv","request_id":"ff5f3f6c-8408-49bb-9387-8b99e16f3f18","supported_media_types":["application/json","application/vnd.cvasapi.recruiter.v1+json","application/vnd.cvasapi.jsonresume.v1+json"]}}}}}}},"/api/v1/cv/meta":{"get":{"operationId":"getCvMeta","tags":["CV"],"summary":"Get top-level metadata","responses":{"200":{"description":"CV metadata","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Meta"},"example":{"name":"Phil Smith","title":"Senior Technical BA & Integration Analyst","location":"Wellington, New Zealand","email":"Philipsmith290@gmail.com","github":"https://github.com/PhiSmi","linkedin":"https://www.linkedin.com/in/phismi88/","domain":"n7.nz","lastUpdated":"2026-03-29"}}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}},"/api/v1/cv/summary":{"get":{"operationId":"getCvSummary","tags":["CV"],"summary":"Get the profile summary","responses":{"200":{"description":"Summary payload","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string"}},"required":["summary"]},"example":{"summary":"Senior Technical BA and Integration Analyst with 10+ years across NZ government, health, banking, and enterprise. Specialising in integration architecture, API design, and large-scale system modernisation. Building toward Solution Architect."}}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}},"/api/v1/cv/experience":{"get":{"operationId":"getCvExperience","tags":["CV"],"summary":"Get experience entries","parameters":[{"name":"sector","in":"query","required":false,"schema":{"type":"string","enum":["health","government","enterprise","banking"]},"description":"Optional sector filter.","example":"health"}],"responses":{"200":{"description":"Experience entries","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExperienceItem"}},"example":[{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","programme":"HSAAP Programme","period":"Jun 2025 - Present","location":"Wellington","sector":"health","highlights":["Integration design across Claims Gateway - API design, incident resolution, reconciliation","Working across AWS, Salesforce, Java microservices, and Snowflake","System processes 120M+ transactions and $12B in funding annually"],"tech":["AWS","Salesforce","Snowflake","REST APIs","OpenAPI","Java","Postman"]}]}}},"404":{"description":"Unknown sector","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/experience-not-found","title":"Experience Not Found","status":404,"detail":"No experience entries are available for sector 'retail'.","instance":"/api/v1/cv/experience","request_id":"db8cf8d4-e977-43bd-906f-4f765ffc24aa","sector":"retail","available":["health","government","enterprise","banking"]}}}}}}},"/api/v1/cv/skills":{"get":{"operationId":"getCvSkills","tags":["CV"],"summary":"Get skill groups","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["integration","cloud","data","devops","architecture","methodology"]},"description":"Optional skill-category filter.","example":"cloud"}],"responses":{"200":{"description":"Skills payload","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"example":{"cloud":["AWS (CloudWatch, S3, IAM)","Azure (Databricks, DevOps)","Oracle Cloud"]}}}},"404":{"description":"Unknown skill category","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/skill-category-not-found","title":"Skill Category Not Found","status":404,"detail":"The skill category 'security' is not defined in this CV.","instance":"/api/v1/cv/skills","request_id":"410459eb-f409-4d4b-b1be-1c71848690fa","category":"security","available":["integration","cloud","data","devops","architecture","methodology"]}}}}}}},"/api/v1/cv/certifications":{"get":{"operationId":"getCvCertifications","tags":["CV"],"summary":"Get certifications","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["active","studying"]},"description":"Optional certification-status filter.","example":"active"}],"responses":{"200":{"description":"Certification entries","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Certification"}},"example":[{"name":"AWS Cloud Practitioner","year":2022,"status":"active"},{"name":"ICAgile ICP-APO","year":2020,"status":"active"},{"name":"Azure Fundamentals AZ-900","year":2020,"status":"active"},{"name":"Better Business Case - Foundation & Practitioner","year":2020,"status":"active"}]}}},"404":{"description":"Unknown certification status","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/certification-status-not-found","title":"Certification Status Not Found","status":404,"detail":"No certifications are available with status 'expired'.","instance":"/api/v1/cv/certifications","request_id":"9e2df6e2-cfe2-4916-a0cb-392ef1a971b4","certification_status":"expired","available":["active","studying"]}}}}}}},"/api/v1/cv/education":{"get":{"operationId":"getCvEducation","tags":["CV"],"summary":"Get education entries","responses":{"200":{"description":"Education entries","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EducationItem"}},"example":[{"qualification":"Mastering Requirements Process","provider":"SoftEd","year":2020},{"qualification":"Agile BA / Senior BA","provider":"SoftEd","year":2020}]}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}},"/api/v1/cv/projects":{"get":{"operationId":"getCvProjects","tags":["CV"],"summary":"Get projects","responses":{"200":{"description":"Project entries","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":[{"name":"SecondBrain","description":"Personal RAG pipeline with ChromaDB and Claude API","tech":["Python","ChromaDB","Anthropic API","Streamlit"],"url":"#"},{"name":"ContractRadar","description":"NZ contract market intelligence tracker","tech":["Python","Supabase","Anthropic API","Streamlit"],"url":"#"}]}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}},"/api/v1/cv/search":{"get":{"operationId":"searchCv","tags":["CV","Meta"],"summary":"Search across the CV dataset","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2},"example":"aws integration"},{"name":"types","in":"query","required":false,"schema":{"type":"string"},"description":"Optional comma-separated search-type filter.","example":"experience,skills,projects"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20},"example":5}],"responses":{"200":{"description":"Ranked search results with facets","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"},"example":{"query":"aws integration","types":["experience","skills","projects"],"total_matches":8,"result_count":3,"facets":{"experience":5,"skills":2,"projects":1},"results":[{"id":"experience-0","type":"experience","title":"Integration Analyst","subtitle":"Te Whatu Ora - Health NZ | Jun 2025 - Present","path":"/api/cv/experience","score":43,"matched_terms":["aws","integration"],"snippet":"Integration Analyst","data":{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","programme":"HSAAP Programme","period":"Jun 2025 - Present","location":"Wellington","sector":"health","highlights":["Integration design across Claims Gateway - API design, incident resolution, reconciliation","Working across AWS, Salesforce, Java microservices, and Snowflake","System processes 120M+ transactions and $12B in funding annually"],"tech":["AWS","Salesforce","Snowflake","REST APIs","OpenAPI","Java","Postman"]}},{"id":"experience-3","type":"experience","title":"Senior Technical BA","subtitle":"NZ Customs | 2023 - 2024","path":"/api/cv/experience","score":31,"matched_terms":["aws","integration"],"snippet":"Integration design across Customs, MPI, and border agency systems","data":{"role":"Senior Technical BA","org":"NZ Customs","programme":"NZTD Programme","period":"2023 - 2024","location":"Wellington","sector":"government","highlights":["Led technical BA stream on NZ Trade Declaration programme","Integration design across Customs, MPI, and border agency systems","Programme won PMI Project of the Year 2025"],"tech":["AWS","REST APIs","OpenAPI","Azure DevOps","Sparx EA","ServiceNow"]}},{"id":"skills-integration","type":"skills","title":"integration skills","subtitle":"6 entries","path":"/api/cv/skills","score":20,"matched_terms":["integration"],"snippet":"integration skills","data":{"category":"integration","skills":["REST/SOAP APIs","OpenAPI/Swagger","Postman","Apicurio","Salesforce","API Gateway design"]}}]}}}},"400":{"description":"Invalid search query","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/invalid-search-query","title":"Invalid Search Query","status":400,"detail":"Provide a search query of at least 2 characters.","instance":"/api/v1/cv/search","request_id":"0e561bcb-97ca-4553-b893-c6df97d7b4e0","usage":"/api/v1/cv/search?q=aws integration&types=experience,skills&limit=5","available_types":["summary","experience","skills","certifications","education","projects"]}}}}}}},"/api/v1/cv/stats":{"get":{"operationId":"getCvStats","tags":["Meta"],"summary":"Get aggregate stats","responses":{"200":{"description":"Aggregate counts and metadata","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stats"},"example":{"last_updated":"2026-03-29","experience_roles":6,"sectors":["health","government","enterprise","banking"],"sector_count":4,"skill_categories":6,"total_skills":32,"certifications_total":6,"certifications_active":4,"certifications_studying":2,"projects_total":6,"education_total":2}}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}},"/api/v1/cv/match":{"post":{"operationId":"matchCv","tags":["Matching"],"summary":"Score a job description against the CV","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRequest"},"example":{"jd":"Senior Integration Analyst for a health programme using AWS, Salesforce, Snowflake, REST APIs, and OpenAPI."}}}},"responses":{"200":{"description":"Match result","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchResponse"},"example":{"match_score":96,"score_breakdown":{"skill":45,"sector":15,"seniority":10,"experience":26},"matched_skills":[{"skill":"REST/SOAP APIs","category":"integration"},{"skill":"Salesforce","category":"integration"},{"skill":"AWS (CloudWatch, S3, IAM)","category":"cloud"},{"skill":"Snowflake","category":"data"}],"missing_skills":[],"experience_relevance":[{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","period":"Jun 2025 - Present","relevance":85,"reasons":["Sector match: health","Tech overlap: AWS, Salesforce, Snowflake, REST APIs","Role similarity: integration, analyst"]},{"role":"Data Migration Analyst","org":"Beca","period":"2024","relevance":20,"reasons":["Tech overlap: REST APIs","Role similarity: analyst"]},{"role":"Senior Technical BA","org":"NZ Customs","period":"2023 - 2024","relevance":20,"reasons":["Tech overlap: AWS, REST APIs"]},{"role":"BA -> System Analyst -> Senior BA","org":"Immigration NZ, MBIE","period":"2015 - 2021","relevance":20,"reasons":["Tech overlap: REST APIs","Role similarity: analyst"]},{"role":"Senior Technical BA","org":"Stats NZ","period":"Early 2025","relevance":10,"reasons":["Tech overlap: REST APIs"]}],"sector_detected":"health","seniority_detected":"senior","profile_seniority":"senior","recommendation":"Strong match - skills, sector experience, and seniority line up well with this role."}}}},"400":{"description":"Invalid request body","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/invalid-match-request","title":"Invalid Match Request","status":400,"detail":"Provide a job description of at least 10 characters.","instance":"/api/v1/cv/match","request_id":"6fa70ef4-2d75-48d9-87e6-7ed5ab15a1d2","usage":"POST /api/v1/cv/match with {\"jd\":\"job description text\"}","legacy_get":"GET /api/v1/cv/match?jd=<url-encoded short text>"}}}}}},"get":{"operationId":"matchCvLegacy","tags":["Matching"],"summary":"Legacy short-input matcher","parameters":[{"name":"jd","in":"query","required":true,"schema":{"type":"string"},"description":"Short compatibility path. POST is preferred."}],"responses":{"200":{"description":"Match result","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchResponse"},"example":{"match_score":96,"score_breakdown":{"skill":45,"sector":15,"seniority":10,"experience":26},"matched_skills":[{"skill":"REST/SOAP APIs","category":"integration"},{"skill":"Salesforce","category":"integration"},{"skill":"AWS (CloudWatch, S3, IAM)","category":"cloud"},{"skill":"Snowflake","category":"data"}],"missing_skills":[],"experience_relevance":[{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","period":"Jun 2025 - Present","relevance":85,"reasons":["Sector match: health","Tech overlap: AWS, Salesforce, Snowflake, REST APIs","Role similarity: integration, analyst"]},{"role":"Data Migration Analyst","org":"Beca","period":"2024","relevance":20,"reasons":["Tech overlap: REST APIs","Role similarity: analyst"]},{"role":"Senior Technical BA","org":"NZ Customs","period":"2023 - 2024","relevance":20,"reasons":["Tech overlap: AWS, REST APIs"]},{"role":"BA -> System Analyst -> Senior BA","org":"Immigration NZ, MBIE","period":"2015 - 2021","relevance":20,"reasons":["Tech overlap: REST APIs","Role similarity: analyst"]},{"role":"Senior Technical BA","org":"Stats NZ","period":"Early 2025","relevance":10,"reasons":["Tech overlap: REST APIs"]}],"sector_detected":"health","seniority_detected":"senior","profile_seniority":"senior","recommendation":"Strong match - skills, sector experience, and seniority line up well with this role."}}}},"400":{"description":"Invalid input","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/invalid-match-request","title":"Invalid Match Request","status":400,"detail":"Provide a job description of at least 10 characters.","instance":"/api/v1/cv/match","request_id":"6fa70ef4-2d75-48d9-87e6-7ed5ab15a1d2","usage":"POST /api/v1/cv/match with {\"jd\":\"job description text\"}","legacy_get":"GET /api/v1/cv/match?jd=<url-encoded short text>"}}}}}}},"/api/v1/changelog":{"get":{"operationId":"getChangelog","tags":["Meta"],"summary":"Get API changelog and deprecation policy","responses":{"200":{"description":"API changelog","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"},"example":{"current_version":"v1","deprecation_policy":{"legacy_aliases_deprecated_on":"2026-04-02","legacy_aliases_sunset_on":"2027-03-31","compatibility":"Minor versions add fields and endpoints without removing existing versioned contracts."},"entries":[{"version":"v1.2.0","date":"2026-04-02","summary":"Versioned API release with richer protocol support.","changes":["Added canonical `/api/v1` routes with deprecation headers on legacy unversioned aliases.","Added content negotiation for standard JSON, recruiter view, and JSON Resume representations.","Added `application/problem+json` errors, request IDs, and `Server-Timing` metadata.","Added recruiter-only private brief endpoint and generated client/Postman assets.","Added OpenAPI governance checks for linting, validation, and breaking-change detection."]},{"version":"v1.1.0","date":"2026-04-01","summary":"Query shaping and search release.","changes":["Added partial-response shaping on `/api/cv` through `sections` and `fields`.","Added ranked `/api/cv/search` with typed facets and snippets.","Added conditional GET support with `ETag` and `Last-Modified`."]},{"version":"v1.0.0","date":"2026-03-29","summary":"Initial public CV API launch.","changes":["Published structured CV endpoints, OpenAPI document, and interactive docs UI.","Released deterministic job-description matcher and service status endpoint."]}]}}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}},"/api/v1/recruiter/brief":{"get":{"operationId":"getRecruiterBrief","tags":["Private"],"summary":"Get a recruiter-oriented private brief","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Recruiter brief","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecruiterBrief"},"example":{"profile":{"name":"Phil Smith","title":"Senior Technical BA & Integration Analyst","location":"Wellington, New Zealand","email":"Philipsmith290@gmail.com","linkedin":"https://www.linkedin.com/in/phismi88/","github":"https://github.com/PhiSmi","summary":"Senior Technical BA and Integration Analyst with 10+ years across NZ government, health, banking, and enterprise. Specialising in integration architecture, API design, and large-scale system modernisation. Building toward Solution Architect.","last_updated":"2026-03-29"},"availability":{"status":"Open to direct recruiter conversations","markets":["health","government","enterprise","banking"],"work_preferences":["New Zealand permanent roles","Contract integration and technical BA engagements","Remote-friendly delivery where practical"]},"target_roles":["Senior Integration Analyst","Technical Business Analyst","API / Integration Lead","Solution Architecture pathway roles"],"differentiators":["Cross-sector experience spanning health, government, banking, and enterprise","Strong API, integration, and modernisation delivery focus","Comfortable bridging delivery teams, architecture, and stakeholders"],"highlights":[{"role":"Integration Analyst","org":"Te Whatu Ora - Health NZ","period":"Jun 2025 - Present","sector":"health","programme":"HSAAP Programme","tech":["AWS","Salesforce","Snowflake","REST APIs","OpenAPI","Java","Postman"]},{"role":"Senior Technical BA","org":"Stats NZ","period":"Early 2025","sector":"government","programme":"Survey Platform Modernisation","tech":["Azure","REST APIs","Jira","Confluence"]},{"role":"Data Migration Analyst","org":"Beca","period":"2024","sector":"enterprise","programme":"Oracle Fusion Migration (25 countries)","tech":["Oracle Cloud","Azure Databricks","SQL","Python","REST APIs","Excel VBA"]},{"role":"Senior Technical BA","org":"NZ Customs","period":"2023 - 2024","sector":"government","programme":"NZTD Programme","tech":["AWS","REST APIs","OpenAPI","Azure DevOps","Sparx EA","ServiceNow"]}],"active_certifications":["AWS Cloud Practitioner","ICAgile ICP-APO","Azure Fundamentals AZ-900","Better Business Case - Foundation & Practitioner"],"selected_projects":[{"name":"SecondBrain","description":"Personal RAG pipeline with ChromaDB and Claude API","url":"#"},{"name":"ContractRadar","description":"NZ contract market intelligence tracker","url":"#"},{"name":"GovRadar","description":"NZ government tender tracker and analyser","url":"#"},{"name":"SpecCheck","description":"Open-source API contract testing CLI","url":"#"},{"name":"IntegrationAtlas","description":"Interactive integration pattern reference","url":"https://n7.nz/atlas"},{"name":"StatusPulse","description":"Uptime monitoring and public status page","url":"https://n7.nz/status"}],"recruiter_guidance":{"note":"This representation is intentionally concise and tailored for recruiter review rather than full public CV exploration.","secure_assets":{"json_resume_media_type":"application/vnd.cvasapi.jsonresume.v1+json","public_api_root":"/api/v1/cv"}}}}}},"401":{"description":"Missing or invalid bearer token","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Provide a valid bearer token to access the recruiter brief.","instance":"/api/v1/recruiter/brief","request_id":"6358cb8a-ee77-4c3a-b033-cdf4f0cbe29c"}}}},"503":{"description":"Private endpoint disabled","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"},"example":{"type":"https://www.n7.nz/problems/recruiter-brief-disabled","title":"Recruiter Brief Disabled","status":503,"detail":"This private recruiter endpoint is disabled because CVASAPI_RECRUITER_TOKEN is not configured.","instance":"/api/v1/recruiter/brief","request_id":"2f62db8c-2cd0-4d91-abcf-71e7b032ad7d","env_var":"CVASAPI_RECRUITER_TOKEN"}}}}}}},"/api/v1/status":{"get":{"operationId":"getStatus","tags":["Operational"],"summary":"Get operational deployment status","responses":{"200":{"description":"Operational service metadata","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"no-store"},"Cache-Control":{"schema":{"type":"string"},"example":"no-store"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"},"example":{"status":"ok","service":"cvasapi","version":"v1","profile_version":"2026-03-29","timestamp":"2026-04-02T00:00:00.000Z","docs_url":"/api-docs","openapi_url":"/api/v1/openapi","endpoints":{"cv":"/api/v1/cv","search":"/api/v1/cv/search","match":"/api/v1/cv/match","changelog":"/api/v1/changelog","recruiter_brief":"/api/v1/recruiter/brief","status":"/api/v1/status"}}}}}}}},"/api/v1/openapi":{"get":{"operationId":"getOpenApi","tags":["Meta"],"summary":"Get the generated OpenAPI document","responses":{"200":{"description":"OpenAPI document","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}},"content":{"application/json":{"schema":{"type":"object"}}}},"304":{"description":"Not modified","headers":{"X-API-Version":{"schema":{"type":"string"},"example":"v1"},"X-Request-Id":{"schema":{"type":"string"},"example":"6cbdbf99-f16f-4bf3-8908-66f14fcb3f86"},"Server-Timing":{"schema":{"type":"string"},"example":"app;dur=3.4"},"X-Response-Cache":{"schema":{"type":"string"},"example":"cacheable"},"Cache-Control":{"schema":{"type":"string"},"example":"public, max-age=0, s-maxage=86400, stale-while-revalidate=604800"},"ETag":{"schema":{"type":"string"},"example":"\"bbx0AnExampleETag\""},"Last-Modified":{"schema":{"type":"string"},"example":"Sun, 29 Mar 2026 00:00:00 GMT"}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Meta":{"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"location":{"type":"string"},"email":{"type":"string","format":"email"},"github":{"type":"string","format":"uri"},"linkedin":{"type":"string","format":"uri"},"domain":{"type":"string"},"lastUpdated":{"type":"string","format":"date"}},"required":["name","title","location","email","github","linkedin","domain","lastUpdated"]},"ExperienceItem":{"type":"object","properties":{"role":{"type":"string"},"org":{"type":"string"},"programme":{"type":"string"},"period":{"type":"string"},"location":{"type":"string"},"sector":{"type":"string","enum":["health","government","enterprise","banking"]},"highlights":{"type":"array","items":{"type":"string"}},"tech":{"type":"array","items":{"type":"string"}}},"required":["role","org","programme","period","location","sector","highlights","tech"]},"Skills":{"type":"object","properties":{"integration":{"type":"array","items":{"type":"string","enum":["REST/SOAP APIs","OpenAPI/Swagger","Postman","Apicurio","Salesforce","API Gateway design"]}},"cloud":{"type":"array","items":{"type":"string","enum":["AWS (CloudWatch, S3, IAM)","Azure (Databricks, DevOps)","Oracle Cloud"]}},"data":{"type":"array","items":{"type":"string","enum":["SQL","Snowflake","Azure Databricks","Power BI","Python","Excel VBA/M"]}},"devops":{"type":"array","items":{"type":"string","enum":["GitHub","Azure DevOps","Jira","Confluence","Datadog","ServiceNow"]}},"architecture":{"type":"array","items":{"type":"string","enum":["Sparx EA","Lucidchart","BPMN","UML","ADRs","TOGAF (studying)"]}},"methodology":{"type":"array","items":{"type":"string","enum":["Agile/Scrum","SAFe","Waterfall","BDD","Requirements engineering"]}}},"additionalProperties":false},"Certification":{"type":"object","properties":{"name":{"type":"string"},"year":{"type":["integer","null"]},"status":{"type":"string","enum":["active","studying"]}},"required":["name","year","status"]},"EducationItem":{"type":"object","properties":{"qualification":{"type":"string"},"provider":{"type":"string"},"year":{"type":"integer"}},"required":["qualification","provider","year"]},"Project":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"tech":{"type":"array","items":{"type":"string"}},"url":{"type":"string"}},"required":["name","description","tech","url"]},"CV":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/Meta"},"summary":{"type":"string"},"experience":{"type":"array","items":{"$ref":"#/components/schemas/ExperienceItem"}},"skills":{"$ref":"#/components/schemas/Skills"},"certifications":{"type":"array","items":{"$ref":"#/components/schemas/Certification"}},"education":{"type":"array","items":{"$ref":"#/components/schemas/EducationItem"}},"projects":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}},"required":["meta","summary","experience","skills","certifications","education","projects"]},"RecruiterBrief":{"type":"object","properties":{"profile":{"type":"object","additionalProperties":true},"availability":{"type":"object","additionalProperties":true},"target_roles":{"type":"array","items":{"type":"string"}},"differentiators":{"type":"array","items":{"type":"string"}},"highlights":{"type":"array","items":{"type":"object","additionalProperties":true}},"active_certifications":{"type":"array","items":{"type":"string"}},"selected_projects":{"type":"array","items":{"type":"object","additionalProperties":true}},"recruiter_guidance":{"type":"object","additionalProperties":true}},"required":["profile","availability","target_roles","differentiators","highlights","active_certifications","selected_projects","recruiter_guidance"]},"JsonResume":{"type":"object","properties":{"basics":{"type":"object","additionalProperties":true},"work":{"type":"array","items":{"type":"object","additionalProperties":true}},"education":{"type":"array","items":{"type":"object","additionalProperties":true}},"certificates":{"type":"array","items":{"type":"object","additionalProperties":true}},"skills":{"type":"array","items":{"type":"object","additionalProperties":true}},"projects":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["basics","work","education","certificates","skills","projects"]},"Stats":{"type":"object","properties":{"last_updated":{"type":"string","format":"date"},"experience_roles":{"type":"integer"},"sectors":{"type":"array","items":{"type":"string","enum":["health","government","enterprise","banking"]}},"sector_count":{"type":"integer"},"skill_categories":{"type":"integer"},"total_skills":{"type":"integer"},"certifications_total":{"type":"integer"},"certifications_active":{"type":"integer"},"certifications_studying":{"type":"integer"},"projects_total":{"type":"integer"},"education_total":{"type":"integer"}},"required":["last_updated","experience_roles","sectors","sector_count","skill_categories","total_skills","certifications_total","certifications_active","certifications_studying","projects_total","education_total"]},"SearchResult":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["summary","experience","skills","certifications","education","projects"]},"title":{"type":"string"},"subtitle":{"type":"string"},"path":{"type":"string"},"score":{"type":"integer"},"matched_terms":{"type":"array","items":{"type":"string"}},"snippet":{"type":"string"},"data":{"type":"object","additionalProperties":true}},"required":["id","type","title","subtitle","path","score","matched_terms","snippet","data"]},"SearchResponse":{"type":"object","properties":{"query":{"type":"string"},"types":{"type":"array","items":{"type":"string","enum":["summary","experience","skills","certifications","education","projects"]}},"total_matches":{"type":"integer"},"result_count":{"type":"integer"},"facets":{"type":"object","properties":{"summary":{"type":"integer"},"experience":{"type":"integer"},"skills":{"type":"integer"},"certifications":{"type":"integer"},"education":{"type":"integer"},"projects":{"type":"integer"}},"additionalProperties":false},"results":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}},"required":["query","types","total_matches","result_count","facets","results"]},"MatchRequest":{"type":"object","properties":{"jd":{"type":"string","minLength":10}},"required":["jd"]},"MatchSkill":{"type":"object","properties":{"skill":{"type":"string"},"category":{"type":"string"}},"required":["skill","category"]},"MatchScoreBreakdown":{"type":"object","properties":{"skill":{"type":"integer"},"sector":{"type":"integer"},"seniority":{"type":"integer"},"experience":{"type":"integer"}},"required":["skill","sector","seniority","experience"]},"MatchRole":{"type":"object","properties":{"role":{"type":"string"},"org":{"type":"string"},"period":{"type":"string"},"relevance":{"type":"integer"},"reasons":{"type":"array","items":{"type":"string"}}},"required":["role","org","period","relevance","reasons"]},"MatchResponse":{"type":"object","properties":{"match_score":{"type":"integer"},"score_breakdown":{"$ref":"#/components/schemas/MatchScoreBreakdown"},"matched_skills":{"type":"array","items":{"$ref":"#/components/schemas/MatchSkill"}},"missing_skills":{"type":"array","items":{"type":"string"}},"experience_relevance":{"type":"array","items":{"$ref":"#/components/schemas/MatchRole"}},"sector_detected":{"type":["string","null"]},"seniority_detected":{"type":["string","null"]},"profile_seniority":{"type":"string","enum":["junior","mid","senior"]},"recommendation":{"type":"string"}},"required":["match_score","score_breakdown","matched_skills","missing_skills","experience_relevance","sector_detected","seniority_detected","profile_seniority","recommendation"]},"ChangelogEntry":{"type":"object","properties":{"version":{"type":"string"},"date":{"type":"string","format":"date"},"summary":{"type":"string"},"changes":{"type":"array","items":{"type":"string"}}},"required":["version","date","summary","changes"]},"ChangelogResponse":{"type":"object","properties":{"current_version":{"type":"string"},"deprecation_policy":{"type":"object","additionalProperties":true},"entries":{"type":"array","items":{"$ref":"#/components/schemas/ChangelogEntry"}}},"required":["current_version","deprecation_policy","entries"]},"Status":{"type":"object","properties":{"status":{"type":"string"},"service":{"type":"string"},"version":{"type":"string"},"profile_version":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"docs_url":{"type":"string"},"openapi_url":{"type":"string"},"endpoints":{"type":"object","properties":{"cv":{"type":"string"},"search":{"type":"string"},"match":{"type":"string"},"changelog":{"type":"string"},"recruiter_brief":{"type":"string"},"status":{"type":"string"}},"required":["cv","search","match","changelog","recruiter_brief","status"]}},"required":["status","service","version","profile_version","timestamp","docs_url","openapi_url","endpoints"]},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":["string","null"]},"request_id":{"type":"string"}},"required":["type","title","status","detail","request_id"],"additionalProperties":true}}}}