4444 description : >-
4545 List and manage users.
4646
47+ - name : Attestation
48+ description : >-
49+ Attest and assert an app is a valid instance of an iOS app.
50+
4751paths :
4852 ' /auth/login ' :
4953 post :
@@ -698,6 +702,98 @@ paths:
698702 security :
699703 - serverToken : []
700704
705+ ' /v1/attestations/challenges ' :
706+ post :
707+ operationId : CreateAttestationChallenge
708+ summary : Create an attestation challenge.
709+ description : >-
710+ Starts the attestation flow by requesting an attestation challenge that the client will later use in an Apple API call and to verify an attestation.
711+ requestBody :
712+ content :
713+ ' application/json ' :
714+ schema :
715+ $ref : ' ./auth/models/newappchallenge.v1.yaml'
716+ responses :
717+ ' 201 ' :
718+ $ref : ' #/components/responses/AppChallenge'
719+ ' 400 ' :
720+ $ref : ' ./common/responses/badrequest.v1.yaml'
721+ ' 401 ' :
722+ $ref : ' ./common/responses/unauthorized.v1.yaml'
723+ ' 403 ' :
724+ $ref : ' ./common/responses/forbidden.v1.yaml'
725+ tags :
726+ - Attestation
727+
728+ ' /v1/attestations/verifications ' :
729+ post :
730+ operationId : VerifyAttestation
731+ summary : Verify an attestation.
732+ description : >-
733+ This confirms the app is a valid instance of an iOS app. It must use the previously generated challenge.
734+ requestBody :
735+ content :
736+ ' application/json ' :
737+ schema :
738+ $ref : ' ./auth/models/attestationverify.v1.yaml'
739+ responses :
740+ ' 204 ' :
741+ description : The attestation was verified successfully.
742+ ' 400 ' :
743+ $ref : ' ./common/responses/badrequest.v1.yaml'
744+ ' 401 ' :
745+ $ref : ' ./common/responses/unauthorized.v1.yaml'
746+ ' 403 ' :
747+ $ref : ' ./common/responses/forbidden.v1.yaml'
748+ tags :
749+ - Attestation
750+
751+ ' /v1/assertions/challenges ' :
752+ post :
753+ operationId : CreateAssertionChallenge
754+ summary : Create an assertion challenge.
755+ description : >-
756+ Requests an assertion challenge be generated. This can only happen after attestation has been verified.
757+ requestBody :
758+ content :
759+ ' application/json ' :
760+ schema :
761+ $ref : ' ./auth/models/newappchallenge.v1.yaml'
762+ responses :
763+ ' 201 ' :
764+ $ref : ' #/components/responses/AppChallenge'
765+ ' 400 ' :
766+ $ref : ' ./common/responses/badrequest.v1.yaml'
767+ ' 401 ' :
768+ $ref : ' ./common/responses/unauthorized.v1.yaml'
769+ ' 403 ' :
770+ $ref : ' ./common/responses/forbidden.v1.yaml'
771+ tags :
772+ - Attestation
773+
774+ ' /v1/assertions/verifications ' :
775+ post :
776+ operationId : VerifyAssertion
777+ summary : Verify an assertion.
778+ description : >-
779+ This verifies an assertion and returns X.509 certficates.
780+ requestBody :
781+ content :
782+ ' application/json ' :
783+ schema :
784+ $ref : ' ./auth/models/assertionverify.v1.yaml'
785+ responses :
786+ ' 200 ' :
787+ $ref : ' #/components/responses/Assertion'
788+ ' 400 ' :
789+ $ref : ' ./common/responses/badrequest.v1.yaml'
790+ ' 401 ' :
791+ $ref : ' ./common/responses/unauthorized.v1.yaml'
792+ ' 403 ' :
793+ $ref : ' ./common/responses/forbidden.v1.yaml'
794+ tags :
795+ - Attestation
796+
701797components :
702798 securitySchemes :
703799 basicAuth :
@@ -977,3 +1073,21 @@ components:
9771073 required :
9781074 - code
9791075 - reason
1076+ AppChallenge :
1077+ description : ' Challenge generated by server and which client should use in later operations.'
1078+ headers :
1079+ ' X-Tidepool-Session-Token ' :
1080+ $ref : ' ./common/headers/tidepoolsessiontoken.v1.yaml'
1081+ content :
1082+ ' application/json ' :
1083+ schema :
1084+ $ref : ' ./auth/models/appchallenge.v1.yaml'
1085+ Assertion :
1086+ description : ' Certificates returned upon successful assertion.'
1087+ headers :
1088+ ' X-Tidepool-Session-Token ' :
1089+ $ref : ' ./common/headers/tidepoolsessiontoken.v1.yaml'
1090+ content :
1091+ ' application/json ' :
1092+ schema :
1093+ $ref : ' ./auth/models/assertionsecret.v1.yaml'
0 commit comments