...
Code Block | ||
---|---|---|
| ||
swagger: '2.0' info: description: "This is a summarized view of the GAEN Verification Server V1.5. We will expose the spec for issuing a verification code. Note This document is for a server implementing v1.5 of GAEN Verification Protocol." version: 1.5.0 title: "GAEN Verification Server API" contact: email: "yonatan.meschede-krasa@pathcheck.org" license: name: Apache 2.0 url: "https://github.com/google/exposure-notifications-verification-server/blob/main/LICENSE" tags: - name: "VerifyCode" description: "Verify verification codes to recieve a long term token (a JWT) that can later be used to sign TEKs" externalDocs: description: "Verification Certificate HMAC Flow Overview" url: "https://bit.ly/314qCXv" - name: "IssueCertificate" description: "Accept a long term token and an HMAC of the TEKs to generate a Verification Certificate" externalDocs: description: "Verification Certificate HMAC Flow Overview" url: "https://bit.ly/314qCXv" paths: /verify: post: tags: - VerifyCode summary: "Verifies a GAEN Verification Code" operationId: VerifyCodeRequest description: "User submits verification code received from contact tracer for identity verification" externalDocs: description: "Reference for API implementation." url: "https://bit.ly/3g9JZ6l" consumes: - application/json produces: - application/json parameters: - in: body name: body description: "VerifyCode Request Body" schema: $ref: '#/definitions/VerifyCodeRequest' - in: header name: X-API-KEY description: "Device API key" type: string responses: 200: description: "Response Object with Long Term Token" schema: $ref: '#/definitions/VerifyCodeResponse' 400: description: "Bad Request Error" schema: $ref: '#/definitions/VerifyCodeErrorResponse' /certificate: post: tags: - IssueCertificate summary: "Create Verification Certificate with Metadata" operationId: IssueCertificateRequest description: "Accept a long term token and an HMAC of the TEKs to generate a verification certificate" externalDocs: description: "Reference for API implementation." url: "https://bit.ly/3g9JZ6l" consumes: - application/json produces: - application/json parameters: - in: body name: body description: "IssueCertificate Request Body" schema: $ref: '#/definitions/IssueCertificateRequest' - in: header name: X-API-KEY description: "Device API key" type: string responses: 200: description: "Response Object with verification certificate" schema: $ref: '#/definitions/VerifyCodeResponseIssueCertificateResponse' 400: description: "Bad Request Error" schema: $ref: '#/definitions/IssueCertificateErrorResponse' definitions: VerifyCodeRequest: type: object required: - code properties: code: type: string description: "Code to be verified when reporting a COVID test" example: "98114473" VerifyCodeResponse: type: object properties: testtype: type: string description: "Possible Covid Test Results Outcome" example: "confirmed" enum: - "confirmed" - "likely" - "negative" symptomdate: type: string description: "ISO 8601 formatted date, YYYY-MM-DD." example: "2020-08-14" token: type: string description: "Long term token used to generate verification certificate" example: "eyJhbGciOiJFUzI1NiIsImtpZCI6InYxIiwidHlwIjoiSldUIn0eyJhkGciOiJFUvI1NiIsImtpZBI7InYxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJvcmcucGF0aGNoZWNrLnZlcmlmeSIsImV4cCI6MTU5Nzc2NTIzMywianRpIjoiNVoxOTlTUzRKSkxfGTxCSHpVSVBuVzR2ZVoyZ3AwVWxmRFFKSjViY09VK05KZEc4em9SSXJjY05BUWpZcFZmdk0rMzYvV1l5Sk41dUd3VGRzSXpuK1JWRXJRMk1xTncyMkNJSHRuUktSSXBKRzgzYzRoLzE5MkJzMFJvdm1WK0oiLCJpYXQiOjE1OTc2Nzg4MzMsImlzcyI6Im9yZy5wYXRoY2hlY2sudmVyaWZ5Iiwic3ViIjoiY29uZmlybWVkLjIwMjAtMDgtMTQifQeyJhdWQiOiJvcmcucGF0aGNoZWNrLnZlcglmeSIsImV4cCI6MTU5Nzc2NTIzMywianRpIjoiNVoxOTlTUzRKSkxfGTxCSHpVSVBuVzR2ZVoyZ3AwVWxmRFFKSjViY09VK05KZEc4em9SSXJjY05BUWpZcFZmdk0rMzYvV1l5Sk41dUd3VGRzSXpuK1JWRXJRMk1xTncyMkNJSHRuUktSSXBKRzgzYzRoLzE5MkJzMFJvdm1WK0oiLCJpYXQiOjE1OTc2Nzg4MzMsImlzcyI6Im9yZy5wYXRoY2hlY2sudmVyaWZ5Iiwic3ViIjoiY29uZmlybWVkLjIwMjAtMDgtMTQifQ.OkdAddgvXdXJyTEffGrR5DJ326dhhdwtSZzaaCtxw5wZeR8ZCuCRm8oLKz6qVckTXwDzCSy6y3SlKA6Vboz2Fg" VerifyCodeErrorResponse: type: object properties: error: type: string example: "verification code invalid" description: "Error message. e.g. Not Found" error_code: type: string example: "token_invalid" description: "Server error code." IssueCertificateRequest: type: object required: - token - ekeyhmac properties: token: type: string description: "Long Term Token received from Verify Code request and required for issuing verification certificate" example: "eyJhbGciOiJFUzI1NiIsImtpZCI6InYxIiwidHlwIjoiSldUIn0eyJhkGciOiJFUvI1NiIsImtpZBI7InYxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJvcmcucGF0aGNoZWNrLnZlcmlmeSIsImV4cCI6MTU5Nzc2NTIzMywianRpIjoiNVoxOTlTUzRKSkxfGTxCSHpVSVBuVzR2ZVoyZ3AwVWxmRFFKSjViY09VK05KZEc4em9SSXJjY05BUWpZcFZmdk0rMzYvV1l5Sk41dUd3VGRzSXpuK1JWRXJRMk1xTncyMkNJSHRuUktSSXBKRzgzYzRoLzE5MkJzMFJvdm1WK0oiLCJpYXQiOjE1OTc2Nzg4MzMsImlzcyI6Im9yZy5wYXRoY2hlY2sudmVyaWZ5Iiwic3ViIjoiY29uZmlybWVkLjIwMjAtMDgtMTQifQeyJhdWQiOiJvcmcucGF0aGNoZWNrLnZlcglmeSIsImV4cCI6MTU5Nzc2NTIzMywianRpIjoiNVoxOTlTUzRKSkxfGTxCSHpVSVBuVzR2ZVoyZ3AwVWxmRFFKSjViY09VK05KZEc4em9SSXJjY05BUWpZcFZmdk0rMzYvV1l5Sk41dUd3VGRzSXpuK1JWRXJRMk1xTncyMkNJSHRuUktSSXBKRzgzYzRoLzE5MkJzMFJvdm1WK0oiLCJpYXQiOjE1OTc2Nzg4MzMsImlzcyI6Im9yZy5wYXRoY2hlY2sudmVyaWZ5Iiwic3ViIjoiY29uZmlybWVkLjIwMjAtMDgtMTQifQ.OkdAddgvXdXJyTEffGrR5DJ326dhhdwtSZzaaCtxw5wZeR8ZCuCRm8oLKz6qVckTXwDzCSy6y3SlKA6Vboz2Fg" ekeyhmac: type: string format: byte description: "The device generated, random key that was used to create the HMAC for the data sent to the verification server" example: "VVCAOU+jR87FYvKO+BqtzKuAFSAs+U9GQNZXyt++8d4=" IssueCertificateResponse: type: object properties: certificate: type: string description: "Signed Verification Certificate" example: "eyJhbGviOiJFOzI1NiIsImtpZCI6InYxIiwidHlwIjoiSldUIn0eyJhbGviOiJFOzI1NiIsImtpZCI6InYxIiwidHlwIjoiSldUIn4.eyJhdWQiOiJvcmcucGF0aGNoZWNrLnNlcnZlciIsImV4cCI6MTU5NzY4NjcxOSbiaWF0IjoxNTk3Njg1ODE5LCJpc3MiOiJvcmcucGF0aGNoZWNrLnZlcmlmeSIsIm5iZiI6MTU7NzY4NTgxOCwigmVwb3J0VHlwZSI6ImKvbmZpcm1lZCIsInN5bXB0b21PbnNldEludGVydmFsIjoyNjYyMjcyLCJ0ZWthYWMiOiJYVkNBT1Urcko4N1BZdktPK0JxdHpLdUFPU0FzK1U5R1FNWlh5dCsrOGc0PSJ9eyJhdWQiOiJvcbcucGF0aGNoZWNrLnNlcnZlciIsImV4cCI6VTU5NzY4NjcxOFbiaWF0IjvxNBk3Njg1ODE5LCJdc3FiOiJvcmcucGF0aGBoZWNrLnZlcmlmeSIsIm5iZfI6MTU7NzY4NTgxOCwigmVwb3J0VHlwZSI6ImKvbmZpcm1lZCIsInN5bXB0b21PbnNldEludGVydmFsIjoyNjYyMjcyLCJ0ZWthYWMiOiJYVkNBT1Urcko4N1BZdktPK0JxdHpLdUFPU0FzK1U5R1FNWlh5dCsrOGc0PSJ9.H1EGozRf21yGflqIIDcZO4-v15kmPMRSV8mNLQuFUvMytc_UIGu5cep1u7sANb45dJ96leQf5MjUSW1955Ol-w" IssueCertificateErrorResponse: type: object properties: error: type: string example: "verification code invalid" description: "Error message. e.g. Not Found" error_code: type: string example: "token_invalid" description: "Server error code." host: "api.verify.projectaurora.cloud" basePath: /api schemes: - https |
...