> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/vantage-api-reference/core-resources/activation.md).

# Activation

## Serve kit activation page

> Returns an HTML page for end users to activate their test kit and provide test-taker information

```json
{"openapi":"3.1.0","info":{"title":"Terra Vantage API","version":"2026.07.23.2"},"servers":[{"url":"https://vantage.tryterra.co"}],"security":[],"paths":{"/api/v1/orders/activate":{"get":{"summary":"Serve kit activation page","tags":["activation"],"description":"Returns an HTML page for end users to activate their test kit and provide test-taker information","parameters":[{"name":"kit_id","in":"query","description":"Supplier Kit ID from test kit packaging","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"HTML activation form","content":{"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid kit ID","content":{"text/html":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal server error","content":{"text/html":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}}},"components":{"schemas":{"ProblemDetail":{"description":"Standard error response format following RFC 7807 specification","type":"object","properties":{"detail":{"type":"string"},"instance":{"type":"string"},"status":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}}}}}}
```

## Activate a test kit

> Registers test-taker details with the supplier and updates order item status. This endpoint is called after the test-taker receives their kit and provides their information.

```json
{"openapi":"3.1.0","info":{"title":"Terra Vantage API","version":"2026.07.23.2"},"servers":[{"url":"https://vantage.tryterra.co"}],"security":[],"paths":{"/api/v1/orders/activate":{"post":{"summary":"Activate a test kit","tags":["activation"],"description":"Registers test-taker details with the supplier and updates order item status. This endpoint is called after the test-taker receives their kit and provides their information.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivationContextDTO"}}},"description":"Activation details including test-taker info","required":true},"responses":{"200":{"description":"Kit activated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateKitResponse"}}}},"400":{"description":"Invalid request body or kit already activated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"404":{"description":"Kit not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"409":{"description":"Kit already activated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"503":{"description":"Supplier service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}}},"components":{"schemas":{"ActivationContextDTO":{"description":"Information provided by test-taker when activating their kit","type":"object","properties":{"address":{"$ref":"#/components/schemas/ActivationContextAddress"},"collection_date":{"type":"string"},"recipient":{"$ref":"#/components/schemas/ActivationContextRecipient"},"supplier_kit_id":{"type":"string"}},"required":["address"]},"ActivationContextAddress":{"description":"Current address of the test-taker (may differ from shipping address)","type":"object","properties":{"address_line_1":{"type":"string","minLength":1,"maxLength":100},"address_line_2":{"type":"string","maxLength":100},"administrative_area":{"type":"string","maxLength":50},"city":{"type":"string","minLength":1,"maxLength":50},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 (e.g., \"GB\", \"US\")"},"postal_code":{"type":"string"}},"required":["address_line_1","administrative_area","city","country_code","postal_code"]},"ActivationContextRecipient":{"description":"Test-taker personal information (may differ from original recipient). The former country_code field was removed and is silently ignored if still sent.","type":"object","properties":{"date_of_birth":{"type":"string"},"email":{"type":"string"},"first_name":{"type":"string"},"gender_at_birth":{"type":"string","enum":["male","female"]},"last_name":{"type":"string"},"phone_number":{"type":"string","description":"Required, in E.164 format: a leading \"+\", the country calling code, then the national number (e.g. \"+447911123456\"). A bare national number or a separate country_code is rejected."}},"required":["date_of_birth","email","gender_at_birth","phone_number"]},"ActivateKitResponse":{"description":"Confirmation that kit was activated successfully","type":"object","properties":{"kit_id":{"type":"string"},"message":{"type":"string"},"success":{"type":"boolean"}}},"ProblemDetail":{"description":"Standard error response format following RFC 7807 specification","type":"object","properties":{"detail":{"type":"string"},"instance":{"type":"string"},"status":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}}}}}}
```
