openapi: 3.2.0 info: title: Evervault API version: 0.0.1 description: The Evervault API allows developers to interact programmatically with their Evervault apps using HTTP requests. contact: email: support@evervault.com name: Evervault Support Team url: https://evervault.com servers: - url: https://api.evervault.com description: The Evervault API server tags: - name: Evervault API paths: {} webhooks: functionRunCompleted: post: operationId: functionRunCompleted summary: function.run.completed description: This event is triggered when a function run is completed. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - function.run.completed description: The type of webhook event. data: $ref: '#/components/schemas/FunctionRun' examples: success: value: id: webhook_event_0aa6ff0fee57 type: function.run.completed data: id: function_run_0aa6ff0fee57 status: success result: foo: bar error: null createdAt: 1692972623233 tags: - Evervault API functionDeploymentStarted: post: operationId: functionDeploymentStarted summary: function.deployment.started description: This event is triggered when a function deployment is started. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - function.deployment.started description: The type of webhook event. data: $ref: '#/components/schemas/FunctionDeployment' examples: success: value: id: webhook_event_0aa6ff0fee57 type: function.deployment.started data: function: id: func_0aa6ff0fee57 name: my-function app: id: app_0aa6ff0fee57 name: Production team: id: team_0aa6ff0fee57 name: My Team message: Starting function deployment status: in-progress dashboardUrl: https://dashboard.evervault.com/functions/func_0aa6ff0fee57 createdAt: 1692972623233 updatedAt: 1692972623233 tags: - Evervault API functionDeploymentUpdated: post: operationId: functionDeploymentUpdated summary: function.deployment.updated description: This event is triggered when a function deployment is updated. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - function.deployment.updated description: The type of webhook event. data: $ref: '#/components/schemas/FunctionDeployment' examples: success: value: id: webhook_event_0aa6ff0fee57 type: function.deployment.updated data: function: id: func_0aa6ff0fee57 name: my-function app: id: app_0aa6ff0fee57 name: Production team: id: team_0aa6ff0fee57 name: My Team message: Provisioning function status: in-progress dashboardUrl: https://dashboard.evervault.com/functions/func_0aa6ff0fee57 createdAt: 1692972623233 updatedAt: 1692972623233 tags: - Evervault API functionDeploymentFinished: post: operationId: functionDeploymentFinished summary: function.deployment.finished description: This event is triggered when a function deployment is finished. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - function.deployment.finished description: The type of webhook event. data: $ref: '#/components/schemas/FunctionDeployment' examples: success: value: id: webhook_event_0aa6ff0fee57 type: function.deployment.finished data: function: id: func_0aa6ff0fee57 name: my-function app: id: app_0aa6ff0fee57 name: Production team: id: team_0aa6ff0fee57 name: My Team message: Function deployment completed status: success dashboardUrl: https://dashboard.evervault.com/functions/func_0aa6ff0fee57 createdAt: 1692972623233 updatedAt: 1692972623233 tags: - Evervault API merchantUpdated: post: operationId: merchantUpdated summary: payments.merchant.updated description: Occurs when a merchant is updated. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - payments.merchant.updated description: The type of webhook event. data: $ref: '#/components/schemas/Merchant' examples: updatedMerchant: value: id: webhook_event_0aa6ff0fee57 type: payments.merchant.updated data: id: merchant_eead1d640d7c name: Ollivanders Wand Shop website: https://www.ollivanders.co.uk categoryCode: '5945' business: legalName: Ollivanders Wand Shop Ltd. address: line1: Diagon Alley city: London postalCode: WD1 1AA country: gb networkTokens: enrolment: - cardBrand: mastercard tokenRequestorIdentifier: '50165156978' status: active - cardBrand: visa tokenRequestorIdentifier: '40238123804' status: active - cardBrand: american-express tokenRequestorIdentifier: null status: inactive applePay: domains: - domain: ollivanders.co.uk status: pending createdAt: 1692972623233 updatedAt: 1692972623768 tags: - Evervault API networkTokenUpdated: post: operationId: networkTokenUpdated summary: payments.network-token.updated description: Occurs when a Network Token is updated. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - payments.network-token.updated description: The type of webhook event. data: $ref: '#/components/schemas/NetworkToken' examples: success: value: id: webhook_event_0aa6ff0fee57 type: payments.network-token.updated data: id: network_token_eead1d640d7c number: '4242424242424242' expiry: month: '12' year: '27' card: lastFour: '4242' expiry: month: '12' year: '29' brand: visa paymentAccountReference: '71288989897319237219' tokenRequestorIdentifier: '40020248564' tokenServiceProvider: vts merchant: merchant_a1ef231b7947 status: active createdAt: 1709293284000 updatedAt: 1711633194688 tags: - Evervault API cardUpdated: post: operationId: cardUpdated summary: payments.card.updated description: Occurs when a Card is updated. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - payments.card.updated description: The type of webhook event. data: $ref: '#/components/schemas/Card' examples: success: value: id: webhook_event_0aa6ff0fee57 type: payments.card.updated data: id: card_eead1d640d7c number: ev:debug:Tk9D:number:nTepvAI585M7lUVp... bin: '424242' lastFour: '4242' expiry: month: '12' year: '29' brand: visa segment: consumer issuer: Gringotts Wizarding Bank and Trust Company country: gb currency: gbp funding: debit status: active automaticUpdates: enabled createdAt: 1709293284000 updatedAt: 1711633194688 tags: - Evervault API threeDSSessionSuccess: post: operationId: threeDSSessionSuccess summary: payments.3ds-session.success description: Triggered when a 3DS session is successfully authenticated. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - payments.3ds-session.success description: The type of webhook event. data: $ref: '#/components/schemas/ThreeDSSession' examples: success: value: id: webhook_event_0aa6ff0fee57 type: payments.3ds-session.success data: id: tds_57aa862f8bf7 merchant: name: Ollivanders Wand Shop website: https://www.ollivanders.co.uk categoryCode: '5945' country: gb card: lastFour: '4242' expiry: month: 09 year: '26' brand: visa funding: debit segment: consumer country: gb currency: gbp initiator: type: customer challenge: preference: no-preference reason: null acquirer: bin: '567834' merchantIdentifier: '530249576123943' country: gb payment: type: one-off amount: 1000 currency: eur accessControlServer: transactionIdentifier: d351441b-f9e6-46e3-a726-9fc4f39bbaaa referenceNumber: 3DS_LOA_ACS_STIN_020200_00417 directoryServer: transactionIdentifier: 18030e14-fafa-462e-bfc0-da733196e808 referenceNumber: 3DS_LOA_DIS_VISA_020200_00828 network: visa threeDSServer: transactionIdentifier: a623edc1-54bc-455d-9dea-c909783a37c3 version: 2.2.0 status: success authentication: flow: frictionless cryptogram: MTIzNDU2Nzg5MDA5ODc2NTQzMjE= eci: value: '05' descriptor: fully-authenticated liabilityShift: true ares: transStatus: value: Y detail: Authentication/Account Verification Successful transStatusReason: null cres: null createdAt: 1692972623233 updatedAt: 1692972623768 tags: - Evervault API threeDSSessionFailure: post: operationId: threeDSSessionFailure summary: payments.3ds-session.failure description: Triggered when a 3DS session fails authentication. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - payments.3ds-session.failure description: The type of webhook event. data: $ref: '#/components/schemas/ThreeDSSession' examples: success: value: id: webhook_event_0aa6ff0fee57 type: payments.3ds-session.failure data: id: tds_57aa862f8bf7 merchant: name: Ollivanders Wand Shop website: https://www.ollivanders.co.uk categoryCode: '5945' country: gb card: lastFour: '4242' expiry: month: 09 year: '26' brand: visa funding: debit segment: consumer country: gb currency: gbp initiator: type: customer challenge: preference: no-preference reason: null acquirer: bin: '567834' merchantIdentifier: '530249576123943' country: gb payment: type: one-off amount: 1000 currency: eur accessControlServer: transactionIdentifier: d351441b-f9e6-46e3-a726-9fc4f39bbaaa referenceNumber: 3DS_LOA_ACS_STIN_020200_00417 directoryServer: transactionIdentifier: 18030e14-fafa-462e-bfc0-da733196e808 referenceNumber: 3DS_LOA_DIS_VISA_020200_00828 network: visa threeDSServer: transactionIdentifier: a623edc1-54bc-455d-9dea-c909783a37c3 version: 2.2.0 status: failure ares: transStatus: value: Y detail: Authentication/Account Verification Successful transStatusReason: null cardholderInfo: We're sorry, your purchase requires additional verification. Please call the number on the back of your card for assistance. cres: null createdAt: 1692972623233 updatedAt: 1692972623768 tags: - Evervault API enclaveDeploymentStarted: post: operationId: enclaveDeploymentStarted summary: enclave.deployment.started description: This event is triggered when a enclave deployment is started. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - enclave.deployment.started description: The type of webhook event. data: $ref: '#/components/schemas/EnclaveDeployment' examples: success: value: id: webhook_event_0aa6ff0fee57 type: enclave.deployment.started data: id: enclave_deployment_0aa6ff0fee57 enclave: id: enclave_0aa6ff0fee57 name: My Enclave app: id: app_0aa6ff0fee57 name: Production team: id: team_0aa6ff0fee57 name: My Team message: Deployment started. Building image on Evervault infrastructure status: in-progress stage: image.building dashboardUrl: https://app.evervault.com/[TEAM_UUID]/[APP_UUID]/enclaves/[ENCLAVE_UUID]/versions versionMetadata: version: 1 controlPlaneVersion: 1.0.9 dataPlaneVersion: 1.0.9 debugMode: false pcrs: pcr0: cfd273de62d2646cafb8bb20dbdc273123590d7b44878d94acaa3bd60d519919939c6052390869a5ac308a626ff3dd15 pcr1: 0343b056cd8485ca7890ddd833476d78460aed2aa161548e4e26bedf321726696257d623e8805f3f605946b3d8b0c6aa pcr2: 8cb4c46e9f502de67494ffd582d65ca088bfc0c90b44582de793eb9903002be6959d2860698da0097c95ac564d980a41 pcr8: f1a721d53b6e9aa936eab11b8d57a0bd3f2863526f75e4d74220ddb921933d59e298fb22179c3595ec867f3389119ffe createdAt: '2024-07-04T13:33:24.940Z' updatedAt: '2024-07-04T13:33:24.940Z' startedAt: '2024-07-04T13:33:24.939Z' tags: - Evervault API enclaveDeploymentUpdated: post: operationId: enclaveDeploymentUpdated summary: enclave.deployment.updated description: This event is triggered when a enclave deployment is updated. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - enclave.deployment.updated description: The type of webhook event. data: $ref: '#/components/schemas/EnclaveDeployment' examples: success: value: id: webhook_event_0aa6ff0fee57 type: enclave.deployment.updated data: id: enclave_deployment_0aa6ff0fee57 enclave: id: enclave_0aa6ff0fee57 name: My Enclave app: id: app_0aa6ff0fee57 name: Production team: id: team_0aa6ff0fee57 name: My Team message: Deployment started. Building image on Evervault infrastructure status: in-progress stage: image.building dashboardUrl: https://app.evervault.com/[TEAM_UUID]/[APP_UUID]/enclaves/[ENCLAVE_UUID]/versions versionMetadata: version: 1 controlPlaneVersion: 1.0.9 dataPlaneVersion: 1.0.9 debugMode: false pcrs: pcr0: cfd273de62d2646cafb8bb20dbdc273123590d7b44878d94acaa3bd60d519919939c6052390869a5ac308a626ff3dd15 pcr1: 0343b056cd8485ca7890ddd833476d78460aed2aa161548e4e26bedf321726696257d623e8805f3f605946b3d8b0c6aa pcr2: 8cb4c46e9f502de67494ffd582d65ca088bfc0c90b44582de793eb9903002be6959d2860698da0097c95ac564d980a41 pcr8: f1a721d53b6e9aa936eab11b8d57a0bd3f2863526f75e4d74220ddb921933d59e298fb22179c3595ec867f3389119ffe createdAt: '2024-07-04T13:33:24.940Z' updatedAt: '2024-07-04T13:33:24.940Z' startedAt: '2024-07-04T13:33:24.939Z' tags: - Evervault API enclaveDeploymentFinished: post: operationId: enclaveDeploymentFinished summary: enclave.deployment.finished description: This event is triggered when a enclave deployment is finished. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - enclave.deployment.finished description: The type of webhook event. data: $ref: '#/components/schemas/EnclaveDeployment' examples: success: value: id: webhook_event_0aa6ff0fee57 type: enclave.deployment.finished data: id: enclave_deployment_0aa6ff0fee57 enclave: id: enclave_0aa6ff0fee57 name: My Enclave app: id: app_0aa6ff0fee57 name: Production team: id: team_0aa6ff0fee57 name: My Team message: Deployment finished. status: success stage: image.built dashboardUrl: https://app.evervault.com/[TEAM_UUID]/[APP_UUID]/enclaves/[ENCLAVE_UUID]/versions versionMetadata: version: 1 controlPlaneVersion: 1.0.9 dataPlaneVersion: 1.0.9 debugMode: false pcrs: pcr0: cfd273de62d2646cafb8bb20dbdc273123590d7b44878d94acaa3bd60d519919939c6052390869a5ac308a626ff3dd15 pcr1: 0343b056cd8485ca7890ddd833476d78460aed2aa161548e4e26bedf321726696257d623e8805f3f605946b3d8b0c6aa pcr2: 8cb4c46e9f502de67494ffd582d65ca088bfc0c90b44582de793eb9903002be6959d2860698da0097c95ac564d980a41 pcr8: f1a721d53b6e9aa936eab11b8d57a0bd3f2863526f75e4d74220ddb921933d59e298fb22179c3595ec867f3389119ffe createdAt: '2024-07-04T13:33:24.940Z' updatedAt: '2024-07-04T13:33:24.940Z' startedAt: '2024-07-04T13:33:24.939Z' tags: - Evervault API auditLogEvent: post: operationId: auditLogEvent summary: audit-log.event description: Triggered when something is changed inside your team or app. requestBody: content: application/json: schema: type: object properties: id: type: string description: The id of the webhook event. type: type: string enum: - audit-log.event description: The type of webhook event. data: type: object properties: id: type: string description: The id of the audit log event. evervault: type: object properties: resource: type: object properties: type: type: string description: The type of the resource. uuid: type: string description: The uuid of the resource. team: type: object properties: uuid: type: string description: The uuid of the team. app: type: object properties: uuid: type: string description: The uuid of the app. user: type: object properties: id: type: - string - 'null' description: The email of the user. apiKey: type: - 'null' - object properties: uuid: type: string description: The uidid of the api key. action: type: object properties: type: type: string description: The type of the action. action: type: string description: The action that was performed. details: type: object description: Metadata associated with the action. additionalProperties: true client: type: object properties: ip: type: string description: The ip address of the client. '@timestamp': type: integer description: The timestamp of the event in milliseconds. examples: success: value: id: webhook_event_0aa6ff0fee57 type: audit-log.event data: id: event_0aa6ff0fee57 evervault: resource: type: api_key uuid: api_key_0aa6ff0fee57 team: uuid: team_0aa6ff0fee57 app: uuid: app_0aa6ff0fee57 user: id: example@team.com apiKey: null action: type: scoped_api_key action: CreateScopedApiKey details: appUuid: app_0aa6ff0fee57 teamUuid: team_0aa6ff0fee57 resourceUuid: api_key_0aa6ff0fee57 grants: [] client: ip: 82.124.39.23 '@timestamp': 1692972623233 tags: - Evervault API components: schemas: PaymentOneOff: type: object summary: One-Off Payment description: A payment that is made in a single transaction. properties: type: type: string description: The value `one-off`. enum: - one-off example: one-off amount: type: integer description: The amount of the payment in the smallest currency unit (e.g. cents). example: 1000 currency: type: string format: iso-4217-alphabetic description: The currency of the payment. example: gbp required: - type - amount - currency FunctionRun: type: object properties: id: type: string description: A unique identifier representing this specific Function execution instance. example: func_run_eead1d640d7c status: type: string description: The outcome of the Function execution. enum: - success - failure - scheduled x-enum-description: success: The Function executed successfully failure: The Function encountered an error scheduled: The Function execution has been queued example: success result: type: object description: This field represents the output returned by the Function. This is provided only when the Function execution status is 'success'. example: message: Hello, World error: type: - object - 'null' description: This field details any error that occurred during Function execution. This is present only if the status is 'failure'. properties: message: type: string description: A concise explanation of the error that occurred during Function execution. example: Some error message! stack: type: string description: A trace detailing the sequence of events leading to the error, useful for debugging purposes. example: "Error: Some error message!\n at exports.handler (/runtime/app/index.js:5:11)\n at /runtime/index.js:64:26\n at new Promise ()\n at /runtime/index.js:51:16" createdAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this Function execution was triggered. example: 1692972623233 ThreeDSAccessControlServer: type: object description: Details about the Access Control Server involved in the 3DS transaction. properties: transactionIdentifier: type: string description: The Access Control Server's transaction identifier. example: d351441b-f9e6-46e3-a726-9fc4f39bbaaa referenceNumber: type: string description: The Access Control Server's reference number assigned by EMVCo. example: 3DS_LOA_ACS_STIN_020200_00417 operatorIdentifier: type: - 'null' - string description: The identifier of the Access Control Server's operator, when the ACS provides it. example: Evervault PaymentInstallment: type: object summary: Installment Payment description: A repeating payment for paying a total amount in multiple installments. properties: type: type: string description: The value `installment`. enum: - installment amount: type: integer description: The amount of the payment in the smallest currency unit (e.g. cents). example: 1000 currency: type: string format: iso-4217-alphabetic description: The currency of the payment. example: gbp installments: type: integer description: The number of installments. example: 12 frequency: type: string description: Indicates the minimum time between authorizations. enum: - daily - weekly - monthly - quarterly - annually example: monthly expiry: type: integer description: The epoch time in seconds when the installment expires. Maximum value is 4102394400 (equivalent to 2099-12-31). required: - type - amount - currency - installments - frequency Acquirer: type: object description: The acquirer of the payment. properties: bin: type: string pattern: ^[0-9]{6,11}$ minLength: 6 maxLength: 11 description: The Bank Identification Number (BIN) of the acquirer. Must be 6 to 11 digits. example: '42424242' merchantIdentifier: type: string description: The merchant identifier assigned by the acquirer. example: '5945' country: type: string description: The country code of the acquirer format: iso-3166-1-alpha-2 example: ie required: - bin - merchantIdentifier - country EnclaveDeployment: type: object properties: id: type: string description: The id of the Enclave Deployment. example: enclave_deployment_0aa6ff0fee57 enclave: type: object properties: id: type: string description: The id of the Enclave. example: enclave_0aa6ff0fee57 name: type: string description: The name of the Enclave. example: My Enclave app: type: object properties: id: type: string description: The id of the Application. example: app_0aa6ff0fee57 name: type: string description: The name of the Application. example: Production team: type: object properties: id: type: string description: The id of the Team. example: team_0aa6ff0fee57 name: type: string description: The name of the Team. example: My Team message: type: string description: The latest message for the enclave deployment status. status: type: string description: The status of the enclave deployment. stage: type: string description: The stage of the enclave deployment. dashboardUrl: type: string description: A URL to the dashboard for the enclave deployment. versionMetadata: type: object properties: version: type: integer description: The version of the enclave deployment. controlPlaneVersion: type: string description: The version of the control plane. dataPlaneVersion: type: string description: The version of the data plane. debugMode: type: boolean description: Whether the enclave is in debug mode. pcrs: type: object properties: pcr0: type: string description: The PCR0 value. pcr1: type: string description: The PCR1 value. pcr2: type: string description: The PCR2 value. pcr8: type: string description: The PCR8 value. createdAt: type: string description: The time the deployment was started. updatedAt: type: string description: The time the deployment was last updated. startedAt: type: string description: The time the deployment was started. ThreeDSSession: type: object summary: The 3DS Session Object description: 'The 3D Secure API can be used in combination with our [Client-Side SDK''s](/sdks/javascript#uithreedsecure) to authenticate cardholders using 3D Secure. This API allows you to create, retrieve and update 3D Secure sessions. ' properties: id: type: string description: A unique identifier assigned to each 3DS Authentication. example: tds_57aa862f8bf7 card: type: object properties: lastFour: type: string description: The last four digits of the card number. example: '4242' expiry: $ref: '#/components/schemas/CardExpiry' brand: type: string description: The card brand. example: visa funding: type: string description: The card funding type. example: debit segment: type: string description: The card segment. example: consumer issuer: type: string description: The name of the card issuer. example: Fifth Third Bank, The country: type: string format: iso-3166-1-alpha-2 description: The country code of the card. example: gb currency: type: string description: The currency code of the card. (ISO 4217 three-letter code) example: gbp required: - lastFour - expiry - brand - funding - segment - country - currency acquirer: $ref: '#/components/schemas/Acquirer' merchant: type: object description: The merchant details. properties: name: type: string description: The name of the merchant. example: Ollivanders Wand Shop website: type: string description: The website of the merchant. example: https://www.ollivanders.co.uk categoryCode: type: string description: The category code of the merchant. example: '5945' country: type: string format: iso-3166-1-alpha-2 description: The country code of the merchant. example: ie required: - name - website - categoryCode - country payment: type: object description: The payment details of the 3D Secure Authentication. oneOf: - $ref: '#/components/schemas/PaymentInstallment' - $ref: '#/components/schemas/PaymentOneOff' - $ref: '#/components/schemas/PaymentRecurring' challenge: $ref: '#/components/schemas/ThreeDSChallenge' initiator: $ref: '#/components/schemas/ThreeDSInitiator' accessControlServer: $ref: '#/components/schemas/ThreeDSAccessControlServer' directoryServer: $ref: '#/components/schemas/ThreeDSDirectoryServer' threeDSServer: type: object description: Details about the 3DS Server involved in the 3DS transaction. properties: transactionIdentifier: type: string description: The unique identifier for the 3DS transaction. example: a623edc1-54bc-455d-9dea-c909783a37c3 version: type: string enum: - 2.2.0 description: The 3D Secure version used to authenticate the session. example: 2.2.0 status: type: string enum: - action-required - success - failure description: The status of the 3DS Authentication. example: action-required authentication: type: object description: The details of the 3DS Authentication. This field is present when the status is `success`. properties: flow: type: string enum: - frictionless - challenge - attempt description: The authentication flow. example: frictionless methods: type: array items: type: string enum: - static-passcode - sms-otp - emv-card-reader-otp - app-otp - other-otp - knowledge-based - push-confirmation - oob-biometrics - oob-login - oob-other - webauthn - secure-payment-confirmation - behavioral-biometrics - electronic - decoupled description: The authentication method(s). This field is only present when the flow is `challenge`. example: - sms-otp - push-confirmation required: - flow nextAction: type: object description: The next action required to complete the 3DS Authentication. properties: type: type: string description: 'The next action required to progress the 3DS Authentication. If the type is `use-sdk` you must use our [Client-Side SDK](/sdks/javascript#ui.threedsecure()) to complete the 3DS Authentication. ' enum: - use-sdk example: use-sdk required: - type cryptogram: type: string description: The 3DS cryptogram (also called Authentication Value). This value must be retrieved and provided to the payment gateway when processing the payment. This value is only present when the status is `success` and is retained for one hour. example: MTIzNDU2Nzg5MDA5ODc2NTQzMjE= eci: type: object description: The details of the Electronic Commerce Indicator. This value is only present when the status is `success`. properties: value: type: string enum: - '00' - '01' - '02' - '04' - '05' - '06' - '07' description: "The value of the ECI. Below are descriptions of each of the possible values:\n\nMastercard:\n - `00`: Not authenticated. No liability shift.\n - `01`: Attempted (Stand-in) authentication. Liability shift applies.\n - `02`: Successful authentication. Liability shift applies.\n - `04`: Data only authentication. No liability shift.\n - `06`: Transaction is exempt from SCA. No liability shift.\n - `07`: Recurring transaction authenticated. Liability shift applies for initial transaction only.\n\nVisa, American Express, Discover, Diners Club, JCB:\n - `05`: Successful authentication. Liability shift applies.\n - `06`: Attempted (Stand-in) authentication. Liability shift applies.\n - `07`: Not authenticated. No liability shift.\n" example: '05' descriptor: type: string enum: - fully-authenticated - attempted - not-authenticated description: The descriptor of the ECI. This value must be retrieved and provided to the payment gateway when processing the payment. example: fully-authenticated liabilityShift: type: boolean description: A boolean value indicating whether the liability shift has occurred. example: true failureReason: type: string enum: - failed-authentication - card-not-enrolled - no-card-record - suspected-fraud - invalid-acquirer-details - cancelled - unsupported-version - challenge-required - authentication-timed-out - acs-unavailable - directory-server-unavailable - transient-system-failure - invalid-card-details - transaction-not-permitted - required-data-element-missing - protocol-error x-enum-description: failed-authentication: The authentication failed. Typically this is due to the cardholder failing to provide the correct 3DS authentication details. This transaction should be considered as potentially fraudulent. card-not-enrolled: The card is not enrolled in 3DS and therefore cannot be authenticated. no-card-record: The issuer has no record of the card. Verify the card details with the cardholder before retrying. suspected-fraud: The transaction is suspected to be fraudulent. You should not process this transaction. invalid-acquirer-details: The acquirer details are invalid. Please check the `acquirer` object for the correct details. cancelled: The cardholder cancelled the transaction. unsupported-version: The 3DS version is not supported. challenge-required: This failure mode indicates that the cardholder is required to complete a challenge but the SDK has been mounted with the `failOnChallenge` option set to `true`. authentication-timed-out: The authentication timed out. This is likely because the cardholder abandoned the transaction. acs-unavailable: The Access Control Server associated with the card issuer was unavailable. Please try again later. directory-server-unavailable: The Directory Server associated with the card network was unavailable. Please try again later. transient-system-failure: A transient system failure occurred. This is likely due to a technical issue with the 3DS authentication process. Please try again later. invalid-card-details: The card details are invalid. Please check the `card` object for the correct details and ensure the card is not expired. transaction-not-permitted: The current session configuration is not permitted for this card. For example, defining a merchant intiated transaction reason of `secure-corporate-payment` for non-commercial cards. required-data-element-missing: A required data element is missing. Please check the `card` object for the correct details and ensure all required data elements are present. protocol-error: A protocol error occurred. This is likely due to a technical issue with the 3DS authentication process. Please try again later. description: 'The reason for the 3DS Authentication failure. This field is present when the status is `failure` and can be used for troubleshooting. ' ares: type: object description: The details of the 3DS Authentication Response (ARes). properties: transStatus: type: object description: The transaction status. properties: value: type: string enum: - Y - N - U - A - C - D - R - I description: The raw value of the transaction status. example: Y detail: type: string description: The detailed description of the transaction status. example: Authentication/Account Verification Successful transStatusReason: type: - 'null' - object description: The reason for the transaction status if transStatus is 'N', 'U' or 'R'. properties: value: type: string description: The raw value of the transaction status reason. example: '11' detail: type: string description: The detailed description of the transaction status reason. example: Suspected fraud cardholderInfo: type: - 'null' - string description: A message from the card issuer to display to the cardholder, such as guidance to contact their bank. Maximum 128 characters. example: Please contact your bank. cres: type: - 'null' - object description: The details of the 3DS Challenge Response (CRes). properties: transStatus: type: object description: The transaction status. properties: value: type: string enum: - Y - N description: The raw value of the transaction status. example: Y detail: type: string description: The detailed description of the transaction status. example: Authentication/Account Verification Successful rreq: type: - 'null' - object description: The result of the 3DS authentication when a challenge has occurred. properties: transStatus: type: object description: The transaction status. properties: value: type: string enum: - Y - N - U - A - R description: The raw value of the transaction status. example: Y detail: type: string description: 'The detailed description of the transaction status. Below are descriptions of each of the possible values: - `Y` - Authentication Verification Successful. - `N` - Not Authenticated/Account Not Verified; Transaction denied. - `U` - Authentication/Account Verification Could Not Be Performed; Technical or other problem. - `A` - Attempts Processing Performed; Not Authenticated/Verified, but a proof of attempted authentication/verification is provided. - `R` - Authentication/Account Verification Rejected; Issuer is rejecting.' example: Authentication Verification Successful. createdAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this 3DS-Session was created. example: 1692972623233 updatedAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this 3DS-Session was last updated. example: 1692972623768 required: - id - merchant - card - acquirer - version - status - createdAt FunctionDeployment: type: object properties: function: type: object properties: id: type: string description: The id of the Function. example: func_0aa6ff0fee57 name: type: string description: The name of the Function. example: my-function app: type: object properties: id: type: string description: The id of the Application. example: app_0aa6ff0fee57 name: type: string description: The name of the Application. example: Production team: type: object properties: id: type: string description: The id of the Team. example: team_0aa6ff0fee57 name: type: string description: The name of the Team. example: My Team message: type: string description: The latest message for the function deployment status. status: type: string description: The status of the function deployment. dashboardUrl: type: string description: A URL to the dashboard for the function deployment. createdAt: type: integer format: int64 description: The time the deployment was started. updatedAt: type: integer format: int64 description: The time the deployment was last updated. NetworkToken: summary: The Network Token Object type: object properties: id: type: string description: A unique identifier representing a specific Network Token. example: network_token_eead1d640d7c number: type: string description: The unique number of the Network Token. example: '4545454545454545' expiry: type: object description: The expiry details of the Network Token. properties: month: type: string description: The month of the Network Token's expiry date, in MM format (e.g. 12 for December) example: '12' year: type: string description: The year of the Network Token's expiry date, in YY format (e.g. 26 for 2026) example: '23' card: type: object description: The details of the underlying encrypted card. properties: lastFour: type: string description: The last four digits of the card number. example: '4545' expiry: type: object description: The expiry details of the card. properties: month: type: string description: The month of the card's expiry date, in MM format (e.g. 12 for December) example: '12' year: type: string description: The year of the card's expiry date, in YY format (e.g. 26 for 2026) example: '23' brand: type: string enum: - visa - mastercard - american-express description: The card brand associated with the payment card. example: visa tokenRequestorIdentifier: type: string description: The identifier of the Token Requestor (TRID) that requested the Network Token. example: '50165156978' tokenServiceProvider: type: string description: The Token Service Provider (TSP) that issued the Network Token. enum: - mdes - vts - aets paymentAccountReference: type: string description: The unique identifier of the Payment Account associated with this Network Token. example: 512381d9f8e0629211e3949a08002 status: type: string enum: - active - inactive - blocked - provisioning - suspended - deleted - expired description: The status of the Network Token. Active means the token is valid and can be used for payments. Inactive means the token exists but is not currently active. Blocked and provisioning are reserved for future use. Suspended means the token is temporarily unusable but may be reactivated by the issuer or transition to deleted. Deleted is a terminal state where the token is permanently removed and a new credential must be obtained. Expired means the token has passed its expiration date and should not be used for transactions. example: active merchant: type: string description: The unique identifier of the Merchant associated with this Network Token. example: merchant_eead1d640d7c createdAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this Network Token was created. example: 1692972623233 updatedAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this Network Token was last updated. example: 1692972623768 required: - id - number - expiry - card - tokenRequestorIdentifier - tokenServiceProvider - status - merchant - createdAt example: id: network_token_eead1d640d7c number: '4498004918463434' expiry: month: '13' year: '25' card: lastFour: '4242' expiry: month: 09 year: '26' brand: visa paymentAccountReference: 512381d9f8e0629211e3949a08002 tokenRequestorIdentifier: '40020248564' tokenServiceProvider: vts merchant: merchant_ddsaJsda9d86 status: active createdAt: 1692972623233 updatedAt: 1692972623768 Merchant: type: object summary: The Merchant Object properties: id: type: string description: A unique identifier assigned to each Merchant. example: merchant_eead1d640d7c name: type: string description: The official name of the Merchant as recognized in transactions and communications. This name is used for display purposes and may be the company's trade name or a derived nickname. pattern: ^[a-zA-Z0-9 ]{1,60}$ example: Acme shortName: type: string description: 'A shorter version of the Merchant''s name. When creating a 3D Secure session that references this Merchant by ID, `shortName` is used in place of `name` if `name` exceeds the 40-character limit imposed by the 3D Secure specification. ' pattern: ^[a-zA-Z0-9 ]{1,40}$ example: Acme website: type: string description: The official website URL of the Merchant. The domain must use a valid IANA top-level domain. See https://data.iana.org/TLD/tlds-alpha-by-domain.txt example: https://www.acme.com business: type: object description: The business details of the Merchant. properties: legalName: type: string description: The legal name under which the Merchant's business is registered. pattern: ^[a-zA-Z0-9 ]{1,60}$ example: Acme Corp address: $ref: '#/components/schemas/Address' description: The physical address of the Merchant's principal place of business. categoryCode: type: string description: The 4-digit Merchant Category Code (MCC). example: '5945' networkTokens: $ref: '#/components/schemas/MerchantNetworkTokenStatus' description: The Merchant's Network Token configuration. applePay: $ref: '#/components/schemas/MerchantApplePay' description: The Merchant's Apple Pay configuration. createdAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this Merchant was created. example: 1692972623233 updatedAt: type: integer format: int64 description: The exact time, in epoch milliseconds, when this Merchant was last updated. example: 1692972623768 required: - id - name - website - createdAt example: id: merchant_eead1d640d7c name: Ollivanders Wand Shop website: https://www.ollivanders.co.uk categoryCode: '5945' business: legalName: Ollivanders Wand Shop Ltd address: line1: Diagon Alley city: London postalCode: WD1 1AA country: gb networkTokens: enrolment: - cardBrand: mastercard tokenRequestorIdentifier: '50165156978' status: active - cardBrand: visa tokenRequestorIdentifier: '40238123804' status: active - cardBrand: american-express tokenRequestorIdentifier: null status: inactive applePay: domains: - domain: store.ollivanders.co.uk status: active createdAt: 1692972623233 updatedAt: 1692972623768 Address: type: object properties: line1: type: string description: 'The first line of the address. ' pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$!% ]+$ example: 123 Main St line2: type: string description: 'The second line of the address. ' pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$!% ]+$ example: Floor 4 city: type: string description: The city where the address is located. pattern: "^[0-9a-zA-Z _\\-¡-\uFFFF]+$" example: Springfield state: type: string description: The state or province code. Required when `country` is `us`, `ca`, or `au`. format: iso-3166-2-subdivision example: ny postalCode: type: string description: The postal code of the address. pattern: ^[0-9a-zA-Z ]*$ example: 13468 country: type: string format: iso-3166-1-alpha-2 description: The country where the address is located. example: us required: - line1 - city - postalCode - country ThreeDSChallenge: type: object description: Details about the 3DS challenge. properties: preference: type: string description: The 3DS challenge preference. enum: - no-preference - challenge-requested - challenge-mandated - no-challenge-requested reason: type: - 'null' - string description: The reason for not requesting a challenge. This value should only be present when the preference is `no-challenge-requested`. enum: - null - data-sharing - low-value - low-risk - secure-corporate-payment - authentication-already-performed required: - preference ThreeDSDirectoryServer: type: object description: Details about the Directory Server involved in the 3DS transaction. properties: transactionIdentifier: type: string description: The Directory Server's transaction identifier. example: 18030e14-fafa-462e-bfc0-da733196e808 referenceNumber: type: string description: The Directory Server's reference number assigned by EMVCo. example: 3DS_LOA_DIS_VISA_020200_00828 network: type: string enum: - visa - mastercard - american-express - discover - jcb - unionpay - rupay description: The network of the Directory Server. example: visa MerchantApplePay: type: object properties: domains: type: array description: 'The domains the Merchant has enrolled with Apple Pay and the status of the enrollment. ' items: type: object properties: domain: type: string description: The top-level domain name of the Merchant's website. example: ollivanders.co.uk status: type: string enum: - active - pending - failed description: 'The current status of the Merchant''s Apple Pay enrollment for the specified domain. `active` means the Merchant is fully enrolled and can accept Apple Pay payments on the domain. ' example: active MerchantNetworkTokenStatus: type: object properties: enrolment: type: array description: 'An array detailing the Merchant''s enrollment status for network token issuance across different card brands. ' items: type: object properties: cardBrand: $ref: '#/components/schemas/CardBrand' description: The card brand (e.g., Visa, Mastercard, American Express) for which the enrollment status is being described. Currently, Network Tokens is only supported for Visa, Mastercard and American Express. tokenRequestorIdentifier: type: - string - 'null' description: The unique Token Requestor Identifier (TRID) associated with the Merchant for the specific card brand. This identifier is used when creating Network Tokens for the Merchant. example: '50165156978' status: type: string enum: - active - inactive description: 'The current stage of the Merchant''s enrolment process for network token issuance with the specified card brand. ' example: active x-enum-description: active: The Merchant is fully enrolled and can create Network Tokens for the card brand. inactive: The Merchant is not enrolled for the card brand. CardExpiry: type: object properties: month: type: string description: The card expiry month, in MM format (e.g. 12 for December) example: 09 year: type: string description: The card expiry year, in YY format (e.g. 26 for 2026) example: '26' required: - month - year ThreeDSInitiator: type: object description: Details about the transaction initiation process. oneOf: - type: object summary: Customer-Initiated Transaction (CIT) properties: type: type: string enum: - customer description: The value `customer`. - type: object summary: Merchant-Initiated Transaction (MIT) properties: type: type: string enum: - merchant description: The value `merchant`. reason: type: string enum: - recurring - installment - mail-order - telephone-order - add-card - maintain-card - other-payment - account-verification - split-shipment - delayed-shipment description: The reason for the transaction to be initiated by the merchant. This field is mandatory when the `type` is `merchant`. initialSession: type: string description: 'The ID of the initial session. This can either be an Evervault 3DS Session ID or a `threeDSServer.transactionIdentifier`. This field should be provided if the merchant has previously authenticated the cardholder using 3DS. The API does not currently enforce this requirement, but it is recommended to always provide this field. In some cases Authentications will error if this field is not populated. ' CardFunding: type: string enum: - debit - credit - prepaid - deferred-debit - charge x-enum-description: debit: Draw funds directly from a linked bank account credit: Provide a line of credit from which users can borrow funds for transactions prepaid: Loaded with a set amount of funds in advance and can be used until the balance is depleted deferred-debit: Combine aspects of debit and credit cards, allowing transactions to be debited from a linked account at a later date, usually monthly charge: Require full payment of the balance at the end of each billing cycle, but do not have a pre-set spending limit description: 'The card funding type specifies the method by which transactions are financed. ' example: debit CardSegment: type: string enum: - consumer - commercial - business - government - payouts - all x-enum-description: consumer: Personal use cards commercial: Cards used by large organizations or corporations business: Small to medium-sized business use government: Cards used by government entities payouts: Cards designed to disburse payments like payroll or cashback all: General-purpose cards not confined to a specific segment description: 'The card segment indicates the primary market or usage category of the card. ' example: consumer PaymentRecurring: type: object summary: Recurring Payment description: A repeating payment with a regular interval. properties: type: type: string description: The value `recurring`. enum: - recurring amount: type: integer description: The amount of the payment in the smallest currency unit (e.g. cents). example: 1000 currency: type: string format: iso-4217-alphabetic description: The currency of the payment. example: gbp frequency: type: string description: Indicates the minimum time between authorizations. enum: - daily - weekly - monthly - quarterly - annually example: monthly expiry: type: integer description: The epoch time in seconds when the recurring payment expires. Maximum value is 4102394400 (equivalent to 2099-12-31). required: - type - amount - currency - frequency - expiry Card: x-section: Payments x-group: Cards type: object summary: The Card Object properties: id: type: string description: The unique identifier for the card. example: card_eead1d640d7c number: type: string description: The Evervault encrypted card number. This can be decrypted using Relay decryption or using a function. example: 'ev:' expiry: $ref: '#/components/schemas/CardExpiry' description: The expiry date of the card. bin: type: string description: The first 6 or 8 digits of the card number. example: '424242' lastFour: type: string description: The last 4 digits of the card number. example: '4242' brand: $ref: '#/components/schemas/CardBrand' funding: $ref: '#/components/schemas/CardFunding' segment: $ref: '#/components/schemas/CardSegment' country: type: string format: iso-3166-1-alpha-2 description: The country where the card was issued. example: gb currency: type: string format: iso-4217-alphabetic description: The currency of the card. example: gbp issuer: type: string description: The name of the card issuer. example: Gringotts Wizarding Bank and Trust Company status: type: string description: The current status of the card. enum: - active - replaced - closed - invalid x-enum-description: active: The card is active and can be used for transactions. replaced: The card has been replaced by another card (e.g. expired, lost or stolen). closed: The card account has been closed and can no longer be used for transactions. invalid: The card is invalid and cannot be used for transactions or updated. example: active replacement: type: - string - 'null' description: The ID of the replacement card. This field is only present if the card has been replaced. example: card_eead1d640d7c automaticUpdates: type: string description: 'The status of Card Account Updater on this card. Evervault currently supports Card Account Updates for Visa, Mastercard and American Express cards. ' enum: - enabled - issuer-not-enrolled - disabled createdAt: type: integer description: The Unix timestamp of when the card was created. example: 1692972623233 updatedAt: type: - integer - 'null' description: The Unix timestamp of when the card was last updated. example: 1692972623768 required: - number - bin - lastFour - createdAt example: id: card_eead1d640d7c number: ev:debug:Tk9D:number:nTepvAI585M7lUVp:AkJ6Brzat0E7ui8DSKCSXO7AopU/+GFuBekQ6cGx7eTl:sfihK53itmHp+URxomnTITUpwQwM5nnRrnQ0qdIOUlA=:$ expiry: month: '9' year: '26' bin: '424242' lastFour: '4242' brand: visa funding: credit segment: consumer country: gb currency: gbp issuer: Gringotts Wizarding Bank and Trust Company status: active replacement: null automaticUpdates: enabled createdAt: 169297262323 updatedAt: null CardBrand: type: string enum: - visa - mastercard - american-express - discover - diners-club - jcb - unionpay description: The card brand associated with the payment card. example: visa securitySchemes: ApiKey: type: http scheme: basic description: Authentication using an API key. The username is the App ID and the password is the Api Key. TokenAuth: type: http scheme: bearer bearerFormat: RunToken description: 'Authentication using a short lived run token that you can share with clients. The Authorization header must be formatted as follow: "RunToken "' ClientSideToken: type: http scheme: bearer bearerFormat: Token description: 'Authentication using a short lived token that you can share with clients. The Authorization header must be formatted as follow: "Token "'