{"openapi":"3.1.0","info":{"title":"NVIDIA Remote Attestation Service","description":"License Agreements: By using the Attestation Suite Services, you affirm that you have read the Agreement and agree to its terms. If you do not have the required authority to enter into the Agreement or if you do not accept all Agreement terms and conditions, do not use the Attestation Suite Services. Please review the full End-user License Agreement [here](https://www.nvidia.com/en-us/agreements/cloud-services/service-specific-terms-for-cloud-attestation-dev/).","version":"1.0"},"servers":[{"url":"https://nras.attestation.nvidia.com","description":"Generated server url"}],"security":[{}],"tags":[{"name":"NRAS Info","description":"API for retrieving the NRAS documentation"},{"name":"nSpectId","description":"NSPECT-5NJ1-GNH4","externalDocs":{"url":"https://nspect.nvidia.com/report?id=NSPECT-5NJ1-GNH4"}},{"name":"NRAS JWKS API","description":"API for retrieving JSON Web Key Sets (JWKS)"},{"name":"Attestation APIs","description":"APIs for securely performing attestation"}],"paths":{"/v4/attest/switch":{"post":{"tags":["Attestation APIs"],"summary":"Attest Switch V4","description":"API for verifying Switch integrity and authenticity through Attestation V4\n\n### Attest Switch V4 API Details:\n- Returns a detached EAT\n- Claims version: 2.0, 3.0\n- The claims version 3.0, returns all claims, even if attestation fails. Uncalculated claims (due to errors) are set to null.\n- For details on claims, see the Claims Guide - https://docs.nvidia.com/attestation/advanced-documentation/latest/claims-guide/introduction.html","operationId":"attestSwitch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchAttestationRequestV3"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Overall and Device Attestation Results","example":[["JWT","eyabc"],{"SWITCH0":"eyabc","SWITCH1":"eyabc"}]}}}}}}},"/v4/attest/gpu":{"post":{"tags":["Attestation APIs"],"summary":"Attest GPU V4","description":"API for verifying GPU integrity and authenticity through Attestation V4\n\n### Attest GPU V4 API Details:\n- Returns a detached EAT\n- Claims version: 2.0, 3.0, 4.0\n- The claims version 3.0, returns all claims, even if attestation fails. Uncalculated claims (due to errors) are set to null.\n- The claims version 4.0 adds support for the new opaque data format, reported in x-nvidia-mismatch-opaque-data-records and x-nvidia-attester-claims. Evidence that carries this opaque data must use claims version 4.0. See https://docs.nvidia.com/attestation/specs/latest/opaque-data.html.\n- For details on claims, see the Claims Guide - https://docs.nvidia.com/attestation/advanced-documentation/latest/claims-guide/introduction.html","operationId":"attestMultiGPU","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAttestationRequestV4"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Overall and Device Attestation Results","example":[["JWT","eyabc"],{"GPU-0":"eyabc","GPU-1":"eyabc"}]}}}}}}},"/v3/attest/switch":{"post":{"tags":["Attestation APIs"],"summary":"Attest Switch V3","description":"API for verifying Switch integrity and authenticity through Attestation V3\n\n### Attest Switch V3 API Details:\n- Returns a detached EAT\n- Claims version: 2.0","operationId":"attestSwitch_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchAttestationRequestV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Overall and Device Attestation Results","example":[["JWT","eyabc"],{"SWITCH0":"eyabc","SWITCH1":"eyabc"}]}}}}}}},"/v3/attest/gpu":{"post":{"tags":["Attestation APIs"],"summary":"Attest GPU V3","description":"API for verifying GPU integrity and authenticity through Attestation V3\n\n### Attest GPU V3 API Details:\n- Returns a detached EAT\n- Claims version: 2.0","operationId":"attestMultiGPU_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAttestationRequestV3"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Overall and Device Attestation Results","example":[["JWT","eyabc"],{"GPU-0":"eyabc","GPU-1":"eyabc"}]}}}}}}},"/v2/attest/switch":{"post":{"tags":["Attestation APIs"],"summary":"Attest Switch V2","description":"API for verifying Switch integrity and authenticity through Attestation V2\n\n### Attest Switch V2 API Details:\n- Returns a detached EAT\n- Claims version: 1.0","operationId":"attestSwitch_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchAttestationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Overall and Device Attestation Results","example":[["JWT","eyabc"],{"SWITCH0":"eyabc","SWITCH1":"eyabc"}]}}}}}}},"/v2/attest/gpu":{"post":{"tags":["Attestation APIs"],"summary":"Attest GPU V2","description":"API for verifying GPU integrity and authenticity through Attestation V2\n\n### Attest GPU V2 API Details:\n- Returns a detached EAT\n- Claims version: 1.0","operationId":"attestMultiGPU_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAttestationRequestV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Overall and Device Attestation Results","example":[["JWT","eyabc"],{"GPU-0":"eyabc","GPU-1":"eyabc"}]}}}}}}},"/v1/attest/gpu":{"post":{"tags":["Attestation APIs"],"summary":"Attest GPU V1","description":"API for verifying GPU integrity and authenticity through Attestation V1\n\n### Attest GPU V1 API Details:\n- Returns a single JWT\n- Claims version: 1.0","operationId":"attestGPU","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAttestationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAttestationResponse"}}}}}}},"/health":{"get":{"tags":["health-check-controller"],"operationId":"healthCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckStatus"}}}}}}},"/":{"get":{"tags":["NRAS Info"],"summary":"Attestation Info","description":"API for fetching the link to NRAS documentation","operationId":"attestationInfo","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string","description":"NRAS documentation","example":"NVIDIA Remote Attestation Service , please visit https://docs.nvidia.com/attestation"}}}}}}},"/.well-known/jwks.json":{"get":{"tags":["NRAS JWKS API"],"summary":"JWKS Key Set","description":"API for obtaining the public key used for validating NVIDIA Attestation Tokens (EAT)","operationId":"keys","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"JWKS Key Set","example":{"keys":[{"kty":"EC","crv":"P-384","kid":"nv-2024","x5c":["MII","MII"],"x":"0c2","y":"spY"},{"kty":"EC","crv":"P-384","kid":"nv-2024","x5c":["MII==","MII"],"x":"kFN","y":"Xl6"},{"kty":"EC","crv":"P-384","kid":"nv-2024","x5c":["MII","MII"],"x":"ip3","y":"tWu"}]}}}}}}}}},"components":{"schemas":{"DeviceEvidenceV2":{"type":"object","description":"Device Evidence V2","properties":{"evidence":{"type":"string","description":"Base64 encoded device evidence"},"certificate":{"type":"string","description":"Device certificate chain as a base64 encoding of the PEM file"},"firmware_version":{"type":"string","description":"Firmware version from NSM 'Get RoT State Information' (Tag 7: FirmwareVersionString). Used for RIM lookup to select appropriate reference measurements. Optional.","example":"96.00.81.00.0F"}}},"SwitchAttestationRequestV3":{"type":"object","description":"Switch Attestation Request V3","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"arch":{"type":"string","description":"Architecture of the switch","enum":["LS10"],"example":"LS10"},"evidence_list":{"type":"array","description":"A list of Switch evidence items, each containing an evidence and a corresponding certificate","items":{"$ref":"#/components/schemas/DeviceEvidenceV2"}},"claims_version":{"type":"string","default":"3.0","description":"Claims Version","enum":["2.0","3.0"],"example":3.0}}},"GPUAttestationRequestV4":{"type":"object","description":"GPU Attestation Request V4","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"arch":{"type":"string","description":"Architecture of the GPU","enum":["HOPPER","BLACKWELL"],"example":"HOPPER"},"evidence_list":{"type":"array","description":"A list of GPU evidence items, each containing an evidence and a corresponding certificate","items":{"$ref":"#/components/schemas/DeviceEvidenceV2"}},"claims_version":{"type":"string","default":"3.0","description":"Claims Version","enum":["2.0","3.0","4.0"],"example":3.0}}},"SwitchAttestationRequestV2":{"type":"object","description":"Switch Attestation Request V2","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"arch":{"type":"string","description":"Architecture of the switch","enum":["LS10"],"example":"LS10"},"evidence_list":{"type":"array","description":"A list of Switch evidence items, each containing an evidence and a corresponding certificate","items":{"$ref":"#/components/schemas/DeviceEvidenceV2"}}}},"GPUAttestationRequestV3":{"type":"object","description":"GPU Attestation Request V3","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"arch":{"type":"string","description":"Architecture of the GPU","enum":["HOPPER","BLACKWELL"],"example":"HOPPER"},"evidence_list":{"type":"array","description":"A list of GPU evidence items, each containing an evidence and a corresponding certificate","items":{"$ref":"#/components/schemas/DeviceEvidenceV2"}}}},"DeviceEvidenceV1":{"type":"object","deprecated":true,"description":"Device Evidence V1","properties":{"evidence":{"type":"string","description":"Hex and base64 encoded device evidence"},"certificate":{"type":"string","description":"Device certificate chain as a base64 encoding of the PEM file"}}},"SwitchAttestationRequest":{"type":"object","description":"Switch Attestation Request V1","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"evidences":{"type":"array","description":"A list of Switch evidence items, each containing an evidence and a corresponding certificate","items":{"$ref":"#/components/schemas/DeviceEvidenceV1"}}}},"GPUAttestationRequestV2":{"type":"object","description":"GPU Attestation Request V2","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"arch":{"type":"string","description":"Architecture of the GPU","enum":["HOPPER","BLACKWELL"],"example":"HOPPER"},"evidences":{"type":"array","description":"A list of GPU evidence items, each containing an evidence and a corresponding certificate","items":{"$ref":"#/components/schemas/DeviceEvidenceV1"}}}},"GPUAttestationRequest":{"type":"object","description":"GPU Attestation Request V1","properties":{"nonce":{"type":"string","description":"A randomly generated 64 character hexadecimal string","example":"1020ECB8F64DCFD50DABB760FC6A24210BA77D9F43A3A4DB170A1F560283566F"},"arch":{"type":"string","description":"The architecture of the GPU","enum":["HOPPER","BLACKWELL"],"example":"HOPPER"},"evidence":{"type":"string","description":"Base64 encoded GPU evidence"},"certificate":{"type":"string","description":"Base64 encoded GPU attestation certificate chain"}}},"GPUAttestationResponse":{"type":"object","properties":{"eat":{"type":"string","description":"Attestation Result in JWT Format","example":"eyJraWQiOiJudi1hdHRlc3RhdGlvbi1zaWduLWtpZC1wcm9kLTIwMjMwODAxMTEwNTU4IiwiYWxnIjoiRVMzODQifQ.eyJzdWIiOiJOVklESUEtR1BVLUFUVEVTVEFUSU9OIiwieC1udi1ncHUtZHJpdmVyLXZlcnNpb24iOiI1NDUuMDAiLCJpc3MiOiJodHRwczovL25yYXMuYXR0ZXN0YXRpb24ubnZpZGlhLmNvbSIsIm5vbmNlIjoiMTAyMEVDQjhGNjREQ0ZENTBEQUJCNzYwRkM2QTI0MjEwQkE3N0Q5RjQzQTNBNERCMTcwQTFGNTYwMjgzNTY2RiIsIngtbnYtZ3B1LXZiaW9zLXZlcnNpb24iOiI5Ni4wMC41RS4wMC4wMSIsImF1ZCI6IkhPUFBFUiIsIngtbnYtYXR0ZXN0YXRpb24tdHlwZSI6IkdQVSIsIngtbnYtYXR0ZXN0YXRpb24tZGV0YWlsZWQtcmVzdWx0IjpbeyJub25jZVZhbGlkYXRlZCI6dHJ1ZSwiZXZpZGVuY2VQYXJzZWQiOnRydWUsImV2aWRlbmNlQ2VydGlmaWNhdGVWYWxpZGF0ZWQiOnRydWUsImV2aWRlbmNlU2lnbmF0dXJlVmVyaWZpZWQiOnRydWUsInJ1bnRpbWVNZWFzdXJlbWVudENvbXBhcmVkIjp0cnVlLCJhdHRlc3RhdGlvblJlc3VsdCI6dHJ1ZSwibWlzbWF0Y2hJbmRleGVzIjpudWxsLCJtaXNtYXRjaE1lYXN1cmVtZW50UmVjb3JkcyI6bnVsbH1dLCJleHAiOjE2OTA4OTI0MjksImlhdCI6MTY5MDg4ODgyOSwieC1udi1hdHRlc3RhdGlvbi1tYW51ZmFjdHVyZXIiOiJOVklESUEgQ29ycG9yYXRpb24iLCJ4LW52LWF0dGVzdGF0aW9uLW1hbnVmYWN0dXJlci1pZCI6IjU3MDMiLCJqdGkiOiJiOTVhZThjZS04ODlhLTQzMWMtYjBmZi01MTJmYWNlMGE1ZTUiLCJ4LW52LWF0dGVzdGF0aW9uLXJlc3VsdCI6dHJ1ZX0.hXaRCY2VINrt99XVFBumJSCvAeXWZFlRlhQRT5F2SzFsen4VwKkveViF_mEAwqIyRZYgaXcQqRt8LvCWtfm2sEdp6r4celjDWzoH2k43XLFpaHNJ8Iuz835jOJTCPBLW"}}},"HealthCheckStatus":{"type":"object","properties":{"overallStatus":{"type":"string"},"databaseStatus":{"type":"string"},"rimServiceHealth":{"$ref":"#/components/schemas/RIMServiceHealthResponse"},"ocspServiceHealth":{"$ref":"#/components/schemas/OCSPHealthStatusResponse"}}},"OCSPHealthStatusResponse":{"type":"object","properties":{"overallStatus":{"type":"string"},"service":{"$ref":"#/components/schemas/OCSPService"}}},"OCSPService":{"type":"object","properties":{"hsmStatus":{"type":"string"},"dbStatus":{"type":"string"}}},"RIMServiceHealthResponse":{"type":"object","properties":{"status":{"type":"string"},"checks":{"type":"object","additionalProperties":{"type":"string"}}}}}}}