# Weavr Multi Product API Weavr Multi API provides a simple and flexible way to issue cards and accounts to your customers. By integrating Weavr Multi API in your application you can embed banking capabilities within your app and provide a seamless experience for your customers. **Authentication** Each request to the Multi API must include an `api-key` that represents your account. You can obtain an API Key by registering for a Multi account [here](https://portal.weavr.io). Almost all endpoints require a secondary authentication token `auth_token` that represents the user for whom the request is being executed. Version: 3.63.5 ## Servers Weavr Sandbox Environment ``` https://sandbox.weavr.io/multi ``` ## Security ### api-key An API key defined in your User API Client (or Delegate API Client - this feature is available only to customers enabled with delegation functionality). API Clients are as managed in the Embedder Portal Type: apiKey In: header Name: api-key ### auth_token The authentication token representing the user. This will be included in the login response object. Type: http Scheme: bearer Bearer Format: JWT ### webhooks_key The Webhooks key can be found in the API Credentials tab in your Portal Page. Type: apiKey In: header Name: webhooks-key ## Download OpenAPI description [Weavr Multi Product API](https://api.weavr.io/_bundle/products/multi/openapi.yaml) ## Access Manage authentication for your users. ### Login with password - [POST /login_with_password](https://api.weavr.io/products/multi/openapi/access/loginwithpassword.md): Authenticate a user with the email and password that they provided when registering. Given that the user credentials are correct, this returns a token that can then be used to authorise other secured operations. In case the password is expired, a temporary token is returned, which can be used solely for updating the password. The token returned is valid for 5 minutes from last activity. ### Login via biometrics - [POST /login_via_biometrics](https://api.weavr.io/products/multi/openapi/access/loginviabiometrics.md): Trigger a push notification and subsequent biometric authentication of a user, by providing the email that was used in the enrolment process of biometrics. This endpoint can be used in conjunction with your application to authenticate a user and receive a stepped-up token in a single action, for use in-session for any endpoints or UI components that require step-up authentication. Given that the user credentials are correct, a push notification is sent to the user requesting them to complete biometric authentication. On successful completion of authentication, a token will be shared that can be used for endpoints or UI components that require a stepped-up token. ### Get user identities - [GET /identities](https://api.weavr.io/products/multi/openapi/access/useridentities.md): Retrieves a list of identities available to the holder of the token. ### Logout - [POST /logout](https://api.weavr.io/products/multi/openapi/access/logout.md): Logs out the user and terminates the session identified by the auth_token in the Authorization Header. ### Acquire a new access token - [POST /access_token](https://api.weavr.io/products/multi/openapi/access/requestaccesstoken.md): This API endpoint accepts a POST request with an auth_token parameter and returns an access_token that grants authorized access to additional resources within the API, with a different expiration time and unique signature. ## Passwords Manage your users' passwords. ### Create a password - [POST /passwords/{user_id}/create](https://api.weavr.io/products/multi/openapi/passwords/passwordcreate.md): Create a new password for the user identified by the user_id path parameter. ### Update a password - [POST /passwords/update](https://api.weavr.io/products/multi/openapi/passwords/passwordupdate.md): Update the password for the logged-in user. ### Validate a password - [POST /passwords/validate](https://api.weavr.io/products/multi/openapi/passwords/passwordvalidate.md): Check that a password adheres to all complexity checks. ### Initiate lost password process - [POST /passwords/lost_password/start](https://api.weavr.io/products/multi/openapi/passwords/lostpasswordinitiate.md): Initiate the lost password process. If the email address provided is associated with an active user, an email will be sent, containing a URL that redirects the user to change their password. The URL contains request parameters for all of the parameters required to change the password for the user via the /passwords/lost_password/resume POST endpoint. ### Resume lost password process - [POST /passwords/lost_password/resume](https://api.weavr.io/products/multi/openapi/passwords/lostpasswordresume.md): This is the second and final step in updating the password of a user who forgot their password. ## Authentication Factors ### Get user authentication factors - [GET /authentication_factors](https://api.weavr.io/products/multi/openapi/authentication-factors/authfactorsget.md): Retrieves the list of authentication factors that can be used to verify the logged-in user. ### Enrol a user device for authentication using one-time passwords - [POST /authentication_factors/otp/{channel}](https://api.weavr.io/products/multi/openapi/authentication-factors/enroldeviceusingotpstepone.md): This is the first step in enrolling the logged-in user's mobile device, where a one-time password is sent to the device. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ ### Verify enrolment of a user device for authentication using one-time passwords - [POST /authentication_factors/otp/{channel}/verify](https://api.weavr.io/products/multi/openapi/authentication-factors/enroldeviceusingotpsteptwo.md): The second step in enrolling the logged-in user (root or authorised user) to use one-time-passwords to enable verification of transactions. The challenge expires after 5 minutes and the number of incorrect OTP attempts is limited to reduce the risk of fraud, in that case challenge has to be issued again. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always set to \"123456\"._ ### Enrol a user device for authentication using push notifications - [POST /authentication_factors/push/{channel}](https://api.weavr.io/products/multi/openapi/authentication-factors/enroldeviceusingpush.md): This is the first step in enrolling the logged-in user's mobile device, where a push notification is sent to the device. ### Unlink a user device for authentication using push notifications - [DELETE /authentication_factors/push/{channel}](https://api.weavr.io/products/multi/openapi/authentication-factors/unlinkdeviceusingpush.md): Unlink a user device for authentication using push notifications ## Step-up Challenges ### Issue a one-time password that can be used to step-up a token - [POST /stepup/challenges/otp/{channel}](https://api.weavr.io/products/multi/openapi/step-up-challenges/stepupscachallenge.md): Initiates the step-up token process by sending an SMS with an one-time-password to a device belonging to the logged-in user that was previously enrolled through /authentication_factors/otp/{channel} endpoint. This process is required for endpoints that require a step-up token to complete the call. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ ### Verify a step-up token using a one-time password - [POST /stepup/challenges/otp/{channel}/verify](https://api.weavr.io/products/multi/openapi/step-up-challenges/stepupscaverify.md): Completes the verification process for a step up token. The challenge expires after 5 minutes and the number of incorrect OTP attempts is limited to reduce the risk of fraud, in that case challenge has to be issued again. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always \"123456\"._ ### Issue a push notification that can be used to step-up a token - [POST /stepup/challenges/push/{channel}](https://api.weavr.io/products/multi/openapi/step-up-challenges/stepupscachallengepush.md): Initiates the step-up token process by submitting a push notification to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/push/{channel} endpoint. You should only start this process if the token step-up isn't already in flight. ## Confirmation Challenges ### Issue a one-time password that can be used to verify a list of resources - [POST /challenges/otp/{channel}](https://api.weavr.io/products/multi/openapi/confirmation-challenges/multiplescachallenge.md): Starts the verification process for a list of resources in which a one-time password is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/otp/{channel} endpoint. This endpoint can be used to challenge _Outgoing Wire Transfers_, _Sends_, and _Linked Account Declarations_. You should only start this process if the operation state is PENDING_CHALLENGE. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ ### Verify a list of resources using a one-time password - [POST /challenges/{scaChallengeId}/otp/{channel}/verify](https://api.weavr.io/products/multi/openapi/confirmation-challenges/multiplescaverify.md): Completes the verification process for a list of resources. This endpoint can be used to challenge _Outgoing Wire Transfers_ & _Sends_. If the outcome of the verification is successful, the resource is executed. If not verified challenge expires after 5 minutes and the number of incorrect OTP attempts is limited to reduce the risk of fraud. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always \"123456\"._ ### Issue a push notification that can be used to verify a list of resources - [POST /challenges/push/{channel}](https://api.weavr.io/products/multi/openapi/confirmation-challenges/multiplescachallengepush.md): Starts the verification process for a list of resources in which a push notification is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/push/{channel} endpoint. This endpoint can be used to challenge _Outgoing Wire Transfers_ & _Sends_. You should only start this process if the resource state is PENDING_CHALLENGE. ## Corporates Corporates are identities representing companies. Once on-boarded, Corporates can create and manage their own instruments via your application. ### Create a corporate - [POST /corporates](https://api.weavr.io/products/multi/openapi/corporates/corporatecreate.md): Create a corporate identity for a business customer. The information provided must be accurate and will be passed on for KYB verification with our partner. ### Get a corporate - [GET /corporates](https://api.weavr.io/products/multi/openapi/corporates/corporateget.md): Retrieve the details of the logged-in corporate. ### Update a corporate - [PATCH /corporates](https://api.weavr.io/products/multi/openapi/corporates/corporateupdate.md): Update the details of the logged-in corporate identity. The following Corporate details are verified during due diligence (KYB) and cannot be updated via the API once the Corporate has been verified: - Root User Name - Root User Surname - Root User Email - Root User Mobile Country Code - Root User Mobile Number - Business Address - Date of birth If these details need to be changed after due diligence is completed, please contact Customer Support to restart the Due Diligence process. ### Send an email verification code to the root user - [POST /corporates/verification/email/send](https://api.weavr.io/products/multi/openapi/corporates/corporaterootuseremailverificationcodesend.md): The first step in verifying a root user's email. The root user whose email address is to be verified is sent an email containing a randomly generated code. This code must then be provided in the _corporateRootUserEmailVerify_ operation to verify the root user's email address. _Note that on the Sandbox Environment, the verificationCode is always set to \"123456\"._ ### Verify email of the root user - [POST /corporates/verification/email/verify](https://api.weavr.io/products/multi/openapi/corporates/corporaterootuseremailverify.md): The second step in verifying the root user's email. The randomly generated code sent to the root user via email, using the _corporateRootUserEmailVerificationCodeSend_ operation, is submitted here to verify the root user's email. This is needed as part of the verification process for basic due diligence. _Note that on the Sandbox Environment, the verificationCode is always set to \"123456\"._ ### Start KYB for a corporate - [POST /corporates/kyb](https://api.weavr.io/products/multi/openapi/corporates/corporatekybstart.md): Corporates need to complete due diligence (KYB) before they can create instruments and perform transactions. This operation initiates the due diligence process for the logged-in corporate. Due Diligence is handled by a KYB provider - you will need to embed the KYB UI Component in your application so that the Corporate will be able to perform the KYB process. To initialise the KYB UI Component, you need a reference that is given you in the response of this operation. ### Get KYB for a corporate - [GET /corporates/kyb](https://api.weavr.io/products/multi/openapi/corporates/corporatekybget.md): Returns the KYB status for the logged-in corporate. ### Charge fee to a corporate - [POST /corporates/fees/charge](https://api.weavr.io/products/multi/openapi/corporates/corporatechargefee.md): Charge a fee to the corporate identified by the auth token, based on a pre-defined custom fee. Custom fees can be configured in the Multi Portal. The fees collected will be deposited into your Revenue Account. The balance and transaction history of your revenue account can be viewed in the Multi Portal. ## Consumers Consumers are identities representing individuals. Once on-boarded, Consumers can create and manage their own instruments via your application. ### Create a consumer - [POST /consumers](https://api.weavr.io/products/multi/openapi/consumers/consumercreate.md): Create a Consumer Identity to represent an Individual. The information provided must be accurate as it will be passed on for KYC verification with our partner. Incorrect information may incur a re-processing fee. ### Get a consumer - [GET /consumers](https://api.weavr.io/products/multi/openapi/consumers/consumerget.md): Retrieve the details of the logged-in Consumer. ### Update a consumer - [PATCH /consumers](https://api.weavr.io/products/multi/openapi/consumers/consumerupdate.md): Update the details of the logged-in consumer identity. If the Consumer root user has already completed KYC, the following details cannot be updated: - name - surname - email - mobile Country Code - mobile Number - date of Birth - address ### Send an email verification code to the root user - [POST /consumers/verification/email/send](https://api.weavr.io/products/multi/openapi/consumers/consumerrootuseremailverificationcodesend.md): The first step in verifying a root user's email. The root user whose email address is to be verified is sent an email containing a randomly generated code. This code must then be provided in the _consumerRootUserEmailVerify_ operation to verify the root user's email address. Note that on the Sandbox Environment, the verificationCode is always set to \"123456\". ### Verify email of the root user - [POST /consumers/verification/email/verify](https://api.weavr.io/products/multi/openapi/consumers/consumerrootuseremailverify.md): The second step in verifying the root user's email. The randomly generated code sent to the root user via email, using the _consumerRootUserEmailVerificationCodeSend_ operation, is submitted here to verify the root user's email. This is needed as part of the verification process for basic due diligence. Note that on the Sandbox Environment, emails are not sent and the verification code is always set to \"123456\". ### Start KYC for a consumer - [POST /consumers/kyc](https://api.weavr.io/products/multi/openapi/consumers/consumerkycstart.md): Consumers need to complete due diligence (KYC) before they can create instruments and fund transaction. This operation initiates the due diligence process for the logged-in consumer. Due Diligence is handled by a KYC provider, you will need to embed the KYC UI Component in your application to show the KYC screens to your users. To initialise the KYC UI Component, you need a reference that is given to you in the response of this operation. ### Get KYC for a consumer - [GET /consumers/kyc](https://api.weavr.io/products/multi/openapi/consumers/consumerkycget.md): Returns the KYC status for the logged-in consumer. ### Charge fee to a consumer - [POST /consumers/fees/charge](https://api.weavr.io/products/multi/openapi/consumers/consumerchargefee.md): Charge a fee to the logged-in consumer based on a pre-defined custom fee. Custom fees can be configured in the Multi Portal. The fees collected will be deposited into your Revenue Account. The balance and transaction history of your revenue account can be viewed in the Multi Portal. ## Authorised Users Corporate and Consumer identities can invite authorised users to access their account. Once on-boarded, authorised users can create and manage instruments and transactions on behalf of the identity they are on-boarded with. In case of **Corporate Identities**, authorised users are typically employees who have access to company's banking products such as cards and bank accounts. In case of **Consumer Identities**, authorised users are typically children/teens whose parents want them to have access to banking products such as cards and bank accounts. Note that the `/users` GET endpoints return all users including root users. However, modification operations (create, update, activate, deactivate) on `/users` endpoints only apply to authorised users. To modify _root_ user details, use the respective `/consumers` or `/corporates` endpoints. ### Create a user - [POST /users](https://api.weavr.io/products/multi/openapi/authorised-users/usercreate.md): Creates a user linked to the logged-in corporate or consumer identity. Once on-boarded, users have access to all instruments (cards and accounts) of the identity. Application-specific permissions to limit what each user can view and do need to be implemented in your application. In order to Create an Authorised User you would need a stepped-up token. Before calling /multi/users you need to step-up ( issue a challenge multi/stepup/challenges/otp/{channel} ) More details on how to step-up a token can be found here Step-Up ### Get all users - [GET /users](https://api.weavr.io/products/multi/openapi/authorised-users/usersget.md): Fetches all users associated with the corporate or consumer identity the logged-in user belongs to. ### Get a user - [GET /users/{user_id}](https://api.weavr.io/products/multi/openapi/authorised-users/usergetbyid.md): Retrieves the user identified by the user_id path parameter. ### Update a user - [PATCH /users/{user_id}](https://api.weavr.io/products/multi/openapi/authorised-users/userupdate.md): Update the details of a user identified by the user_id in the the path parameter. Only the fields that are specified in the request body will be updated. All other fields will remain unchanged. When patching a mobile number, the new mobile number should be enrolled for Additional Factors. ### Activate a user - [POST /users/{user_id}/activate](https://api.weavr.io/products/multi/openapi/authorised-users/useractivate.md): Activate the user identified by the user_id path parameter. By default, any new users created will be automatically activated. This operation needs to be used only if the user was previously de-activated using the _userDeactivate_ operation, or if the user was de-activated automatically after multiple incorrect login attempts. ### Deactivate a user - [POST /users/{user_id}/deactivate](https://api.weavr.io/products/multi/openapi/authorised-users/userdeactivate.md): De-activate the user identified by the user_id path parameter. Deactivated users cannot log in or execute any operations with their credentials. This operations is not final and a user can be re-activated using the userActivate operation. Note that another active user would need to log in so as to re-activate the de-activated user. ### Send a user invite - [POST /users/{user_id}/invite](https://api.weavr.io/products/multi/openapi/authorised-users/userinvitesend.md): Once a user is created using the _userCreate_ operation, the user needs to setup his/her password. An invitation needs to be sent to the user in order to be able to set up the password for the first time. The invitation email, which remains valid for 1 month, will contain a URL having all information required to setup the password via the _userInviteConsume_. ### Validate a user invite - [POST /users/{user_id}/invite/validate](https://api.weavr.io/products/multi/openapi/authorised-users/userinvitevalidate.md): Check if a user's invite is still valid. This operation is useful to avoid having the user fill in a form only to be held by a validation issue (eg. expired invite). ### Consume a user invite - [POST /users/{user_id}/invite/consume](https://api.weavr.io/products/multi/openapi/authorised-users/userinviteconsume.md): Consumes an invitation perviously sent to the user via _userInviteSend_. This is needed so that the invited user sets up the password. _Note that on the Sandbox Environment, the inviteCode is always set to \"123456\"._ ### Send an email verification code to the authorised user - [POST /users/verification/email/send](https://api.weavr.io/products/multi/openapi/authorised-users/authoriseduseremailverificationcodesend.md): The first step in verifying an authorised user's email. The authorised user whose email address is to be verified is sent an email containing a randomly generated code. This code must then be provided in the _authorisedUserEmailVerify_ operation to verify the authorised user's email address. _Note that on the Sandbox Environment, the verificationCode is always set to \"123456\"._ ### Verify email of the authorised user - [POST /users/verification/email/verify](https://api.weavr.io/products/multi/openapi/authorised-users/authoriseduseremailverify.md): The second step in verifying the authorised user's email. The randomly generated code sent to the authorised user via email, using the _authorisedUserEmailVerificationCodeSend_ operation, is submitted here to verify the authorised user's email. This is needed as part of the verification process for basic due diligence. _Note that on the Sandbox Environment, the verificationCode is always set to \"123456\"._ ### Start KYC for the user - [POST /users/kyc](https://api.weavr.io/products/multi/openapi/authorised-users/userkyc.md): Perform the kyc for a corporate user. ## Beneficiaries ### Add beneficiaries - [POST /beneficiaries](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchcreate.md): Create one or more beneficiaries for the logged-in corporate or consumer identity. ### Get all beneficiaries - [GET /beneficiaries](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiariesget.md): Retrieves the beneficiaries that match the query parameters. ### Remove beneficiaries - [POST /beneficiaries/remove](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchremove.md): Removes one or more beneficiaries from the beneficiaries list identified by the id path parameter used in the array. ### Get a beneficiary - [GET /beneficiaries/{id}](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiaryget.md): Retrieves a beneficiary identified by the id path parameter ### Get all beneficiary batches - [GET /beneficiaries/batch](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchesget.md): Retrieves all beneficiary batches matching the query parameters and that belong to the logged-in identity. ### Get a beneficiary batch - [GET /beneficiaries/batch/{id}](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchget.md): Retrieves the details of a beneficiary batch identified by the batchId path parameter ### Issue a one-time password to verify a beneficiary batch - [POST /beneficiaries/batch/{id}/challenges/otp/{channel}](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchscachallenge.md): Starts the verification process for updating the beneficiaries batch in which a one-time password is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/otp/{channel} endpoint. You should only start this process if the beneficiary update state is PENDING_CHALLENGE. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ ### Verify a beneficiary batch using a one-time password - [POST /beneficiaries/batch/{id}/challenges/otp/{channel}/verify](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchscaverify.md): Completes the verification process for updating the beneficiary batch. If the outcome of the verification is successful, the beneficiary update batch is executed. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always \"123456\"._ ### Issue a push notification that can be used to verify a beneficiary batch - [POST /beneficiaries/batch/{id}/challenges/push/{channel}](https://api.weavr.io/products/multi/openapi/beneficiaries/beneficiarybatchscachallengepush.md): Starts the verification process for updating a beneficiary batch in which a push notification is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/push/{channel} endpoint. You should only start this process if the beneficiary update operation state is PENDING_CHALLENGE. ## Managed Accounts Managed Accounts are a type of financial instrument offered by Weavr. They hold funds for their owner, and can be upgraded to IBANs so as to receive and send funds to instruments outside of the Weavr Platform, via Wire Transfers. Managed accounts can also be used as source and destination instruments in the `transfer` and `send` transactions. ### Get all managed accounts - [GET /managed_accounts](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountsget.md): Retrieves all managed accounts belonging to the logged-in identity. ### Create a managed account - [POST /managed_accounts](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountcreate.md): Creates a managed account for the consumer or corporate identity. The Managed Account Profile (configured in the Multi Portal) specified determines the behavior and restrictions that the managed account will have." ### Get a managed account - [GET /managed_accounts/{id}](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountget.md): Fetch the managed account identified by the id in path. ### Update a managed account - [PATCH /managed_accounts/{id}](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountupdate.md): Update the details for the managed account identified by the id in the path. ### Upgrade a managed account with IBAN - [POST /managed_accounts/{id}/iban](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountsibanupgrade.md): Assign an IBAN to a Managed Account. IBANs enable managed accounts to receive and send funds via wire transfers. Assigning an IBAN to a Managed Account may be done asynchronously, in which case the ManagedAccountIBAN.state will be set to PENDING_ALLOCATION until bank details are ready to use. ### Get a managed account IBAN - [GET /managed_accounts/{id}/iban](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountibanget.md): Fetch the IBAN details associated with the Managed Account identified by the id in the path. ### Block a managed account - [POST /managed_accounts/{id}/block](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountblock.md): Temporarily blocks a managed account. ### Unblock a managed account - [POST /managed_accounts/{id}/unblock](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountunblock.md): Unblocks the managed account identified by the id path parameter. The managed account must have state.blockedReason as USER so that it can be unblocked. If the managed account was blocked by SYSTEM, users cannot unblock it. ### Get a managed account statement - [GET /managed_accounts/{id}/statement](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountstatement.md): Returns a list of transactions against the managed account identified by the id path parameter, matching the criteria provided in the request. ### Remove a managed account - [POST /managed_accounts/{id}/remove](https://api.weavr.io/products/multi/openapi/managed-accounts/managedaccountremove.md): Destroys the managed account identified by the id path parameter. Unlike block, this action is not reversible. A managed account must be emptied from any remaining funds before it can be destroyed. ## Managed Cards Managed Cards are a type of financial instrument offered by Weavr. You can create virtual or physical cards that are issued to the consumer or corporate identity. A card created in prepaid mode has its own balance, whereas a card created in debit mode does not have its own balance but taps into the balance of its parent managed account. ### Create a managed card - [POST /managed_cards](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardcreate.md): Creates a managed card for the consumer or corporate identity. The Managed Card Profile (configured in the Multi Portal) specified determines the behaviour and restrictions that the managed card will have. ### Get all managed cards - [GET /managed_cards](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardsget.md): Fetch cards matching the search criteria provided. ### Get a managed card - [GET /managed_cards/{id}](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardget.md): Returns all details of the managed card identified by the id path parameter. ### Update a managed card - [PATCH /managed_cards/{id}](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardupdate.md): Update the details of the managed card identified by the id path parameter. ### Block a managed card - [POST /managed_cards/{id}/block](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardblock.md): Blocks the managed card identified by the id path parameter. This is a reversible action and the card can be unblocked using the _managedCardUnblock_ operation. ### Unblock a managed card - [POST /managed_cards/{id}/unblock](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardunblock.md): Unblocks the managed card identified by the id path parameter. The managed card must have state.blockedReason as USER so that it can be unblocked. If the managed card was blocked by SYSTEM, users cannot unblock it. ### Remove a managed card - [POST /managed_cards/{id}/remove](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardremove.md): Destroys the managed card identified by the id path parameter. Unlike block, this action is not reversible. A managed card must be empty before it can be destroyed using this operation. ### Get a managed card statement - [GET /managed_cards/{id}/statement](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardstatement.md): Returns a list of transactions against the managed card identified by the id path parameter, matching the criteria provided in the request. ### Get all spend rules for a managed card - [GET /managed_cards/{id}/spend_rules](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardspendrulesget.md): Fetch the list of spend rules associated with the managed card identified by the id path parameter. ### Create spend rules for a managed card - [POST /managed_cards/{id}/spend_rules](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardspendrulescreate.md): Create the spend rules associated with the managed card identified by the id path parameter. ### Update spend rules for a managed card - [PATCH /managed_cards/{id}/spend_rules](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardspendrulesupdate.md): Must be user after a POST, to update individual spend rules associated with the managed card identified by the id path parameter. ### Delete all spend rules for a managed card - [DELETE /managed_cards/{id}/spend_rules](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardspendrulesdelete.md): Remove all spend rules associated with the managed card identified by the id path parameter. ### Upgrade a card to physical - [POST /managed_cards/{id}/physical](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalupgrade.md): Upgrades the virtual card identified by the id path parameter to physical. Before cards can be upgraded, a physical card programme must be set up and the card profile configuration updated accordingly. ### Activate a physical card - [POST /managed_cards/{id}/physical/activate](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalactivate.md): Activates the physical card identified by the id path paramter. ### Get PIN for a physical card - [GET /managed_cards/{id}/physical/pin](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalpinget.md): Retrieves the PIN of the physical card identified by the id path parameter. ### Unblock PIN for a physical card - [PATCH /managed_cards/{id}/physical/pin/unblock](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalpinunblock.md): Physical cards can be marked as pinBlocked if there are too many failed PIN attempts. Use this operation to unblock a PIN so that the card can be used again. ### Replace a damaged physical card - [POST /managed_cards/{id}/physical/replace_damaged](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalreplacedamaged.md): Report as damaged, and replace the physical card identified by the id path parameter. ### Report a physical card as lost - [POST /managed_cards/{id}/physical/report_lost](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalreportlost.md): Report the physical card identified by the id path parameter as lost. This will deactivate the instrument and a new card will need to be requested. ### Report a physical card as stolen - [POST /managed_cards/{id}/physical/report_stolen](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalreportstolen.md): Report the physical card identified by the id path parameter as stolen. This will destroy the instrument and a new replacement card will need to be requested. Once a replacement is requested, any funds remaining on this destroyed card will be transferred to the replacement card." ### Replace a lost or stolen physical card - [POST /managed_cards/{id}/physical/replace_lost_stolen](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalreplacelostorstolen.md): Issue a replacement for the physical card, identified by the id path parameter, that has already been reported as lost or stolen. Any funds (that are not blocked pending a purchase for a previous authorisation) remaining on the card will be automatically transferred to the new replacement card. ### Reset contactless limit for a physical card - [POST /managed_cards/{id}/physical/contactless_limit/reset](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardphysicalcontactlesslimitreset.md): For security purposes, the cardholder needs to provide the PIN after a number of contactless purchases. Use this operation to reset the physical card's contactless limit. The contactless limit can only be reset for physical cards having the wearable form factor. ### Authorisation Forwarding - [POST /managed_cards/authorisation_request](https://api.weavr.io/products/multi/openapi/managed-cards/managed_cards_authorisation_forwarding.md): Receive purchase authorisation events and choose if to approve or decline them by replying to the event. Switch on Authorisation Forwarding in your Sandbox Innovator Portal and configure the Authorisation Forwarding URL to start receiving these events. Weavr will send webhook events on the following URL {Authorisation Forwarding URL}/managed_cards_authorisation_forwarding. A response is expected in 1.5s, after which the Default Timeout Response configured in the card profile or the card authForwardingDefaultTimeoutDecision parameter will be used. ## Linked Accounts Linked Accounts are external bank accounts that users connect to their profiles within the Weavr Platform. These accounts allow users to link their existing bank accounts, held at external financial institutions, to the Weavr Platform, enabling secure and efficient transfer of funds between their own accounts. Linked Accounts are designed to streamline the process of moving money between a user’s various bank accounts, providing a convenient and integrated way to manage personal finances across different financial institutions. ### Add a linked account - [POST /linked_accounts](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountcreate.md): A Linked Account is an entity in the Weavr system that represents an external bank account or PSP account which the Identity has verified that they own and control. This feature enables users to perform transactions, such as outgoing and incoming wire transfers, between their Linked Accounts and their Managed Accounts in a way that can be recorded as a self-to-self transfer. ### Get all linked accounts - [GET /linked_accounts](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountsget.md): Retrieves all the Linked Accounts belonging to the logged-in Identity. ### Get a linked account - [GET /linked_accounts/{id}](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountget.md): Fetch the Linked Account identified by the id in path. ### Update a linked account - [PATCH /linked_accounts/{id}](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountupdate.md): Update the details for the linked account identified by the id in the path. ### Remove a linked account - [POST /linked_accounts/{id}/remove](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountremove.md): Removes the linked account identified by the id path parameter. Unlike block, this action is not reversible. ### Block a linked account - [POST /linked_accounts/{id}/block](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountblock.md): Temporarily blocks a linked account. ### Unblock a linked account - [POST /linked_accounts/{id}/unblock](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountunblock.md): Unblocks the linked account identified by the id path parameter. ### Get linked account verifications - [GET /linked_accounts/{id}/verifications](https://api.weavr.io/products/multi/openapi/linked-accounts/linkedaccountverificationsget.md) ## Sends The Send transaction is used to send funds between managed accounts and managed cards belonging to different identities. ### Create a send transaction - [POST /sends](https://api.weavr.io/products/multi/openapi/sends/sendcreate.md): Sends funds between managed accounts and managed cards belonging to different corporate or consumer identities. The Send Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees). ### Get all send transactions - [GET /sends](https://api.weavr.io/products/multi/openapi/sends/sendsget.md): Retrieves all the send transactions performed by the logged-in identity. ### Cancel send transactions - [POST /sends/bulk/cancel](https://api.weavr.io/products/multi/openapi/sends/sendcancel.md): Cancels send transactions that are scheduled to be executed in the future. ### Get a send transaction - [GET /sends/{id}](https://api.weavr.io/products/multi/openapi/sends/sendget.md): Retrieve the send transaction identified by the id path parameter. ### Create a bulk of send transactions (deprecated) - [POST /sends/bulk/create](https://api.weavr.io/products/multi/openapi/sends/sendcreatebulk.md): Deprecated in favour of the Operations in Bulk. Sends funds between multiple managed accounts and managed cards belonging to different corporate or consumer identities. The Send Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees). ### Issue a one-time password that can be used to verify a send (deprecated) - [POST /sends/{id}/challenges/otp/{channel}](https://api.weavr.io/products/multi/openapi/sends/sendscachallenge.md): Deprecated in favour of Challenges endpoints Starts the verification process for a send in which a one-time password is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/otp/{channel} endpoint. You should only start this process if the send state is PENDING_CHALLENGE. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ ### Verify a send using a one-time password (deprecated) - [POST /sends/{id}/challenges/otp/{channel}/verify](https://api.weavr.io/products/multi/openapi/sends/sendscaverify.md): Deprecated in favour of Challenges endpoints Completes the verification process for a Send. If the outcome of the verification is successful, the send is executed. If not verified challenge expires after 5 minutes and the number of incorrect OTP attempts is limited to reduce the risk of fraud. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always \"123456\"._ ### Issue a push notification that can be used to verify Send transaction (deprecated) - [POST /sends/{id}/challenges/push/{channel}](https://api.weavr.io/products/multi/openapi/sends/sendscachallengepush.md): Deprecated in favour of Challenges endpoints Starts the verification process for a Send in which a push notification is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/push/{channel} endpoint. You should only start this process if the Send transaction state is PENDING_CHALLENGE. ## Transfers The Transfer transaction is used to transfer funds between managed accounts and managed cards belonging to same identity. ### Create a transfer transaction - [POST /transfers](https://api.weavr.io/products/multi/openapi/transfers/transfercreate.md): Transfers funds between managed accounts and managed cards belonging to the same corporate or consumer identity. The Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees). ### Get all transfer transactions - [GET /transfers](https://api.weavr.io/products/multi/openapi/transfers/transfersget.md): Retrieves all the transfer transactions performed by the logged-in identity. ### Cancel transfer transactions - [POST /transfers/bulk/cancel](https://api.weavr.io/products/multi/openapi/transfers/transfercancel.md): Cancels transfers that are scheduled to be executed in the future. ### Get a transfer transaction - [GET /transfers/{id}](https://api.weavr.io/products/multi/openapi/transfers/transferget.md): Retrieve the transfer transaction identified by the id path parameter. ## Outgoing Wire Transfers The Outgoing Wire Transfer transaction is used to transfer funds from managed accounts to an external bank account. ### Create an outgoing wire transfer - [POST /outgoing_wire_transfers](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransfercreate.md): Transfers funds from managed accounts to an external bank account. The Outgoing Wire Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees). Note that even if the transaction is created successfully, you still need to check its state in order to determine if it is pending completion of an authentication challenge by the user. ### Get all outgoing wire transfer transactions - [GET /outgoing_wire_transfers](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransfersget.md): Retrieves all the outgoing wire transfer transactions performed by the logged-in identity. ### Get an outgoing wire transfer transaction - [GET /outgoing_wire_transfers/{id}](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransferget.md): Retrieves the outgoing wire transfer identified by the id path parameter. ### Cancel an outgoing wire transfer transaction - [POST /outgoing_wire_transfers/{id}/cancel](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransfersinglecancel.md): Cancel the outgoing wire transfer identified by the id path parameter. ### Confirm an outgoing wire transfer transaction - [POST /outgoing_wire_transfers/{id}/confirm](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransferconfirm.md): Confirm the outgoing wire transfer identified by the id path parameter. ### Create a bulk of outgoing wire transfer transactions (deprecated) - [POST /outgoing_wire_transfers/bulk/create](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransfercreatebulk.md): Deprecated in favour of the Operations in Bulk. Transfers funds from multiple managed accounts to multiple external bank accounts. The Outgoing Wire Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees). Note that even if the transaction is created successfully, you still need to check its state in order to determine if it is pending completion of an authentication challenge by the user. ### Cancel outgoing wire transfer transactions (deprecated) - [POST /outgoing_wire_transfers/bulk/cancel](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransfercancel.md): Cancels outgoing wire transfers that are scheduled to be executed in the future. ### Issue a one-time password that can be used to verify an outgoing wire transfer (deprecated) - [POST /outgoing_wire_transfers/{id}/challenges/otp/{channel}](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransferscachallenge.md): Deprecated in favour of Challenges endpoints Starts the verification process for an outgoing wire transfer in which a one-time password is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/otp/{channel} endpoint. You should only start this process if the outgoing wire transfer state is PENDING_CHALLENGE. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ ### Verify an outgoing wire transfer using a one-time password (deprecated) - [POST /outgoing_wire_transfers/{id}/challenges/otp/{channel}/verify](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransferscaverify.md): Deprecated in favour of Challenges endpoints Completes the verification process for an outgoing wire transfer. If the outcome of the verification is successful, the outgoing wire transfer transaction is executed. If not verified challenge expires after 5 minutes and the number of incorrect OTP attempts is limited to reduce the risk of fraud. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always \"123456\"._ ### Issue a push notification that can be used to verify an outgoing wire transfer (deprecated) - [POST /outgoing_wire_transfers/{id}/challenges/push/{channel}](https://api.weavr.io/products/multi/openapi/outgoing-wire-transfers/outgoingwiretransferscachallengepush.md): Deprecated in favour of Challenges endpoints Starts the verification process for an outgoing wire transfer in which a push notification is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/push/{channel} endpoint. You should only start this process if the outgoing wire transfer state is PENDING_CHALLENGE. ## Incoming Wire Transfers ### Approve or reject incoming wire transfers - [POST /bank_transfers_in/authorisation_request](https://api.weavr.io/products/multi/openapi/incoming-wire-transfers/banktransferinforwarding.md) ## Operations ### Create users in bulk - [POST /bulks/users](https://api.weavr.io/products/multi/openapi/operations/bulksusercreate.md): Submit the details for the creation of a batch of Authorised Users The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations Each individual operation in this bulk will be processed via Create a User. ### Send user invites in bulk - [POST /bulks/users/_user_id_/invite](https://api.weavr.io/products/multi/openapi/operations/bulksuserinvitesend.md): Submit the details for the creation of a batch of Authorised User invites The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations Each individual operation in this bulk will be processed via Send a User Invite. ### Block cards in bulk - [POST /bulks/managed_cards/_id_/block](https://api.weavr.io/products/multi/openapi/operations/bulksmanagedcardblock.md): Submit the details to block Managed Cards. The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations. Each individual operation in this bulk will be processed via Block a Managed Card. ### Unblock cards in bulk - [POST /bulks/managed_cards/_id_/unblock](https://api.weavr.io/products/multi/openapi/operations/bulksmanagedcardunblock.md): Submit the details to unblock Managed Cards. The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations. Each individual operation in this bulk will be processed via Unblock a Managed Card. ### Remove cards in bulk - [POST /bulks/managed_cards/_id_/remove](https://api.weavr.io/products/multi/openapi/operations/bulksmanagedcardremove.md): Submit the details to remove Managed Cards. The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations. Each individual operation in this bulk will be processed via Remove a Managed Card. ### Update spend rules for a managed card in bulk - [PATCH /bulks/managed_cards/_id_/spend_rules](https://api.weavr.io/products/multi/openapi/operations/bulksmanagedcardspendrulesupdate.md): Submit the details to update the spend rules of Managed Cards The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations Each individual operation in this bulk will be processed via Update Spend Rules for a Managed Card. ### Create transfer transactions in bulk - [POST /bulks/transfers](https://api.weavr.io/products/multi/openapi/operations/bulkstransfercreate.md): Submit the details for the creation of a batch of Transfers. The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations. Each individual operation in this bulk will be processed via Create a Transfer Transaction. ### Create send transactions in bulk - [POST /bulks/sends](https://api.weavr.io/products/multi/openapi/operations/bulkssendcreate.md): Submit the details for the creation of a batch of Sends. The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations. Each individual operation in this bulk will be processed via Create a Send Transaction. ### Create an outgoing wire transfer in bulk - [POST /bulks/outgoing_wire_transfers](https://api.weavr.io/products/multi/openapi/operations/bulksoutgoingwiretransfercreate.md): Submit the details for the creation of a batch of Outgoing Wire Transfers. The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details. The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation. The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process. The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations. Each individual operation in this bulk will be processed via Create an Outgoing Wire Transaction. ## Manage ### Get all bulk processes - [GET /bulks](https://api.weavr.io/products/multi/openapi/manage/bulks.md): Filter bulk processes. ### Get bulk process - [GET /bulks/{bulk_id}](https://api.weavr.io/products/multi/openapi/manage/bulkid.md): Retrieves details on the bulk process identified by the bulk_id parameter. ### Get all operations in a bulk - [GET /bulks/{bulk_id}/operations](https://api.weavr.io/products/multi/openapi/manage/bulkidoperations.md): Retrieves the bulk process operations that match the query parameters. ### Execute bulk process - [POST /bulks/{bulk_id}/execute](https://api.weavr.io/products/multi/openapi/manage/bulkidexecute.md): Launches execution of operations of any bulk process identified by the bulk_id parameter. The status of the bulk process has to be in a ‘SUBMITTED’ state and after execution initiates, the bulk process state is set to ‘RUNNING’. The final state of execution can be any of COMPLETED: the execution of the bulk process is complete and all bulk operations of the bulk process were executed successfully FAILED: none of the operations of the bulk process have executed. PARTIALLY_COMPLETED: the execution of the bulk process is complete and some of the bulk operations of the bulk process failed. This operation is asynchronous and will return immediately. You can track the status of the execution of the bulk process through Get bulk process. You can also pause execution through _bulkIdPause_ ### Pause bulk process - [POST /bulks/{bulk_id}/pause](https://api.weavr.io/products/multi/openapi/manage/bulkidpause.md): Pauses the execution of operations of the bulk process that is in state ‘RUNNING’ as identified by the bulk_id parameter. The status of the bulk process after execution of this operation is set to ‘PAUSED’ The execution can be resumed through _bulkIdResume_ ### Resume bulk process - [POST /bulks/{bulk_id}/resume](https://api.weavr.io/products/multi/openapi/manage/bulkidresume.md): Resumes the execution of operations of the bulk process that is in state ' PAUSED' as identified by the bulk_id parameter. The status of the bulk process after execution of this operation is set back to ‘RUNNING’ ### Cancel bulk process - [POST /bulks/{bulk_id}/cancel](https://api.weavr.io/products/multi/openapi/manage/bulkidcancel.md): Cancels the execution of operations of a bulk process that is in state ‘PAUSED’ or ‘RUNNING’ as identified by the bulk_id parameter. The status of the bulk process after execution of this operation is set to ‘CANCELLED’. This is a final state and a cancelled bulk process cannot be resumed.