nCino eVault API

OpenAPI 3.1 REST API for the nCino eVault platform: register, retrieve, modify, transfer and deliver eNotes, download SMART Doc XML and PDF renditions, read enote and transaction audit logs, run connectivity checks, and manage webhooks. Bearer JWT auth issued from the eVault token endpoint; stage and production environments selected by a path parameter.

OpenAPI Specification

ncino-evault-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"version":"1.0.0","title":"nCino eVault","description":"All routes are currently in development and should be treated as such."},"servers":[{"url":"https://evault.ncino.com/api","description":"Production server"}],"security":[{"bearerAuth":[]}],"paths":{"/oauth/auth_token":{"servers":[{"url":"https://evault.ncino.com","description":"Token endpoint host (served at the domain root, not under /api)"}],"post":{"summary":"Generate or refresh an auth token","description":"Exchanges API client credentials for a JWT access token. Authenticate with HTTP Basic using your client_id (username) and client_secret (password). Use grant_type `authorization_code` with the `code` issued for your <Glossary>OrgApiClient</Glossary> to obtain the first token, or grant_type `refresh_token` with a previously issued <Glossary>refresh token</Glossary> to renew one. The returned `access_token` is used as the Bearer token on all other endpoints.","tags":["Authentication"],"security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/auth_token_post"},"examples":{"authorization_code":{"summary":"First token (authorization_code grant)","value":{"grant_type":"authorization_code","code":"459f521f-f2fa-4230-a704-46147ac8as7e"}},"refresh_token":{"summary":"Renew a token (refresh_token grant)","value":{"grant_type":"refresh_token","refresh_token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYifQ.abc123"}}}}}},"responses":{"200":{"description":"Access token issued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/auth_token_response"}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"}}}},"/connectivity-check":{"get":{"summary":"Verifies API connectivity","description":"Lightweight connection/health check. Requires a valid <Glossary>bearer token</Glossary> but no specific permission — a 200 response confirms the caller's credentials are valid and can reach the eVault API. No environment segment or identifiers are needed.","tags":["Connectivity"],"responses":{"200":{"description":"The connection is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/connectivity_check_response"}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"}}}},"/{environment}/enotes":{"x-acl":"enotes","post":{"summary":"Create an eNote","description":"Creates a new <Glossary>eNote</Glossary> in eVault from the supplied borrower, property, and loan details along with the eNote document data (the eNote file and its PDF rendering).","tags":["Enotes"],"parameters":[{"name":"environment","description":"The environment where the eNote, transaction, or audit log will be located.","required":true,"in":"path","schema":{"$ref":"#/components/schemas/environment"}}],"requestBody":{"description":"In order to create an eNote, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/enotes_post"}}}},"responses":{"200":{"description":"Created eNote","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/guid"}}}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks/put/responses/500"}}}},"/{environment}/enotes/{enote_id}":{"x-acl":"enotes","get":{"summary":"Get an eNote","description":"Retrieves the full details and current status of an <Glossary>eNote</Glossary> by its guid, including its registration status, named parties, and <Glossary>audit log</Glossary> entries.","operationId":"getEnote","tags":["Enotes"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"name":"enote_id","description":"The unique identifier for an eNote","required":true,"in":"path","schema":{"$ref":"#/components/schemas/guid"}}],"responses":{"200":{"description":"eNote","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/enote_response"}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/smartdoc":{"x-acl":"enotes","get":{"summary":"Get an eNote smartdoc","description":"Retrieves the <Glossary>smartdoc</Glossary> (SMART Doc®) representation of an <Glossary>eNote</Glossary> by its guid.","operationId":"getEnoteSmartdoc","tags":["Enotes"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"responses":{"200":{"description":"eNote","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/base64"}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/pdf":{"x-acl":"enotes","get":{"summary":"Get an eNote pdf","description":"Retrieves the PDF rendering of an <Glossary>eNote</Glossary> by its guid.","operationId":"getEnotePdf","tags":["Enotes"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"responses":{"200":{"description":"eNote","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/base64"}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/audit-log":{"x-acl":"enotes","get":{"summary":"Get an eNote audit log","description":"Retrieves the <Glossary>audit log</Glossary> for an <Glossary>eNote</Glossary> — the time-ordered record of events (registration, transfers, status changes, and so on) recorded against its <Glossary>electronic record</Glossary>.","operationId":"getEnoteAuditLog","tags":["Enotes"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"responses":{"200":{"description":"eNote","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"type":"object","properties":{"auditLog":{"$ref":"#/components/schemas/base64"}}}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/documents/upload":{"x-acl":"enotes","post":{"summary":"Upload a document to an eNote","description":"Uploads one or more supporting documents (such as an appraisal or title policy) and attaches them to an <Glossary>eNote</Glossary>.","tags":["Enotes"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to upload documents to an eNote, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/enotes-enote_guid-documents-upload_post"}}}},"responses":{"200":{"description":"Document uploaded","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/guid"},"name":{"$ref":"#/components/schemas/document_name"},"documentType":{"$ref":"#/components/schemas/document_type"}}}}}}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks/put/responses/500"}}}},"/{environment}/audit-logs/{audit_log_id}":{"x-acl":"auditLogs","get":{"summary":"Get an audit log","description":"Retrieves a single <Glossary>audit log</Glossary> entry by its guid.","operationId":"getAuditLog","tags":["Audit Logs"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"name":"audit_log_id","description":"The unique identifier for an audit log","required":true,"in":"path","schema":{"$ref":"#/components/schemas/guid"}}],"responses":{"200":{"description":"eNote","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/guid"},"eventType":{"$ref":"#/components/schemas/event_type"},"incoming":{"$ref":"#/components/schemas/incoming"},"status":{"$ref":"#/components/schemas/status"},"min":{"$ref":"#/components/schemas/min"},"enoteId":{"$ref":"#/components/schemas/guid"},"documentId":{"$ref":"#/components/schemas/guid"},"transactionId":{"$ref":"#/components/schemas/guid"},"ipAddress":{"$ref":"#/components/schemas/ip_address"},"userAgent":{"$ref":"#/components/schemas/user_agent"},"additionalInfo":{"$ref":"#/components/schemas/additional_info"},"initiatorMersOrgId":{"$ref":"#/components/schemas/mers_org_id"},"requestTimestamp":{"$ref":"#/components/schemas/general_iso8601"},"createdAt":{"$ref":"#/components/schemas/general_iso8601"},"updatedAt":{"$ref":"#/components/schemas/general_iso8601"},"user":{"$ref":"#/components/schemas/user"},"isSystem":{"$ref":"#/components/schemas/is_system"},"isTest":{"$ref":"#/components/schemas/is_test"},"request":{"$ref":"#/components/schemas/base64"},"response":{"$ref":"#/components/schemas/base64"}}}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/transactions/{transaction_id}":{"x-acl":"transactions","get":{"summary":"Get a transaction","description":"Retrieves a previously submitted transaction by its transaction guid, including its current status and details.","operationId":"getTransaction","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"name":"transaction_id","description":"The unique identifier for a transaction","required":true,"in":"path","schema":{"$ref":"#/components/schemas/guid"}}],"responses":{"200":{"description":"Transaction","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/guid"},"requestId":{"$ref":"#/components/schemas/request_id"},"enoteId":{"$ref":"#/components/schemas/guid"},"min":{"$ref":"#/components/schemas/min"},"transactionType":{"$ref":"#/components/schemas/transaction_type"},"detailedType":{"$ref":"#/components/schemas/detailed_transaction_type"},"initiatorMersOrgId":{"$ref":"#/components/schemas/mers_org_id"},"initiatorName":{"$ref":"#/components/schemas/name"},"isSystem":{"$ref":"#/components/schemas/is_system"},"isTest":{"$ref":"#/components/schemas/is_test"},"incoming":{"$ref":"#/components/schemas/incoming"},"status":{"$ref":"#/components/schemas/status"},"completed":{"$ref":"#/components/schemas/boolean"},"requestTimestamp":{"$ref":"#/components/schemas/general_iso8601"},"createdAt":{"$ref":"#/components/schemas/general_iso8601"},"updatedAt":{"$ref":"#/components/schemas/general_iso8601"},"additionalDetails":{"$ref":"#/components/schemas/transaction_additional_details"},"auditLogs":{"$ref":"#/components/schemas/audit_logs"}}}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}},"post":{"summary":"Updates an existing transaction","description":"Confirms or updates a pending transaction — for example accepting or rejecting a pending <Glossary>transfer</Glossary> awaiting confirmation. The confirmation type is specified in the request body.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1transactions~1%7Btransaction_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to perform this transaction, include the following in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_post"}}}},"responses":{"200":{"description":"Update transaction","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/inquiry":{"x-acl":"transactions","post":{"summary":"Performs an inquiry","description":"Looks up the current registry state of an <Glossary>eNote</Glossary> by its <Glossary>MIN</Glossary> or eNote guid, returning status or summary information.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"}],"requestBody":{"description":"In order to perform an inquiry, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/inquiry_post"}}}},"responses":{"200":{"description":"Inquiry","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/mers_response"},"transactionId":{"$ref":"#/components/schemas/guid"}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/connectivity":{"x-acl":"transactions","post":{"summary":"Performs a connectivity test","description":"Verifies connectivity to <Glossary>MERS eRegistry</Glossary> or <Glossary>MERS eDelivery</Glossary> for the given environment. The target is set by the address type in the request body.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"}],"requestBody":{"description":"In order to perform a connectivity test, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/connectivity_post"}}}},"responses":{"200":{"description":"Connectivity","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/register":{"x-acl":"transactions","post":{"summary":"Performs a Registration","description":"Registers a newly created <Glossary>eNote</Glossary> on <Glossary>MERS eRegistry</Glossary>, establishing the initial <Glossary>controller</Glossary> and the <Glossary>location</Glossary> that maintains its <Glossary>authoritative copy</Glossary>. On success the eNote's <Glossary>electronic record</Glossary> is created with a status of Active.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to perform a registration, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/register_post"}}}},"responses":{"200":{"description":"Register","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/change-status":{"x-acl":"transactions","post":{"summary":"Performs a Change Status","description":"Changes the lifecycle status of a registered <Glossary>eNote</Glossary>'s <Glossary>electronic record</Glossary> — for example marking it paid off, charged off, <Glossary>converted to paper</Glossary>, or <Glossary>paper replacement</Glossary>, or reversing a prior status change. The status type is specified in the request body.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to perform a change status, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/change_status_post"}}}},"responses":{"200":{"description":"Change Status","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/change-data":{"x-acl":"transactions","post":{"summary":"Performs a Change Data","description":"Updates data or party associations on a registered <Glossary>eNote</Glossary>'s <Glossary>electronic record</Glossary> without a full transfer — for example adding or releasing a <Glossary>secured party</Glossary>, changing the <Glossary>master servicer</Glossary> or <Glossary>subservicer</Glossary>, or reporting a modification or assumption. The change type is specified in the request body.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to perform a change data, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/change_data_post"}}}},"responses":{"200":{"description":"Change Data","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/deliver":{"x-acl":"transactions","post":{"summary":"Performs a Delivery","description":"Delivers the <Glossary>eNote</Glossary> to one or more recipient organizations via <Glossary>MERS eDelivery</Glossary>. Each recipient is identified by its <Glossary>MERS Org ID</Glossary> and may accept or reject the delivery.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to perform a delivery, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/delivery_post"}}}},"responses":{"200":{"description":"Delivery","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/{environment}/enotes/{enote_id}/transfer":{"x-acl":"transactions","post":{"summary":"Performs a Transfer","description":"Changes the parties on a registered <Glossary>eNote</Glossary> — for example the <Glossary>controller</Glossary>, <Glossary>location</Glossary>, or <Glossary>secured party</Glossary>. The transfer type included in the request body determines which parties change.","tags":["Transactions"],"parameters":[{"$ref":"#/paths/~1%7Benvironment%7D~1enotes/post/parameters/0"},{"$ref":"#/paths/~1%7Benvironment%7D~1enotes~1%7Benote_id%7D/get/parameters/1"}],"requestBody":{"description":"In order to perform a transfer, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/transfer_post"}}}},"responses":{"200":{"description":"Transfer","$ref":"#/paths/~1%7Benvironment%7D~1inquiry/post/responses/200"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/responses/500"}}}},"/webhooks":{"x-acl":"webhooks","put":{"summary":"Create a webhook configuration","description":"Creates a <Glossary>webhook</Glossary> — a URL eVault calls when subscribed <Glossary>webhook event</Glossary>s fire — with its <Glossary>signing key</Glossary> and the set of events it subscribes to.","operationId":"addWebhookConfiguration","tags":["Webhooks"],"requestBody":{"description":"In order to create a webhook configuration, all of the following must be included in the request body","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/add_webhook_configuration_put"}}}},"responses":{"200":{"description":"Created webhook configuration","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/guid"}}}}}]}}}},"400":{"description":"Validation error","$ref":"#/paths/~1webhooks/put/responses/401"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}},"500":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/500_error_response"}}}}}}},"/webhooks/{webhook_id}":{"x-acl":"webhooks","get":{"summary":"Get a webhook configuration","description":"Retrieves a <Glossary>webhook</Glossary> configuration, including the <Glossary>webhook event</Glossary>s it subscribes to.","operationId":"getWebhookConfiguration","tags":["Webhooks"],"parameters":[{"name":"webhook_id","description":"The unique identifier for a webhook configuration","required":true,"in":"path","schema":{"$ref":"#/components/schemas/guid"}}],"responses":{"200":{"description":"Webhook configuration","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/default_success_response"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/webhook_configuration_response"}}}]}}}},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/500_get_error_response"}}}}}},"post":{"summary":"Edit a webhook configuration","description":"Updates an existing <Glossary>webhook</Glossary> configuration's name, URL, <Glossary>signing key</Glossary>, enabled state, or subscribed events.","operationId":"editWebhookConfiguration","tags":["Webhooks"],"parameters":[{"$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/parameters/0"}],"requestBody":{"description":"All fields are optional; only the fields included in the request body are updated. The nCino webhook configuration cannot be edited.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/edit_webhook_configuration_post"}}}},"responses":{"200":{"description":"Updated webhook configuration","$ref":"#/paths/~1webhooks/put/responses/200"},"400":{"description":"Validation error","$ref":"#/paths/~1webhooks/put/responses/401"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks/put/responses/500"}}},"delete":{"summary":"Delete a webhook configuration","description":"Deletes a <Glossary>webhook</Glossary> configuration.","operationId":"deleteWebhookConfiguration","tags":["Webhooks"],"parameters":[{"$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/parameters/0"}],"responses":{"200":{"description":"Deleted webhook configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/default_success_response"}}}},"400":{"description":"Validation error","$ref":"#/paths/~1webhooks/put/responses/401"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks/put/responses/500"}}}},"/webhooks/{webhook_id}/active-status":{"x-acl":"webhooks","post":{"summary":"Update a webhook configuration's active status","description":"Enables or disables a <Glossary>webhook</Glossary> configuration.","operationId":"updateWebhookConfigurationActiveStatus","tags":["Webhooks"],"parameters":[{"$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/parameters/0"}],"requestBody":{"description":"Enables or disables the webhook configuration","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/webhook_active_status_post"}}}},"responses":{"200":{"description":"Updated active status","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/delete/responses/200"},"400":{"description":"Validation error","$ref":"#/paths/~1webhooks/put/responses/401"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks/put/responses/500"}}}},"/webhooks/{webhook_id}/test":{"x-acl":"webhooks","post":{"summary":"Test a webhook configuration","description":"Sends a test event to a <Glossary>webhook</Glossary>'s configured URL and reports whether delivery succeeded.","operationId":"testWebhookConfiguration","tags":["Webhooks"],"parameters":[{"$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/get/parameters/0"}],"responses":{"200":{"description":"Sends a test event to the configured URL and returns whether it succeeded","$ref":"#/paths/~1webhooks~1%7Bwebhook_id%7D/delete/responses/200"},"400":{"description":"Validation error","$ref":"#/paths/~1webhooks/put/responses/401"},"401":{"$ref":"#/paths/~1webhooks/put/responses/401"},"500":{"description":"Error","$ref":"#/paths/~1webhooks/put/responses/500"}}}}},"webhooks":{"WebhookEvent":{"post":{"operationId":"webhookEvent","summary":"Webhook event notification","tags":["Webhook Events"],"description":"When a subscribed event fires, eVault sends a POST to the `url` configured on the <Glossary>webhook</Glossary>. Every event uses the same payload shape; the `event_type` field identifies which event fired and the identifier fields present depend on the event (see the schema). Verify the `ncino-evault-signature` header to confirm the payload's authenticity.","parameters":[{"in":"header","name":"ncino-evault-signature","description":"Base64-encoded HMAC-SHA256 signature of the raw request body, computed with the signing key configured on the webhook. Use it to verify the payload came from eVault and was not modified in transit.","schema":{"type":"string"}}],"requestBody":{"description":"Webhook event payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webhook_event_callback_message"}}}},"responses":{"200":{"description":"OK"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token used to authorize every API request. Send it as `Authorization: Bearer <access_token>`. Tokens are issued by the token endpoint (POST https://evault.ncino.com/oauth/auth_token) and expire after the `expires_in` seconds returned there (default 3600); request a new token or exchange the refresh token once it expires."},"basicAuth":{"type":"http","scheme":"basic","description":"HTTP Basic credentials used only by the token endpoint (POST /oauth/auth_token). The username is your API client_id and the password is your client_secret, sent as `Authorization: Basic base64(client_id:client_secret)`."}},"schemas":{"500_error_response":{"type":"object","properties":{"success":{"type":"boolean","example":false},"errors":{"type":"array","items":{"type":"string","example":"Error message"}},"warnings":{"type":"array","nullable":true,"example":null},"data":{"type":"string","nullable":true,"example":null}}},"500_get_error_response":{"type":"object","properties":{"success":{"type":"boolean","example":false},"errors":{"type":"array","nullable":true,"example":null},"warnings":{"type":"array","nullable":true,"example":null},"data":{"type":"string","nullable":true,"example":null}}},"active":{"type":"boolean","example":true},"additional_info":{"type":"string","nullable":true,"example":null},"assumed":{"type":"boolean","example":false},"audit_logs":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/guid"},"eventType":{"$ref":"#/components/schemas/event_type"},"incoming":{"$ref":"#/components/schemas/incoming"},"status":{"$ref":"#/components/schemas/status"},"requestTimestamp":{"$ref":"#/components/schemas/general_iso8601"},"isSystem":{"$ref":"#/components/schemas/is_system"},"isTest":{"$ref":"#/components/schemas/is_test"}}},"example":[{"id":"459f521f-f2fa-4230-a704-46147ac8as7e","eventType":"connectivity","incoming":false,"status":"success","requestTimestamp":"2019-02-28T00:00:00Z","isTest":false}]},"base64":{"type":"string","example":"iVBORw0KGgoAAAANSUhEUgAAAWIAAAFiCAYAAADMXNJ6AAADx0lEQVR42u3UQQ0AAAgDMeZfNOCChLRzsMelegfAmQgxgBADCLEbAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGECIhRhAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQYQYiEGEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBhFiIAYQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGAAhBhBiAIQYQIgBEGIAIQZAiAGEGECIhRhAiAGE2A0AQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMIMRCDCDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgwgxAAIMYAQAyDEAEIMgBADCDEAQgzwwQDP0cK9V+cyWQAAAABJRU5ErkJggg=="},"boolean":{"type":"boolean","example":true},"change_status_post":{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/change_status_type"},"docGuid":{"allOf":[{"$ref":"#/components/schemas/guid"}],"description":"Required when type is REV_DOCUMENT."}}},"change_status_type":{"type":"string","enum":["REV_REGISTRATION","PAID_OFF","REV_PAID_OFF","CHARGED_OFF","REV_CHARGED_OFF","CONV_PAPER","REV_CONV_PAPER","PAPER_REPLACEMENT","REV_PAPER_REPLACEMENT","TRANSF_TO_PROP","REV_TRANSF_TO_PROP","REV_ASSUMPTION","REV_DOCUMENT","REV_MODIFICATION","ARCHIVE"],"example":"REV_REGISTRATION"},"change_data_post":{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/change_data_type"},"documentType":{"$ref":"#/components/schemas/document_type"},"documentData":{"$ref":"#/components/schemas/base64"},"documentName":{"$ref":"#/components/schemas/document_name"},"contentType":{"$ref":"#/components/schemas/content_type"},"borrowers":{"type":"array","items":{"type":"object","properties":{"firstName":{"$ref":"#/components/schemas/name"},"middleName":{"$ref":"#/components/schemas/name"},"lastName":{"$ref":"#/components/schemas/name"},"suffix":{"$ref":"#/components/schemas/name"}}},"example":[{"firstName":"First","middleName":"Middle","lastName":"Last","suffix":"Sr"}]},"modificationType":{"$ref":"#/components/schemas/modification_type"},"locationOrgId":{"$ref":"#/components/schemas/mers_org_id"},"masterServicerOrgId":{"$ref":"#/components/schemas/mers_org_id"},"subServicerOrgId":{"$ref":"#/components/schemas/mers_org_id"},"transferDelegateeOrgId":{"$ref":"#/components/schemas/mers_org_id"},"securedPartyOrgId":{"$ref":"#/components/schemas/mers_org_id"},"securedPartyDelegateeOrgId":{"$ref":"#/components/schemas/mers_org_id"}}},"change_data_type":{"type":"string","enum":["ADD_SECURED_PARTY","RELEASE_SECURED_PARTY","REVERSE_SECURED_PARTY","ADD_DOCUMENT","ASSUME","MODIFY","UPDATE"],"example":"ADD_DOCUMENT"},"city":{"type":"string","exa

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ncino/refs/heads/main/openapi/ncino-evault-openapi.json